説明

記録媒体にデータを記憶し、記録媒体からデータを読み出し、記録媒体との間で情報を転送する方法及び装置

データ記憶システム(1)は、データの記憶空間(3)を有する光ディスク(2)(好ましくは、CD、DVDやBD)、ディスク(2)との間での情報の読み出し/書き込みに適したディスク・ドライブ(10)、及びディスク・ドライブと協働することができるホスト装置(20)とを備える。ディスク・ドライブ(10)は、ホスト装置(20)から、書き込みコマンド(WRITE(10);WRITE(12){SB=0};WRITE(12){SB=1})又は読み出しコマンド(READ(10);READ(12){SB=0};READ(12){SB=1})を受け取るよう企図される。ディスク・ドライブは、通常モード、及び少なくとも一拡張モードで動作することができる。ディスク・ドライブは、ホスト(20)から受け取られたモード選択コマンドに応答して、その動作モードを、モードのうちの対応する一モードにセットする。少なくとも、書き込み中に誤りが生じた場合、媒体アクセス装置は、通常モードと比較して拡張モードでは違ったふうに動作する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、記録可能な媒体上にデータを記憶する分野に関する。本発明は特に、光学記憶装置(CD、DVD、ブルーレイなど)の分野に関する。以下、本発明はブルーレイの場合について説明するが、これは例としてのみであり、本発明の範囲を限定することを意図するものでない。本発明の要旨は、光学式であるか否かにかかわらず、他のタイプの記録ディスクにも適用可能である。本発明の要旨は、ディスク型以外の記録可能な媒体にも適用可能である。
【背景技術】
【0002】
光ディスクに情報を記憶することが可能なやり方を含む、一般的な光学データ記憶の手法は一般に知られているので、本明細書では、この手法を詳説しないものとする。簡潔に要約すれば、光記憶ディスクは、データ・パターンの形式で情報を記憶することができる記憶空間の、連続スパイラルの形式又は複数の同心円の形式の少なくとも1つのトラックを備える。記憶空間はブロックに分割される。書き込む対象のデータは、データ・セクタに編成される。各セクタはユーザ・データ部分及びヘッダ部分を備える。データ・セクタは、記憶ブロックに書き込まれる。
【0003】
光ディスクは読み出し専用タイプであり得る。その場合、製造工程中にディスク上に載せられる情報は、ユーザによってしか読み出すことが可能でない。しかし、光記憶ディスクは、書き込み可能型又は記録可能型でもあり得る。その場合、情報はユーザによって記憶することができる。その場合、この情報は後に取り出すことが可能である。
【0004】
書き込み可能な光記憶ディスクの記憶空間への情報の書き込み、又は書き込み可能な光記憶ディスク若しくは読み出し専用光記憶ディスクの記憶空間からの情報の読み出しの場合、記憶トラックが、光ビーム(通常、レーザ・ビ―ム)によって走査される。記憶ディスクの実際の処理は、ディスク・ドライブ装置として示す装置によって行われる。この処理は、ディスクを受容する機能、収容する機能、及び回転させる機能を含む。この処理は、レーザ・ビームを生成する機能、レーザ・ビームを誘導し、フォーカスし、ずらす機能、書き込むためにレーザ・ビームを適切に変調する機能、及び読み出すために反射ビームを検出する機能も含む。この処理は、誤り訂正の機能、どの物理アドレスにどの情報を書き込むかを決定する機能等も含む。
【0005】
ディスク・ドライブ装置の前述の汎用機能は固有に知られている。本発明は、前述の汎用機能の改良を狙いとするものでない。実際に、本発明は、従来技術による汎用機能を用いる一方で実現することができる。したがって、前述の汎用機能の更に詳細な説明は本明細書では省略している。ディスク・ドライブ装置が、記憶する対象のデータを受け取るためのデータ入力、及びディスクから読み出されたデータを出力するためのデータ出力を有することは言うまでもない。
【0006】
通常、記録媒体としての光ディスク、及びディスクを処理するためのディスク・ドライブ装置以外に、光記憶システムはホスト装置を有する。適切なプログラムを実行するPC、又は、ビデオ・レコーダなどの消費者向装置のアプリケーションであり得るホスト装置は、何をするかをディスク・ドライブに命令する旨のコマンドをディスク・ドライブに送出して、ディスク・ドライブと通信する。読み出しモードでは、ホスト装置は、特定の記憶場所からデータを読み出す旨をディスク・ドライブに命令する読み出しコマンドをディスク・ドライブに送出する。それに応答して、ディスク・ドライブは、ディスクからデータを読み出し、そのデータをホスト装置に転送する。書き込みモードでは、ホスト装置はデータをディスク・ドライブに転送し、特定の記憶場所にデータを書き込むようディスク・ドライブに命令する旨の書き込みコマンドをディスク・ドライブに送出する。それに応答して、ディスク・ドライブは、ホストから受け取られたデータを書き込む。
【0007】
よって、ディスク・ドライブと通信するために、ホスト装置は、記憶する対象のデータを転送するためのデータ出力、及びディスクから読み出されたデータを受け取るためのデータ入力を有する。更に、ホストは、コマンド信号をディスク・ドライブに送出するためのコマンド出力を有し、ディスク・ドライブは、ホストからコマンド信号を受け取るためのコマンド入力を有する。コマンド出力は、データ出力とは別個であっても、組み合わせた一出力であってもよい。
【0008】
基本的には、ディスク・ドライブは、命令されたこと(すなわち、読み出し又は書き込みのみ)しか行うことが可能でない。しかし、誤りが前述の動作において生じ得る。ディスク・ドライブは、前述の誤りを訂正しようとし得るが、これは時間を要し、よって、情報スループット・レートを削減する。ホストの「意図」に応じて、情報スループット・レートの削減は許容可能であることもないこともある。問題は、ディスク・ドライブが、データからホストの意図を導き出すことが可能でないという点である。ディスク・ドライブにとっては、全てのデータは、等しい(すなわち、連続したバイトである)。
【0009】
例えば、データがテキスト文書に関する場合、転送処理に多くかかっても、全てのデータの誤りが、できる限り少ないことが重要である。一方、データがビデオ又はオーディオ記録に関する場合、データ・ストリームが続くことが重要である。誤りは画像内にアーチファクトをもたらし得るが、誤り訂正処理に時間がかかると、画像が全くない画面をもたらし得る。
【0010】
よって、特に誤りの場合にディスク・ドライブがデータを処理すべきやり方に関する命令をホストがディスク・ドライブに送出することができることが望ましい。特に、データの完全性が重要であるか否か、又は、高いスループットが重要であるか否かに応じて、ディスク・ドライブの動作特性をホストが変えることができるべきである。
【0011】
基本的に、前述の課題は、対応する命令を書き込みコマンド又は読み出しコマンドそれぞれに含めることによって解決することが可能である。しかし、書き込みコマンドの形式及び読み出しコマンドの形式は、当業者に明らかになるように、対応する標準で定まっている。やはり、基本的には、書き込みコマンド及び読み出しコマンドの形式を再定義することが可能であるが、これは、再定義された形式が、既存の形式と互換でないという課題をもたらすことになる。旧い形式を実現する旧いホストは、新たな形式を実現する新たなディスク・ドライブと協働することができないことになり、新たな形式を実現する新たなホストは、旧い形式を実現する旧いディスク・ドライブと協働できないことになる。
【0012】
現在、適用可能な標準は、読み出しコマンドの2つのコマンド構造(READ(10)及びREAD(12)それぞれとして示す)。同様に、適用可能な標準は、書き込みコマンドの2つのコマンド構造(WRITE(10)及びWRITE(12)それぞれとして示す)。READ(10)/WRITE(10)コマンドに関しては、READ(12)/WRITE(12)コマンドは、より大きなデータ記憶容量を有するディスク・ドライブにアドレス指定することができるために、より多くのビットを含む。前述のREAD(12)/WRITE(12)コマンドは、ディスク・ドライブの動作品質を変えるために、ホストに利用可能な1ビットを含む。これは、いわゆる「ストリーミング・ビット」であり、以下、SBとして示す。READ(10)/WRITE(10)コマンドは前述のビットを有しない。
【0013】
現行の標準によれば、このビットSBを用いて、ディスク・ドライブの完全性のレベルをセットする。このビットがセットされている(SB=1である。ホストが、ストリーミング・モード(ビデオなど)で動作しており、よって、連続したデータ・ストリームが来ることを見込んでいる旨を示す)場合、ディスク・ドライブ(読み出しモード)は、その完全性(すなわち、誤りの生起の可能性)にかかわらず、ディスクから読み出されたデータをホストに供給し、ディスク・ドライブは、誤りが発生したか否かにかかわらず、ホストに通知さえしないことになる。これはCDの場合、差しつかえないことがあり得る。この場合、ホストは、データが損なわれているか否か、及び誤り訂正コードが利用可能であるか否かを、受け取られたデータから検査することによって判定することができる。しかし、DVD、BD、HDの場合、これは、ホストにとって可能でない。よって、データが損なわれている可能性についてホストが通知されることが更に望ましい。
【0014】
対照的に、ビットがセットされない(SB=0である、ディスク・ドライブに、最高レベルのデータ処理の完全性を見込むモードでホストが動作する旨を示す)場合、ディスク・ドライブ(読み出しモード)は、不良ブロックからのデータの読み出しを再試行することにより、又は代替場所との間をジャンプすることにより、時間を費やし得る。よって、現在利用可能なコマンドを用いれば、ホストは、スループットが高く、完全性が低い(少なくとも規定されていない。SB=1)データ処理モードと、スループットが低く、完全性が高い(SB=0)データ処理モードとの間でしか選ぶことが可能でない。これは、READ(12)/WRITE(12)コマンドを用いることができるホストにしか該当しない。READ(10)/WRITE(10)コマンドしか用いることができないホストの場合、結果として生じるディスク・ドライブ動作は、READ(12)/WRITE(12)コマンドのSB=0の場合に対応する。
【発明の開示】
【発明が解決しようとする課題】
【0015】
よって、本発明の重要な目的は、前述の課題を解決することである。
【課題を解決するための手段】
【0016】
本発明の重要な局面によれば、ディスク・ドライブは、拡張モードで動作することができ、拡張モードにおける動作と通常モードにおける動作との間で切り換える旨のホスト・コマンドに応答する。ホスト・コマンドは効果的には、全米技術標準委員会(NCITS)によってその形式が提案されているコマンドである(Working Draft, T10/1361-D, Revision 10g, November 12, 2001, 「INFORMATION TECHNOLOGY - SCSI Multimedia Commands」 (revision MMC10g。以下、MMC-3として略示する))、モード・ページ・コマンドに組み入れられるモード選択コマンドである。
【0017】
モード選択コマンドは、モード・ページ・コマンドの1ビットに相当し得る。本発明を実現しないホストは、このビットの値ゼロにセットする。本発明によって実現されるディスク・ドライブは、通常モードで動作する旨のコマンドを示すものとしてこれを解釈する。通常モードでは、ディスク・ドライブは、前述の通り、従来技術のディスク・ドライブのように動作する。本発明を実現しないディスク・ドライブは、モード選択コマンドを無視し、以前と同様に(以下、「通常モード」と呼ぶやり方で)動作する。
【0018】
本発明を実現するホストは、モード選択コマンド・ビットを1にセットすることができる。本発明を実現するディスク・ドライブは、拡張モードにおいて動作する旨のコマンドを示すものとしてこれを解釈する。拡張モードでは、ディスク・ドライブは、通常モードと比較して、READ(10)/WRITE(10)コマンド、SB=0であるREAD(12)/WRITE(12)コマンド、及びSB=1であるREAD(12)/WRITE(12)コマンドに違ったふうに応答する。いずれにせよ、エラー・メッセージがホストに送出される。
【発明を実施するための最良の形態】
【0019】
本発明の前述並びに他の局面、特徴及び効果は、図面を参照した以下の説明によって更に説明されるであろう。図面では、同じ参照符号は同一又は同様な部分を示す。
【実施例】
【0020】
図1は、データ記憶媒体2と、媒体アクセス装置10と、ホスト装置20とを備えたデータ記憶システム1を略示するブロック図である。通常の実用的な実現形態では、ホスト装置20は、適切にプログラムされたパソコン(PC)であり得る。データ記憶装置1が、ビデオ・レコーダなどの専用ユーザ装置として実現されることも考えられる。その場合、ホスト装置20は、前述の装置のアプリケーション部分である。特定の実施例では、データ記憶媒体2は、光ディスク(例えば、DVDやBD)として実現され、その場合、媒体アクセス装置10は、ディスク・ドライブとして実現される。以下、本発明は、特に光ディスクの実現形態について説明するが、本発明は光ディスクに限定されない。
【0021】
光ディスク2は記憶空間3を有する。記憶空間3は、連続した螺旋形状の1つ若しくは複数のトラック、又は複数の同心円の形式の1つ若しくは複数のトラックを有する。ここでは、情報をデータ・パターンの形式に記憶することが可能である。この手法は、当業者に一般に知られているので、更に詳細に説明しないものとする。
【0022】
図1では、ホスト装置20とディスク・ドライブ10との間のホスト/ドライブ通信リンクを5で示す。同様に、ディスク・ドライブ10とディスク2との間のドライブ/ディスク通信リンクを6で示す。ドライブ/ディスク通信リンク6は、記憶空間3のブロックの物理(光学)読み取り/書き込み動作及び物理アドレス指定を表す。ホスト/ドライブ通信リンク5は、データ転送パス及びコマンド転送パスを表す。
【0023】
ホスト装置20は、ディスク2上の特定の情報にアクセスしたい場合、情報を見つける対象の、ディスク上の論理アドレスを示す旨のコマンドをディスク・ドライブ10に送出する。これに応答して、ディスク・ドライブ10は、上記論理アドレスから始めて情報を読み出し始め、読み出されたデータをホストにリンク5を介して転送する。ディスク・ドライブからホストへのデータ転送の処理は固有に知られているので、前述の処理を本明細書において詳説しないものとする。
【0024】
図2Aは、READ(12)コマンド記述子ブロックを示すテーブルである。図2Aのテーブル1によって示すように、READ(12)コマンドは、それぞれが8ビットの12バイトを有する。バイト0は演算コードを含み、バイト2乃至5は、データを読み出すべき記憶空間の論理ブロック・アドレスを示すために用い、バイト6乃至9は、転送する対象のデータ・セクタの長さを示すために用いる。バイト11は制御バイトである。バイト10のビット7は、前述のストリーミング・ビットである。
【0025】
バイト1のビット1、2及び5乃至7、並びに、バイト10のバイト0乃至6は、後に定義するために予約されている(すなわち、定義された意味をまだ有していない)。よって、前述のビットの何れか1つをモード・コマンド・ビットとして用いることができる。
【0026】
READ(10)コマンドはREAD(12)コマンドと同様であるが、10バイトしか有しない。これにより、このコマンドによってアドレス指定することが可能な最大ブロック・アドレスが削減される。
【0027】
図2Bは、READ(10)コマンド記述子ブロックを示すテーブルである。図2Bのテーブル2によって示すように、READ(10)コマンドは、それぞれが8ビットの10バイトを有する。バイト0は演算コードを含み、バイト2乃至5は、データを読み出すべき記憶空間の論理ブロック・アドレスを示すために用い、バイト7乃至8は、転送する対象のデータ・セクタの長さを示すために用いる。バイト9は制御バイトである。
【0028】
バイト1のビット1、2及び5乃至7、並びに、バイト6のバイト0乃至7は、後に定義するために予約されている(すなわち、定義された意味をまだ有していない)。よって、前述のビットの何れか1つをモード・コマンド・ビットとして用いることができる。
【0029】
ホスト装置20は、特定の情報をディスク2に書き込みたい場合、情報を書き込む対象のディスク上の論理アドレスを示す旨のコマンドをディスク・ドライブ10に送出し、ディスク・ドライブ10にリンク5を介して書き込む対象のデータをリンクを介して転送する。これに応じて、ディスク・ドライブ10は、上記論理アドレスから始めて、受け取られた情報を書き込み始める。ホストからディスク・ドライブへのデータ転送の処理は固有に知られているので、本明細書では前述の処理を詳説しないものとする。
【0030】
図3Aは、WRITE(12)コマンド記述子ブロックを示すテーブルである。図3Aのテーブル3によって示すように、WRITE(12)コマンドは、それぞれが8ビットの12バイトを有する。バイト0は演算コードを含み、バイト2乃至5は、データを記憶すべき記憶空間の論理ブロック・アドレスを示すために用い、バイト6乃至9は、転送する対象のデータ・セクタの長さを示すために用いる。バイト11は制御バイトである。バイト10のビット7は、前述のストリーミング・ビットである。
【0031】
バイト1のビット1、5乃至7、及び、バイト10のバイト0乃至6は、後に定義するために予約されている(すなわち、定義された意味をまだ有していない)。よって、前述のビットの何れか1つをモード・コマンド・ビットとして用いることができる。
【0032】
WRITE(10)コマンドはWRITE(12)コマンドと同様であるが、10バイトしか有しない。これにより、このコマンドによってアドレス指定することが可能な最大ブロック・アドレスが削減される。
【0033】
図3Bは、WRITE(10)コマンド記述子ブロックを示すテーブルである。図3Bのテーブル4に示すように、WRITE(10)コマンドは、それぞれ8ビットの10バイトを有する。バイト0は演算コードを含み、バイト2乃至5は、データを記憶すべき記憶空間の論理ブロック・アドレスを示すために用い、バイト7乃至8は、転送する対象のデータ・セクタの長さを示すために用いる。バイト9は制御バイトである。
【0034】
バイト1のビット1、2及び5乃至7、並びに、バイト6のバイト0乃至7は、後に定義するために予約されている(すなわち、定義された意味をまだ有していない)。よって、前述のビットの何れか1つをモード・コマンド・ビットとして用いることができる。
【0035】
READコマンド又はWRITEコマンドのビットの1つをモード・コマンド・ビットとして用いることは、READコマンド又はWRITEコマンドそれぞれのパラメータが、コマンド毎に修正すべきであり、特定のコマンドにのみ該当することを示唆している。実際には、これは不都合であり得る。本発明によれば、前述のアプリケーションを修正する必要なく、ドライブにアクセスするアプリケーション全てに該当する動作モードにドライブをセットすることが好ましい。したがって、本発明の好ましい実施例によれば、MODE PAGEコマンドのビットをモード・コマンド・ビットとして用いる。
【0036】
図4Aは、MODE PAGEコマンド記述子ブロックを一般的に示すテーブルである。図4Bは、MODE PAGEコマンドの記述子ブロックを特にCDについて示すテーブルである。図4Aのテーブルによって示すように、MODE PAGEコマンドのサイズは固定でない。サイズはバイト1において定義される。バイト0のビット0乃至5はページ・コードを含む。これは図4Bの例では0Dhである。その同じ例では、バイト2、及びバイト3のビット4乃至7は、後に定義するために予約されている(すなわち、定義された意味をまだ有しない)。同様のことが、一般に、バイト0のビット6についてあてはまる。よって、前述のビットの何れか1つをモード・コマンド・ビットとして用いることができる。本発明の好ましい実施例では、バイト0のビット6をモード・コマンド・ビットとして用いる。これは以下でMCBとして示す。
【0037】
値MCB=0は「通常モード」を意味する。これは、現行のホスト20及び現行のディスク・ドライブ10と互換である。本願のホスト、及び本発明を実現しないホストはこのビットをセットしないので、このビットは、デフォールト値ゼロを有することになる。本発明を実現するディスク・ドライブは、MCBの値を読み出し、動作モードを「通常モード」にセットするか、又はこのモードを維持することによって値MCB=0に応答する。現行のディスク・ドライブ、及び本発明を実現しないディスク・ドライブはMCBを無視し、従来技術と同様に(すなわち、「通常モード」で)動作する。
【0038】
本発明を実現するホストは、ディスク・ドライブにホストが見込んでいる品質サービスのタイプに応じて、MCB=0のMODE PAGEコマンドを送出し、よって、「通常モード」のモード・コマンドを事実上送出することができるか、又は、MCB=1のMODE PAGEコマンドを送出し、よって、「拡張モード」のモード・コマンドを事実上送出することができる。MCB=1のMODE PAGEコマンドを送出しても、ディスク・ドライブが現行ディスク・ドライブ(又は、いずれにせよ、本発明を実現しないディスク・ドライブ)の場合、影響はない。本発明を実現するディスク・ドライブは、MCBの値を読み出し、動作モードを「拡張モード」にセットするか、又はこのモードを維持することによって値MCB=1に応答する。
【0039】
ディスク・ドライブがMODEコマンドを受け取らない限り、次のMODEコマンドを受け取るまで、最後のMODEコマンドによってセットされる動作モードを維持する。電源オン又はリセット後、ディスク・ドライブは通常モードで起動する。
【0040】
図5は、本発明を実現するディスク・ドライブ10の動作50の実施例を略示するフロー図である。この実施例は、「通常モード」と「拡張モード」との差をできる限りはっきりと明確にするよう選択される。
【0041】
工程51では、ディスク・ドライブ10は、ホストからコマンドを受け取るか否かを検査する。肯定の場合、ディスク・ドライブ10は工程52で、コマンドがMODEコマンドか否かを検査する。肯定の場合、ディスク・ドライブ10は工程53で、MCB=1か否かを検査する。肯定の場合、ディスク・ドライブ10は、(当業者に分かるように、メモリ場所にフラグをセットすることなどにより、)その動作モードを「拡張モード」にセットする(工程54)。さもなければ、ディスク・ドライブ10はその動作モードを「通常モード」にセットする(工程55)。次いで、ディスク・ドライブ10は工程51に戻って、更なるコマンドを待つ。
【0042】
工程52で、受け取られたコマンドがMODEコマンドでないようである場合、ディスク・ドライブ10は工程60で、コマンドがREADコマンドか、WRITEコマンドか、又は本発明に適切でない特定の他のコマンドであるかを検査する。最後のケースの場合、ディスク・ドライブ10は、工程61で、指令されたタスクの実行を続ける。
【0043】
工程60で、受け取られたコマンドがREAD(12)コマンドであるような場合、ディスク・ドライブ10は工程62でSBの値を検査する。同様に、工程60で、受け取られたコマンドがWRITE(12)コマンドであるような場合、ディスク・ドライブ10は工程63でSBの値を検査する。よって、別々の6つの状況が考えられる。受け取られるコマンドは、READ(10)コマンド、WRITE(10)コマンド、READ(12){SB=0}コマンド、WRITE(12){SB=O}コマンド、READ(12)(SB=I}コマンド,WRITE(12){SB=1}コマンドである。前述の状況毎に、ディスク・ドライブ10の動作を、図6A乃至図6Gを参照して別個に説明する(動作110、130、140、160、180、220)。
【0044】
コマンドがWRITE(10)コマンドの場合、ディスク・ドライブは、図6Aに示す動作110を行う。ディスク・ドライブは、ホストからデータを受け取り(工程111)、前述のデータをディスクに書き込む(工程112)。工程113で、ディスク・ドライブは、誤りが生じたか否かを検査する。否定の場合、ディスク・ドライブは工程111に進む。
【0045】
誤りが生じた場合、ディスク・ドライブは、通常モードと拡張モードとの何れで動作するかを判定する(工程114)。通常モードでは、ディスク・ドライブは、データを交替セクタに割り当て直し(工程115)、欠陥リストを更新し(工程115)、欠陥リストを更新し(工程116)、ホストからのデータの受け取り(工程111)に進む(工程117)。
【0046】
ディスク・ドライブが拡張モードで動作する場合、ディスク・ドライブは、データを交替セクタに割り当て直しようとし(工程118)、欠陥リストを更新しようとする(工程119)(通常モードの工程115及び116に相当する)。次いで、通常モードから逸脱して、ディスク・ドライブはエラー・メッセージをホストに送出し(工程120)、書き込み処理を停止させてホストからの命令を待つ(工程121)。一変形では、工程115及び118を、工程114前に実行される一工程に組み合わせることが可能である。同じことが、工程116及び119にあてはまる。
【0047】
コマンドがWRITE(12)コマンド{SB=1}の場合、ディスク・ドライブは、図6Bに示す動作130を行う。工程131乃至134は、動作110の工程111乃至114それぞれと同一である。誤りが見つかり、ディスク・ドライブが通常モードで動作する場合、ディスク・ドライブは、動作110の工程117と同様に、動作110の工程115及び116を飛ばして、工程131に進む(工程135)。誤りが生じ、ディスク・ドライブが拡張モードで動作する場合、ディスク・ドライブはエラー・メッセージをホストに送出し(工程136)、動作110の工程120及び121と同様に、ホストから命令を待つよう停止し(工程137)、よって動作110の工程118及び119を飛ばす。
【0048】
コマンドがWRITE(12){SB=0}コマンドの場合、ディスク・ドライブは、図6Cに示す動作140を行う。動作140の工程141乃至151は、動作110の工程111乃至121それぞれと同一である。よって、前述の工程を再度説明しないものとする。基本的には、動作140は動作110と同じである。
【0049】
コマンドがREAD(10)コマンドの場合、ディスク・ドライブは、図6Dに示す動作160を行う。工程161で、ディスク・ドライブは、ディスクからデータを読み出し、工程162で、ディスク・ドライブは、誤りが生じたか否かを検査する。誤りが生じていない場合、ディスク・ドライブはデータをホスト(工程171)に送出し、次のデータの読み出しに続く(工程172)。
【0050】
データに誤りが含まれていることが見つかった場合、ディスク・ドライブは、通常モードと拡張モードとの何れで動作するかを判定する(工程164)。ディスク・ドライブは、通常モードで動作する場合、欠陥リストを照会して(工程165)、データがリプレ―スメント・セクタに割り当て直されているか否かを判定する(工程166)。肯定の場合、ディスク・ドライブはリプレースメント・セクタ(工程167)に飛び、工程162に進む。割り当て直しが行われていない場合、ディスク・ドライブは、工程168で、誤りの理由が不良セクタであるか否かを確認する。肯定の場合、ディスク・ドライブは再度、このセクタを数回読み出そうとし得る(工程169)。これが首尾良く行われた場合(工程170)、ディスク・ドライブはデータをホストに送出する(工程171)。再試行が首尾良く行われない場合、又は誤りの理由が不良セクタでない場合、ディスク・ドライブは、誤りを無視し、次のデータの読み出しに進む(工程172)。
【0051】
ディスク・ドライブが拡張モードで動作している間に誤りが生じた場合、ディスク・ドライブは、エラー・メッセージをホストに送出し(工程175)、データの読み出しを停止して、ホストからの命令を待つ(工程176)。
【0052】
コマンドがREAD(12){SB=1}コマンドの場合、ディスク・ドライブは、図6E及び図6Fに示す動作180を行う。動作181乃至192は、動作160の工程161乃至172と同一である。よって、前述の工程を再度説明しないものとする。なお、ディスク・ドライブが通常モードで動作する場合、READ(12){SB=1}コマンドの効果は、READ(10)コマンドの効果と同じである。
【0053】
ディスク・ドライブが拡張モードで動作する場合、ディスク・ドライブは、続いて(工程200)、欠陥リストを照会して(工程201)、リプレースメント・セクタにデータが割り当てられているか否かを確かめる。肯定の場合、ディスク・ドライブは、リプレースメント・セクタを無視し、単にエラー・メッセージをホストに送出し(工程209)、次いで、工程181にもう一度飛ぶことによって次のデータを読み出す準備が整う。
【0054】
工程202で、データが割り当て直されていないようにみえる場合、ディスク・ドライブは、工程203で、誤りの理由が不良セクタであるか否かを判定する。否定の場合、ディスク・ドライブは、前述のように工程209に続く。
【0055】
誤りの理由が不良セクタの場合、再試行によってデータを得ることが可能であり得るが、ホストへのデータ・フローが中断される状況を避けるために、ディスク・ドライブはまず、その出力バッファ11にデータが十分存在している(新たなデータをディスク・ドライブが直ちに供給する必要なしで一定期間中、ホストがデータを受け取ることが可能である旨を示す)か、否かを検査する。出力バッファ11内のデータの量が不十分な場合、ディスク・ドライブは、前述の工程209に進む。対照的に、出力バッファ11にデータが十分存在している場合、ディスク・ドライブはもう一度データを読み出そうとし(工程205)、工程206では、再試行が首尾良く行われているか否かを判定する。否定の場合、ディスク・ドライブは、工程204にもう一度飛ぶことによって再度、再試行することが可能である。再試行が首尾良く行われた場合、ディスク・ドライブはデータをホストに送出し(工程207)、工程181にもう一度飛ぶことによって次のデータ(工程208)を受け取る準備が整う。
【0056】
コマンドがREAD(12){SB=0}コマンドの場合、ディスク・ドライブは、図6Gに示す動作220を行う。動作220の工程221乃至224は、動作160の工程161乃至164と同一である。よって、前述の工程を再度説明しないものとする。ディスク・ドライブは、通常モードで動作する場合、エラー・メッセージをホストに送出し(工程225)、読み出しを停止させてホストからの命令を待つ(工程226)。これは、READ(10)コマンドの場合の拡張モードに対応する(工程175乃至176)。
【0057】
ディスク・ドライブは、拡張モードで動作する場合、欠陥リストを照会して(工程227)、データがリプレースメント・セクタに割り当て直されているかを検出する。肯定の場合、ディスク・ドライブはリプレースメント・セクタを無視し、単にエラー・メッセージをホストに送出し(工程235)、工程221に再度飛ぶことによって次のデータを読み出す準備が整う(工程233)。
【0058】
工程228で、データが割り当て直されていないようにみえる場合、ディスク・ドライブは工程229で、データにおける誤りの理由が不良セクタであるか否かを判定する。否定の場合、ディスク・ドライブは、前述の通り、工程235に進むが、誤りの理由が不良セクタの場合、ディスク・ドライブは、再度、不良セクタを数回読み出すことによって、要求データを最善努力で得ようとすることができる(工程230)。ディスク・ドライブが再度、不良セクタを読み出そうとする回数(x)は、固定であってもよく、状況に応じて変動してもよい。より高いxの場合、データを首尾良く読み出す可能性が高くなるが、読み出し処理に要する時間が長くなることにもなる。
【0059】
再試行が首尾良く行われた場合(工程231)、ディスク・ドライブは、データをホストに送出し(工程232)、次いで、工程221に戻ることによって、次のデータを読み出す準備が整う(工程233)。さもなければ、数回試行した後、ディスク・ドライブは試行をやめ(工程231)、前述の通り、工程235に進む。
【0060】
本発明が前述の例示的な実施例に限定されないが、いくつかの変形及び修正が特許請求の範囲記載の本発明の保護範囲内で考えられることは当業者に明らかである。
【0061】
以上、本発明による装置の機能ブロックを示すブロック図を参照して本発明を説明してきた。前述の機能ブロックの1つ又は複数はハードウェアで実現することができる。前述の機能ブロックの機能は、個々のハードウェア構成部分によって行われるが、前述の機能ブロックの1つ又は複数がソフトウェアで実現され、よって、前述の機能ブロックの機能が、コンピュータ・プログラムの一若しくは複数のプログラム行、又は、プログラム可能な装置(マイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ等など)によって行われることも考えられる。
【図面の簡単な説明】
【0062】
【図1】データ記憶システムを略示するブロック図である。
【図2A】読み出しコマンドのコマンド記述子ブロックを示すテーブルである。
【図2B】読み出しコマンドのコマンド記述子ブロックを示すテーブルである。
【図3A】書き込みコマンドのコマンド記述子ブロックを示すテーブルである。
【図3B】書き込みコマンドのコマンド記述子ブロックを示すテーブルである。
【図4A】モード・ぺージ・コマンドのコマンド記述子ブロックを示すテーブルである。
【図4B】モード・ぺージ・コマンドのコマンド記述子ブロックを示すテーブルである。
【図5】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6A】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6B】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6C】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6D】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6E】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6F】本発明による、ディスク・ドライブの動作を示すフロー図である。
【図6G】本発明による、ディスク・ドライブの動作を示すフロー図である。

【特許請求の範囲】
【請求項1】
データを受け取るための記憶空間を有する記憶媒体に情報を書き込むのに適した媒体アクセス装置であって、前記記憶媒体に書き込む対象の書き込みコマンド(WRITE(10);WRITE(12){SB=O};WRITE(12){SB=1})及びデータをホスト装置から受け取るよう企図され、
通常モード及び少なくとも1つの拡張モードで動作することができ、前記ホスト装置から受け取られたモード選択コマンドに応答して、前記モードのうちの対応する一モードに前記媒体アクセス装置の動作モードをセットし、
少なくとも、書き込み中に誤りが生じた場合、前記媒体アクセス装置が、前記通常モードと比較して前記拡張モードでは違ったふうに動作する媒体アクセス装置。
【請求項2】
請求項1記載の媒体アクセス装置であって、前記モード選択コマンドが、MODE PAGEコマンドに含まれている媒体アクセス装置。
【請求項3】
請求項2記載の媒体アクセス装置であって、前記モード選択コマンドが、前記MODE PAGEコマンドのバイト0のビット6に含まれている媒体アクセス装置。
【請求項4】
請求項1記載の媒体アクセス装置であって、書き込み中に誤りが生じた場合、前記媒体アクセス装置は、前記拡張モードで動作する場合、エラー・メッセージをホストに常に送出するよう企図された媒体アクセス装置。
【請求項5】
請求項4記載の媒体アクセス装置であって、前記エラー・メッセージを前記ホストに送出した後、書き込み処理を停止し、前記ホスト装置からの更なる命令を待つよう企図された媒体アクセス装置。
【請求項6】
請求項1記載の媒体アクセス装置であって、前記拡張モードで動作する場合、WRITE(10)コマンドの受け取りに応答して、前記受け取ったデータを前記媒体に書き込み、書き込み誤りの生起を求めて検査し、書き込み誤りが生じていることを検出した場合、前記データを代替場所に割り当て直し、欠陥リストを更新し、次いで、エラー・メッセージをホストに送出するよう企図された媒体アクセス装置。
【請求項7】
請求項1記載の媒体アクセス装置であって、前記拡張モードで動作する場合、WRITE(12){SB=1}コマンドの受け取りに応答して、前記受け取ったデータを前記媒体に書き込み、書き込み誤りの生起を求めて検査し、書き込み誤りが生じていることを検出した場合、エラー・メッセージをホストに送出するよう企図された媒体アクセス装置。
【請求項8】
請求項1記載の媒体アクセス装置であって、前記拡張モードで動作する場合、WRITE(12){SB=0}コマンドの受け取りに応答して、前記受け取ったデータを前記媒体に書き込み、書き込み誤りの生起を求めて検査し、書き込み誤りが生じていることを検出した場合、前記データを代替場所に割り当て直し、欠陥リストを更新し、次いで、エラー・メッセージを前記ホストに送出するよう企図された媒体アクセス装置。
【請求項9】
請求項1記載の媒体アクセス装置と協働することができるホスト装置であって、前記媒体アクセス装置に、前記媒体アクセス装置の前記拡張モードをセットする旨のモード選択コマンドを送出するよう企図されたホスト装置。
【請求項10】
請求項9記載のホスト装置であって、前記媒体アクセス装置にMODE PAGEコマンドを送出するよう企図され、前記MODE PAGEコマンドのバイト0のビット6が1にセットされるホスト装置。
【請求項11】
データを含めるための記憶空間を有する記憶媒体から情報を読み出すのに適した媒体アクセス装置であって、ホスト装置から読み出しコマンド(READ(10);READ(12){SB=0};READ(12){SB=1}}を受け取り、前記媒体から読み出されたデータを前記ホストに送出するよう企図され、
通常モード及び少なくとも1つの拡張モードで動作することができ、前記ホスト装置から受け取られたモード選択コマンドに応答して、前記モードのうちの対応する一モードに前記媒体アクセス装置の動作モードをセットし、少なくとも、読み出し中に誤りが生じた場合、前記媒体アクセス装置が、前記通常モードと比較して前記拡張モードでは違ったふうに動作する媒体アクセス装置。
【請求項12】
請求項11記載の媒体アクセス装置であって、前記モード選択コマンドが、MODE PAGEコマンドに含まれている媒体アクセス装置。
【請求項13】
請求項12記載の媒体アクセス装置であって、前記モード選択コマンドが、前記MODE PAGEコマンドのバイト0のビット6に含まれている媒体アクセス装置。
【請求項14】
請求項11記載の媒体アクセス装置であって、読み出し中に、訂正することが可能でない誤りが生じた場合、前記媒体アクセス装置は、前記拡張モードで動作する場合、エラー・メッセージをホストに常に送出するよう企図された媒体アクセス装置。
【請求項15】
請求項11記載の媒体アクセス装置であって、前記拡張モードで動作する場合、READ(10)コマンドの受け取りに応答して、前記媒体からデータを読み出し、読み出し誤りの生起を求めて検査し、読み出し誤りが生じていることを検出した場合、エラー・メッセージをホストに送出するよう企図された媒体アクセス装置。
【請求項16】
請求項15記載の媒体アクセス装置であって、前記エラー・メッセージを前記ホストに送出した後、読み出し処理を停止し、前記ホスト装置からの更なる命令を待つよう企図された媒体アクセス装置。
【請求項17】
請求項11記載の媒体アクセス装置であって、前記拡張モードで動作する場合、READ(12){SB=1}コマンドの受け取りに応答して、前記媒体からデータを読み出し、読み出し誤りの生起を求めて検査し、読み出し誤りが生じた旨が検出された場合、アドレス指定されているセクタのデータがリプレースメント・セクタに割り当て直されているか否かを求めて検査し、肯定の場合、エラー・メッセージをホストに送出し、次いで、次の割り当て直されていないセクタからの読み出し処理に進むよう企図された媒体アクセス装置。
【請求項18】
請求項11記載の媒体アクセス装置であって、出力バッファを備え、前記拡張モードで動作する場合、READ(12){SB=1}コマンドの受け取りに応答して、前記媒体からデータを読み出し、読み出し誤りの生起を求めて検査し、読み出し誤りが生じたことを検出した場合、前記読み出し誤りの理由が不良セクタであるか否かを検査し、肯定の場合、前記媒体アクセス装置の出力バッファ内のデータの量を判定するよう企図された媒体アクセス装置。
【請求項19】
請求項18記載の媒体アクセス装置であって、前記媒体アクセス装置の出力バッファに、十分なデータが存在している場合、前記データを前記セクタから読み出し直そうとし、さもなければ、前記媒体アクセス装置の出力バッファに、十分なデータが存在していない場合、エラー・メッセージをホストに送出し、読み出し処理に進むよう企図された媒体アクセス装置。
【請求項20】
請求項19記載の媒体アクセス装置であって、再試行が首尾良く行われた場合、前記データを前記ホストに送出し、次いで、前記読み出し処理を続けるよう企図された媒体アクセス装置。
【請求項21】
請求項11記載の媒体アクセス装置であって、前記拡張モードで動作する場合、READ(12){SB=0}コマンドの受け取りに応答して、前記媒体からデータを読み出し、読み出し誤りの生起を求めて検査し、読み出し誤りが生じた旨が検出された場合、アドレス指定されているセクタのデータがリプレースメント・セクタに割り当て直されているか否かを求めて検査し、肯定の場合、エラー・メッセージをホストに送出し、次いで、次の割り当て直されていないセクタからの読み出し処理に進むよう企図された媒体アクセス装置。
【請求項22】
請求項11記載の媒体アクセス装置であって、前記拡張モードで動作する場合、READ(12){SB=0}コマンドの受け取りに応答して、前記媒体からデータを読み出し、読み出し誤りの生起を求めて検査し、読み出し誤りが生じたことを検出した場合、前記読み出し誤りの理由が不良セクタであるか否かを検査し、肯定の場合、前記セクタからの前記データの所定回数の読み出し直しを試行するよう企図された媒体アクセス装置。
【請求項23】
請求項22記載の媒体アクセス装置であって、前記再試行が首尾良く行われた場合、前記データをホストに送出し、読み出し処理を続け、さもなければ、再試行が首尾良く行われなかった場合、エラー・メッセージを前記ホストに送出し、次いで、前記読み出し処理を続ける媒体アクセス装置。
【請求項24】
請求項11記載の媒体アクセス装置と協働することができるホスト装置であって、前記媒体アクセス装置に、前記媒体アクセス装置の前記拡張モードをセットする旨のモード選択コマンドを前記媒体アクセス装置に送出するよう企図されたホスト装置。
【請求項25】
請求項24記載のホスト装置であって、前記媒体アクセス装置にMODE PAGEコマンドを送出するよう企図され、前記MODE PAGEコマンドのバイト0のビット6が1にセットされるホスト装置。
【請求項26】
データ記憶システムであって、
データを受け取るための記憶空間を有する記憶媒体と、
請求項1記載の媒体アクセス装置と、
請求項9記載のホスト装置とを備えるデータ記憶システム。
【請求項27】
データ記憶システムであって、
データを受け取るための記憶空間を有する記憶媒体と、
請求項11記載の媒体アクセス装置と、
請求項24記載のホスト装置とを備えるデータ記憶システム。
【請求項28】
請求項26又は27に記載のデータ記憶システムであって、前記記憶媒体が、光ディスク、好ましくは、CD、DVD又はBDであり、前記媒体アクセス装置がディスク・ドライブであるデータ記憶システム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図6D】
image rotate

【図6E】
image rotate

【図6F】
image rotate

【図6G】
image rotate


【公表番号】特表2009−505319(P2009−505319A)
【公表日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2008−526598(P2008−526598)
【出願日】平成18年8月16日(2006.8.16)
【国際出願番号】PCT/IB2006/052822
【国際公開番号】WO2007/020595
【国際公開日】平成19年2月22日(2007.2.22)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】