JP2007011661A - ディスク装置及びディスク装置のキャッシュメモリ制御方法 - Google Patents

ディスク装置及びディスク装置のキャッシュメモリ制御方法 Download PDF

Info

Publication number
JP2007011661A
JP2007011661A JP2005191297A JP2005191297A JP2007011661A JP 2007011661 A JP2007011661 A JP 2007011661A JP 2005191297 A JP2005191297 A JP 2005191297A JP 2005191297 A JP2005191297 A JP 2005191297A JP 2007011661 A JP2007011661 A JP 2007011661A
Authority
JP
Japan
Prior art keywords
write
data
read
processing request
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005191297A
Other languages
English (en)
Inventor
Yukie Hiratsuka
幸恵 平塚
Manabu Nishikawa
西川  学
Hiroaki Inoue
裕章 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2005191297A priority Critical patent/JP2007011661A/ja
Priority to US11/477,746 priority patent/US7624228B2/en
Publication of JP2007011661A publication Critical patent/JP2007011661A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンに対する処理速度の向上を図る。
【解決手段】LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンを抽出した場合あるいは、ホストにより上記処理要求パタンとなることを通知された場合に、リード処理要求を実行しながらライト処理要求によるライトデータをバッファリングし、ライトデータのバッファリング開始時には、リード処理のキャッシュへのデータ転送量とライト処理のキャッシュへのデータ転送量の比率を考慮し、バッファリングされるライトデータの容量が最大となるような位置にライトデータの書き込み開始位置を設定する。
【選択図】図6

Description

本発明は、アクセスの状況に応じて、リード処理用の領域とライト処理用の領域をキャッシュ上に随時設定し、リードデータとライトデータを蓄積するシングルリング方式のキャッシュ制御に関する。
ディスク装置のキャッシュメモリには、後続のリードコマンドによりアクセスされる可能性の高いデータを蓄積しておく機能と、ホストより転送されたライトデータを蓄積しておく機能の2つがある。
ディスク装置には通常1つのキャッシュメモリが搭載され、上記2つの機能を実現するために使用されている。キャッシュメモリを効率的に使用するためには、ホスト側の処理要求にあわせ上記2つの機能を随時使い分けることが必要である。
上記2つの機能を実現するためのキャッシュ制御方式として、リード処理用の専用領域とライト処理用の専用領域をそれぞれキャッシュメモリ上に設け、2つの専用領域にリードデータとライトデータをそれぞれ書き込むデュアルリング方式がある。また、アクセスの状況に応じて、リード処理用の領域とライト処理用の領域をキャッシュメモリ上に随時設定し、リードデータとライトデータを蓄積するシングルリング方式がある。
また、コピー処理などのようにリード処理要求とライト処理要求が交互に繰り返される処理要求パタンに適したキャッシュ制御方式を実装し、上記処理要求パタンとなることをホストより指示された場合に、上記処理要求パタンに適したキャッシュ制御方式に切り替える方式がある。このキャッシュ制御方式は、特許文献1に記載されている。
特開2002−108704号公報
デュアルリング方式では、リード処理用の専用領域とライト処理用の専用領域がそれぞれ固定して設定されているために、リード処理要求のみが連続する場合や、ライト処理要求のみが連続する場合において、キャッシュ領域全体を有効に活用できないという問題がある。また、処理要求に応じては、リード処理とライト処理に割り当てた領域の比率が適当でなくなるために、処理効率が悪くなるという問題もある。
また、シングルリング方式では、処理要求に応じてキャッシュ領域をリード処理用領域とライト処理用領域として随時使いわけているものの、リード処理要求とライト処理要求が頻繁に切り替わるような場合において、処理効率が悪くなるという問題がある。
特許文献1に記載の技術では、特定の処理要求に対して随時キャッシュ制御を最適化しているものの、処理の実行中にキャッシュ領域を割り当て直すなどの方法が取り入れられておらず、キャッシュ領域を十分に活用することができていない。
本発明の第1の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。
本発明の第2の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。
上記第1及び第2の目的を達成するために本発明は、リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式において、リード処理要求を実行しながらライト処理要求によるライトデータをバッファリングし、ライトデータのバッファリング開始時には、リード処理のキャッシュメモリへのデータ転送量とライト処理のキャッシュメモリへのデータ転送量の比率を考慮し、バッファリングされるライトデータの容量が最大となるような位置にライトデータの書き込み開始位置を設定することを特徴とする。
LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に対しては、LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より多いか、または同じ場合、ライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、また、LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より少ない場合は、ライト処理用のデータの書き込み開始位置を、キャッシュ容量×(1−リード処理のデータ転送量/ライト処理のデータ転送量)分リード処理用のデータの書き込み開始位置から減算した位置に設定することとした。
LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に対しては、ホスト要求アドレスまでの先読みデータとホスト要求データの総量が、ライト処理要求のデータの転送量よりも多いかまたは同じ場合、ライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、また、ホスト要求アドレスまでの先読み量とホスト要求データの総量がライト処理要求のデータの転送量よりも少ない場合は、ライト処理用のデータの書き込み開始位置を、キャッシュ容量×(1−上記リード処理データの総量/上記ライト処理データ転送量)分リード処理用のデータの書き込み開始位置より減算した位置に設定することとした。
また、リード処理要求開始時に、一旦リード処理に割り当てたキャッシュ領域のうち、ホストに転送済みのリードデータが記録されている領域をライト処理用の領域として開放することとした。ただし、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合においては、ホストに転送済みのリードデータが記録されている領域だけではなく、該データを読み出すまでに先読みされたデータが記録されている領域もライト処理用の領域として開放することとした。
本発明によれば、LBAで連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンと、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンに対する処理速度の向上を図ることが可能である。
図1に本発明の一実施例による磁気ディスク装置(ディスク装置)の構成を示す。ディスク装置は、制御プログラムを実装するプログラムROM101、キャッシュ内部のデータ、および主にキャッシュ領域に関するデータを管理するテーブルを記憶するRAM102、ディスク装置内部の時刻を管理・設定するTimer103、上記ROM101、RAM102、Timer103を内蔵し、ROM上の制御プログラムを読み込み実行する制御プロセッサ104、リード要求データ及びライト要求データを一時的に書き込むキャッシュメモリ(キャッシュ)105、ホストとキャッシュ105間及びキャッシュ105と磁気ディスク(ディスク)106間のデータ転送を制御するハードディスク制御装置(制御装置:HDC)107、データの読み書きをする際に指定された位置にヘッドを移動するための制御を行うサーボ制御部108、サーボ制御部108の指示に従って、ヘッドを移動するボイスコイルモータ(VCM)109、ディスク106の回転を制御するモータドライバ110、ヘッドから読み込んだ磁気信号から指定されたヘッドの信号だけを選択するセレクタ111、セレクタ111から送られたアナログデータをディジタルデータに変換し、HDC107から送られたディジタルデータをアナログデータに変換する信号処理部112、リード用ゲートを開閉することにより、信号処理部111より送られたリードデータをキャッシュ105に転送し、また、ライト用ゲートを開閉することにより、キャッシュ105より転送されるライトデータを信号処理部111に転送するディスクフォーマッタ113、コマンド(処理要求)やデータをやり取りするインタフェース制御部114よりなる。
本発明の第1の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルセグメント方式において、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。図2と図3に本発明の第1の実施例によるキャッシュ制御を適用するホスト処理要求の例を示す。図2、図3において、縦軸は、ディスクのLogical Block Address(LBA)、横軸はコマンドの発行番号を示す。
図2の例では、リードコマンドRとライトコマンドWが交互に発行されている。リードコマンドRによる要求もライトコマンドWによる要求もLBA空間において連続領域へのアクセスとなっている。また、リードコマンドRもライトコマンドWも要求データ転送サイズはともに128セクタとなっている。
図3の例では、リードコマンドRの後にライトコマンドWが2回発行され、図2の例と同様に、リードコマンドRによる要求もライトコマンドWによる要求もLBA空間において連続領域へのアクセスとなっている。また、リードコマンドRもライトコマンドWも共に要求データ転送サイズは128セクタとなっている。
上記処理要求の特徴のうち、本実施例のキャッシュ制御を適用する処理要求の特徴は、一連のリードコマンドによる処理要求がLBA空間において連続領域へのアクセスとなっていること、また、前記リードコマンド間においてライトコマンドが発行されているという点である。尚、ライトコマンドによる処理要求が、連続領域へのアクセス要求である必要はなく、また、リードコマンドとライトコマンドによる要求データ転送サイズが同じである必要はない。
図2や図3で示される処理要求パタンとなる処理の例として、たとえば、コピー処理があげられる。また、一般にAudio Visual(AV)コンテンツはコンテンツのサイズが大きいため、ディスク装置に蓄積した場合は、データが連続領域に書き込まれる場合が多いが、AVコンテンツを再生しながら、一方でAVコンテンツを記録したりする場合にも図2や図3に示したような処理要求のパタンとなる。AVコンテンツ処理はリアルタイム処理となるが、モバイル機器では、省電力化のため、機器内にあるキャッシュメモリにデータを蓄積し、ある程度データがいっぱいになった状態(記録時)、あるいはある程度キャッシュメモリのデータが空になった状態(再生時)でのみ、ディスク装置をスピンアップし、データの読み出しまたは書き込みを行うことが多い。そのため、AVコンテンツの記録と再生におけるコマンドの処理においては、必ずしもリアルタイム性を考慮する必要はない。
本実施例のキャッシュ制御では、リード処理をライト処理に優先させて実行し、ライトデータのディスクへの書き込みを一連のリード処理の後にまとめて実行する。したがって、バッファリングしたライトデータを書き込んだ際、その直後のリード処理において、ディレイが発生してしまう。しかしながら、上述したように、AVコンテンツの記録と再生に際しては、コマンドの実行に際して必ずしも時間制約が設けられるとは限らないため、本実施例のキャッシュ制御が、AVコンテンツの記録と再生を同時に実行した場合において、適応できなくなるものではない。
図4に、図2または図3に示したような処理要求を従来のシングルリング方式のキャッシュ制御で実行した場合の例を示す。キャッシュ上のライトデータは、ディスクに書き込まれるまでは、キャッシュに保持しておく必要がある。そのため、シングルリング方式のキャッシュ制御では、ディスクに未書き込みのライトデータが上書きされないように制御する必要がある。
一方リード処理では、ホスト要求データ以外のデータを先読みし、キャッシュに転送しておく。一般に先読み処理はホストが次のコマンドを発行するまでの時間や先読み中に受領したリードコマンドの処理を実行する際に発生する回転待ち時間を利用して実行される。そのため、一般に先読みされるデータの総量は正確に予測できない。しかしながら、先読み中にライトコマンドを受領する場合もあるため、先読み処理の実行に際しては、ライトデータを上書きしないように保護する仕組みが必要である。
上記の必要性から、従来のシングルリング方式のキャッシュ制御では、先読み処理を開始するにあたり、先読みの最大量をあらかじめ決めておき、先読みデータにより、ライトデータが上書きされない位置に、ライトデータの書き込み開始位置を設定していた。そのため、上記図2、図3で示した処理要求パタンに対し、従来のシングルリング方式のキャッシュ制御では、図4で示したように、リード処理用の領域とライト処理用の領域を交互に設定していた。図4の例では、バッファリングされるライトデータを最大化するように制御しても、少なくとも2番目のリードデータ領域401にライトデータをバッファリングすることができないという問題がある。
図5に本実施例のキャッシュ制御の例を示す。本実施例のキャッシュ制御では、図2と図3のように、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合、常にリードデータがライトデータにより上書き可能な位置でかつ、先読みされたリードデータがホストにすべて転送された時点でバッファリングされるライトデータの総量が最大になるような位置にライトデータの書き込み開始位置を設定している。図5の例は、図2で示した要求パタン(リード処理要求とライト処理要求のデータ転送容量が同じ場合)に対するキャッシュ制御の動作である。そのため、リードデータの書き込み開始位置とライトデータの書き込み開始位置が同じとなっている。図4で示した制御との大きな違いは、リードデータをライトデータですべて上書き可能な位置にライトデータの書き込み開始位置を設定していることである。これにより、バッファリング可能なライトデータの容量を最大にすることができる。
図6に、LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出した場合の制御のフローを示す。HDC107は上記処理要求パタンを抽出すると、リード処理とライト処理のキャッシュへのデータ転送容量の比率を考慮して、ライトデータの書き込み開始位置を設定する(ステップ601)。たとえば、リード処理とライト処理のデータ転送容量の比率が1:1である場合、リードデータの書き込み開始位置と同じ位置にライトデータの書き込み開始位置を設定し、また、リード処理とライト処理のデータ転送容量の比率が1:2である場合、ライトデータの書き込み開始位置をリードデータの書き込み開始位置よりキャッシュサイズの1/2分減算した位置に設定する。なお、データはラップラウンド方式で書き込まれていくため、減算の結果がマイナスとなる場合には、マイナス分をキャッシュの最大アドレスから減算して書き込み開始位置を求める必要がある。
次に、当該処理要求パタン用のキャッシュ制御を実行する(ステップ602)。図7に当該処理要求パタンに対するキャッシュ制御のフローを示す。当該キャッシュ制御に切り替えた直後かを調べ(ステップ701)、切り替え直後であれば、リード処理を開始する(ステッ702)。また、切り替え直後でなければ、ライト処理かを調べ(ステッ703)、ライト処理であれば、ライト処理用制御を実行する(ステップ704)。図8にライト処理用制御のフローを示す。ライト処理用制御では、ライトデータをキャッシュに転送する(ステップ801)。図7のステップ704に戻り、ライト処理用のキャッシュ制御の際に、バッファフルが発生すれば(ステップ705)、先読みを停止し(ステップ706)、バッファされたライトデータをすべてディスクに書き込む(ステップ707)。それから、転送比率適正判定を行う(ステップ708)。
図9に転送比率適正判定のフローを示す。転送比率適正判定では、バッファフル判定時のリードデータ転送総数とライトデータ転送総数の比率を算出し(ステップ901)、その結果をすでに設定してある転送比率と比較する(ステップ902)。比較の結果、既定の比率と一致していれば、適正であると判断し(ステップ903)、既定の比率と一致していなければ、適正でないと判断する(ステップ904)。図7のステップ708戻り、転送比率適正判定の結果、適正でなければ(ステップ709)、リード処理とライト処理のデータ転送比率をバッファフル判定時のリードデータ転送総数とライトデータ転送総数の比率に修正する(ステップ710)。
ステップ703において、ライト処理でなければ、リード処理用制御を実行する(ステップ711)。図10にリード処理用制御のフローを示す。リード要求データをホストに転送する(ステップ1001)。リード要求データ転送後、データ転送済みの領域をライト領域用に開放する(ステップ1002)。開放された領域をライト用領域に充てる(ステップ1003)。
図11にリード用のキャッシュ領域をライト用のキャッシュ領域として開放する時のキャッシュの動作例を示す。図11の例は、LBA空間で連続する領域にアクセスするリード処理とLBA空間で連続または非連続な領域にアクセスするライト処理によるデータ転送比率が1:2であった場合の例である。そのため、ライトデータの転送開始位置1101が、リードデータの転送開始位置1102に対して、キャッシュサイズの1/2分減算した位置に設定されている。キャッシュ制御開始時に、リード処理用領域1103およびライト処理用領域1104として確保されるのは、それぞれ(キャッシュ領域全体/2)となる。しかし先読み継続中に、リード要求データがホストに転送された場合は、ホストに転送したデータ分の領域1105をライト処理用の領域として開放する。そのため、本実施例のキャッシュ制御を適用する処理要求が継続する間は、リード処理用領域1103は、最少で、0まで減少していく一方で、ライト処理用領域1104は最大でキャッシュ領域いっぱいのサイズまで増加していく。
図7のステップ711に戻り、先読み中かを調べ(ステップ712)、先読み中であれば、さらに最大先読み量に達したかを調べる(ステップ713)。最大先読み量に達していれば、先読みを停止する(ステップ714)。次に、バッファされているライトデータのディスクへの書き込みを開始する(ステップ715)。
図6のステップ602に戻り、当該キャッシュ制御実行後、コマンド受領待ち中に次のコマンドを受け取ると(ステップ603)、当該処理要求パタンの継続判定を行う(ステップ604)。図12に当該処理要求パタンの継続判定フローを示す。リードコマンドであるかを調べ(ステップ1201)、リードコマンドであれば、直前リードコマンドの要求データ最終LBAと受領リードコマンドの要求データのLBAが連続しているかを調べ(ステップ1202)、連続していなければ、パタン非継続とする(ステップ1203)。また連続していれば、ライトコマンド発行フラグが1か調べ(ステップ1204)、1であれば、ライトコマンド発行フラグに0を代入し(ステップ1205)、パタン継続とする(ステップ1206)。ステップ1204に戻り、ライトコマンド発行フラグが1でなければパタン非継続とする(ステップ1203)。また、ステップ1201に戻り、リードコマンドでない場合、ライトコマンドであるかを調べ(ステップ1207)、ライトコマンドであれば、ライトコマンド発行フラグに1を代入し(ステップ1208)、パタン継続とする(ステップ1206)。ステップ1207に戻り、ライトコマンドであるかを調べ、ライトコマンドでなければ、パタン非継続とする(ステップ1203)。
図6のステップ604に戻り、当該処理要求パタンの継続判定実施後、当該処理要求パタンが継続しているか調べ(ステップ605)、継続していなければ、キャッシュのライトデータをディスクに書き込む(ステップ606)。そして、従来のキャッシュ制御を実行する(ステップ607)。ステップに605において、当該処理要求パタンが継続していると判断された場合は、ライトデータをディスクに書き込んだ直後かを調べ(ステップ608)、直後であれば、ライトデータの書き込み開始位置を再度設定し直す(ステップ601)。また、直後でなければ、当該処理要求パタン用のキャッシュ制御を実行する(ステップ602)。
図13に本実施例のキャッシュ制御を適用するLBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求を抽出するための処理のフローを示す。該抽出処理では、LBA空間で連続する領域にアクセスするリードコマンドの間にライトコマンドが発行されるパタン(ライトコマンドは複数でも可)を基本パタンとし、該基本パタンがN回抽出された場合に、当該パタンの抽出とする。繰り返し回数Nに0を代入し(ステップ1301)、基本パタン抽出処理を行う(ステップ1302)。図14に基本パタン抽出処理のフローを示す。ライトコマンド発行フラグに0を代入する(ステップ1401)。次にコマンドの発行を待つ(ステップ1402)。受領コマンドがリードコマンドかを調べ(ステップ1403)、リードコマンドであれば、直前リードコマンドの要求データの最終LBAが受領コマンドの要求データのLBAと連続しているかを調べる(ステップ1404)。連続していれば、ライトコマンド発行フラグが1かを調べ(ステップ1405)、1であれば基本パタンの抽出とする(ステップ1406)。また、1でなければ、処理を終了する。
ステップ1404において、連続していなければ、処理を終了する。ステップ1403において、リードコマンドでない場合は、ライトコマンドであるか調べ(ステップ1407)、ライトコマンドであれば、ライトコマンド発行フラグに1を代入する(ステップ1408)。また、ライトコマンドでなければ、処理を終了する。
図13のステップ1302に戻り、基本パタン抽出処理を行い、基本パタンが抽出されたら(ステップ1303)、基本パタンの抽出回数をカウントし(ステップ1304)、基本パタンにおけるリード処理とライト処理のデータ転送量を、データ転送量登録テーブルに登録する(ステップ1305)。図15にデータ転送量管理テーブルの構成例を示す。データ転送量管理テーブルは、基本パタンの抽出回数と、基本パタン抽出時のリードコマンドのデータ転送量(セクタ数)と、当該リードコマンドの直前のリードコマンドを受領してから当該リードコマンドを受領するまでに受領したライトコマンドによる総データ転送量(セクタ数)からなる。データ転送量管理テーブルは、HDC107、キャッシュメモリ105あるいはRAM102に作成される。
図13のステップ1306に戻り、次に基本パタンの繰り返し回数Nが設定回数に達したかを調べ、達していれば、図15のデータ転送量管理テーブルを参照して、抽出パタンにおけるリード処理とライト処理のデータ転送量の比率を算出する(ステップ1307)。図16に、抽出パタンにおけるリード処理とライト処理のデータ転送量の比率を算出する処理のフローを示す。まず、データ転送量管理テーブルのデータを参照して、平均リードデータ転送量を算出する(ステップ1601)。次に平均ライトデータ転送量を算出する(ステップ1602)。次にリード処理とライト処理の平均データ転送量の比率を算出する(ステップ1603)。
図17に、LBA空間で連続する領域にアクセスするリード処理と、LBA空間で連続または非連続な領域にアクセスするライト処理が並行して実行されることをホストよりディスク装置に通知するためのコマンドの例を示す。本実施例では、該コマンドとしてSet Features コマンドを使用した場合の例を示す。Commandレジスタには、Set Features コマンドを示すEFhコード1701を書き込む。また、Features レジスタには、LBA空間で連続する領域にアクセスするリード処理と、LBA空間で連続または非連続な領域にアクセスするライト処理が並行して実行されることを通知するSub Commandコードとして8Bh1702をセットする。また、Sector Countレジスタには、該処理の開始時には、01hを設定し、また該処理の終了時には、00hを設定する。また、LBA Lowレジスタには、リード処理とライト処理のデータ転送量の比を入力する。LBA Lowレジスタのビット0から3(1703)には、リード処理のデータ転送量の比を、LBA Lowレジスタのビット4から7(1704)にはライト処理のデータ転送量の比を設定する。たとえば、もし、キャッシュに転送されるデータ転送量がリード処理とライト処理で同じであるならば、LBA Lowレジスタの0から3ビット(1703)には0001を、またLBA Lowレジスタの4から7ビット(1704)にも0001をセットする。ただし、該処理終了設定時にはLBA Lowレジスタに0をセットする。LBA MidおよびLBA Highのレジスタは設定不用である。Deviceレジスタのビット4(1705)には、選択されたデバイスの番号(マスタは0、スレーブは1)をセットする。Deviceレジスタの0から3ビットおよび6ビットも設定不用である。Deviceレジスタの5ビットと7ビットは廃止されている。
本発明の第2の目的は、リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式において、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合の処理速度の向上を図ることである。図18に第2の実施例によるキャッシュ制御を適用するホスト要求処理の例を示す。図18において、縦軸は、Logical Block Address(LBA)、横軸はコマンドの発行番号を示す。図18の例では、リードコマンドRとライトコマンドWが交互に発行されている。リード処理要求もライト処理要求もLBA空間において連続領域へのアクセスとなっていないが、ともにLBA空間でプラスの方向に一定距離を置いてアクセスされている。また、リードコマンドRもライトコマンドWも要求データ転送サイズはともに8セクタとなっている。
上記処理要求の特徴のうち、本実施例のキャッシュ制御に切り替える際の処理要求の特徴は、一連のリードコマンドの処理要求がLBAのプラス方向でかつ一定距離内の領域にアクセスしていること、また、LBAのプラス方向でかつ一定距離内の領域にアクセスするリードコマンド間においてライトコマンドが発行されているという点である。なお、リードコマンドとライトコマンドによる要求データ転送量が同じである必要はない。
上記第1の実施例のLBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合と、本実施例のLBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合のキャッシュ制御では、図6、図7および図13で示したキャッシュ制御は同じである。以下では、第1の実施例で説明したキャッシュ制御および、該キャッシュ制御を適用するパタンを抽出するための処理で異なる部分について説明する。
図19に、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合のキャッシュ制御におけるリード処理の制御フローを示す。先読み中に受領したリードコマンドの要求データをホストに転送する(ステップ1901)。次に、該リード要求データと該リード要求データを読み出す前までに先読みしたデータが書き込まれた領域をライト処理用の領域として開放する(ステップ1902)。
図20に、リード処理領域をライト処理用領域に開放する際のキャッシュ制御の動作の例を示す。図20の例は、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理とLBA空間で連続または非連続な領域にアクセスするライト処理によるデータ転送比率が1:2である場合の例である。そのため、ライトデータの転送開始位置2001が、リードデータの転送開始位置2002に対して、キャッシュ領域サイズの1/2分減算した位置に設定されている。したがって本キャッシュ制御開始時のリード処理用領域2003とライト処理用領域2004のサイズは、ともにキャッシュ領域全体サイズの1/2となる。リード要求があった場合、リード要求データ2005をキャッシュからホストに転送するとともに、リード要求データ2005とリード要求データを読み出す前までに先読みしたデータ2006が書き込まれた領域をライト処理用の領域として開放する。図19のフローに戻り、次に、開放したリード処理用領域をライト処理用領域に充てる(ステップ1903)。
LBA空間で連続する領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合との違いは、リード要求データが書き込まれた領域だけではなく、リード要求データを読み出す前までに先読みされたデータが書き込まれた領域も一緒に開放するところである。
図21にLBAのプラス方向でかつ近距離の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンの継続判定フローを示す。リードコマンドであるかを調べ(ステップ2101)、リードコマンドであれば、直前リードコマンドの要求データの最終LBAに対して、プラス方向でかつ一定距離内へのアクセスとなっているかを調べ(ステップ2102)、該アクセスとなっていなければ、パタン非継続とする(ステップ2103)。また、該アクセスとなっていれば、ライトコマンド発行フラグが1かを調べ(ステップ2104)、1であれば、ライトコマンド発行フラグに0を代入し(ステップ2105)、パタン継続とする(ステップ2106)。また、ステップ2104において、ライトコマンド発行フラグが1でなければパタン非継続とする(ステップ2103)。
ステップ2101に戻り、リードコマンドでない場合、ライトコマンドであるかを調べ(ステップ2107)、ライトコマンドであれば、ライトコマンド発行フラグに1を代入し(ステップ2108)、パタン継続とする(ステップ2106)。ステップ2107において、ライトコマンドでなければ、パタン非継続とする(ステップ2103)。なお、図21のフローでは、リード処理において直前リードコマンドの要求データの最終LBAとプラス方向でかつ一定距離内の領域にアクセスしていることを継続判定の条件としているが、この距離を、キューイングされているライトコマンドの処理を開始しようとした時の最短シーク時間または最短アクセス時間を、現ヘッドが位置するゾーンのSector per Track(SPT)に基づき変換したディスクの回転量(セクタ)としてもよい。
図22に、現ヘッドの位置からキューイングされているライトコマンドの処理を開始しようとした場合において、最短となるシーク時間に基づき、上記一定距離を算出するためのフローを示す。現ヘッドの位置からキューイングされているライトコマンドを実行しようとした場合に、最短となるシーク時間を求める(ステップ2201)。次に、該シーク時間で回転可能な回転量(セクタ)を、現ヘッドが位置するゾーンのSPTを用いて算出する(ステップ2202)。すなわち、該シーク時間/1回転時間×SPTとして、回転量を求める。次に、該回転量を、当該処理要求パタンの継続判定で使用する距離とする(ステップ2203)。
図23に、現ヘッドの位置からキューイングされているライトコマンドの処理を開始しようとした場合において、最短となるアクセス時間に基づき、上記一定距離を算出するためのフローを示す。現ヘッドの位置からキューイングされているライトコマンドを実行しようとした場合に、最短となるアクセス時間を求める(ステップ2301)。なお、アクセス時間は、シーク時間+回転待ち時間で算出される。次に、該アクセス時間で回転可能な回転量(セクタ)を、現ヘッドが位置するゾーンのSPTを用いて算出する(ステップ2302)。すなわち、該アクセス時間/1回転時間×SPTとして回転量を求める。次に、該回転量を、当該処理要求パタンの継続判定で使用する距離とする(ステップ2303)。
図24に、LBAのプラス方向でかつ一定距離内の領域にアクセスするリード処理要求とLBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返すパタンを抽出する処理のフローを示す。ライトコマンド発行フラグに0を代入する(ステップ2401)。次にコマンドの発行を待つ(ステップ2402)。受領コマンドがリードコマンドかを調べ(ステップ2403)、リードコマンドであれば、直前リードコマンドの要求データの最終LBAに対して、プラス方向でかつ一定距離内の領域へのアクセスとなっているかを調べる(ステップ2404)。一定距離内の領域にアクセスしていれば、ライトコマンド発行フラグが1かを調べ(ステップ2405)、1でなければ、処理を終了する。1であれば、基本パタンの抽出とする(ステップ2406)。ステップに2404において、一定距離内の領域にアクセスしていなければ、処理を終了する。
ステップ2403に戻り、リードコマンドでない場合は、ライトコマンドであるかを調べ(ステップ2407)、ライトコマンドであれば、ライトコマンド発行フラグに1を代入し(ステップ2408)、次のコマンドの発行を待つ(ステップ2402)。また、ライトコマンドでなければ、処理を終了する。なお、基本パタン抽出時には、基本パタンにおけるリード処理とライト処理のデータ転送量をデータ転送量管理テーブルに登録する。
図25にデータ転送量管理テーブルの構成例を示す。データ転送量管理テーブルは、基本パタンの抽出回数と、基本パタン抽出時のリードコマンドの要求データ量(セクタ数)と該要求データ読み出し前までの先読みデータ量の合計(セクタ数)と、基本パタンにおけるライト処理のデータ転送量(セクタ数)からなる。なお、当該キャッシュ制御を適用する処理要求パタン抽出時のリード処理とライト処理のデータ転送量の比率は、図25のテーブルを用いて、図16で示した処理により求める。データ転送量管理テーブルは、HDC107、キャッシュメモリ105あるいはRAM102に作成される。
本発明の実施例による磁気ディスク装置の構成を示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンの例を示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンの他の例を示す図である。 リード処理用領域とライト処理用領域を随時設定可能なシングルリング方式における従来のキャッシュ制御動作を説明するための図である。 第1の実施例によるキャッシュのデータ書き込み開始位置を示す図である。 第1の実施例によるキャッシュ制御のフローを示す図である。 第1の実施例によるキャッシュ制御の詳細なフローを示す図である。 キャッシュライト処理のフローを示す図である。 データ転送比率適正判定処理のフローを示す図である。 キャッシュリード処理のフローを示す図である。 第1の実施例によるキャッシュ制御において、リード処理用のキャッシュ領域をライト処理用のキャッシュ領域に充てる際のキャッシュ動作を説明するための図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定処理のフローを示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンを抽出する処理のフローを示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンを抽出する処理のフローを示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンにおけるデータ転送量を管理するデータ転送量管理テーブルの構成例を示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンのリード処理とライト処理のデータ転送量の比率を算出する処理のフローを示す図である。 第1の実施例によるキャッシュ制御を適用する処理要求パタンとなることをホストによりディスク装置に通知するためのコマンドの例を示す図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの例を示す図である。 第2の実施例によるキャッシュ制御(リード処理)のフローを示す図である。 第2の実施例によるキャッシュ制御において、リード処理用のキャッシュ領域をライト処理用のキャッシュ領域に充てる際のキャッシュ動作を説明するための図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定処理のフローを示す図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定の基準となる距離(セクタ数)を算出する処理のフローを示す図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの継続判定の基準となる距離(セクタ数)を算出する処理のフローを示す図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンを抽出する処理のフローを示す図である。 第2の実施例によるキャッシュ制御を適用する処理要求パタンの基本パタンにおけるデータ転送量を管理するデータ転送量管理テーブルの構成例を示す図である。
符号の説明
101…ROM、
102…RAM、
103…Timer、
104…制御プロセッサ、
105…キャッシュメモリ(キャッシュ)、
106…磁気ディスク(ディスク)、
107…ハードディスク制御装置(HDC)、
108…サーボ制御部、
109…ボイスコイルモータ(VCM)、
110…モータドライバ、
111…セレクタ、
112…信号処理部、
113…ディスクフォーマッタ、
114…ホストインタフェース、
1101…ライトデータの転送開始位置、
1102…リードデータの転送開始位置、
1103…リード処理用領域、
1104…ライト処理領域、
1105…ホストに転送済みのリードデータ分の領域、
2001…ライトデータの転送開始位置、
2002…リードデータの転送開始位置、
2003…キャッシュ制御開始時のリード処理用領域、
2004…キャッシュ制御開始時のライト処理用領域、
2005…リード要求データ、
2006…リード要求データを読み出す前までに先読みしたデータ。

Claims (19)

  1. データを記録するディスクと、前記ディスクからのリードデータ及び前記ディスクに対するライトデータを一時的に書き込むキャッシュメモリと、前記キャッシュメモリとホストインタフェース間のデータ転送および前記キャッシュメモリと前記ディスク間のデータ転送を制御し、かつ前記キャッシュメモリのリード処理用データ領域とライト処理用データ領域を制御する制御装置とを備え、前記制御装置は、前記ディスクのLogical Block Address(LBA)空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
  2. 請求項1に記載のディスク装置において、前記LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より多いかまたは同じ場合には、前記キャッシュメモリに対するライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、前記LBA空間で連続する領域にアクセスするリード処理のデータ転送量がLBA空間で連続または非連続な領域にアクセスするライト処理のデータ転送量より少ない場合には、前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を、前記キャッシュメモリの容量の(1−リード処理のデータ転送量/ライト処理のデータ転送量)倍分、リード処理のデータの書き込み開始位置から減算した位置に設定することを特徴とするディスク装置。
  3. 請求項1に記載のディスク装置において、ホストに転送済みのリードデータが記録されているキャッシュメモリの領域を、ライト処理用データ領域として開放することを特徴とするディスク装置。
  4. 請求項3に記載のディスク装置において、ホストに転送済みのリードデータが記録されているキャッシュメモリの領域を、該リードデータがホストに転送された直後に、ライト処理用データ領域として開放することを特徴とするディスク装置。
  5. 請求項1に記載のディスク装置において、前記制御装置は、LBA空間で連続する領域にアクセスするリード処理要求の間にライト処理要求が存在するパタンを基本パタンとし、前記基本パタンが所定回数抽出された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
  6. 請求項5に記載のディスク装置において、前記基本パタンの抽出回数と、前記基本パタン抽出時のリード処理要求のデータ転送量と、前記リード処理要求の直前のリード処理要求を受領してから前記リード処理要求を受領するまでの間に受領したライト処理要求によるデータ転送量とを登録するテーブルを有し、前記制御装置は前記テーブルを参照してリード処理のデータ転送量の平均とライト処理のデータ転送量の平均から前記キャッシュメモリに対するリード処理のデータ転送量とライト処理のデータ転送量の比率を算出することを特徴とするディスク装置。
  7. 請求項1に記載のディスク装置において、前記制御装置は、前記LBA空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返されるパタンとなることを、ホストインタフェースを介してホストより通知された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
  8. データを記録するディスクと、前記ディスクからのリードデータ及び前記ディスクに対するライトデータを一時的に書き込むキャッシュメモリと、前記キャッシュメモリとホストインタフェース間のデータ転送および前記キャッシュメモリと前記ディスク間のデータ転送を制御し、かつ前記キャッシュメモリのリード処理用データ領域とライト処理用データ領域を制御する制御装置とを備え、前記制御装置は、前記ディスクのLogical Block Address(LBA)のプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
  9. 請求項8に記載のディスク装置において、リード処理要求アドレスまでの先読みデータとリード処理要求データの総量が、ライト処理要求のデータの転送量よりも多いかまたは同じ場合には、前記キャッシュメモリに対するライト処理とリード処理のデータの書き込み開始位置を同じ位置に設定し、リード処理要求アドレスまでの先読みデータとリード処理要求データの総量がライト処理要求のデータの転送量よりも少ない場合には、ライト処理用のデータの書き込み開始位置を、キャッシュメモリの容量の(1−リード処理データの総量/ライト処理データ転送量)倍分、リード処理用のデータの書き込み開始位置から減算した位置に設定することを特徴とするディスク装置。
  10. 請求項8に記載のディスク装置において、ホストに転送済みのリードデータと該データを読み出すまでに先読みされたデータが記録されているキャッシュメモリの領域を、ライト処理用データ領域として開放することを特徴とするディスク装置。
  11. 請求項10に記載のディスク装置において、ホストに転送済みのリードデータと該データを読み出すまでに先読みされたデータが記録されているキャッシュメモリの領域を、前記リードデータがホストに転送された直後に、ライト処理用データ領域として開放することを特徴とするディスク装置。
  12. 請求項8に記載のディスク装置において、前記制御装置は前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定後、前記LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が発行されるパタンの継続判定を行うに際し、前記継続判定の基準となるリード処理におけるLBAのプラス方向の距離を、キューイングされているライト処理要求を実行しようとした場合において最短となるシーク時間を前記ディスクの回転量に変換した場合の距離とすることを特徴とするディスク装置。
  13. 請求項8に記載のディスク装置において、前記制御装置は前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定後、前記LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が発行されるパタンの継続判定を行うに際し、前記継続判定の基準となるリード処理におけるLBAのプラス方向の距離を、キューイングされているライト処理要求を実行しようとした場合において最短となるアクセス時間(シーク時間と回転待ち時間の総和)を前記ディスクの回転量に変換した場合の距離とすることを特徴とするディスク装置。
  14. 請求項8に記載のディスク装置において、前記制御装置は、LBAのプラス方向でかつ一定距離内の空間にアクセスするリード処理要求の間にライト処理要求が存在するパタンを基本パタンとし、該基本パタンが所定回数抽出された場合に、前記キャッシュメモリへのリード処理のデータ転送量とライト処理のデータ転送量の比率に基づいて前記キャッシュメモリに対するライト処理のデータの書き込み開始位置を設定することを特徴とするディスク装置。
  15. ディスクのLogical Block Address(LBA)空間で連続する領域にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出するステップと、
    リード処理とライト処理のキャッシュメモリに対するデータ転送量の比率を基にして、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定するステップと、
    前記処理要求パタン用のキャッシュ制御を実行するステップと、
    新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップと、
    前記処理要求パタンが継続している場合は、ライト処理データを前記ディスクに書き込んだ直後かを判断するステップと、
    ライト処理データを前記ディスクに書き込んだ直後でなければ、前記処理要求パタン用のキャッシュ制御を実行するステップと、
    ライト処理データを前記ディスクに書き込んだ直後であれば、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定し直すステップと、
    を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
  16. 請求項15記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンが継続しているかを判断するステップは、
    処理要求がリード処理要求かを調べるステップと、
    リード処理要求であれば、直前のリード処理要求データの最終LBAと前記リード処理要求のデータのLBAが連続しているかを調べるステップと、
    LBAが連続していれば、ライト処理要求発行フラグが1であるかを調べるステップと、
    ライト処理要求発行フラグが1であれば、ライト処理要求発行フラグを0に設定した後、前記処理要求パタンが継続していると判断するステップと、
    前記処理要求がライト処理要求であれば、前記ライト処理要求フラグを1に設定するステップと、
    を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
  17. 請求項15記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンを抽出するステップは、
    ライト処理要求発行フラグを0に設定するステップと、
    処理要求がリード処理要求かを調べるステップと、
    リード処理要求であれば、直前のリード処理要求データの最終LBAと前記リード処理要求のデータのLBAが連続しているかを調べるステップと、
    LBAが連続していれば、ライト処理要求発行フラグが1であるかを調べるステップと、
    ライト処理要求発行フラグが1であれば、前記処理要求パタンとして抽出するステップと、
    前記処理要求がライト処理要求であれば、前記ライト処理要求フラグを1に設定するステップと、
    を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
  18. ディスクのLogical Block Address(LBA)のプラス方向でかつ一定距離内の空間にアクセスするリード処理要求と、LBA空間で連続または非連続な領域にアクセスするライト処理要求が交互に繰り返される処理要求パタンを抽出するステップと、
    リード処理とライト処理のキャッシュメモリに対するデータ転送量の比率を基にして、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定するステップと、
    前記処理要求パタン用のキャッシュ制御を実行するステップと、
    新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップと、
    前記処理要求パタンが継続している場合は、ライト処理データを前記ディスクに書き込んだ直後かを判断するステップと、
    ライト処理データを前記ディスクに書き込んだ直後でなければ、前記処理要求パタン用のキャッシュ制御を実行するステップと、
    ライト処理データを前記ディスクに書き込んだ直後であれば、前記キャッシュメモリに対するライト処理データの書き込み開始位置を設定し直すステップと、
    を含むディスク装置のキャッシュメモリ制御方法であって、前記新たな処理要求を受け取った際に、前記処理要求パタンが継続しているかを判断するステップは、
    処理要求がリード処理要求かを調べるステップと、
    リード処理要求であれば、直前のリード処理要求データの最終LBAに対してプラス方向でかつ一定距離内へのアクセスとなっているかを調べるステップと、
    直前のリード処理要求データの最終LBAに対してプラス方向でかつ一定距離内へのアクセスとなっていれば、前記処理要求パタンが継続していると判断するステップと、
    を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。
  19. 請求項18記載のディスク装置のキャッシュメモリ制御方法において、前記処理要求パタンを抽出するステップは、LBA空間で連続する領域にアクセスするリードコマンドの間にライトコマンドが発行されるパタンを基本パタンとし、該基本パタンが所定回数抽出された場合に前記処理要求パタンの抽出とする処理であり、
    前記基本パタンを抽出するステップと、
    前記基本パタンの抽出回数をカウントするステップと、
    前記基本パタンの抽出回数が所定の回数に達したかどうかを判定するステップと、
    を含むことを特徴とするディスク装置のキャッシュメモリ制御方法。


JP2005191297A 2005-06-30 2005-06-30 ディスク装置及びディスク装置のキャッシュメモリ制御方法 Pending JP2007011661A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005191297A JP2007011661A (ja) 2005-06-30 2005-06-30 ディスク装置及びディスク装置のキャッシュメモリ制御方法
US11/477,746 US7624228B2 (en) 2005-06-30 2006-06-28 Disk drive and method of controlling cache memory therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005191297A JP2007011661A (ja) 2005-06-30 2005-06-30 ディスク装置及びディスク装置のキャッシュメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2007011661A true JP2007011661A (ja) 2007-01-18

Family

ID=37591162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005191297A Pending JP2007011661A (ja) 2005-06-30 2005-06-30 ディスク装置及びディスク装置のキャッシュメモリ制御方法

Country Status (2)

Country Link
US (1) US7624228B2 (ja)
JP (1) JP2007011661A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009050765A1 (ja) * 2007-10-17 2009-04-23 Fujitsu Limited 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
WO2009060500A1 (ja) * 2007-11-07 2009-05-14 Fujitsu Limited 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013088968A (ja) * 2011-10-17 2013-05-13 Sony Corp 管理装置、管理方法、およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108704A (ja) 2000-10-02 2002-04-12 Nec Corp ディスクキャッシュ制御システム
US7058764B2 (en) * 2003-04-14 2006-06-06 Hewlett-Packard Development Company, L.P. Method of adaptive cache partitioning to increase host I/O performance

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009050765A1 (ja) * 2007-10-17 2009-04-23 Fujitsu Limited 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
JPWO2009050765A1 (ja) * 2007-10-17 2011-02-24 東芝ストレージデバイス株式会社 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
WO2009060500A1 (ja) * 2007-11-07 2009-05-14 Fujitsu Limited 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
JP4858926B2 (ja) * 2007-11-07 2012-01-18 東芝ストレージデバイス株式会社 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
US8320066B2 (en) 2007-11-07 2012-11-27 Kabushiki Kaisha Toshiba Storage device and read/write processing method therefor

Also Published As

Publication number Publication date
US20070005884A1 (en) 2007-01-04
US7624228B2 (en) 2009-11-24

Similar Documents

Publication Publication Date Title
US7539820B2 (en) Disk device and control method for cache
US7392340B1 (en) Disk drive employing stream detection engine to enhance cache management policy
JP2007304691A (ja) ディスク装置及び回転型記憶装置の先読み制御方法
US6968423B2 (en) Dynamic data access pattern detection in a block data storage device
US8874875B2 (en) ICC-NCQ command scheduling for shingle-written magnetic recording (SMR) Drives
JP4925230B2 (ja) 記憶装置、記憶制御装置及び制御方法
JP2009146500A (ja) ディスク記憶装置及びデータ書き込み方法
US6578107B1 (en) Method and system for prefetching data where commands are reordered for execution
JP2007011661A (ja) ディスク装置及びディスク装置のキャッシュメモリ制御方法
JP2007501473A (ja) メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置
JP4858926B2 (ja) 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
JP6721821B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
JP2006031383A (ja) リアルタイム性能向上方式を実装したディスク装置
US5875453A (en) Apparatus for and method of information processing
US6957300B2 (en) Reducing delay of command completion due to overlap condition
US8588591B2 (en) Reproducing apparatus and reproducing method
JP2004164144A (ja) ディスク装置
JP2009087460A (ja) ディスク記憶装置のコマンド処理方法
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JP2002244816A (ja) ディスク装置
JPH11232037A (ja) ディスクキャッシュライト機能を持った磁気ディスク装置
JP2010176766A (ja) ディスクドライブ装置、ディスク制御デバイス、情報処理装置、及びディスク制御方法
JP6993579B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP2003173294A (ja) ディスク装置
JP2005309980A (ja) ディスク装置及びリアルタイム処理と非リアルタイム処理の同時実行方法