(57)【要約】【課題】データ記憶装置から充分に高度なデータ・スループットを得る。【解決手段】データ記憶装置はデータ記憶媒体、ヘッド、データ・フェッチ・バッファ、コントローラを含む。ヘッドは媒体上の論理ブロック・アドレス（ＬＢＡ）に記憶されたデータを読取るように構成される。コントローラは、ホスト装置がアクセスするＬＢＡのシーケンスを識別するデータ記憶装置内のＬＢＡアクセス・シーケンス情報により識別される媒体上のＬＢＡからヘッドを通じてデータを読取って、データ・フェッチ・バッファに記憶する。コントローラはまた、データ・フェッチ・バッファからホスト装置へ読取られたコマンドに関連するデータを通知することによって、ＬＢＡアクセス・シーケンス情報により識別される媒体のＬＢＡにおけるデータへ向けられ、データ・フェッチ・バッファへ読込み済みであるホスト装置からの読取りコマンドに応答する。【選択図】図１
2008198282.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶装置であって、
データ記憶媒体と、
前記データ記憶媒体上の論理ブロック・アドレス（ＬＢＡ）に記憶されたデータを読取るように構成されたヘッドと、
データを記憶するように構成されたデータ・フェッチ・バッファと、
ホスト装置がアクセスするＬＢＡのシーケンスを識別する前記データ記憶装置内のＬＢＡアクセス・シーケンス情報により識別される前記データ記憶媒体上のＬＢＡから前記ヘッドを通じてデータを読取って、前記読取られたデータを前記データ・フェッチ・バッファに記憶し、そして、前記ＬＢＡアクセス・シーケンス情報により識別される前記データ記憶媒体のＬＢＡにおけるデータへ向けられた前記ホスト装置からの読取りコマンドであって、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成されたコントローラと、
を含む前記データ記憶装置。
【請求項２】
前記データ記憶媒体が回転可能なデータ記憶ディスクを含み、
前記ヘッドが前記ディスク上のＬＢＡに記憶されたデータを読取るように構成され、
前記コントローラは、ホスト装置がアクセスするＬＢＡのシーケンスを識別する前記データ記憶装置内のＬＢＡアクセス・シーケンス情報により識別される前記ディスク上のＬＢＡから前記ヘッドを通じてデータを読取って、前記読取られたデータを前記データ・フェッチ・バッファに記憶し、そして、前記ＬＢＡアクセス・シーケンス情報により識別される前記データ記憶媒体のＬＢＡにおけるデータへ向けられた前記ホスト装置からの読取りコマンドであって、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成された、請求項１記載のデータ記憶装置。
【請求項３】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報に応答して前記ディスクからデータを読取るときには、前記ホスト装置より受信された読取りコマンドに応答して前記ディスクからデータを読取るときに比較して、シーク作業中に一層低い値に加速および減速を制限するように構成された請求項２記載のデータ記憶装置。
【請求項４】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別される前記ＬＢＡの順序を入れ替えて、前記識別されたＬＢＡへ増加または減少する数の順にアクセスを遂行するように構成された請求項１記載のデータ記憶装置。
【請求項５】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡから前記データ読取られ得るスループットが増加するように構成された請求項１記載のデータ記憶装置。
【請求項６】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡからデータを読取る間にデータ記憶装置により発生される雑音を減少するように構成された請求項１記載のデータ記憶装置。
【請求項７】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体ＬＢＡからデータを読取る間のデータ記憶装置による電力消費を減少するように構成された請求項１記載のデータ記憶装置。
【請求項８】
前記アクセス・シーケンス情報は、前記媒体上のＬＢＡのシーケンスが前記ホスト装置によりアクセスされる順序を識別する請求項１記載のデータ記憶装置。
【請求項９】
前記アクセス・シーケンス情報は、前記ホスト装置によりアクセスされると予測される前記媒体上の複数のＬＢＡを識別するが、複数の前記ＬＢＡの各々が前記ホスト装置によりアクセスされると予測される相対的な順序を識別しない請求項１記載のデータ記憶装置。
【請求項１０】
前記コントローラは、前記ホスト装置から前記ＬＢＡアクセス・シーケンス情報を受信して、前記データ記憶装置に前記ＬＢＡアクセス・シーケンス情報を記憶し、そして前記ＬＢＡアクセス・シーケンス情報により識別される媒体ＬＢＡからのデータを読取ることにより前記ＬＢＡアクセス・シーケンスの受信に応答して、前記データ・フェッチ・バッファへ前記読取られたデータを記憶するように構成された請求項１記載のデータ記憶装置。
【請求項１１】
前記コントローラは、複数の異なったＬＢＡアクセス・シーケンス情報を受信し、前記データ記憶装置内のテーブルに前記複数の異なったＬＢＡアクセス・シーケンス情報を記憶し、前記複数のＬＢＡアクセス・シーケンス情報の各々により識別される媒体ＬＢＡからのデータを前記データ・フェッチ・バッファへ読取ることにより前記ＬＢＡアクセス・シーケンス情報の各々の受信に対して応答し、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンド関連の前記データを通知することにより、前記データ・フェッチ・バッファへ読取り済みである前記複数のＬＢＡアクセス・シーケンス情報の１つにより識別される媒体ＬＢＡにおけるデータへ、前記ホスト装置からの読取りコマンドが向けられたときを識別するように構成された請求項１０記載のデータ記憶装置。
【請求項１２】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別された前記媒体上の各ＬＢＡから前記データ・フェッチ・バッファへデータを読取り、また、前記データ・フェッチ・バッファから前記ホスト装置へ前記関連するデータシーケンスを通知することにより、前記データ・フェッチ・バッファへ読込み済みの前記ＬＢＡアクセス・シーケンス情報により識別されたＬＢＡにおけるデータへ向けられた前記ホスト装置からの読取りコマンドのシーケンスに応答するように構成された請求項１記載のデータ記憶装置。
【請求項１３】
前記コントローラは、前記ホスト装置により前記媒体上で読取られるＬＢＡのパターンを観察し、前記読取られたＬＢＡの観察されたパターンに基づいて前記ＬＢＡアクセス・シーケンス情報を発生し、前記ホスト装置から受信される読取りコマンドが前記ホスト装置からの更なる読取りコマンドが差し迫っていて、前記ＬＢＡアクセス・シーケンス情報により識別される媒体ＬＢＡへ向けられるときを決定し、前記ＬＢＡアクセス・シーケンス情報により識別される媒体ＬＢＡからデータを読取って前記データ・フェッチ・バッファへ前記読取られたデータを記憶することにより、前記ＬＢＡアクセス・シーケンス情報により識別される媒体ＬＢＡへの緊急ホスト読取りコマンドの前記指摘に応答するように構成された請求項１記載のデータ記憶装置。
【請求項１４】
前記コントローラは、前記ホスト装置から受信される１つの読取りコマンドが、前記ホスト装置からの複数の読取りコマンドが引続き受信されて、ＬＢＡアクセス・シーケンス情報により識別される複数のＬＢＡのアクセスよりも僅かに先立つ時間にアクセスされたことを事前に前記コントローラにより観察された１つのＬＢＡへ、前記ホストから受信された前記１つの読取りコマンドが向けられたときに、前記ＬＢＡアクセス・シーケンス情報により識別される複数の媒体ＬＢＡへそれら読取りコマンドが向けられように構成された請求項１３記載のデータ記憶装置。
【請求項１５】
前記コントローラは、前記ホスト装置から受信する１つの読取りコマンドは前記ホスト装置から複数の読取りコマンドが引続き受信されることを示すことを決定し、前記ホストから受信した前記読み書きコマンドが前記ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡへ向けられるときに、これらの読取りコマンドはＬＢＡアクセス・シーケンス情報により複数の媒体ＬＢＡへ向けられるように構成された請求項１３記載のデータ記憶装置。
【請求項１６】
前記コントローラは、前記データ・フェッチ・バッファが前記媒体上の一時記憶場所を含み、ＬＢＡアクセス・シーケンス情報により識別される複数のＬＢＡから読取られる前記データを、前記媒体上の前記一時記憶場所へ記憶するように構成された請求項１記載のデータ記憶装置。
【請求項１７】
前記コントローラは、ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡから読取られたデータを、前記媒体上の前記一時記憶場所におけるＬＢＡの隣接したグループへ記憶するように構成された請求項１６記載のデータ記憶装置。
【請求項１８】
前記コントローラは、前記ＬＢＡアクセス・シーケンス情報により識別される前記ＬＢＡからデータを読取るために、前記コントローラに前記ホスト装置が命令するところの定義されたデータ転送速度に基づいて、ＬＢＡアクセス・シーケンス情報により識別される複数のＬＢＡからどのようにデータを読取るかを調節するように構成された請求項１記載のデータ記憶装置。
【請求項１９】
前記コントローラは、前記ホスト装置からのＬＢＡアクセス・シーケンス情報による前記定義されたデータ転送速度を受信するように構成された請求項１記載のデータ記憶装置。
【請求項２０】
データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品はコンピュータ読取り可能な記憶媒体内に実施されたコンピュータ・プログラム・コードを含み、該コンピュータ・プログラム・コードは、
前記ホスト装置がアクセスするデータ記憶装置内の前記媒体上のデータ記憶位置の複数の論理ブロック・アドレス（ＬＢＡ）のシーケンスを定義することをホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
前記ＬＢＡの定義されたシーケンスをＬＢＡアクセス・シーケンス情報として、前記ホスト装置から前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
前記ＬＢＡアクセス・シーケンス情報を前記データ記憶装置へ通知した後に前記ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡからデータを読取るように読取りコマンドを前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
を含む前記コンピュータ・プログラム製品。
【請求項２１】
前記ＬＢＡアクセス・シーケンス情報を前記データ記憶装置へ通知した後に前記ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡからデータを読取るように読取りコマンドを前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成された前記コンピュータ・プログラム・コードが、前記読取りコマンドをそれが通知するのに少なくとも１つの定義された時間の量だけ先立って、前記ＬＢＡアクセス・シーケンスを通知するように更に構成され、前記時間の量は、前記ＬＢＡアクセス・シーケンス情報により識別される複数の媒体ＬＢＡから前記データ記憶装置内の１つのフェッチ・バッファへデータを読取るために前記データ記憶装置に対して充分であるように定義される請求項２０記載のコンピュータ・プログラム製品。
【請求項２２】
増加または減少する数の順に前記識別された複数のＬＢＡへのアクセスを遂行するように、前記ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡを並べ替えるように構成されたコンピュータ・プログラム・コードを更に含む請求項２０記載のコンピュータ・プログラム製品。
【請求項２３】
どの媒体ＬＢＡデータにデータが記憶されるかを識別するデータ記憶装置からファイル・テーブルを読取ることと、前記データ記憶装置へ通知された前記ＬＢＡアクセス・シーケンス情報を前記ファイル・テーブルに基づいて発生することとを前記ホスト装置により実行するように構成されたコンピュータ・プログラム・コードを更に含む請求項２０記載のコンピュータ・プログラム製品。
【請求項２４】
データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るホスト装置のための方法であって、
前記ホスト装置がそこからデータを読取るデータ記憶装置内の媒体上のデータ記憶位置の複数の論理ブロック・アドレス（ＬＢＡ）のシーケンスを定義することと、
前記ホスト装置から前記データ記憶装置へＬＢＡアクセス・シーケンス情報として前記ＬＢＡの定義されたシーケンスを通知することと、
前記ＬＢＡアクセス・シーケンス情報により識別される前記媒体上のＬＢＡからデータを読取ることと、
前記データ記憶装置内のデータ・フェッチ・バッファ内の前記ＬＢＡアクセス・シーケンス情報により識別される前記媒体上のＬＢＡから読取られた前記データを記憶することと、
前記ホスト装置から前記データ記憶装置へ前記ＬＢＡアクセス・シーケンス情報を通知した後に、前記ＬＢＡアクセス・シーケンス情報により識別される１つの媒体ＬＢＡへ記憶されたデータへ向けられたデータ記憶装置へ、前記ホスト装置から読取りコマンドを通知することと、
前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記読取りに応答することと、
を含む前記方法。
【請求項２５】
前記ホスト装置がそこからデータを読取るデータ記憶装置の前記媒体上のデータ記憶位置の複数の論理ブロック・アドレス（ＬＢＳ）のシーケンスを定義することは、
どの媒体ＬＢＡにデータが記憶されるかを識別するデータ記憶装置から前記ホスト装置へ１つのファイル・テーブルを読込むことと、
前記ファイル・テーブルに基づいて前記ホスト装置によって、前記データ記憶装置へ通知される前記ＬＢＡアクセス・シーケンス情報を発生させることと、
を含む請求項２４記載の方法。
【請求項２６】
前記データ記憶装置の前記データ・フェッチ・バッファ内の前記ＬＢＡアクセス・シーケンス情報により識別される前記媒体上のＬＢＡから読取られた前記データを記憶することは、前記データ記憶装置内の電子回路メモリへ前記読取られたデータを書込むことを含む請求項２４記載のデータ記憶装置。
【請求項２７】
前記データ記憶装置の前記データ・フェッチ・バッファ内の前記ＬＢＡアクセス・シーケンス情報により識別される前記媒体上のＬＢＡから読取られた前記データを記憶することは、前記媒体上の一時記憶位置へデータを書込むことを請求項２４記載のデータ記憶装置。
【請求項２８】
前記媒体上の一時記憶位置へ読込まれた前記データを書込むことは、前記媒体上の前記一時記憶位置におけるＬＢＡの隣接するグループ上へ前記データを書込むことを含む請求項２７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にオーディオ／ビデオ・データ・ストリームなどのデータ・ストリームにアクセスするデータ記憶装置、ホスト装置およびコンピュータ・プログラム製品に関するものである。
【背景技術】
【０００２】
デジタル形式で情報を記憶するコンピュータおよびデータ処理システムに使用するデータ記憶装置の一般的形式には、（たとえば磁気的および／または光学式の）ディスク・ドライブおよびテープ・ドライブが含まれる。通常のディスク・ドライブは、ヘッド・スタック・アセンブリ、一つまたはそれ以上のデータ記憶ディスクおよびこの記憶ディスクを回転させるスピンドル・モータを含む。ヘッド・スタック・アセンブリは、フレクシャ・アーム（ｆｌｅｘｕｒｅ  ａｒｍ）へ装着された一つまたはそれ以上の読み書きヘッドを含むアクチュエータ・アーム・アセンブリを含む。アクチュエータ・モータは、ピボット・ベアリングの周りにフレクシャ・アームおよびヘッドを回転させると共に、ディスク上の同心円のデータ・トラックへデータを書込み、そこからデータを読取ることが出来る。
【０００３】
ターゲット・ブロック上でデータを読み書きするために、ディスク・ドライブへのホスト装置からの読み書きコマンドに応答して、このディスク・ドライブは、それがデータを読み書きできる以前に、ターゲット・トラックに沿ってターゲット・ブロック上へヘッドを位置決めしなければならない。シーク動作を通じてディスク・ドライブは、ヘッドをデータ・トラックを半径方向に横切って、開始トラックから宛先トラックへ移動する。その後、ディスクの回転が宛先トラックのターゲット・ブロックをヘッドの下に移動させることにより、そこからデータ読取りそこへ書込むことができるようになる。ターゲット・ブロックへアクセスするのに必要な時間の量すなわちアクセス・タイムは、宛先トラック上へヘッドを位置決めするシーク動作、宛先トラック上へヘッドを静定するための時間、およびヘッドの下へ回転する宛先トラック上のターゲット・ブロックに必要な時間である回転遅れの、累積時間を含む。従って、読み書きホスト・コマンドを実行するためにディスク・ドライブが取る経過時間は、部分的にアクセス・タイムによって異なる。
【０００４】
ディスク・ドライブは、速度のプロファイルを使用してシーク動作中にヘッドを移動できるが、この速度のプロファイルは、主としてアクセス・タイムを最小化するために設計されると共に、シーク動作、熱の発生および／またはエラー防止／回復（データ保全）により導入される音響雑音の発生により課せられる制約に適応するように試みる。いくつかのディスク・ドライブは、比較的に隣接するトラック内のいくつかのデータのブロックにアクセスするために必要な累積時間を減少させようと試みて、待ち行列に入れた読み書きホスト・コマンドを入れ替える。しかしながら、速度プロファイルおよび／または入れ替え処理は、読み書きコマンドが一般にランダム・シーク動作を起すパーソナル・コンピユータ・システムにこれらディスク・ドライブが使用されるという予想により設計されている。速度プロファイルおよび／または入れ替え処理は、オーディオ／ビデオ（ＡＶ）データ・ストリームを読取るときのような、実質的に非ランダム・シーク動作を引き起こすホストによりこれらディスク・ドライブが使用される場合に、適応可能なアクセス・タイム、音響雑音、温度管理および／またはデータ保全を供給しないかも知れない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ディスク・ドライブは、ＡＶシステム内のＡＶコンテンツ、高精細度および他の高解像度ＡＶコンテンツ・ストリーム、双方向ＴＶゲーム、ブロードバンド・インターネットＡＶサービス、家庭用電化製品等におけるＡＶ監視などのためにますます多く使用されている。たとえば、ディジタル・ビデオテープ・レコーダ（ＤＶＲ）が家庭用電化製品市場に入っており、これによりユーザが実質的にビデオ録画して選択した放送を使用できる。その上、いくつかのＤＶＲは、二つ以上の放送を同時的に記録したりおよび／または異なった放送を同時的に記録し再生できる。従って、ＡＶシステム内のディスク・ドライブは、記憶すべきＡＶコンテンツの受け入れ可能な量を許容する十分な記憶容量を供給すべきであり、また、知覚できる中断なしにリアル・タイムで多数のＡＶデータ・ストリームを記憶／検索する必要のために高度なデータ・スループットを供給すべきである。ディスク・ドライブから十分に高度なデータ・スループットを得ることは、そこに音響雑音、温度管理、および／またはデータ保全の制約が課せられているので困難であり得る。
【課題を解決するための手段】
【０００６】
本発明のいくつかの実施例において、データ記憶装置は、データ記憶媒体、ヘッド、データ・フェッチ・バッファ、およびコントローラを含む。ヘッドは、媒体上の論理ブロック・アドレス（ＬＢＡ）に記憶されたデータを読取るように構成される。データ・フェッチ・バッファは、データを記憶するように構成される。コントローラは、媒体上のＬＢＡからヘッドを通じてデータを読取るように構成され、これらＬＢＡは、記憶装置内のＬＢＡアクセス・シーケンス情報により識別され、ＬＢＡアクセス・シーケンス情報は、ホスト装置がアクセスするＬＢＡのシーケンスを識別する。コントローラはまた、データ・フェッチ・バッファに読取られたデータを記憶する。コントローラはまた、ＬＢＡアクセス・シーケンス情報により識別される媒体のＬＢＡにおけるデータへ宛てられたホスト装置からの読取りコマンドに応答するが、読取りコマンドに関連するデータをデータ・フェッチ・バッファからホスト装置へ通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成されている。
【０００７】
従って、ホスト装置は、それがデータを読取ろうと計画するＬＢＡのシーケンスについて、データ記憶装置へ通知する。データ記憶装置は、識別されたＬＢＡのシーケンスからデータ・フェッチ・バッファへデータを読み込むことにより、ホスト装置からの予想される読取りコマンドのために、準備する。ＬＢＡのシーケンス内のＬＢＡの一つに向けられているホスト装置からの読取られたコマンドに応答して、対応するデータがデータ・フェッチ・バッファからホスト装置へ通知される。データ記憶装置は、ピークおよび／または平均のデータ・スループット、発生され得る音響雑音、熱の発生、ピークおよび／または平均の電力消費および／またはデータ保全についての制約を満足するような仕方で、ＬＢＡシーケンスについてホスト装置により通知されることと、データを読取るためにそれらのＬＢＡへ当てられた読取りコマンドを受信することの間の追加的な時間を使用するように構成される。
【０００８】
本発明のいくつかの実施例において、データ記憶装置はディスク・ドライブである。データ記憶媒体は回転可能なデータ記憶装置を含み、またヘッドはディスク上のＬＢＡ内のデータ記憶域を読取るように構成される。
【０００９】
本発明のいくつかの他の実施例は、データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るためのコンピュータ・プログラム製品を供給する。このコンピュータ・プログラム製品は、コンピュータ読取り可能な記憶媒体内に実装されたコンピュータ・プログラム・コードを含む。このコンピュータ・プログラム・コードはホスト装置により実行されて、ホスト装置がアクセスするデータ記憶装置内の媒体上のデータ記憶位置の論理ブロック・アドレス（ＬＢＡ）のシーケンスを定義するように構成される。他のコンピュータ・プログラム・コードは、ホスト装置により実行されて、ＬＢＡアクセス・シーケンス情報として定義されたＬＢＡのシーケンスをホスト装置からデータ記憶装置へ通知するように構成される。さらに他のコンピュータ・プログラム・コードは、データ記憶装置へＬＢＡアクセス・シーケンス情報を通知した後に、ＬＢＡアクセス・シーケンス情報により識別されたＬＢＡからデータを読取るようにホスト装置により実行されて、データ記憶装置へ読取りコマンドを通知するように構成される。
【００１０】
本発明のいくつかの他の実施例は、ホスト装置に対応する方法に向けられ、データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取る。本発明のこれらおより他の実施例は、添付図面を参照して下記に説明される。
【実施例】
【００１１】
さて、本発明の実施例を示す添付図面を参照しながら以下に一層詳細に説明する。しかしながら、本発明は多くの代わりの形式において実施され、本書に提示した実施例に限定されるものと考えるべきではない。
【００１２】
従って本発明は種々の修正と代わりの形式を受け得るが、その特定の実施例が図面により例示され、また本書に詳細に説明される。しかしながら、理解すべきは本発明を開示された特定の形式に限定される意図はないことであり、反対に本発明は特許請求の範囲に定義される本発明の精神と範囲に入る全ての修正、均等物、および代案を含む。同一の番号は、諸図面の説明を通じて同一の要素を示す。
【００１３】
理解すべきは、本書に使用される用語「含む（ｃｏｍｐｒｉｓｉｎｇ）」または「含む（ｃｏｍｐｒｉｓｅｓ）」は、制限のないものであって、一つまたはそれ以上の状態の要素、ステップ、および／機能を含み、それらは、暗黙の（ｕｎｓｔａｔｅｄ）要素、ステップおよび／または機能を除外しない。本書の使用においては、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、本文が他のことを明瞭に指示しない限り同様に複数形をも含むことも意図する。本書の使用において、用語「および／または（ａｎｄ／ｏｒ）」および「／」は、関連する記載された項目の一つまたはそれ以上のいずれかまたは全ての組み合せを含む。理解すべきは、本書において種々の要素および／または領域を記述するために第一、第二などの用語が使用されるが、これらの要素および／または領域はこれらの用語に限定されないことである。これらの用語が、単に一つの要素／領域を他の要素／領域から区別するために、使用されるだけである。こうして、下記に議論する第１の要素／領域は、本発明の表示から離れることなく、第二の要素／領域と名付けることが出来る。
【００１４】
本発明は、装置、方法および／またはコンピュータ・プログラム製品として実施できる。したがって、本発明は、ハードウェアおよび／またはソフトウェア（ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む）で実施できる。結果として、本書で使用される場合用語「信号」は、連続的な波形および／またはメモリにおけるデジタル値のような離散的な値の形式をとり得る。さらに本発明は、命令実行システムにより、または関連して使用される媒体で実施されるコンピュータ使用可能またはコンピュータ読取り可能なプログラム・コードを有するコンピュータ使用可能またはコンピュータ読取り可能な記憶媒体上のコンピュータ・プログラム製品の形をとり得る。本書の文脈において、コンピュータ使用可能またはコンピュータ読取り可能な媒体は、命令実行コンピュータ・システム設備または装置により使用されるか関連するプログラムを収納し、記憶し、通知し、伝播または転送するあらゆる媒体であり得る。
【００１５】
コンピュータ使用可能またはコンピュータ読取り可能な媒体は、たとえば電子的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、設備、装置または伝播媒体であり得るが、これらに限定されない。コンピュータ読取り可能な媒体の一層詳細な例（非網羅的なリスト）は、下記のものを含む：一つまたはそれ以上のワイヤを有する電気接点、ポータブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラム可能リード・オンリ・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、およびポータブル・コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）である。注意すべきは、コンピュータ使用可能またはコンピュータ読取り可能な媒体は、プログラムが印刷されている紙または他の適当な媒体でさえあっても良く、それはそのプログラムがたとえば紙または他の媒体の光学的な走査によってプログラムを電子的に捕捉し、それから必要ならコンパイルし、解釈し、または適当な他の形で処理して、それからコンピュータ・メモリへ記憶する。
【００１６】
ブロック図のブロック内に記された機能／動作は、動作説明に記された順序に従わずに発生する。たとえば、引続き示される二つのブロックは、実際は実質的に同時的に実行されるか、またはこのブロックは、時には含まれる機能／動作に応じて反対の順序で実行される。いくつかの図解は、通信の主要な方向を示すために通信パスに矢印を含むが、記述された矢印と反対方向に通信が起り得ることを理解すべきである。
【００１７】
説明のために、磁気ディスク・ドライブおよび関連のホスト装置に関して、本発明の例示的な実施例を下記する。しかしながら、理解すべきは、本発明は、ディスク・ドライブとともに使用することに限定されるのではなく、代わりにそれはあらゆるタイプのデータ記憶装置とともに使用され、それらのデータ記憶装置は、光学ディスク・ドライブ（たとえば、ＣＤ−Ｒ／Ｗ、ＤＶＤ−Ｒ／Ｗ）およびテープ・ドライブを含むが、これらに限定されない。従って、本書に使用される場合「データ記憶媒体」は、データを記憶するように構成されたあらゆる媒体をいい、磁気ディスク、光ディスクおよび磁気テープを含むが、これらに限定されない。また、本書で使用される場合「ヘッド」は、データ記憶媒体上のデータを読み書きするように構成されたあらゆる装置についていう。
【００１８】
図１に、ディスク・ドライブの簡略化した図解を示し、一般的に１０で指示する。ディスク・ドライブ１０は、スピンドル・モータ１４により回転されるディスク・スタック１２の中に配置される一つまたはそれ以上のディスクを含む。スピンドル・モータ１４は、ベース・プレート１６へ装着されている。アクチュエータ・アーム・アセンブリ１８もまた、ベース・プレート１６へ装着されている。ディスク・ドライブ１０は、ホスト装置からの読み書きコマンドに応答して、データを記憶し、検索するように構成されている。ホスト装置は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯端末（ＰＤＡ）、ディジタル・ビデオ・レコーダ／プレーヤ、ディジタル・ミュージック・レコーダ／プレーヤおよび／またはディスク・ドライブ１０へ通信可能に結合されてデータを記憶し、検索できる他の電子装置を含むが、これらに限定されない。
【００１９】
アクチュエータ・アーム・アセンブリ１８は、フレクシャ・アーム２２へ装着されたヘッド２０（またはトランスデューサ）を含み、フレクシャ・アーム２２は、ピボッド・ベアリング・アセンブリ２６の周りを回転できるアクチュエータ・アーム２４へ取付けられている。ヘッド２０は、たとえば磁気抵抗（ＭＲ）素子および／または薄膜誘導（ＴＦＩ）素子を含む。アクチュエータ・モータ２８（たとえばボイス・コイル・モータ（ＶＣＭ））が、アクチュエータ・アーム・アセンブリ１８を回転させて、ヘッド２０をディスク・スタック１２に対して半径方向に移動させる。スピンドル・モータ１４およびアクチュエータ・アーム・アセンブリ１８は、コントローラ、読み書きチャネル回路、およびプリント回路板（ＰＣＢ）３２へ装着された一つまたはそれ以上の集積回路パッケージ内に封入できる他の関連電子回路３０へ結合されている。電子回路３０は、アナログおよび／またはデジタルの回路を含み、典型的にデジタル信号プロセッサ（ＤＳＰ）、マイクロ・プロセッサ・ベースのコントローラおよびメモリ装置を含む。電子回路３０は、さらに後述する本発明の種々の実施例に従って構成され得る。
【００２０】
さて図２を参照すると、ディスク・スタック１２は典型的に複数のディスク３４を含み、その各々は一対のディスク表面３６、３６を有する。ディスク３４は円筒形シャフト上に装着されて、スピンドル・モータ１４を介して軸３８の周囲を回転するように構成されている。ディスク３４は、説明のために磁気ディスクとして説明されるが、それらは代わりに光ディスクまたはいずれか他のタイプのデータ記憶ディスクであり得る。
【００２１】
さて図１および図３の図示を参照すると、アクチュエータ・アーム・アセンブリ１８は複数のヘッド２０を含み、その各々はディスク表面３６の異なった一つに隣接している。各ヘッド２０は、アクチュエータ・アーム２４の対応部分へ取り付けられた対応するフレクシャ・アーム２２へ装着され、アクチュエータ・アーム２４は、ピボット・ベアリング・アセンブリ２６の周りを回転できる。アクチュエータ・モータ２８が動作してアクチュエータ・アーム２４を移動させ、こうしてヘッド２０をそれらのそれぞれのディスク表面３６に関して、半径方向に移動させる。
【００２２】
図４を参照すると、電子回路３０は、データ・コントローラ４００、サーボ・コントローラ４０２、読み書きチャネル４０４、ホスト・コマンド・バッファ４０６、ＬＢＳシーケンス・アソシエーション・テーブル４０８、プレ・ホスト入出力（Ｉ／Ｏ）コマンド・データ・フェッチ・バッファ４１０を含む。電子回路３０の例示的な実施例は、二つの別々のコントローラ４００、４０２、読み書きチャネル４０４、および三つの別々のメモリ装置４０６、４０８、４１０で図示したが、これらは、ただ例示と議論のためである。理解すべきは、一つまたはそれ以上のコントローラ４００、４０２、読み書きチャネル４０４、および／または装置４０６、４０８、４１０について本書に説明する機能は、一つの集積回路内に統合され、または二つ以上の集積回路パッケージの間に分散されたものであり得ることである。ヘッド・ディスク・アセンブリ（ＨＤＡ）４２０は、アクチュエータ・アーム・アセンブリ１８、ディスク・スタック１２、アクチュエータ・モータ２８およびスピンドル・モータ１４を含み得る。
【００２３】
読み書きチャネル４０４は、通常の方法で動作して、データ・コントローラ４００により使用されるデジタル形式とＨＤＡ４２０内のヘッド２０を通じて実行されるアナログ形式の間で、データを変換できる。読み書きチャネル４０４は、ＨＤＡ４２０内のディスク３４から読取ったサーボ位置情報を、サーボ・コントローラ４０２へ供給する。このサーボ位置情報は、ディスク３４上のトラックに沿った論理ブロック・アドレス（ＬＢＡ）に関するヘッド２０の位置を検出するのに使用できる。サーボ・コントローラ４０２は、データ・コントローラ４００からのＬＢＡとサーボ位置情報を使用して、ディスク表面３６の一つのターゲット・トラック上のＬＢＡへヘッド２０をシークし、またデータがＬＢＡ上で読取られ／書込まれている間に、ヘッド２０をターゲット・トラックと整列させて維持することが出来る。
【００２４】
バッファされたホスト・コマンドにより識別されたＬＢＡへ、コマンドに関連するデータが読取られまたは書込まれるのを待っている間に、ホスト装置からの読取りと書込みのコマンドは、コマンド・バッファ４０６内に一時的にバッファされる。データ・コントローラ４００は、適当なヘッダ情報によって関連情報をブロック内にフォーマットすることにより、バッファされた書込みコマンドを実行し、また、フォーマットされたデータをコマンド・バッファ４０６から読み書きチャネル４０４を介して、バッファ書込みコマンドにより識別されるディスク３４上のＬＢＡへ転送するように構成されている。同様に、ホスト装置からのバッファされた読取りコマンドは、バッファされた読取りコマンドにより識別されたディスク３４上のＬＢＡからデータが検索されてホスト装置へ通知されるまで、一時的にコマンド・バッファ４０６内にバッファされる。バッファされた複数のコマンドは、それらのそれぞれの完了に際して、コマンド・バッファ４０６から別々に除去されることが出来る。
【００２５】
本発明のいくつかの実施例は、ＤＶＲ、デジタル・ビデオ・プレーヤおよび他のＡＶシステムが、ディスク・ドライブからデータを読取る必要に先立って、ＡＶシステムにより決定できるＬＢＡのシーケンスからデータを読取り可能であることの認識から起る。たとえば、あるＡＶシステムが映画を上映するようにコマンドされた時に、ディスク・ドライブ１０からデータを読取るＬＢＡシーケンスを決定して、少なくとも映画ビデオ・フレームの一部分をアセンブルするように構成できる。従って、ＡＶシステムは、それらのＬＢＡからデータを読取るように、ディスク・ドライブ１０へ読取りコマンドを通知し始めるのに先立って、少なくとも定義されたＬＢＡシーケンスの一部分をディスク・ドライブ１０へ通知できる。代わりに、または付加的に、ディスク・ドライブ１０は、時間をかけてＬＢＡシーケンス・アクセス情報を観察し学習して、それによりＬＢＡアクセス・シーケンス情報により識別される一つまたはそれ以上のＬＢＡに対して、および／またはＬＢＡアクセス・シーケンス情報により識別される他のＬＢＡ関連のものへ読取りコマンドを受信するのに応答して、どのＬＢＡへアクセスする必要があるか（たとえば、ＬＢＡアクセス・シーケンス情報により識別されるビデオ・フレーム・データに先立つビデオ・フレーム・データを収容するＬＢＡに対する読取りコマンドを受信すること）を予想することができる。ディスク・ドライブ１０は、ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡからのデータをフェッチし始めて、ＡＶシステムからの関連する読取りコマンドの受信を準備することが出来る。
【００２６】
関連する読取りコマンドの受信に先立って、ＬＢＡアクセス・シーケンスからのデータの少なくともいくつかをフェッチすることが出来るので、ＬＢＡアクセス・シーケンス情報の受信とこのＬＢＡアクセス・シーケンス情報により識別されるＬＢＡへ向けられた読取りコマンドの受信の間に、追加的な時間を使用するようにディスク・ドライブ１０を構成して、ピークおよび／または平均のデータ・スループット、起り得る音響雑音、熱の発生、ピークおよび／または平均の電力消費、および／またはデータ保全上の制約を満足する方法により、読取り動作を遂行することが出来る。たとえば、ディスク・ドライブ１０は、この追加的な時間を使用してＬＢＳアクセス・シーケンスの遂行における順序を入れ替えて、それにより複数のアクセスの間のシーク時間を最小化するように（たとえば、増加する／減少する数順でＬＢＡにアクセスするシーケンスの順序を変える）、ＬＢＡにアクセスすることが出来る。
【００２７】
本発明のいくつかの実施例によれば、ＬＢＡシーケンス・アソシエーション・テーブル４０８内の一つまたはそれ以上のアクセス・シーケンスについての情報を記憶するように、データ・コントローラ４００を構成できる。ＬＢＡアクセス・シーケンス情報は、ホスト装置により定義されて、ディスク・ドライブ１０へ通知される。ホスト装置からＬＢＡアクセス・シーケンス情報を受信するのに応答して、ディスク・ドライブ１０はディスクＬＢＡからフェッチ・バッファ４１０へデータ読込みを開始するが、ディスクＬＢＡはＬＢＡアクセス・シーケンス情報により識別される。あるホスト読取りコマンドが受信されると、それはフェッチ・バッファ４１０へ検索済みの一つまたはそれ以上のＬＢＡからのデータへ向けられ、そのデータは、フェッチ・バッファ４１０からコマンド・バッファ４０６へ移動されることができ、読取りコマンドに応答するホスト装置へ通知される。ＬＢＡアクセス・シーケンス情報は、どのＬＢＡがホスト装置により引き続きアクセスされるかについて、ディスク・ドライブ１０へ早期通知を提供するので、データ・コントローラ４００は、ＬＢＡアクセス・シーケンス情報により識別されるディスクＬＢＡからそれをフェッチすることが出来るようにさらに構成でき、それによりピークおよび／または平均のデータ・スループット、音響雑音、ディスク・ドライブ１０の一つまたはそれ以上の構成要素により発生され得る熱、ピークおよび／または平均のディスク・ドライブ１０による電力消費、および／またはデータ・エラー回復処理についての制約を満足するようにできる。たとえば、データ・コントローラ４００は、（騒音、熱、および／または電力消費を減少させるために）アクチュエータ・アーム・アセンブリ１８の加速／減速を少なくさせる速度プロファイルを用いて動作をサーボ・コントローラ４０２にシークせて、および／または一層堅固なエラー回復処理を使用することにより、ホスト読取りコマンドの時間的制約で応答するときに、データ・コントローラ４００および／またはサーボ・コントローラ４０２により使用される他の場合よりも、検出に際してデータ・エラーを訂正するために、ディスク３４からより多くの再読取りの試みを遂行する。
【００２８】
いくつかの実施例において、テーブル４０８内のＬＢＡアクセス・シーケンス情報は、隣接するディスクＬＢＡのグループを定義し、またホスト装置によりグループがアクセスされると、期待される相対的順序を定義する。たとえば、テーブル４０８は、一つまたはそれ以上のＬＢＡのグループのシーケンスを定義し、そこで各グループは、開始ＬＢＡ、グループ内で開始ＬＢＡに連続的に続くある数のＬＢＡ、開始ＬＢＡに関連するＩ／Ｏアクセスのタイプ（たとえば、ＬＢＳはグループ内で逐次的にアクセスされる、ＬＢＡは各アクセスの間でＬＢＡの定義された数をジャンプすることによりアクセスされる）を定義する。たとえば、ＬＢＡ１０から開始する映画セグメントを読取り、次の９０個のＬＢＡ読取りを継続し、５０個のＬＢＡをジャンプし、次の１００個のＬＢＡを読取り、２５０個のＬＢＡをジャンプし、次の２００個のＬＢＡを読取り、４３００個のＬＢＡをジャンプし、次の４０００個ＬＢＡを読取る（ＬＢＡ１０−１００、１５０−２５０、５００−７００、５０００−９０００を読取ることに対応する。）ことを識別するシーケンス・アクセス情報を、ホストがディスク・ドライブ１０へ通知する。
【００２９】
図５のブロック図により、例示的なホスト装置５００を図示する。ホスト装置５００は、コントローラ５１０、アプリケーション５２２およびＩ／Ｏ  ＬＢＡシーケンス情報５２４を含むメモリ５２０を含み、またＩ／Ｏアダプタ５３０を含む。Ｉ／Ｏアダプタ５３０は、たとえば、ＡＴＡバス、ＳＡＴＡバス、小型コンピュータ・システム・インターコネクト（ＳＣＳＩ）バス、ファイヤワイヤ（ｆｉｒｅｗｉｒｅ）・バス、および／またはユニバーサル・シリアル・バス（ＵＳＢ）を通じて、ホスト装置５００をディスク・ドライブ１０へ連絡可能に結合するように構成できる。コントローラ５１０は、たとえば、放送メディア・ソース（たとえば、衛星、地上、ケーブル、および／またはインターネットのＴＶソース）、双方向テレビ・ゲーム、ブロードバンド・インターネットＡＶサービス、および／またはディスク・ドライブ１０のＡＶ監視などのＡＶコンテンツを検索可能に記憶するＡＶシステムとして機能するように、アプリケーション５２２により構成されることが出来る。
【００３０】
コントローラ５１０は、さらにディスク・ドライブ１０へ複数のＡＶコンテンツ・データ・ストリームを同時的に記憶し、および／またはそこから検索するのをサポートするように、構成できる。コントローラ５１０は、たとえば映画を上演するためにアクセスしているＬＢＡシーケンスを定義するように、構成される。ファイル・データが記憶されているディスクＬＢＡを識別するディスク・ドライブ１０からのファイル（リンク）テーブルを読取ることにより、それはＬＢＡシーケンスを定義する。それから、定義されたＬＢＡシーケンスを、ＬＢＡアクセス・シーケンス情報としてディスク・ドライブ１０へ送り返すが、それは、ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡへ宛てられたディスク・ドライブ１０へ読取りコマンドを送信し始める以前に、ファイル・テーブルに情報を加えて、ディスク・ドライブ１０へこのファイルを書き戻すなどして、行う。従って、上記のように識別されたＬＢＡへ宛てられた緊急のホスト読取りコマンドを受信する準備において、ディスク・ドライブ１０は、識別されたディスクＬＢＡからデータをフェッチ・バッファ４１０へフェッチする。コントローラ５１０は、それらのＬＢＡへ宛てられた読み書きコマンドを送信する前の所定量の時間に、ディスク・ドライブ１０へアクセス・シーケンス情報を通知して、フェッチ・バッファ４１０に対して、ＬＢＡにより識別されたデータの少なくともいくつかまたは全部をフェッチするのに十分な時間を、ディスク・ドライブ１０が得られるようにする。コントローラ５１０が、ＬＢＡアクセス・シーケンス情報をディスク・ドライブ１０へ通知する時と、それが識別された情報から読取りを開始する時との間の時間の量は、フェッチ・バッファ４１０内に記憶されるデータの量に基づいて選択され得る。たとえば、ディスク・ドライブ１０がシーケンス情報を受信するのとそこへ読取りコマンドを受信するのとの間の数秒（たとえば、２−５秒）ないし数分までが可能なように、この時間を選択することができる。
【００３１】
図４と図５を参照すると、例示的な実施例によりホスト装置５００は、ＤＶＲであり得る。あるエンド・ユーザは、ホスト装置５００に命令して、ディスク・ドライブ１０に記録された映画の上演を開始出来る。コントローラ５１０がディスク・ドライブ１０からファイル・テーブルを読取って、それに基づいて第１ＬＢＡアクセス・シーケンスを発生させ、第１ＬＢＡアクセス・シーケンスはホスト装置５００がデータを読取って、映画のためのＡＶフレームを発生させるＬＢＡを指示する。コントローラ５１０は、ＬＢＡアクセス・シーケンス情報５２４の部分として、メモリ５２０内に第１ＬＢＡアクセス・シーケンス記憶し、この映画セグメントを再び上演する場合の後日の使用の時に、映画の少なくとも一部分をＬＢＡアクセス・シーケンス情報５２４に結合できる。コントローラ５１０が、Ｉ／Ｏアダプタ５３０を通じて、ディスク・ドライブ１０へ第１ＬＢＡアクセス・シーケンスを通知する。データ・コントローラ４００が、第１ＬＢＡアクセス・シーケンスをテーブル４０８内に記憶し、第１ＬＢＡアクセス・シーケンスにより識別されたディスクＬＢＡからデータをフェッチして、データ・フェッチ・バッファ４１０へ入れ、そしてホスト装置５００からの個別の読取りコマンドに応答して、関連するデータをデータ・フェッチ・バッファ４１０からコマンド・バッファ４０６へコピーし、またこのデータを上述の実施例のようにホスト・コントローラへ通知する。ホスト・コントローラ５１０は、データに基づいてＡＶフレームをアセンブルして、第１ＬＢＡアクセス・シーケンス内のＬＢＡへ向けられたディスク・ドライブ１０へ、読取りコマンドをさらに通知する。ホスト・コントローラ５１０は、ディスク・ドライブ１０に対して、さらなるＬＢＡアクセス・シーケンスを発生し通知することができ、それによりホスト装置５００が後続のデータ・ストリームを発生させてその映画の後続のＡＶフレームを発生させるのに使用する時に、ディスク・ドライブ１０がさらにコマンドを読取る準備をさせることが出来る。
【００３２】
ホスト装置５００が映画を上演している間に、エンド・ユーザは、もう一つの映画上演を開始するようにコマンドできる。コントローラ５１０がディスク・ドライブ１０からファイル・テーブルを読取り、少なくとも映画データの一部分を読取れるＬＢＡを識別する第２のＬＢＡアクセス・シーケンスを発生する。コントローラ５１０は、Ｉ／Ｏアダプタ５３０を通じてディスク・ドライブ１０へ第２のＬＢＡアクセス・シーケンスを通知する。データ・コントローラ４００は、テーブル４０８内に第２のＬＢＡアクセス・シーケンスを記憶して、データを識別されたＬＢＡからデータ・フェッチ・バッファ４１０へ読み込む。データ・コンローラ４００が、付加的または代わりに第２ＬＢＡアクセス・シーケンスで識別されたＬＢＡ使用して、第１ＬＢＡアクセス・シーケンスおよび／または第２アクセス・シーケンスにより識別されたフェッチ中のデータに関連する読取り作業を再構成または優先化して、それにより、スループットの要求、音響雑音の制約、熱発生の制約、電力消費の制約および／またはデータ・エラー回復処理の制約を満足するように試みる。
【００３３】
上述のように、本発明のいくつかの実施例において、ホスト装置がアクセスするであろうＬＢＡシーケンスを定義し、そのシーケンスをディスク・ドライブ１０へ通知する。いくつかの他の実施例によれば、ディスク・ドライブ１０は、ＬＢＡアクセス・シーケンス自体を決定するように構成され得る。たとえば、データ・コントローラ４００は、逐次的に検索されるＬＢＡのパターンを観察し、学習するように構成されることができ、また学習したＬＢＡシーケンスをテーブル４０８内に記憶することができる。データ・コントローラ４００は、たとえばデータ・ストリームの読取りに関連するように見える読取りコマンド（たとえばＡＶデータ・ストリームをプレーバックすること）を記録することができる。データ・コントローラ４００は、そのとき、たとえばバッファされた読取りコマンドの目標とするＬＢＡが定義されたＬＢＡアクセス・シーケンス内にある時を決定することにより、または定義されたＬＢＡアクセス・シーケンス内のデータにアクセスするのに先立った時間に近接してアクセスされることが目標とするＬＢＡについて観察された時を決定することにより、テーブル４０８内に定義されたＬＢＡアクセス・シーケンスに対して、ホスト・デバイスからの読取りコマンドが関連する時を決定することが出来る。バッファされた読取りコマンドが定義されたＬＢＡアクセス・シーケンスに関連していると決定することに応答して、データ・コントローラ４００は、定義されたＬＢＡアクセス・シーケンスからフェッチ・バッファ４１０へデータをフェッチして、上述のようにそこからのデータについての後続のホスト・コマンドを準備する。
【００３４】
いくつかのさらなる実施例において、ホスト５００はＬＢＡアクセス・シーケンス情報内に定義されたデータ転送速度を含み、それにより、ディスク・ドライブ１０に命令して、一連のホスト読取りコマンドを通じて識別されたＬＢＡから読取る。代わりにまたは追加的に、ディスク・ドライブ１０がコントローラ４００を介して、テーブル４０８内のＬＢＡアクセス・シーケンスに関連するデータ速度をそこから観察し、定義するように構成できる。そのとき、コントローラ４００は既知のデータ速度を使用して、関連するＬＢＡシーケンスからどのようにデータを読取るかを調節する。たとえば、通常の解像度の映画に関連する第１ＬＢＡシーケンスは、７Ｍビット／秒の定義され学習されたデータ転送速度を有するが、一方高解像度映画に関連する第２のＬＢＡシーケンスは、１９Ｍビット／秒の定義され学習されたデータ転送速度を有し得る。これら既知のデータ転送速度に基づいて、コントローラ４００は、第１ＬＢＡシーケンスについてするのによりも関連読取りコマンドをさらに先立って、データ・フェッチ・バッファ４１０内の第２ＬＢＡシーケンスから一層多くのデータを読取るであろう。したがって、それによりコントローラ４００は、関連するホスト読取りコマンドに先立ってバッファ４１０内へどのように多くのデータを読取るか変化させることにより、ＬＢＡシーケンス既知のデータ転送速度へ適応する。
【００３５】
フェッチ・バッファ４１０は、例えばダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）および／またはスタティックＲＡＭなどの集積回路を含む。しかしながら、他のいくつかの実施例においては、フェッチ・バッファ４１０はディスク３４上に一時記憶場所を含む。例えば、データ・コントローラ４００は、ホスト装置からの後続の読取りコマンドについて準備するために、ＬＢＡアクセス・シーケンスにより識別されたＬＢＡからディスク３４の一時記憶場所へ、データをコピーする。この一時記憶場所は、隣接するディスクＬＢＡを含む。従って、ＬＢＡアクセス・シーケンスがディスク３４上の隣接していないＬＢＡに対応していて、ディスク３４上に広く分散していても、アドレスされたデータは、ディスク３４上の一時記憶場所で隣接してコピーされる。データ・コントローラ４００は、それから引き続いて隣接ＬＢＡからデータを読み戻すが、遠いトラックとＬＢＡの間のシーク動作に関する遅延をもたらす元の隣接していないＬＢＡから読まれる場合よりも、一層迅速に行われる。
【００３６】
図６は、本発明のいくつかの実施例により、ＬＢＡアクセス・シーケンス情報により識別されるＬＢＡへ関連の読取りコマンドを送信する以前に、ＬＢＡアクセス・シーケンス情報を発生させて、その情報をディスク・ドライブ１０へ通知するために、ホスト装置５００が遂行する作業のフローチャートである。ブロック６００で、ホスト装置５００はディスク・ドライブ１０からファイル・テーブルを読取る。それからブロック６０２で、それはファイル・テーブルに基づいてＬＢＡアクセス・シーケンス情報を発生する。ブロック６０４で、ホスト装置５００はＬＢＡアクセス・シーケンス情報をディスク・ドライブ１０へ通知して、ＬＢＡアクセス・シーケンス情報により識別されたＬＢＡへ向けられたディスク・ドライブへ、引き続き読取りコマンドを通知する。
【００３７】
図７は、本発明のいくつかの実施例により、ホスト装置５００からのＬＢＡアクセス・シーケンス情報および関連の読取りコマンドに応答するために、ディスク・ドライブ１０が遂行する作業のフローチャートである。ブロック７００で、ホスト装置５００から、ＬＢＡアクセス・シーケンス情報が、ディスク・ドライブ１０により検索される。ブロック７０２で、ディスク・ドライブ１０は、ＬＢＡアクセス・シーケンス情報により識別されるディスク３４上のＬＢＡから、データを読取る。ブロック７０４で、このデータがデータ・フェッチ・バッファ４１０へ記憶される。ブロック７０６で、ＬＢＡアクセス・シーケンス情報により識別されるディスクＬＢＡにおけるデータへ向けられたホスト読取りコマンドの受信に応答して、ブロック７０８で、ディスク・ドライブ１０がこの読取りコマンドに関連するデータを、データ・フェッチ・バッファ４１０からホスト装置５００へ通知する。それからブロック７１０で、ＬＢＡアクセス・シーケンス情報により識別された全てのデータがホスト装置５００に読込まれてしまったかどうかについての決定がなされ、もしそうでなければ、作業のループはブロック７０６へ戻って、さらなるホスト読取りコマンドおよび／またはリフレッシュ・タイマーの時間切れを待つ。
【００３８】
図面および説明において、本発明の典型的な好ましい実施例を開示してきたし、また特定の用語を使用したが、それらは一般的な説明的な意味においてのみ使用され、添付の特許請求の範囲に提示される本発明の範囲を限定するのが目的ではない。
【００３９】
（関連出願）
本出願は、本書にその開示の全体が参考文献として組み込まれている米国仮特許出願Ｎｏ．６０／６８７，９３２、西暦２００５年６月７日出願の利益と優先権を主張する。
【図面の簡単な説明】
【００４０】
【図１】本発明のいくつかの実施例により構成される電子回路を有するディスク・ドライブの透視図である。
【図２】複数のデータ記憶ディスクを有するディスク・スタックのブロック図である。
【図３】複数のアクチュエータ・アームを有するアクチュエータ・アーム・アセンブリの一部分の透視図である。
【図４】本発明のいくつかの実施例により構成される図１に示すディスク・ドライブの電子回路の一部分のブロック図である。
【図５】本発明のいくつかの実施例により構成されるホスト装置のブロック図である。
【図６】本発明のいくつかの実施例により、関連の読取りコマンドを送信する以前に、ＬＢＡアクセス・シーケンス情報を発生して、その情報を図１のディスク・ドライブへ通知するために、図５のホスト装置により遂行される作業のフローチャートである。
【図７】本発明のいくつかの実施例により、図５のホスト装置からのＬＢＡアクセス・シーケンス情報および関連の読取りコマンドに応答するために、図１のディスク・ドライブが遂行する作業のフローチャート。
【符号の説明】
【００４１】
１０  ディスク・ドライブ
１２  ディスク・スタック
１４  スピンドル・モータ
１６  ベース・プレート
１８  アクチュエータ・アーム・アセンブリ
２０  ヘッド（トランスデューサ）
２２  フレクシャ・アーム
２４  アクチュエータ・アーム
２６  ピボット・ベアリング・アセンブリ
２８  アクチュエータ・モータ
３０  電子回路
３２  プリント回路板
３４  ディスク
３６  ディスク表面
３８  軸
【図１】
2008198282.tif 000003
【図２】
2008198282.tif 000004
【図３】
2008198282.tif 000005
【図４】
2008198282.tif 000006
【図５】
2008198282.tif 000007
【図６】
2008198282.tif 000008
【図７】
2008198282.tif 000009
【外国語明細書】
2008198282000001.pdf