(57)【要約】    【課題】LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンに対する処理速度の向上を図る。    【解決手段】LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンを抽出した場合あるいは、ホストにより上記処理要求パタンとなることを通知された場合に、リード処理要求を実行しながらライト処理要求によるライトデータをバッファリングし、ライトデータのバッファリング開始時には、リード処理のキャッシュへのデータ転送量とライト処理のキャッシュへのデータ転送量の比率を考慮し、バッファリングされるライトデータの容量が最大となるような位置にライトデータの書き込み開始位置を設定する。【選択図】図６
2007011661.tif 000002
【特許請求の範囲】
【請求項１】
データを記録するディスクと、前記ディスクからのリードデータ及び前記ディスクに対するライトデータを一時的に書き込むキャッシュメモリと、前記キャッシュメモリとホストインタフェース間のデータ転送および前記キャッシュメモリと前記ディスク間のデータ転送を制御し、かつ前記キャッシュメモリのリード処理用データ領域とライト処理用データ領域を制御する制御装置とを備え、前記制御装置は、前記ディスクのLogical Block Address（LBA）空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
【請求項２】
請求項１に記載のディスク装置において、前記LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より多いかまたは同じ場合には、前記キャッシュメモリに対するライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、前記LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より少ない場合には、前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を、前記キャッシュメモリの容量の（１−リード処理のデータ転送量／ライト処理のデータ転送量）倍分、リード処理のデータの書き込み開始位置から減算した位置に設定することを特徴とするディスク装置。
【請求項３】
請求項１に記載のディスク装置において、ホストに転送済みのリードデータが記録されているキャッシュメモリの領域を、ライト処理用データ領域として開放することを特徴とするディスク装置。
【請求項４】
請求項３に記載のディスク装置において、ホストに転送済みのリードデータが記録されているキャッシュメモリの領域を、該リードデータがホストに転送された直後に、ライト処理用データ領域として開放することを特徴とするディスク装置。
【請求項５】
請求項１に記載のディスク装置において、前記制御装置は、LBA空間で連続する領域にアクセスするリード処理要求の間にライト処理要求が存在するパタンを基本パタンとし、前記基本パタンが所定回数抽出された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
【請求項６】
請求項５に記載のディスク装置において、前記基本パタンの抽出回数と、前記基本パタン抽出時のリード処理要求のデータ転送量と、前記リード処理要求の直前のリード処理要求を受領してから前記リード処理要求を受領するまでの間に受領したライト処理要求によるデータ転送量とを登録するテーブルを有し、前記制御装置は前記テーブルを参照してリード処理のデータ転送量の平均とライト処理のデータ転送量の平均から前記キャッシュメモリに対するリード処理のデータ転送量とライト処理のデータ転送量の比率を算出することを特徴とするディスク装置。
【請求項７】
請求項１に記載のディスク装置において、前記制御装置は、前記LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンとなることを、ホストインタフェースを介してホストより通知された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
【請求項８】
データを記録するディスクと、前記ディスクからのリードデータ及び前記ディスクに対するライトデータを一時的に書き込むキャッシュメモリと、前記キャッシュメモリとホストインタフェース間のデータ転送および前記キャッシュメモリと前記ディスク間のデータ転送を制御し、かつ前記キャッシュメモリのリード処理用データ領域とライト処理用データ領域を制御する制御装置とを備え、前記制御装置は、前記ディスクのLogical Block Address（LBA）のプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
【請求項９】
請求項８に記載のディスク装置において、リード処理要求アドレスまでの先読みデータとリード処理要求データの総量が、ライト処理要求のデータの転送量よりも多いかまたは同じ場合には、前記キャッシュメモリに対するライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、リード処理要求アドレスまでの先読みデータとリード処理要求データの総量がライト処理要求のデータの転送量よりも少ない場合には、ライト処理用のデータの書き込み開始位置を、キャッシュメモリの容量の（１−リード処理データの総量／ライト処理データ転送量）倍分、リード処理用のデータの書き込み開始位置から減算した位置に設定することを特徴とするディスク装置。
【請求項１０】
請求項８に記載のディスク装置において、ホストに転送済みのリードデータと該データを読み出すまでに先読みされたデータが記録されているキャッシュメモリの領域を、ライト処理用データ領域として開放することを特徴とするディスク装置。
【請求項１１】
請求項１０に記載のディスク装置において、ホストに転送済みのリードデータと該データを読み出すまでに先読みされたデータが記録されているキャッシュメモリの領域を、前記リードデータがホストに転送された直後に、ライト処理用データ領域として開放することを特徴とするディスク装置。
【請求項１２】
請求項８に記載のディスク装置において、前記制御装置は前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定後、前記LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が発行されるパタンの継続判定を行うに際し、前記継続判定の基準となるリード処理におけるLBAのプラス方向の距離を、キューイングされているライト処理要求を実行しようとした場合において最短となるシーク時間を前記ディスクの回転量に変換した場合の距離とすることを特徴とするディスク装置。
【請求項１３】
請求項８に記載のディスク装置において、前記制御装置は前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定後、前記LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が発行されるパタンの継続判定を行うに際し、前記継続判定の基準となるリード処理におけるLBAのプラス方向の距離を、キューイングされているライト処理要求を実行しようとした場合において最短となるアクセス時間（シーク時間と回転待ち時間の総和）を前記ディスクの回転量に変換した場合の距離とすることを特徴とするディスク装置。
【請求項１４】
請求項８に記載のディスク装置において、前記制御装置は、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が存在するパタンを基本パタンとし、該基本パタンが所定回数抽出された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
【請求項１５】
ディスクのLogical Block Address（LBA）空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出するステップと、
リード処理とライト処理のキャッシュメモリに対するデータ転送量の比率を基にして、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定するステップと、
前記処理要求パタン用のキャッシュ制御を実行するステップと、
新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップと、
前記処理要求パタンが継続している場合は、ライト処理データを前記ディスクに書き込んだ直後かを判断するステップと、
ライト処理データを前記ディスクに書き込んだ直後でなければ、前記処理要求パタン用のキャッシュ制御を実行するステップと、
ライト処理データを前記ディスクに書き込んだ直後であれば、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定し直すステップと、
を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
【請求項１６】
請求項１５記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンが継続しているかを判断するステップは、
処理要求がリード処理要求かを調べるステップと、
リード処理要求であれば、直前のリード処理要求データの最終LBAと前記リード処理要求のデータのLBAが連続しているかを調べるステップと、
LBAが連続していれば、ライト処理要求発行フラグが１であるかを調べるステップと、
ライト処理要求発行フラグが１であれば、ライト処理要求発行フラグを０に設定した後、前記処理要求パタンが継続していると判断するステップと、
前記処理要求がライト処理要求であれば、前記ライト処理要求フラグを１に設定するステップと、
を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
【請求項１７】
請求項１５記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンを抽出するステップは、
ライト処理要求発行フラグを０に設定するステップと、
処理要求がリード処理要求かを調べるステップと、
リード処理要求であれば、直前のリード処理要求データの最終LBAと前記リード処理要求のデータのLBAが連続しているかを調べるステップと、
LBAが連続していれば、ライト処理要求発行フラグが１であるかを調べるステップと、
ライト処理要求発行フラグが１であれば、前記処理要求パタンとして抽出するステップと、
前記処理要求がライト処理要求であれば、前記ライト処理要求フラグを１に設定するステップと、
を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
【請求項１８】
ディスクのLogical Block Address（LBA）のプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出するステップと、
リード処理とライト処理のキャッシュメモリに対するデータ転送量の比率を基にして、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定するステップと、
前記処理要求パタン用のキャッシュ制御を実行するステップと、
新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップと、
前記処理要求パタンが継続している場合は、ライト処理データを前記ディスクに書き込んだ直後かを判断するステップと、
ライト処理データを前記ディスクに書き込んだ直後でなければ、前記処理要求パタン用のキャッシュ制御を実行するステップと、
ライト処理データを前記ディスクに書き込んだ直後であれば、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定し直すステップと、
を含むディスク装置のキャッシュメモリ制御方法であって、前記新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップは、
処理要求がリード処理要求かを調べるステップと、
リード処理要求であれば、直前のリード処理要求データの最終LBAに対してプラス方向でかつ一定距離内へのアクセスとなっているかを調べるステップと、
直前のリード処理要求データの最終LBAに対してプラス方向でかつ一定距離内へのアクセスとなっていれば、前記処理要求パタンが継続していると判断するステップと、
を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
【請求項１９】
請求項１８記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンを抽出するステップは、LBA空間で連続する領域にアクセスするリードコマンドの間にライトコマンドが発行されるパタンを基本パタンとし、該基本パタンが所定回数抽出された場合に前記処理要求パタンの抽出とする処理であり、
前記基本パタンを抽出するステップと、
前記基本パタンの抽出回数をカウントするステップと、
前記基本パタンの抽出回数が所定の回数に達したかどうかを判定するステップと、
を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセスの状況に応じて、リード処理用の領域とライト処理用の領域をキャッシュ上に随時設定し、リードデータとライトデータを蓄積するシングルリング方式のキャッシュ制御に関する。
【背景技術】
【０００２】
ディスク装置のキャッシュメモリには、後続のリードコマンドによりアクセスされる可能性の高いデータを蓄積しておく機能と、ホストより転送されたライトデータを蓄積しておく機能の２つがある。
【０００３】
ディスク装置には通常１つのキャッシュメモリが搭載され、上記２つの機能を実現するために使用されている。キャッシュメモリを効率的に使用するためには、ホスト側の処理要求にあわせ上記２つの機能を随時使い分けることが必要である。
【０００４】
上記２つの機能を実現するためのキャッシュ制御方式として、リード処理用の専用領域とライト処理用の専用領域をそれぞれキャッシュメモリ上に設け、２つの専用領域にリードデータとライトデータをそれぞれ書き込むデュアルリング方式がある。また、アクセスの状況に応じて、リード処理用の領域とライト処理用の領域をキャッシュメモリ上に随時設定し、リードデータとライトデータを蓄積するシングルリング方式がある。
【０００５】
また、コピー処理などのようにリード処理要求とライト処理要求が交互に繰り返される処理要求パタンに適したキャッシュ制御方式を実装し、上記処理要求パタンとなることをホストより指示された場合に、上記処理要求パタンに適したキャッシュ制御方式に切り替える方式がある。このキャッシュ制御方式は、特許文献１に記載されている。
【０００６】
【特許文献１】特開２００２−１０８７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
デュアルリング方式では、リード処理用の専用領域とライト処理用の専用領域がそれぞれ固定して設定されているために、リード処理要求のみが連続する場合や、ライト処理要求のみが連続する場合において、キャッシュ領域全体を有効に活用できないという問題がある。また、処理要求に応じては、リード処理とライト処理に割り当てた領域の比率が適当でなくなるために、処理効率が悪くなるという問題もある。
【０００８】
また、シングルリング方式では、処理要求に応じてキャッシュ領域をリード処理用領域とライト処理用領域として随時使いわけているものの、リード処理要求とライト処理要求が頻繁に切り替わるような場合において、処理効率が悪くなるという問題がある。
【０００９】
特許文献１に記載の技術では、特定の処理要求に対して随時キャッシュ制御を最適化しているものの、処理の実行中にキャッシュ領域を割り当て直すなどの方法が取り入れられておらず、キャッシュ領域を十分に活用することができていない。
【００１０】
本発明の第１の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。
【００１１】
本発明の第２の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。
【課題を解決するための手段】
【００１２】
上記第１及び第２の目的を達成するために本発明は、リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式において、リード処理要求を実行しながらライト処理要求によるライトデータをバッファリングし、ライトデータのバッファリング開始時には、リード処理のキャッシュメモリへのデータ転送量とライト処理のキャッシュメモリへのデータ転送量の比率を考慮し、バッファリングされるライトデータの容量が最大となるような位置にライトデータの書き込み開始位置を設定することを特徴とする。
【００１３】
LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に対しては、LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より多いか、または同じ場合、ライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、また、LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より少ない場合は、ライト処理用のデータの書き込み開始位置を、キャッシュ容量×（１−リード処理のデータ転送量／ライト処理のデータ転送量）分リード処理用のデータの書き込み開始位置から減算した位置に設定することとした。
【００１４】
LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に対しては、ホスト要求アドレスまでの先読みデータとホスト要求データの総量が、ライト処理要求のデータの転送量よりも多いかまたは同じ場合、ライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、また、ホスト要求アドレスまでの先読み量とホスト要求データの総量がライト処理要求のデータの転送量よりも少ない場合は、ライト処理用のデータの書き込み開始位置を、キャッシュ容量×（１−上記リード処理データの総量／上記ライト処理データ転送量）分リード処理用のデータの書き込み開始位置より減算した位置に設定することとした。
【００１５】
また、リード処理要求開始時に、一旦リード処理に割り当てたキャッシュ領域のうち、ホストに転送済みのリードデータが記録されている領域をライト処理用の領域として開放することとした。ただし、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合においては、ホストに転送済みのリードデータが記録されている領域だけではなく、該データを読み出すまでに先読みされたデータが記録されている領域もライト処理用の領域として開放することとした。
【発明の効果】
【００１６】
本発明によれば、LBAで連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンと、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンに対する処理速度の向上を図ることが可能である。
【発明を実施するための最良の形態】
【００１７】
図１に本発明の一実施例による磁気ディスク装置（ディスク装置）の構成を示す。ディスク装置は、制御プログラムを実装するプログラムＲＯＭ１０１、キャッシュ内部のデータ、および主にキャッシュ領域に関するデータを管理するテーブルを記憶するＲＡＭ１０２、ディスク装置内部の時刻を管理・設定するTimer１０３、上記ＲＯＭ１０１、ＲＡＭ１０２、Timer１０３を内蔵し、ＲＯＭ上の制御プログラムを読み込み実行する制御プロセッサ１０４、リード要求データ及びライト要求データを一時的に書き込むキャッシュメモリ（キャッシュ）１０５、ホストとキャッシュ１０５間及びキャッシュ１０５と磁気ディスク（ディスク）１０６間のデータ転送を制御するハードディスク制御装置（制御装置：ＨＤＣ）１０７、データの読み書きをする際に指定された位置にヘッドを移動するための制御を行うサーボ制御部１０８、サーボ制御部１０８の指示に従って、ヘッドを移動するボイスコイルモータ（ＶＣＭ）１０９、ディスク１０６の回転を制御するモータドライバ１１０、ヘッドから読み込んだ磁気信号から指定されたヘッドの信号だけを選択するセレクタ１１１、セレクタ１１１から送られたアナログデータをディジタルデータに変換し、ＨＤＣ１０７から送られたディジタルデータをアナログデータに変換する信号処理部１１２、リード用ゲートを開閉することにより、信号処理部１１１より送られたリードデータをキャッシュ１０５に転送し、また、ライト用ゲートを開閉することにより、キャッシュ１０５より転送されるライトデータを信号処理部１１１に転送するディスクフォーマッタ１１３、コマンド（処理要求）やデータをやり取りするインタフェース制御部１１４よりなる。
【００１８】
本発明の第１の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。図２と図３に本発明の第１の実施例によるキャッシュ制御を適用するホスト処理要求の例を示す。図２、図３において、縦軸は、ディスクのLogical Block Address(LBA)、横軸はコマンドの発行番号を示す。
【００１９】
図２の例では、リードコマンドＲとライトコマンドＷが交互に発行されている。リードコマンドＲによる要求もライトコマンドＷによる要求もLBA空間において連続領域へのアクセスとなっている。また、リードコマンドＲもライトコマンドＷも要求データ転送サイズはともに１２８セクタとなっている。
【００２０】
図３の例では、リードコマンドＲの後にライトコマンドＷが２回発行され、図２の例と同様に、リードコマンドＲによる要求もライトコマンドＷによる要求もLBA空間において連続領域へのアクセスとなっている。また、リードコマンドＲもライトコマンドＷも共に要求データ転送サイズは１２８セクタとなっている。
【００２１】
上記処理要求の特徴のうち、本実施例のキャッシュ制御を適用する処理要求の特徴は、一連のリードコマンドによる処理要求がLBA空間において連続領域へのアクセスとなっていること、また、前記リードコマンド間においてライトコマンドが発行されているという点である。尚、ライトコマンドによる処理要求が、連続領域へのアクセス要求である必要はなく、また、リードコマンドとライトコマンドによる要求データ転送サイズが同じである必要はない。
【００２２】
図２や図３で示される処理要求パタンとなる処理の例として、たとえば、コピー処理があげられる。また、一般にAudio Visual(ＡＶ)コンテンツはコンテンツのサイズが大きいため、ディスク装置に蓄積した場合は、データが連続領域に書き込まれる場合が多いが、ＡＶコンテンツを再生しながら、一方でＡＶコンテンツを記録したりする場合にも図２や図３に示したような処理要求のパタンとなる。ＡＶコンテンツ処理はリアルタイム処理となるが、モバイル機器では、省電力化のため、機器内にあるキャッシュメモリにデータを蓄積し、ある程度データがいっぱいになった状態（記録時）、あるいはある程度キャッシュメモリのデータが空になった状態（再生時）でのみ、ディスク装置をスピンアップし、データの読み出しまたは書き込みを行うことが多い。そのため、ＡＶコンテンツの記録と再生におけるコマンドの処理においては、必ずしもリアルタイム性を考慮する必要はない。
【００２３】
本実施例のキャッシュ制御では、リード処理をライト処理に優先させて実行し、ライトデータのディスクへの書き込みを一連のリード処理の後にまとめて実行する。したがって、バッファリングしたライトデータを書き込んだ際、その直後のリード処理において、ディレイが発生してしまう。しかしながら、上述したように、ＡＶコンテンツの記録と再生に際しては、コマンドの実行に際して必ずしも時間制約が設けられるとは限らないため、本実施例のキャッシュ制御が、ＡＶコンテンツの記録と再生を同時に実行した場合において、適応できなくなるものではない。
【００２４】
図４に、図２または図３に示したような処理要求を従来のシングルリング方式のキャッシュ制御で実行した場合の例を示す。キャッシュ上のライトデータは、ディスクに書き込まれるまでは、キャッシュに保持しておく必要がある。そのため、シングルリング方式のキャッシュ制御では、ディスクに未書き込みのライトデータが上書きされないように制御する必要がある。
【００２５】
一方リード処理では、ホスト要求データ以外のデータを先読みし、キャッシュに転送しておく。一般に先読み処理はホストが次のコマンドを発行するまでの時間や先読み中に受領したリードコマンドの処理を実行する際に発生する回転待ち時間を利用して実行される。そのため、一般に先読みされるデータの総量は正確に予測できない。しかしながら、先読み中にライトコマンドを受領する場合もあるため、先読み処理の実行に際しては、ライトデータを上書きしないように保護する仕組みが必要である。
【００２６】
上記の必要性から、従来のシングルリング方式のキャッシュ制御では、先読み処理を開始するにあたり、先読みの最大量をあらかじめ決めておき、先読みデータにより、ライトデータが上書きされない位置に、ライトデータの書き込み開始位置を設定していた。そのため、上記図２、図３で示した処理要求パタンに対し、従来のシングルリング方式のキャッシュ制御では、図４で示したように、リード処理用の領域とライト処理用の領域を交互に設定していた。図４の例では、バッファリングされるライトデータを最大化するように制御しても、少なくとも２番目のリードデータ領域４０１にライトデータをバッファリングすることができないという問題がある。
【００２７】
図５に本実施例のキャッシュ制御の例を示す。本実施例のキャッシュ制御では、図２と図３のように、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合、常にリードデータがライトデータにより上書き可能な位置でかつ、先読みされたリードデータがホストにすべて転送された時点でバッファリングされるライトデータの総量が最大になるような位置にライトデータの書き込み開始位置を設定している。図５の例は、図２で示した要求パタン（リード処理要求とライト処理要求のデータ転送容量が同じ場合）に対するキャッシュ制御の動作である。そのため、リードデータの書き込み開始位置とライトデータの書き込み開始位置が同じとなっている。図４で示した制御との大きな違いは、リードデータをライトデータですべて上書き可能な位置にライトデータの書き込み開始位置を設定していることである。これにより、バッファリング可能なライトデータの容量を最大にすることができる。
【００２８】
図６に、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出した場合の制御のフローを示す。ＨＤＣ１０７は上記処理要求パタンを抽出すると、リード処理とライト処理のキャッシュへのデータ転送容量の比率を考慮して、ライトデータの書き込み開始位置を設定する（ステップ６０１）。たとえば、リード処理とライト処理のデータ転送容量の比率が１：１である場合、リードデータの書き込み開始位置と同じ位置にライトデータの書き込み開始位置を設定し、また、リード処理とライト処理のデータ転送容量の比率が１：２である場合、ライトデータの書き込み開始位置をリードデータの書き込み開始位置よりキャッシュサイズの１/２分減算した位置に設定する。なお、データはラップラウンド方式で書き込まれていくため、減算の結果がマイナスとなる場合には、マイナス分をキャッシュの最大アドレスから減算して書き込み開始位置を求める必要がある。
【００２９】
次に、当該処理要求パタン用のキャッシュ制御を実行する（ステップ６０２）。図7に当該処理要求パタンに対するキャッシュ制御のフローを示す。当該キャッシュ制御に切り替えた直後かを調べ（ステップ７０１）、切り替え直後であれば、リード処理を開始する（ステッ７０２）。また、切り替え直後でなければ、ライト処理かを調べ（ステッ７０３）、ライト処理であれば、ライト処理用制御を実行する（ステップ７０４）。図８にライト処理用制御のフローを示す。ライト処理用制御では、ライトデータをキャッシュに転送する（ステップ８０１）。図７のステップ７０４に戻り、ライト処理用のキャッシュ制御の際に、バッファフルが発生すれば（ステップ７０５）、先読みを停止し（ステップ７０６）、バッファされたライトデータをすべてディスクに書き込む（ステップ７０７）。それから、転送比率適正判定を行う（ステップ７０８）。
【００３０】
図９に転送比率適正判定のフローを示す。転送比率適正判定では、バッファフル判定時のリードデータ転送総数とライトデータ転送総数の比率を算出し（ステップ９０１）、その結果をすでに設定してある転送比率と比較する（ステップ９０２）。比較の結果、既定の比率と一致していれば、適正であると判断し（ステップ９０３）、既定の比率と一致していなければ、適正でないと判断する（ステップ９０４）。図７のステップ７０８戻り、転送比率適正判定の結果、適正でなければ（ステップ７０９）、リード処理とライト処理のデータ転送比率をバッファフル判定時のリードデータ転送総数とライトデータ転送総数の比率に修正する（ステップ７１０）。
【００３１】
ステップ７０３において、ライト処理でなければ、リード処理用制御を実行する（ステップ７１１）。図１０にリード処理用制御のフローを示す。リード要求データをホストに転送する（ステップ１００１）。リード要求データ転送後、データ転送済みの領域をライト領域用に開放する（ステップ１００２）。開放された領域をライト用領域に充てる（ステップ１００３）。
【００３２】
図１１にリード用のキャッシュ領域をライト用のキャッシュ領域として開放する時のキャッシュの動作例を示す。図１１の例は、LBA空間で連続する領域にアクセスするリード処理とLBA空間で連続または非連続な領域にアクセスするライト処理によるデータ転送比率が１：２であった場合の例である。そのため、ライトデータの転送開始位置１１０１が、リードデータの転送開始位置１１０２に対して、キャッシュサイズの１/２分減算した位置に設定されている。キャッシュ制御開始時に、リード処理用領域１１０３およびライト処理用領域１１０４として確保されるのは、それぞれ（キャッシュ領域全体/２）となる。しかし先読み継続中に、リード要求データがホストに転送された場合は、ホストに転送したデータ分の領域１１０５をライト処理用の領域として開放する。そのため、本実施例のキャッシュ制御を適用する処理要求が継続する間は、リード処理用領域１１０３は、最少で、０まで減少していく一方で、ライト処理用領域１１０４は最大でキャッシュ領域いっぱいのサイズまで増加していく。
【００３３】
図７のステップ７１１に戻り、先読み中かを調べ（ステップ７１２）、先読み中であれば、さらに最大先読み量に達したかを調べる（ステップ７１３）。最大先読み量に達していれば、先読みを停止する（ステップ７１４）。次に、バッファされているライトデータのディスクへの書き込みを開始する（ステップ７１５）。
【００３４】
図６のステップ６０２に戻り、当該キャッシュ制御実行後、コマンド受領待ち中に次のコマンドを受け取ると（ステップ６０３）、当該処理要求パタンの継続判定を行う（ステップ６０４）。図1２に当該処理要求パタンの継続判定フローを示す。リードコマンドであるかを調べ（ステップ１２０１）、リードコマンドであれば、直前リードコマンドの要求データ最終LBAと受領リードコマンドの要求データのLBAが連続しているかを調べ（ステップ１２０２）、連続していなければ、パタン非継続とする（ステップ１２０３）。また連続していれば、ライトコマンド発行フラグが１か調べ（ステップ１２０４）、１であれば、ライトコマンド発行フラグに0を代入し（ステップ１２０５）、パタン継続とする（ステップ１２０６）。ステップ１２０４に戻り、ライトコマンド発行フラグが１でなければパタン非継続とする（ステップ１２０３）。また、ステップ１２０１に戻り、リードコマンドでない場合、ライトコマンドであるかを調べ（ステップ１２０７）、ライトコマンドであれば、ライトコマンド発行フラグに１を代入し（ステップ１２０８）、パタン継続とする（ステップ１２０６）。ステップ１２０７に戻り、ライトコマンドであるかを調べ、ライトコマンドでなければ、パタン非継続とする（ステップ１２０３）。
【００３５】
図６のステップ６０４に戻り、当該処理要求パタンの継続判定実施後、当該処理要求パタンが継続しているか調べ（ステップ６０５）、継続していなければ、キャッシュのライトデータをディスクに書き込む（ステップ６０６）。そして、従来のキャッシュ制御を実行する（ステップ６０７）。ステップに６０５において、当該処理要求パタンが継続していると判断された場合は、ライトデータをディスクに書き込んだ直後かを調べ（ステップ６０８）、直後であれば、ライトデータの書き込み開始位置を再度設定し直す（ステップ６０１）。また、直後でなければ、当該処理要求パタン用のキャッシュ制御を実行する（ステップ６０２）。
【００３６】
図１３に本実施例のキャッシュ制御を適用するLBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求を抽出するための処理のフローを示す。該抽出処理では、LBA空間で連続する領域にアクセスするリードコマンドの間にライトコマンドが発行されるパタン（ライトコマンドは複数でも可）を基本パタンとし、該基本パタンがN回抽出された場合に、当該パタンの抽出とする。繰り返し回数Nに０を代入し（ステップ１３０１）、基本パタン抽出処理を行う（ステップ１３０２）。図１４に基本パタン抽出処理のフローを示す。ライトコマンド発行フラグに0を代入する（ステップ１４０１）。次にコマンドの発行を待つ（ステップ１４０２）。受領コマンドがリードコマンドかを調べ（ステップ１４０３）、リードコマンドであれば、直前リードコマンドの要求データの最終LBAが受領コマンドの要求データのLBAと連続しているかを調べる（ステップ１４０４）。連続していれば、ライトコマンド発行フラグが１かを調べ（ステップ１４０５）、１であれば基本パタンの抽出とする（ステップ１４０６）。また、１でなければ、処理を終了する。
【００３７】
ステップ１４０４において、連続していなければ、処理を終了する。ステップ１４０３において、リードコマンドでない場合は、ライトコマンドであるか調べ（ステップ１４０７）、ライトコマンドであれば、ライトコマンド発行フラグに１を代入する（ステップ１４０８）。また、ライトコマンドでなければ、処理を終了する。
【００３８】
図１３のステップ１３０２に戻り、基本パタン抽出処理を行い、基本パタンが抽出されたら（ステップ１３０３）、基本パタンの抽出回数をカウントし（ステップ１３０４）、基本パタンにおけるリード処理とライト処理のデータ転送量を、データ転送量登録テーブルに登録する（ステップ１３０５）。図１５にデータ転送量管理テーブルの構成例を示す。データ転送量管理テーブルは、基本パタンの抽出回数と、基本パタン抽出時のリードコマンドのデータ転送量（セクタ数）と、当該リードコマンドの直前のリードコマンドを受領してから当該リードコマンドを受領するまでに受領したライトコマンドによる総データ転送量（セクタ数）からなる。データ転送量管理テーブルは、ＨＤＣ１０７、キャッシュメモリ１０５あるいはＲＡＭ１０２に作成される。
【００３９】
図１３のステップ１３０６に戻り、次に基本パタンの繰り返し回数Nが設定回数に達したかを調べ、達していれば、図１５のデータ転送量管理テーブルを参照して、抽出パタンにおけるリード処理とライト処理のデータ転送量の比率を算出する（ステップ１３０７）。図１６に、抽出パタンにおけるリード処理とライト処理のデータ転送量の比率を算出する処理のフローを示す。まず、データ転送量管理テーブルのデータを参照して、平均リードデータ転送量を算出する（ステップ１６０１）。次に平均ライトデータ転送量を算出する（ステップ１６０２）。次にリード処理とライト処理の平均データ転送量の比率を算出する（ステップ１６０３）。
【００４０】
図１７に、LBA空間で連続する領域にアクセスするリード処理と、LBA空間で連続または非連続な領域にアクセスするライト処理が並行して実行されることをホストよりディスク装置に通知するためのコマンドの例を示す。本実施例では、該コマンドとしてSet Features コマンドを使用した場合の例を示す。Commandレジスタには、Set Features コマンドを示すEFhコード１７０１を書き込む。また、Features レジスタには、LBA空間で連続する領域にアクセスするリード処理と、LBA空間で連続または非連続な領域にアクセスするライト処理が並行して実行されることを通知するSub Commandコードとして8Bh１７０２をセットする。また、Sector Countレジスタには、該処理の開始時には、0１hを設定し、また該処理の終了時には、00hを設定する。また、LBA Lowレジスタには、リード処理とライト処理のデータ転送量の比を入力する。LBA Lowレジスタのビット０から３（１７０３）には、リード処理のデータ転送量の比を、LBA Lowレジスタのビット４から７（１７０４）にはライト処理のデータ転送量の比を設定する。たとえば、もし、キャッシュに転送されるデータ転送量がリード処理とライト処理で同じであるならば、LBA Lowレジスタの０から３ビット（１７０３）には０００１を、またLBA Lowレジスタの４から７ビット（１７０４）にも０００１をセットする。ただし、該処理終了設定時にはLBA Lowレジスタに０をセットする。LBA MidおよびLBA Highのレジスタは設定不用である。Deviceレジスタのビット４（１７０５）には、選択されたデバイスの番号（マスタは０、スレーブは１）をセットする。Deviceレジスタの０から３ビットおよび６ビットも設定不用である。Deviceレジスタの５ビットと７ビットは廃止されている。
【００４１】
本発明の第２の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式において、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。図１８に第２の実施例によるキャッシュ制御を適用するホスト要求処理の例を示す。図１８において、縦軸は、Logical Block Address(LBA)、横軸はコマンドの発行番号を示す。図１８の例では、リードコマンドＲとライトコマンドＷが交互に発行されている。リード処理要求もライト処理要求もLBA空間において連続領域へのアクセスとなっていないが、ともにLBA空間でプラスの方向に一定距離を置いてアクセスされている。また、リードコマンドＲもライトコマンドＷも要求データ転送サイズはともに８セクタとなっている。
【００４２】
上記処理要求の特徴のうち、本実施例のキャッシュ制御に切り替える際の処理要求の特徴は、一連のリードコマンドの処理要求がLBAのプラス方向でかつ一定距離内の領域にアクセスしていること、また、LBAのプラス方向でかつ一定距離内の領域にアクセスするリードコマンド間においてライトコマンドが発行されているという点である。なお、リードコマンドとライトコマンドによる要求データ転送量が同じである必要はない。
【００４３】
上記第１の実施例のLBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合と、本実施例のLBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合のキャッシュ制御では、図６、図７および図１３で示したキャッシュ制御は同じである。以下では、第１の実施例で説明したキャッシュ制御および、該キャッシュ制御を適用するパタンを抽出するための処理で異なる部分について説明する。
【００４４】
図１９に、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合のキャッシュ制御におけるリード処理の制御フローを示す。先読み中に受領したリードコマンドの要求データをホストに転送する（ステップ１９０１）。次に、該リード要求データと該リード要求データを読み出す前までに先読みしたデータが書き込まれた領域をライト処理用の領域として開放する（ステップ１９０２）。
【００４５】
図２０に、リード処理領域をライト処理用領域に開放する際のキャッシュ制御の動作の例を示す。図２０の例は、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理とLBA空間で連続または非連続な領域にアクセスするライト処理によるデータ転送比率が１：２である場合の例である。そのため、ライトデータの転送開始位置２００１が、リードデータの転送開始位置２００２に対して、キャッシュ領域サイズの１/２分減算した位置に設定されている。したがって本キャッシュ制御開始時のリード処理用領域２００３とライト処理用領域２００４のサイズは、ともにキャッシュ領域全体サイズの１/２となる。リード要求があった場合、リード要求データ２００５をキャッシュからホストに転送するとともに、リード要求データ２００５とリード要求データを読み出す前までに先読みしたデータ２００６が書き込まれた領域をライト処理用の領域として開放する。図１９のフローに戻り、次に、開放したリード処理用領域をライト処理用領域に充てる（ステップ１９０３）。
【００４６】
LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合との違いは、リード要求データが書き込まれた領域だけではなく、リード要求データを読み出す前までに先読みされたデータが書き込まれた領域も一緒に開放するところである。
【００４７】
図２１にLBAのプラス方向でかつ近距離の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンの継続判定フローを示す。リードコマンドであるかを調べ（ステップ２１０１）、リードコマンドであれば、直前リードコマンドの要求データの最終LBAに対して、プラス方向でかつ一定距離内へのアクセスとなっているかを調べ（ステップ２１０２）、該アクセスとなっていなければ、パタン非継続とする（ステップ２１０３）。また、該アクセスとなっていれば、ライトコマンド発行フラグが１かを調べ（ステップ２１０４）、１であれば、ライトコマンド発行フラグに０を代入し（ステップ２１０５）、パタン継続とする（ステップ２１０６）。また、ステップ２１０４において、ライトコマンド発行フラグが１でなければパタン非継続とする（ステップ２１０３）。
【００４８】
ステップ２１０１に戻り、リードコマンドでない場合、ライトコマンドであるかを調べ（ステップ２１０７）、ライトコマンドであれば、ライトコマンド発行フラグに１を代入し（ステップ２１０８）、パタン継続とする（ステップ２１０６）。ステップ２１０７において、ライトコマンドでなければ、パタン非継続とする（ステップ２１０３）。なお、図２１のフローでは、リード処理において直前リードコマンドの要求データの最終LBAとプラス方向でかつ一定距離内の領域にアクセスしていることを継続判定の条件としているが、この距離を、キューイングされているライトコマンドの処理を開始しようとした時の最短シーク時間または最短アクセス時間を、現ヘッドが位置するゾーンのSector per Track（SPT）に基づき変換したディスクの回転量（セクタ）としてもよい。
【００４９】
図２２に、現ヘッドの位置からキューイングされているライトコマンドの処理を開始しようとした場合において、最短となるシーク時間に基づき、上記一定距離を算出するためのフローを示す。現ヘッドの位置からキューイングされているライトコマンドを実行しようとした場合に、最短となるシーク時間を求める（ステップ２２０１）。次に、該シーク時間で回転可能な回転量（セクタ）を、現ヘッドが位置するゾーンのＳＰＴを用いて算出する（ステップ２２０２）。すなわち、該シーク時間／１回転時間×ＳＰＴとして、回転量を求める。次に、該回転量を、当該処理要求パタンの継続判定で使用する距離とする（ステップ２２０３）。
【００５０】
図２３に、現ヘッドの位置からキューイングされているライトコマンドの処理を開始しようとした場合において、最短となるアクセス時間に基づき、上記一定距離を算出するためのフローを示す。現ヘッドの位置からキューイングされているライトコマンドを実行しようとした場合に、最短となるアクセス時間を求める（ステップ２３０１）。なお、アクセス時間は、シーク時間＋回転待ち時間で算出される。次に、該アクセス時間で回転可能な回転量（セクタ）を、現ヘッドが位置するゾーンのＳＰＴを用いて算出する（ステップ２３０２）。すなわち、該アクセス時間／１回転時間×ＳＰＴとして回転量を求める。次に、該回転量を、当該処理要求パタンの継続判定で使用する距離とする（ステップ２３０３）。
【００５１】
図２４に、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返すパタンを抽出する処理のフローを示す。ライトコマンド発行フラグに0を代入する（ステップ２４０１）。次にコマンドの発行を待つ（ステップ２４０２）。受領コマンドがリードコマンドかを調べ（ステップ２４０３）、リードコマンドであれば、直前リードコマンドの要求データの最終LBAに対して、プラス方向でかつ一定距離内の領域へのアクセスとなっているかを調べる（ステップ２４０４）。一定距離内の領域にアクセスしていれば、ライトコマンド発行フラグが１かを調べ（ステップ２４０５）、１でなければ、処理を終了する。１であれば、基本パタンの抽出とする（ステップ２４０６）。ステップに２４０４において、一定距離内の領域にアクセスしていなければ、処理を終了する。
【００５２】
ステップ２４０３に戻り、リードコマンドでない場合は、ライトコマンドであるかを調べ（ステップ２４０７）、ライトコマンドであれば、ライトコマンド発行フラグに１を代入し（ステップ２４０８）、次のコマンドの発行を待つ（ステップ２４０２）。また、ライトコマンドでなければ、処理を終了する。なお、基本パタン抽出時には、基本パタンにおけるリード処理とライト処理のデータ転送量をデータ転送量管理テーブルに登録する。
【００５３】
図２５にデータ転送量管理テーブルの構成例を示す。データ転送量管理テーブルは、基本パタンの抽出回数と、基本パタン抽出時のリードコマンドの要求データ量（セクタ数）と該要求データ読み出し前までの先読みデータ量の合計（セクタ数）と、基本パタンにおけるライト処理のデータ転送量（セクタ数）からなる。なお、当該キャッシュ制御を適用する処理要求パタン抽出時のリード処理とライト処理のデータ転送量の比率は、図２５のテーブルを用いて、図１６で示した処理により求める。データ転送量管理テーブルは、ＨＤＣ１０７、キャッシュメモリ１０５あるいはＲＡＭ１０２に作成される。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施例による磁気ディスク装置の構成を示す図である。
【図２】第１の実施例によるキャッシュ制御を適用する処理要求パタンの例を示す図である。
【図３】第１の実施例によるキャッシュ制御を適用する処理要求パタンの他の例を示す図である。
【図４】リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式における従来のキャッシュ制御動作を説明するための図である。
【図５】第１の実施例によるキャッシュのデータ書き込み開始位置を示す図である。
【図６】第１の実施例によるキャッシュ制御のフローを示す図である。
【図７】第１の実施例によるキャッシュ制御の詳細なフローを示す図である。
【図８】キャッシュライト処理のフローを示す図である。
【図９】データ転送比率適正判定処理のフローを示す図である。
【図１０】キャッシュリード処理のフローを示す図である。
【図１１】第１の実施例によるキャッシュ制御において、リード処理用のキャッシュ領域をライト処理用のキャッシュ領域に充てる際のキャッシュ動作を説明するための図である。
【図１２】第１の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定処理のフローを示す図である。
【図１３】第１の実施例によるキャッシュ制御を適用する処理要求パタンを抽出する処理のフローを示す図である。
【図１４】第１の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンを抽出する処理のフローを示す図である。
【図１５】第１の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンにおけるデータ転送量を管理するデータ転送量管理テーブルの構成例を示す図である。
【図１６】第１の実施例によるキャッシュ制御を適用する処理要求パタンのリード処理とライト処理のデータ転送量の比率を算出する処理のフローを示す図である。
【図１７】第１の実施例によるキャッシュ制御を適用する処理要求パタンとなることをホストによりディスク装置に通知するためのコマンドの例を示す図である。
【図１８】第２の実施例によるキャッシュ制御を適用する処理要求パタンの例を示す図である。
【図１９】第２の実施例によるキャッシュ制御（リード処理）のフローを示す図である。
【図２０】第２の実施例によるキャッシュ制御において、リード処理用のキャッシュ領域をライト処理用のキャッシュ領域に充てる際のキャッシュ動作を説明するための図である。
【図２１】第２の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定処理のフローを示す図である。
【図２２】第２の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定の基準となる距離（セクタ数）を算出する処理のフローを示す図である。
【図２３】第２の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定の基準となる距離（セクタ数）を算出する処理のフローを示す図である。
【図２４】第２の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンを抽出する処理のフローを示す図である。
【図２５】第２の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンにおけるデータ転送量を管理するデータ転送量管理テーブルの構成例を示す図である。
【符号の説明】
【００５５】
１０１…ＲＯＭ、
１０２…ＲＡＭ、
１０３…Timer、
１０４…制御プロセッサ、
１０５…キャッシュメモリ（キャッシュ）、
１０６…磁気ディスク（ディスク）、
１０７…ハードディスク制御装置（ＨＤＣ）、
１０８…サーボ制御部、
１０９…ボイスコイルモータ（ＶＣＭ）、
１１０…モータドライバ、
１１１…セレクタ、
１１２…信号処理部、
１１３…ディスクフォーマッタ、
１１４…ホストインタフェース、
１１０１…ライトデータの転送開始位置、
１１０２…リードデータの転送開始位置、
１１０３…リード処理用領域、
１１０４…ライト処理領域、
１１０５…ホストに転送済みのリードデータ分の領域、
２００１…ライトデータの転送開始位置、
２００２…リードデータの転送開始位置、
２００３…キャッシュ制御開始時のリード処理用領域、
２００４…キャッシュ制御開始時のライト処理用領域、
２００５…リード要求データ、
２００６…リード要求データを読み出す前までに先読みしたデータ。
【図１】
2007011661.tif 000003
【図２】
2007011661.tif 000004
【図３】
2007011661.tif 000005
【図４】
2007011661.tif 000006
【図５】
2007011661.tif 000007
【図６】
2007011661.tif 000008
【図７】
2007011661.tif 000009
【図８】
2007011661.tif 000010
【図９】
2007011661.tif 000011
【図１０】
2007011661.tif 000012
【図１１】
2007011661.tif 000013
【図１２】
2007011661.tif 000014
【図１３】
2007011661.tif 000015
【図１４】
2007011661.tif 000016
【図１５】
2007011661.tif 000017
【図１６】
2007011661.tif 000018
【図１７】
2007011661.tif 000019
【図１８】
2007011661.tif 000020
【図１９】
2007011661.tif 000021
【図２０】
2007011661.tif 000022
【図２１】
2007011661.tif 000023
【図２２】
2007011661.tif 000024
【図２３】
2007011661.tif 000025
【図２４】
2007011661.tif 000026
【図２５】
2007011661.tif 000027