説明

リアルタイム書き込みエラーの処置

記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、プロトコル(ATA/ATAPI)に従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有する記録装置。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。当該装置は、前記一連のデータブロック(84)中のエラー状態に応じてホストに通知するためにエラーメッセージを生成するためのエラー監視を有する。前記エラー状態は前記一連のデータブロック中の書き込みエラーの位置(85)または記録中タイムアウトの超過(TRS+TRET+TCAL)を指示するものでよい。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶媒体上に情報を記録するための装置に関するものであり、該装置は前記記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、プロトコルに従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有する。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【0002】
本発明はさらに、記憶媒体上への記録の際のエラー監視の方法に関するものであり、該方法はプロトコルに従ってメッセージを介してホストと通信することを含む。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【0003】
本発明はさらに、記録装置を制御する方法に関するものであり、該方法は、プロトコルに従ってメッセージを介して前記装置と通信することを含む。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【0004】
本発明はさらに、記憶媒体上への記録の際のエラー監視および前記記録装置の制御のためのコンピュータプログラムプロダクトに関するものである。
【背景技術】
【0005】
記録装置を通じた光記録担体への記録を制御することは、DVD(Digital Versatile Disk[デジタル多用途ディスク])システムやNCITS(National Committee for Information Technology Standards[全米情報技術標準委員会])の作業草案T10/1363-D、Revision 10g、2001年11月12日「情報技術―SCSIマルチメディアコマンド―(Information Technology―SCI Multimedia Commands―)」(revision MMC10g;本稿ではMMC−3とも呼ばれる)によって知られている。当該記録装置は、一方では、記憶媒体とのインターフェースとなる読み書きヘッドなどの媒体インターフェースを有する。当該記録装置は他方では、パソコンやビデオレコーダーのアプリケーションユニットでありうるホストと通信するためのホストインターフェースを有する。ホストと記録装置のホストインターフェースとの間の通信のためのプロトコルは、MMC−3第1章で参照されているATA/ATAPI規格、そして特にMMC−3第2.1.2章で参照されているNCITS T13/1321Dの AT Attachment with Packet Interface 5、あるいはX3T13/1153D ATA−5 Rev.17(ATA/ATAPI−5とも呼ばれる)である。よって、当該装置はATA/ATAPI装置と呼ぶことができるだろう。そのような記録装置は、ホストシステムの制御のもとでビデオなどのリアルタイムのデータブロックを記録するために使われている。ホストは、ビデオの録画や再生のような用途に適応している。ドライブが書き込みをしているときにエラーが発生することがありうる。回復プロセスを適用するため、アプリケーションはエラーの状態を知る必要がある。既知のプロトコルでは、アプリケーションは、ドライブ中の大量のバッファリングを用いて一連のブロックを高速書き込みするか、あるいはドライブ中のバッファリングを使わず低速書き込みをするかの選択肢がある。コマンドがきちんと完了しなかった場合には、ドライブはエラーを報告する。ブロックごとに書き込みをすれば、ドライブがコマンドに反応したあとのエラーの位置はわかる。一連のブロックの書き込みをすれば、エラーは一連の全ブロックについてのエラーとして報告される。アプリケーションとしては、書き込みを高速にするか、エラー発見を容易にするかのどちらかなのである。
【発明の開示】
【発明が解決しようとする課題】
【0006】
したがって、書き込みエラーを効率的に処置しながらリアルタイム記録を可能にするエラー監視システムを提供することが本発明の目的の一つである。
【課題を解決するための手段】
【0007】
本発明の第一の側面によれば、前記目的は、冒頭で述べたような情報を記録するための装置を用いて達成される。その装置は、一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有している。
【0008】
本発明の第二の側面によれば、前記目的は、冒頭で述べたようなエラー監視の方法を用いて達成される。その方法は、一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成することを有している。
【0009】
本発明の第三の側面によれば、前記目的は、冒頭で述べたような記録装置を制御する方法を用いて達成される。その方法は、一連のデータブロック内でのエラー状態に応じて当該装置からエラーメッセージを受け取り、前記一連のデータブロックの再生の間、当該エラーを隠蔽するための回復を適用することを有している。
【発明の効果】
【0010】
前記方策の効果は、当該装置が書き込みエラーをエラー状態の形でドライブに報告することである。エラー状態としては、たとえば一連のデータブロック内での書き込みエラーの位置がある。これは、ホストにおけるアプリケーションが迅速にエラーから回復し、できるだけ早く記録を継続しうるという利点がある。
【0011】
当該装置のある実施形態では、前記エラー監視手段は、書き込みエラーの際に、前記エラーメッセージのうちに前記一連のデータブロック内での書き込みエラーの位置を含めるよう構成される。これは、ホストが書き込みエラーの位置を認識し、回復プロセスにおける記録の再開が既知のエラー位置に基づいて行われうるというるという利点がある。
【0012】
当該装置のある実施形態では、当該装置はデータブロックを保存するためのキャッシュバッファを有しており、ホストインターフェース手段は、書き込みエラーののち書き込みを再開するために該キャッシュバッファ内のアドレスを指示する同期キャッシュコマンドを受け取るよう構成される。これは、エラーののちホストがデータブロックを再転送する必要がなく、キャッシュバッファに残っているブロックが使われるという利点がある。
【0013】
当該装置のある実施形態では、ホストインターフェース手段は、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取るよう構成され、エラー監視手段は、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成するよう構成される。これは、そのようなタイムアウトが意図された書き込み動作の実行時間とは独立になり、当該コマンドを実行する間に超えてはならない全体としての予備時間を示すという利点がある。
【0014】
本発明に基づく方法および装置のさらに好ましい実施形態はさらなる請求項において与えられる。
【0015】
これらのことを含む本発明のさまざまな側面は、例として以下に図面を参照しつつ記載される実施形態を参照することでさらに明らかとなり、明快に説明されることであろう。
【0016】
図面において、前に記載された要素に対応する要素は同じ参照符号を付けてある。
【発明を実施するための最良の形態】
【0017】
図1は、ディスク型記憶媒体、記録装置およびホストシステムを示している。記憶媒体11はたとえば光ディスクで、記録装置12のための記録担体をなす。DVD+RWはそのような記録担体の例である。記録装置のインターフェース機能のいくつかが、所定の規格、たとえばATA/ATAPI−5に従って定義されている。よって、当該装置はATA/ATAPI装置と呼んでもいいだろう。当該装置12は一方では、DVD+RWディスクなどの記憶媒体11とのインターフェースとなる読み書きヘッドなどの媒体インターフェース、位置決めサーボシステムおよび制御回路を有するが、これらはCDやDVDシステムによって普通に知られている。当該装置12は他方では、パソコンやビデオレコーダーのアプリケーション部でありうるホストと通信するための、ATAケーブルやシリアルインターフェースなどのホストインターフェースを有する。これはたとえばビデオ情報の入出力のための通常の要素をもつものである。4つの要素、すなわちDVD+RW媒体、ATA/ATAPI装置に加えてホストの組み合わせが、消費者向けDVD+RW録画機をなす。本発明の主たる焦点はDVD+RW録画機における用途である。
【0018】
記録装置および記憶媒体フォーマットについての背景情報は次の文献に見られる。
DVD 読み出し専用ディスク仕様ECMA−267
(Specification for Read-only disc ECMA-267)
DVD+R 4.7ギガバイト基本フォーマット仕様 システム記述1.1
(4.7 Gbytes Basic Format Specifications System Description 1.1)
DVD+RW 4.7ギガバイト基本フォーマット仕様 書き換え可能 バージョン1.2
(4.7 Gbytes Basic Format Specifications ReWritable version 1.2)
ドライブ:記憶媒体に対するインターフェースとなり、たとえば光ピックアップユニット、サーボ、データ路、メモリフラッシュを有し、ATAPIなどを用いてホストへのインターフェースを備えるユニット。
ディスク:いかなる光ディスクでもよい。たとえば、CDDA、CD−R/RW、CD−ROM、DVDROM、DVD+RW、DVD+R SACD
ECC:ディスク上に書き込むことのできる最小データ量。DVDでは、32キロバイトユーザーデータの完全なEFMブロック。
セクタ:アドレッシングできる最小データサイズで、DVDでは2048バイト。
アプリケーション:ホスト中でインターフェースの相手となるアクティブなユニット。ディスク上に保存する(そしてディスクから取得する)べきリアルタイムデータを要求し、ディスク上の構造を整え、たとえばビデオ信号のエンコード/デコードを行う。
デアイシング:+RWの相変化では二つの状態がある。アモルファス状態と結晶状態である。新しいディスク上の材料全体は同一の状態にある。そのようなディスクは「凍結している(iced)」と称される。ディスクに書き込みを行うことによって遷移が作り出される。これがディスクの反射率を変え、ディスクから読み出される情報を変える。ディスクが凍結領域を含んでいる場合、レーザーの現在位置は記録溝の蛇行(wobble)によってしか判別することができない。書き込み済みの領域では位置情報はデータに含まれる。
チャンク:リンクなしに連続的に書き込まれるデータのブロック。
トラック逸脱:光ピックアップのレーザーが(記録可能)ディスク上の(蛇行した)溝に追随できないとき、トラックから逸脱したという。
【0019】
以下では、媒体およびホストインターフェース15もしくはATAケーブルを通じたプロトコルについてより詳しく記述する。MMC−3で与えられているようなプロトコルの定義には問題があり、媒体とプロトコルとの間の関係を理解することによってこの問題への解決法が理解できる。
【0020】
ATAケーブルおよびそのプロトコルはよく知られており、ATA/ATAPI−5の文書など数多くの文献がある。そのケーブルの最高プロトコルレベルはMMC−3において与えられている。以下の説明では、記憶媒体11はDVD+RW媒体という記録可能なDVDである。その媒体はDVD+RW物理フォーマット規格において記載されている。
【0021】
ここで取り組む問題は、書き込みエラーに起因するものである。ホストで実行されているアプリケーションはリアルタイムでディスクにデータを書き込んでいる。エラーが起こると、アプリケーションはできるだけ早くそのエラーから回復して記録を継続しようとする。アプリケーションレベルにおいて回復がエラーを隠蔽することが想定されている。ビデオレコーダーの場合、その回復は、再生中にビデオのある区間をスキップすることからなる隠蔽マスクでありうる。鍵は、そのマスク、すなわちビデオの一部をできるだけ小さく保つことである。よって、ホストインターフェースはプロトコル(たとえばATA/ATAPI−5)に従ったメッセージを通じてホストと通信し、そのメッセージにはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドが含まれる。エラーを迅速に報告するため、当該装置は、前記一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有する。一般に、エラーメッセージの伝達により、当該アプリケーションがそのエラーについてできるだけ早く通知され、エラー状態を報告することが実現される。ある実施形態では、エラー状態はエラー位置を含んでいる。
【0022】
図2は、ホストインターフェース上のデータと記憶媒体に届くデータとの間の遅延のタイムチャートを示している。上のグラフ21では、ホストインターフェース(ATA/ATAPIケーブル)でのデータが示されている。いくつかのデータブロックがA、B、Cで示されている。データブロックAは時刻t1にホストインターフェース上に到着する。下のグラフ22は記憶媒体インターフェースでの同じデータ要素を示している。データブロックAは時刻t2に到着する。アプリケーションにできるだけ早くエラー通知を与えるために克服しなければならない問題は基本的に二つある。第一の問題は、ATA/ATAPIケーブルを通じたデータ送信とディスクへのデータ書き込みとの間の内在的な遅延であり、これはグラフ21と22の間の時間差によって示されている。第二の問題は、ケーブルを通じたデータ送信のバースト性である。これら二つの問題についてこれからより詳しく記述する。
【0023】
第一に、ATA/ATAPIケーブルを通じて届けられたデータとディスクに届けられるデータとの間の内在的な遅延について。図2のタイムチャートはATA/ATAPIケーブルを通じて転送されるデータを、AからBを通じてCに至る上側のグラフ21で表して示している。転送はt1において始まり、そのデータはt2でディスクに書き込まれる。t3でデータストリーム中の位置Bにおいてエラーが発生する。エラーの時点でATA/ATAPIケーブル上のストリームはすでに位置Cまできている。
【0024】
第二の問題は、ATA/ATAPIケーブル上のデータのバースト性である。この問題の要因は、圧縮されたビデオを届ける際に生じるものである。それについて図3を用いて説明する。
【0025】
図3は、アプリケーションを含むホスト、記録装置、記憶媒体を示している。ホスト31はビデオ入力33上のビデオエンコーダ34、インターフェース35(記録装置32とケーブルを通じて結合されている)、メモリ36を有している。ビデオエンコーダとインターフェースとの間の「dig」接続39は何らかの種類のデジタル(digital)インターフェースを指す。記録装置32は、記憶媒体11とのインターフェースとなる媒体インターフェース14をもつドライブ37およびメモリ38を含んでいる。当該記録装置は、一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視ユニット40を含んでいる。これについて以下で述べる。
【0026】
実際上は、エンコーダ34の最大ビットレートはドライブ37の媒体への書き込み速度よりはるかに低い。エンコーダがエンコードされた出力をATA/ATAPI装置に届けると、次のことが起こる。「dig」接続39上のデータのビットレートをBs、媒体インターフェース14上のデータのビットレートをBd、ドライブのメモリ38の容量をMd、ホスト内で前記インターフェース35に利用可能なメモリ36の容量をMsとする。Md/Bsはドライブがデータを蓄積するのにかかる時間である。Md/Bdはドライブが媒体に書き出すのにかかる時間である。Msは最小でも2kが必要である。ドライブに書き込まれうるデータの最小量が2kだからである。Ms/Bsは記録装置へのデータバーストから次のデータバーストまでの時間間隔である。
ホストインターフェース上でのデータ転送の例:
Ms=2KB(キロバイト)、Bs=3Mb/sec(メガビット毎秒)とすると、
2KB/8Mb/sec=2×8/8=2よりバースト間隔は2msecとなる。
いっぱいになったバッファ内容を媒体に書き出すのに必要な時間の例:
Md=2MB、Bd=24Mb/secとすると、
2MB/24Mb/sec=2×8/24=2×8/3×8=2/3=0.666secとなる。
実際の装置では、データの記録ができる前にさらにアクセス時間が必要となる。
【0027】
図4は、生成され、転送され、ディスクに書き込まれるデータのグラフを示している。グラフの上の部分41はホストバッファの埋まり具合を示しており、下の部分42は装置の書き込み動作を示している。第一の部分43ではホスト内のバッファがエンコーダ34のデータ生成によって埋められていく。第二の部分では、装置書き出し42によってバッファが空にされる。バッファ充填の時間間隔Tdbおよびバッファ吐き出しの時間Tdeは上記で図3との関連で示したように計算できる。
【0028】
記録中のオーバーヘッドがアクセスによって引き起こされ、効率は次のように計算できる。
Ta=アクセス時間
Td=一連のデータブロック(チャンクともいう)を書き出すのに必要な時間
効率=Td/(Ta+Td)
効率はTdを、すなわちチャンクサイズを最大化することによって上げることができる。
Bde=Ms/(Ta+Ms/Bd)=Bd/(Bd×Ta/Ms+1)
Msを増やすことによってTaの効果が減少する。また、ドライブの書き出し速度を上げると、同じ効率を維持するためにはチャンクも大きくしなければならないことも見て取れる。また、チャンク間の時間はT=Ms/Bsであるから線形に増大することもわかる。
例:
【0029】
【表1】

ある実施形態では、一連のデータブロックをリアルタイムで書き込むためのアルゴリズムが記載される。まず、データがチャンクごとに(少量ずつ連続してではなく)届けられる。ドライブによって書き込まれる量および効率を最大化するためである。ホストにおけるメモリは、ドライブが回復および再試行を行う間のメモリオーバーフローを避けるためにチャンクサイズより大きくなければならない。チャンクの終わりに、次のチャンクを届ける前にユニットアクセスを強制するためにコマンドが選択されるか、追加的に与えられる。ユニットアクセスを強制することによって、エラーは次のチャンクの開始ではなく、現在のチャンクの終わりの時点で報告されることになる。終わりでの報告と次回の始まりでの報告の間の時間差はMs/Bsである。実際上では、Ms=5MB、Bs=1MB/secとするとMs/Bs=5secである。アクセスの強制は、書き込みコマンド中のFUAビット(MMC−3参照)を通じて、あるいは以下で説明する同期キャッシュコマンドを発することによってできる。
【0030】
ある実施形態では、ドライブは書き込みエラーの時点でUDMA/DMAをアボートする。ドライブは転送全体を完了しない。これは、転送が数百キロバイト以上だと重要になる。
【0031】
ある実施形態では、ホストはまた、モードページを通じて最大再試行回数と全体としてのエラータイムアウトを指定する。これもエラーメッセージの理由となりうる。
【0032】
ある実施形態では、ドライブは、要求検知(Request Sense)コマンドを通じてエラーが発生したアドレスを報告する。ホストは、エラーが発生したECCブロックの次のECCブロックはまだ全く書き込まれておらず、したがって書き込みをしてもよいと想定できる。これは、ECCブロック全体を単位としてしか書き込みができないDVD+Rについては重要である。
【0033】
ある実施形態では、エラーののち、ホストは、キャッシュ内のどのブロックから書き込みが再開できるかを知るために、アドレスをもった同期キャッシュコマンドを発する。それは、エラーが発生したアドレスよりも大きなアドレスのブロックとなる。
【0034】
図5は、同期キャッシュコマンドを示している。同期キャッシュコマンドの定義は、動作コード51、パラメータバイト52を示している。パラメータバイト52は、実行の種類およびコマンドの反応を示すビットIMMEDや相対アドレッシング(relative addressing)を指示するRELADRのようなさらなるパラメータを有する。バイト群53は論理ブロックアドレスを指示する。論理ブロックアドレス(LBA: Logical Block Address)を使ってキャッシュ内のブロックを指すという発想である。当該装置はキャッシュ内でそのLBAをもったブロックをみつけなければならない。あるいはまた、指示されたブロックよりあとでドライブに書き込まれ、より高いLBAをもつすべてのブロックがディスクに書き込まれてもよい。
【0035】
上述したようなエラーの監視と報告のプロセスは、DVD+RWにもDVD+Rにも使用できることを注意しておく。このことは、「リザーブトラック(reserve track)」コマンドを与えなくてもDVD+Rメディア上で領域をスキップすることができるということを含意している。このプロセスの鍵となる点は以下の通りである。チャンクごとに作業することによって、書き込みリンクの数が最小化される。書き込みリンクというのは、ドライブが書き込みを止めてのちに止めたところから継続するところのことである。リンクの数を最小化することによって、書き込みエラーの可能性が減少し、ディスクの直接上書き(DOW: direct overwrite)は低く保たれる。各チャンクの終わりにユニットアクセスを強制することによって、エラー検出時間が最小限に保たれ、従って回復が迅速となる。回復の間に生成される新規のリアルタイムデータもバッファリングする必要があので、これはホスト側におけるメモリを節約することになる。
【0036】
キャッシュコマンドのような特別な同期キャッシュ型の機能をサポートしているので、ホストはエラー後にブロックを再転送する必要がない。これは、ホストが長い転送データ長を扱う場合や、ドライブの内部メモリが大きな場合に特に重要になる。よって、当該装置はデータブロックを保存しておくためのキャッシュバッファを有しており、ホストインターフェースは書き込みエラー後に書き込みを再開するキャッシュバッファ中のアドレスを指示するキャッシュコマンドを受け取る。具体的には、キャッシュコマンド中のアドレスは、書き込みを再開するためのデータブロックの論理ブロックアドレスであるか、あるいは次のより高い論理ブロックアドレスをもつデータブロックを書き込みを再開するためのデータブロックとして指示する。重要なのは、すでに記録装置内のバッファに存在しているデータブロックを使って記録を再開する機能であって、上述した特定の同期キャッシュコマンドではない。
【0037】
ライトワンス記憶媒体上ではスキップ機能がサポートされていることを注意しておく。たとえばDVD+Rの場合である。一般に、DVD+Rはシーケンシャルな書き込み媒体から前方へのジャンプが可能な媒体へと向上させることができる。スキップされたブロックは当該装置によって書き込みが行われたと考えられ、書き込み済み領域指標(RAI: recorded area indicator)などのディスク状態においても書き込み済み領域として管理される。同様に重要なのは、書き込みエラーが発生した場合に当該装置が大きな転送を中断することを認めることである。
【0038】
ある実施形態では、タイムアウト時間が特殊なコマンドを通じて再試行回数とともに指定される。これについて以下でさらに説明する。
【0039】
図6はコマンドと応答のタイミングを示している。コマンドと対応するデータ61をホストインターフェース15を通じて送信したのち、コマンド完了応答62がある。コマンド61とコマンド完了62との間の時間はさらに、タイミングよくエラー状態報告を実現するよう定義される。MMC−3は転送レートを規定するのみで、最後の転送バイトとドライブのコマンド完了応答62との間の経過時間については規定していない。解決法の一つは、その時間を直接指定することである。直接の定義は、最長の経過時間を指定してそれを「コマンドタイムアウト」または「最大割り当て時間」と称することである。コマンドタイムアウトは多くのコマンドに適用しうる。タイムアウトとは、コマンドとコマンド完了の間の最大時間である。それを守るためにドライブが内部的にコマンドをアボートする必要がある場合、ドライブはエラーを返さなければならない。
【0040】
再試行回数も指定してよいことを注意しておく。読み出しコマンドは、ドライブが要求されたアドレスをみつけられないために遅れることがある。ジャンプしてアドレスを読み込み、不成功ならジャンプしてまた読み込む、という堂々巡りになるのである。再試行回数を制限することによって、読み込みエラーが発生しそうなことがより早く報告され、よってコマンドはより早く打ち切られる。
【0041】
図7aは、ドライブ上でインターフェースとなるコネクタを示している。示されているのは、ドライブの背面71である。ドライブの背面にあるコネクタは5−in−1コネクタである。第1のコネクタ72はデジタル出力で、第2のコネクタ72はアナログオーディオ出力である(MPC−2規格に従った4ピン)。オーディオ出力はサポートされていなくてもよい。マスター/スレーブコネクタ73はCS(ケーブル選択)、M(マスター)、S(スレーブ)を切り替える3ポジション・ジャンパ・ブロックであり、ジャンパ75はデフォルトジャンパのマスター選択の状態にあるものとして示されている。第4のコネクタ76は40ピンのATA−2二列フラットケーブルコネクタであり、外被付きで(shrouded)向きを決めるための鍵付き(ピン20が除去されている)である。このコネクタはIDEコネクタとも呼ばれ、ATA/ATAPI−5で記述されているようにATAケーブルを通じてホストとのインターフェースとするために使われる。最後に、コネクタ77は業界標準の4ピンのアンフェノールに従ったDC電源接続部である。このDC電源コネクタは外部電源からドライブにDC電力(+5ボルトおよび+12ボルト)を供給する。
【0042】
図7bはIDEコネクタの各ピンの機能を定義するピン構成を示している。データコネクタはホストシステムへのインターフェースとするために使われる。詳細な説明についてはATA/ATAPI−5を参照されたい。マスター/スレーブコネクタ73は、既存のパソコンの構成に応じてIDEデータケーブルを組み込むのに使われる。接続には、もう一つの接続されている装置の構成に応じて三つの可能性がある。スレーブ装置(ジャンパはスレーブに)、マスター装置(ジャンパはマスターデフォルトに)、マスターもしくはスレーブ装置(ジャンパはケーブル選択に)である。ジャンパがない場合もケーブル選択を意味する。
【0043】
MMC−3は、リアルタイム記録に関してはドライブによる書き込みエラーからの回復を可能にするものではないことを注意しておく。書き込み中および読み出し中に回復を行う機能をドライブ内で利用可能にすることが提案されている。MMC−3は再試行回数およびコマンドタイムアウトのみを含む。コマンドタイムアウトは、そのコマンドが実行されたというメッセージを送るまでの最長時間である。コマンド完了はデータを受け取ったあとすぐ送られるので、このコマンドタイムアウトを回復機能に使うことはできない。よって、MMC−3では、一連のデータブロックの書き込み中のエラー状態はホストに報告されることができない。
【0044】
ある実施形態では、リアルタイム記録が実行される場合における解決法が提供される。たとえば、「ディスクアットワンス」での書き込み中のリアルタイム記録において、ホスト(たとえばパソコン内の)はドライブに追随している。回復プロセスがドライブ内でアクティブにされると、ホストはドライブが回復を終了するまで待たなければならない。リアルタイム記録の間に待ち状態があると、データ記憶装置でバッファオーバーフローが発生し、したがってデータをスキップする必要が生じうる。これは目に見えるスキップデータのある低品質の記録を与えることになる。これを改善するため、ある実施形態では、記録中タイムアウトが含められる。記録中タイムアウトの定義は、書き込みコマンドの実行中に「書き込み以外のこと」をするのに使われる全時間のことで、バッファレベルがデータ路バッファの閾値レベルを超えてから最後の部分が書き込まれて終わるまで測る。記録中タイムアウトはコマンドタイムアウトとは異なる。コマンドタイムアウトが書き込みコマンドの全実行時間を定義しているのに対し、記録中タイムアウトは書き込み自身以外の動作のための予備時間の最大値を定義しているのである。このことについて、以下でさらに説明する。
【0045】
図8は、記録の際のホストインターフェース上のメッセージ、書き込み動作およびその他の動作のタイミングチャートを示す図である。上の時間的グラフ81はホストインターフェース、すなわちIDE段階におけるメッセージを示している。そのメッセージはリアルタイムで記録されるべき一連のデータブロック84からなる。下の時間的グラフ82は媒体インターフェース、すなわちディスク段階での動作を示している。上のグラフ81では、印Aが書き込みコマンドのシーケンスの開始を指示しており、次の書き込みコマンドは、データをバッファ内に記憶するために十分な余地を当該装置が有する場合にのみ下されうる。印Bは、バッファ閾値レベルを超えるところを示している。バッファ閾値レベルは、当該装置が書き込みを開始できるためにバッファ内に必要とされるデータの最小量である。書き込みプロセスを開始するための遅延TRSののち、ドライブは印Cで示される時点で媒体への書き込みを開始する。印Dのところでトラック逸脱エラーなどの書き込みエラー85が発生する。当該装置内で回復を行うために時間TRETが必要とされる。回復がうまくいかなかったら、書き込みプロセスはアボートされ、書き込みエラー85の位置を示すエラーメッセージが生成される。回復が成功した場合には、当該装置は印Eから再び連続的に書き込みを開始する。印Fでは較正(calibration)が必要となり、その較正を実行するには時間TCALが要求される。較正後、当該装置は印Gのところで書き込みを再開する。印Hのところで当該装置は書き込みプロセスを終了する。いちばん下のグラフ83は、書き込みコマンドを説明するために上のグラフ81上での書き込みコマンドの細部を示すものである。印PのところでIDE書き込みコマンドがドライブに送られる。そのコマンドに続いて印Qのところでドライブへのデータ転送が行われる。印Rのところでコマンド完了メッセージがホストに送信される。転送されたデータはまだ記憶媒体には書き込まれていないことを注意しておく。そのため、コマンド完了メッセージと結びついている従来技術のコマンドタイムアウトは書き込みプロセス自身のエラー状態を転送するには使うことができないのである。
【0046】
ある実施形態では、記録中タイムアウトは次式で定義される。
【0047】
OUT=TRS+TRET+TCAL
よって、当該装置は、上記の要素のために使われた実際の時間を足し合わせて合計値TOUTを当該装置にコマンドに含まれるパラメータなどの形で与えられている最大値と比較する。その最大値より実績から計算された値のほうが大きければ、書き込みプロセスはアボートされ、エラーメッセージが生成されてホストに報告される。
【0048】
ある実施形態では、記録中タイムアウトは、書き込むべきシーケンスの所要時間が変わるたびにホストが事前設定する必要のある固定時間である。
【0049】
例1:3MBを書き込む間、記録中タイムアウトはたとえば500msecに設定される。TOUTが記録中タイムアウトの所与の値を超えていたら、ドライブは再試行や較正などの現在の動作を停止してエラーをホストに送る。ずっと大きなデータを書き込むためには、たとえばホストが500MBを書き込みたい場合には、記録中タイムアウトに同じ500msecを使っていると、第二の較正でエラーが発生する。記録すべきデータのチャンクが大きいほど、ホストは一つまたは複数の較正を予期しうるのでこれは望ましくない。よって、ホストは大きなチャンクの書き込みのためには記録中タイムアウトとしてより大きな値を設定しておく必要があるのである。
【0050】
ある実施形態では、窓構造を用い、各窓(たとえば窓は20secなど)が終わったところで較正などその他の動作に要した実際の時間(TOUTカウンタ)をリセットする。これなら、記録中タイムアウトにおいて与えられる最大値は、現在の窓における最大値として定義される。それにより、TOUT計算は記録すべきデータの長さによらず使うことができる。したがって、記録すべきデータの長さが変わるたびに記録中タイムアウトを設定する必要はなくなるのである。具体的な例では、TOUTカウンタは記録開始時および各30secの窓が終わるごとにリセットされる。このリセットと窓について、以下に図9によって説明する。
【0051】
図9は、書き込み動作のタイミングチャートおよびタイムアウトのための窓構造を示す図である。時間的グラフ91は媒体インターフェース、すなわち媒体書き込み段階における書き込み動作を示している。印Kにおいて記録が開始され、窓92が始まる。最初の印Mのところで窓が閉じられ、印Mのたびに新しい窓が始まる。各印Mでは、TOUTカウンタがリセットされる。各窓の間、TOUTの計算が実行され、実際のTOUTが記録中タイムアウトを超えていたら、先に説明したようにエラーが報告される。たとえば、印Lにおいて較正が実行され、印Oにおいて書き込みエラーが発生するが、再試行が成功している。エラーは報告されず、書き込みは継続される。
【0052】
本発明は主としてDVD+RW光ディスクを使った実施形態によって説明されてきたが、本発明は他の記録担体についても好適である。たとえば、四角いカード型光ディスク、光磁気ディスク、高密度(ブルーレイ)ディスクその他リアルタイムで一連のデータブロックを記録するためのいかなる種類の情報記憶システムでもよい。
【0053】
注意しておくが、この文書において、「有する」の語は挙げられた以外の要素またはステップの存在を排除するものではない。ある要素の単数形の表現はそのような要素の複数の存在を排除するものではない。いかなる参照符号も特許請求の範囲を限定するものではない。本発明はハードウェアおよびソフトウェアの両方で実装することができる。いくつかの「手段」や「ユニット」が同一のハードウェアまたはソフトウェアによって表現されてもよい。さらに、本発明の範囲は前記実施形態に限定されることはなく、本発明は前述した諸特徴のあらゆる新規な特徴およびその組み合わせにあるものである。
【図面の簡単な説明】
【0054】
【図1】ディスク型記憶媒体、記録装置およびホストシステムを示す図である。
【図2】ホストインターフェース上のデータと記憶媒体に届くデータとの間の遅延のタイムチャートを示す図である。
【図3】アプリケーションを含むホスト、記録装置および記憶媒体を示す図である。
【図4】生成され、転送され、ディスクに書き込まれるデータのグラフである。
【図5】同期キャッシュコマンドを示す図である。
【図6】コマンドと応答のタイミングを示す図である。
【図7a】インターフェースのためのドライブ上のコネクタを示す図である。
【図7b】IDEコネクタのピン構成を示す図である。
【図8】記録の際のホストインターフェース上のメッセージ、書き込み動作およびその他の動作のタイミングチャートを示す図である。
【図9】書き込み動作のタイミングチャートおよびタイムアウトのための窓構造を示す図である。

【特許請求の範囲】
【請求項1】
記憶媒体上に情報を記録するための装置であって、
・前記記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、
・プロトコルに従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有しており、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含んでおり、
前記一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有することを特徴とする装置。
【請求項2】
前記エラー監視手段が、書き込みエラーがあった場合に前記エラーメッセージの中に前記一連のデータブロック内での書き込みエラーの位置を含むよう構成されていることを特徴とする、請求項1記載の装置。
【請求項3】
前記エラー監視手段が、書き込みエラーがあった場合に、要求感知コマンドを通じて書き込みエラーが起こったアドレスを報告するよう構成されていることを特徴とする、請求項1記載の装置。
【請求項4】
前記ホストインターフェース手段が、前記一連のデータブロックの終了時にエラーメッセージを送信するためにユニットアクセスを強制するコマンドを受け取るよう構成されていることを特徴とする、請求項1記載の装置。
【請求項5】
当該装置がデータブロックを保存するためのキャッシュバッファを有し、前記ホストインターフェース手段が書き込みエラー後に書き込みを再開するために前記キャッシュバッファ中でのアドレスを指示するキャッシュコマンドを受け取るよう構成されていることを特徴とする、請求項1記載の装置。
【請求項6】
前記キャッシュコマンド中の前記アドレスが、書き込みを再開するためのデータブロックの論理ブロックアドレスであるか、あるいは書き込みを再開するためのデータブロックとして次のより高い論理ブロックアドレスを指示することを特徴とする、請求項5記載の装置。
【請求項7】
前記ホストインターフェース手段が、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取るよう構成され、前記エラー監視手段が、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成するよう構成されることを特徴とする、請求項1記載の装置。
【請求項8】
前記エラー監視手段が、ある時間窓の中で前記実際の時間の決定を行い、記録中にその後の時間窓の設定を行うよう構成されていることを特徴とする、請求項7記載の方法。
【請求項9】
記憶媒体上への記録の際のエラー監視の方法であって、
・プロトコルに従ってメッセージを介してホストと通信し、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含み、
・前記一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成する、ことを有することを特徴とする方法。
【請求項10】
前記エラーメッセージの生成が、書き込みエラーが生じた場合に、前記エラーメッセージ内に前記一連のデータブロック内での書き込みエラーの位置を含めることを有することを特徴とする、請求項9記載の方法。
【請求項11】
・前記データブロックをキャッシュバッファ内に保存し、
・書き込みエラー後に書き込みを再開するために前記キャッシュバッファ中でのアドレスを指示するよう求める同期キャッシュコマンドを受け取る、
ことを有することを特徴とする請求項9記載の方法。
【請求項12】
前記方法が、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取り、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成することを有することを特徴とする、請求項9記載の方法。
【請求項13】
請求項1記載の記録装置を制御する方法であって、
・プロトコルに従ってメッセージを介して前記装置と通信し、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含んでおり、
・前記一連のデータブロック内でのエラー状態に応じて前記装置からエラーメッセージを受け取り、
・前記一連のデータブロックの再生中にエラーを隠蔽する回復を適用する、ことを有することを特徴とする方法。
【請求項14】
前記通信が前記一連のデータブロックの終わりに前記エラーメッセージを受け取るためのユニットアクセスを強制するコマンドを送信することを含むことを特徴とする、請求項13記載の方法。
【請求項15】
前記通信が、書き込みエラー後に書き込みを再開するために当該記録装置内の前記キャッシュバッファ中でのアドレスを指示するよう求める同期キャッシュコマンドを送ることを含むことを特徴とする、請求項13記載の方法。
【請求項16】
プロセッサをして請求項9ないし15のうちいずれか一項記載の方法を実行せしめるよう動作することを特徴とする、情報を記録するためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7a】
image rotate

【図7b】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2007−514250(P2007−514250A)
【公表日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2006−530778(P2006−530778)
【出願日】平成16年5月3日(2004.5.3)
【国際出願番号】PCT/IB2004/050567
【国際公開番号】WO2004/105021
【国際公開日】平成16年12月2日(2004.12.2)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】