JP2007304691A - ディスク装置及び回転型記憶装置の先読み制御方法 - Google Patents
ディスク装置及び回転型記憶装置の先読み制御方法 Download PDFInfo
- Publication number
- JP2007304691A JP2007304691A JP2006130053A JP2006130053A JP2007304691A JP 2007304691 A JP2007304691 A JP 2007304691A JP 2006130053 A JP2006130053 A JP 2006130053A JP 2006130053 A JP2006130053 A JP 2006130053A JP 2007304691 A JP2007304691 A JP 2007304691A
- Authority
- JP
- Japan
- Prior art keywords
- command
- read
- access
- lba
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】アクセスパタンの特徴を利用して、回転待ち時間を利用した先読みのアクセス領域を決定することにより、キャッッシュのヒット率を高める。
【解決手段】ディスク装置は、リード要求データの先行データを読み出す先行データ先読み手段と、リード要求データの後続データを先読みする後続データ先読み手段と、コマンドをモニタリングしてアクセスパタンの特徴を抽出する手段とを備え、後続データ先読み手段が先読みを実行中、後続コマンドにおいてリード要求データをキャッシュメモリに転送する必要が生じた場合に、後続コマンドのリード要求データにアクセスする際に発生する回転待ち時間を予測し、予測回転待ち時間を、後続コマンドを受領する直前のコマンド群のアクセスパタンの特徴に基づき、実行中の後続データの先読み手段と後続コマンドのリード要求データの先行データの先読み手段に割り当てる。
【選択図】図1
【解決手段】ディスク装置は、リード要求データの先行データを読み出す先行データ先読み手段と、リード要求データの後続データを先読みする後続データ先読み手段と、コマンドをモニタリングしてアクセスパタンの特徴を抽出する手段とを備え、後続データ先読み手段が先読みを実行中、後続コマンドにおいてリード要求データをキャッシュメモリに転送する必要が生じた場合に、後続コマンドのリード要求データにアクセスする際に発生する回転待ち時間を予測し、予測回転待ち時間を、後続コマンドを受領する直前のコマンド群のアクセスパタンの特徴に基づき、実行中の後続データの先読み手段と後続コマンドのリード要求データの先行データの先読み手段に割り当てる。
【選択図】図1
Description
本発明は、ディスク上のデータを効率よくキャッシュメモリに転送し、キャッシュのヒット率を高め、データ転送速度を高めるためのデータ転送技術に関する。
ディスク装置では、キャッシュメモリを設けディスク上のデータをキャッシュメモリに転送して管理し、キャッシュメモリからホストに直接データを転送できるようにすることで、ホストへのデータ転送効率を上げている。さらにホストのオーバヘッド時間や、回転待ち時間などを利用して、後続のコマンドで要求される可能性の高いデータをキャッシュメモリに転送しデータの転送効率を上げている。このように空き時間を利用してホスト要求データ以外のデータをキャッシュメモリに転送する制御のことを先読み制御という。
たとえば、回転待ち時間を利用した先読先読み制御では、先読み中に受領したリードコマンドがキャッシュミスとなった場合、はじめに後続コマンドの先行データの先読みに回転待ち時間を充て(ただし先行データの先読み量に上限を設定)、後続コマンドの先行データの先読み後も回転待ちが発生すると予測される場合には、残りの予測回転待ち時間を先行コマンドの後続データの先読みに充てるようにしている。このような制御にすることで、発生する回転待ち時間を効率よく先読みに充てることができる。このような先読み制御は、特許文献1に記載されている。
図16に、特許文献1に記載されている、先読み中に受領したリードコマンドがキャッシュミスとなった場合において行われる先読み制御のフローを示す。また、図17に回転待ち時間を利用した先読み制御の動作の例を示す。図16において先読み中に受領したリードコマンドにおいてキャッシュミスとなったら回転待ちが発生するかを調べ(ステップ601)、回転待ちが発生する場合は、キャッシュミスした後続コマンドの先行データの先読みに所定時間回転待ち時間を充てる(ステップ602)。後続コマンドの先行データの先読みに回転待ち時間を充ててもなお、回転待ちが発生すると予測される場合には(ステップ603)、残りの回転待ち時間を先行コマンドの後続データの先読みに充てる(ステップ604)。
図17では、ホストオーバーヘッドを利用したリードコマンドR1(701)の後続データの先読み実行中に受領したリードコマンドR2(702)において、キャッシュミスが発生し、その際に発生した回転待ち時間をR1(701)の後続データの先読みと、R2(702)の先行データ先読みに充てる場合を示している。図中の白抜きの矢印は、R2(702)がキャッシュミスとなった直後に先読み中のR1(701)を中断し、すぐにR2(702)のあるターゲットトラックにアクセスした場合に発生する回転待ち時間を示している。また、図中黒塗りの矢印は、最終的に実施された先読みのアクセス領域を示している。
図17の例では、R2(702)がキャッシュミスした直後にシークを行った場合、ターゲットデータを超えた位置にヘッドが位置づく(703)。そのため、着地点703からトラックエンドまでの回転待ち(704)と、ターゲットトラックの先頭からターゲットデータまでの回転待ち(705)が発生することとなる。この回転待ち時間をあらかじめコントローラで求め、最初に後続コマンドの先行データの先読みに所定時間(706)を割り当て、所定時間割り当て後も回転待ち時間が発生すると予測される場合には、残りの回転待ち時間を先行コマンドR1(701)の後続データの先読みに充てていた。このようにすることで、R1(701)とR2(702)に連続したデータを、効率よく読み出すことが可能である。
キャッシュのヒット率を高めるためには、後続のコマンドで要求される可能性の高いデータを先読みすることが必要である。特許文献1の先読み制御では、回転待ち時間を使って行われる先読みの量が最大となるようにしているものの、必ずしも後続のリードコマンドで要求される可能性の高いデータを先読みしているとは限らなかった。そのため、近領域(回転待ち時間を利用してアクセス可能な領域:Sectors Per Track以内)に連続してアクセスするアクセスパタンであっても、ヒット率があまり向上しない場合があった。したがって回転待ち時間を利用した先読みでは、先読み量を増やすだけではなく、後続のリードコマンドで要求される可能性の高いデータを選択して読み出す工夫が必要である。
上記の問題点を考慮した上で、本発明の第1の課題は、アクセスパタンの特徴を利用して、回転待ち時間を利用した先読みのアクセス領域を決定することにより、キャッシュのヒット率を高めることである。
また、本発明の第2の課題は、コマンドアクセスのパタンをモニタすることにより、アクセスパタンの特徴を抽出することである。
上記第1の課題を解決するために本発明のディスク装置に代表される回転型記憶装置は、アクセスパタンの特徴に基づき、回転待ち時間を利用した先読みのアクセス領域を決定するようにした。すなわち、本発明の代表的なディスク装置は、ディスクと、ヘッドと、キャッシュメモリとを装備し、リード要求データがキャッシュメモリに格納されていない場合に、リード要求データを、ヘッドを通じてディスクから読み出してキャッシュメモリに転送するディスク装置であって、
リード要求データが格納されているトラックへのシークを終了後、リード要求データにヘッドがアクセスするまでにかかるディスク回転待ち時間に、リード要求データより前のアドレスに格納されているデータを、ヘッドを通じてディスクから読み出してキャッシュメモリに転送する先行データ先読み手段と、
リード要求データをキャッシュメモリに転送した後、リード要求データの直後に格納されているデータを、ヘッドを通じてディスクから読み出してキャッシュメモリに転送する後続データ先読み手段と、
前記後続データ先読み手段が先読みを実行中、後続のコマンドにおいてリード要求データをキャッシュメモリに転送する必要が生じた場合に、前記先行データ先読み手段に先読みを実行させた時に発生するであろう回転待ち時間を予測する回転待ち時間予測手段と、
予測回転待ち時間を、コマンドを受領する直前のコマンド群のアクセスパタンの特徴に基づき、実行中の後続データの先読み手段とコマンドのリード要求データに先行するデータの先読み手段に割り当てる手段と、を有する。
リード要求データが格納されているトラックへのシークを終了後、リード要求データにヘッドがアクセスするまでにかかるディスク回転待ち時間に、リード要求データより前のアドレスに格納されているデータを、ヘッドを通じてディスクから読み出してキャッシュメモリに転送する先行データ先読み手段と、
リード要求データをキャッシュメモリに転送した後、リード要求データの直後に格納されているデータを、ヘッドを通じてディスクから読み出してキャッシュメモリに転送する後続データ先読み手段と、
前記後続データ先読み手段が先読みを実行中、後続のコマンドにおいてリード要求データをキャッシュメモリに転送する必要が生じた場合に、前記先行データ先読み手段に先読みを実行させた時に発生するであろう回転待ち時間を予測する回転待ち時間予測手段と、
予測回転待ち時間を、コマンドを受領する直前のコマンド群のアクセスパタンの特徴に基づき、実行中の後続データの先読み手段とコマンドのリード要求データに先行するデータの先読み手段に割り当てる手段と、を有する。
また、上記第2の課題を解決するために本発明のディスク装置は、リードコマンドにより指定される論理ブロック・アドレス(Logical Block Address(LBA))を用いてアクセスの方向及びアクセス間隔を分析することにより、アクセスパタンとその特徴を抽出するようにしている。
本発明によれば、リードアクセスのパタンの特徴に基づき回転待ち時間を利用した先読みのアクセス領域を決定することで、キャッシュのヒット率を向上させ、データの転送速度を上げることが可能である。特に映像など、シーケンシャルに書き込まれたデータの読み出し処理(巻き戻し処理や早送り処理)を高速化することが可能である。
以下、本発明の実施例を図面により説明する。
図2は本発明の一実施例による磁気ディスク装置の構成例を示す図である。磁気ディスク装置(以下ディスク装置)は、制御プログラムを実装するプログラムROM101、キャッシュ内部のデータおよび、主にキャッシュ領域に関するデータを管理するテーブルを記憶するRAM102、ディスク装置内部の時刻を管理・設定するTimer103、上記、ROM101、RAM102、Timer103を内蔵し、ROM101上の制御プログラムを読み込み実行する制御プロセッサ104、リード要求データ/ライト要求データを一時的に書き込むキャッシュメモリ105、ホストとキャッシュメモリ105及びキャッシュメモリ105と磁気ディスク(以下ディスク)106の間のデータ転送を制御するハードディスク制御装置(以下HDC)107、データの読み書きをする際に指定された位置にヘッドを移動するための制御を行うサーボ制御回路108、サーボ制御回路108の指示に従って、ヘッドを移動するボイスコイルモータ(VCM)109、ディスクの回転を制御するモータドライバ110、ヘッドを通じて読み込んだ磁気信号から指定されたヘッドの信号だけを選択するセレクタ111、セレクタ111から送られたアナログデータをディジタルデータに変換する、またはHDC107から送られたディジタルデータをアナログデータに変換する信号処理回路112、リード用ゲートを開閉することにより、信号処理回路111より送られたリードデータをキャッシュメモリ105に転送し、また、ライト用ゲートを開閉することにより、キャッシュメモリ105より転送されるライトデータを信号処理回路112に転送するディスクフォーマッタ113、コマンドやデータをやり取りするホストインタフェース114よりなる。
図2は本発明の一実施例による磁気ディスク装置の構成例を示す図である。磁気ディスク装置(以下ディスク装置)は、制御プログラムを実装するプログラムROM101、キャッシュ内部のデータおよび、主にキャッシュ領域に関するデータを管理するテーブルを記憶するRAM102、ディスク装置内部の時刻を管理・設定するTimer103、上記、ROM101、RAM102、Timer103を内蔵し、ROM101上の制御プログラムを読み込み実行する制御プロセッサ104、リード要求データ/ライト要求データを一時的に書き込むキャッシュメモリ105、ホストとキャッシュメモリ105及びキャッシュメモリ105と磁気ディスク(以下ディスク)106の間のデータ転送を制御するハードディスク制御装置(以下HDC)107、データの読み書きをする際に指定された位置にヘッドを移動するための制御を行うサーボ制御回路108、サーボ制御回路108の指示に従って、ヘッドを移動するボイスコイルモータ(VCM)109、ディスクの回転を制御するモータドライバ110、ヘッドを通じて読み込んだ磁気信号から指定されたヘッドの信号だけを選択するセレクタ111、セレクタ111から送られたアナログデータをディジタルデータに変換する、またはHDC107から送られたディジタルデータをアナログデータに変換する信号処理回路112、リード用ゲートを開閉することにより、信号処理回路111より送られたリードデータをキャッシュメモリ105に転送し、また、ライト用ゲートを開閉することにより、キャッシュメモリ105より転送されるライトデータを信号処理回路112に転送するディスクフォーマッタ113、コマンドやデータをやり取りするホストインタフェース114よりなる。
図3にアクセスパタンの特徴に基づき回転待ち時間を利用した先読みを制御する処理のフローを示す。ディスク装置は、アクセスパタンを抽出し(ステップ201:処理内容は図10および図14を参照)、パタンが抽出された場合(ステップ202)、抽出されたアクセスパタンの特徴に応じた先読み制御を実行する(ステップ203:処理内容は図1および図12を参照)。アクセスパタンが抽出できなかった場合は、従来の先読み制御を実行する(ステップ204:処理内容は図16を参照)。なお、本実施例では以下に説明する処理は制御プロセッサ104で実行されるが、制御プロセッサ104以外の制御装置、例えばHDC107等で実行されても良い。
図1に、アクセスに方向性のあるパタンに対する先読み制御のフローを示す。ディスク装置は、コマンドを受領すると、アクセスに方向性のあるパタンの継続判定を行う(ステップ301)。アクセスの方向性は論理ブロック・アドレス(Logical Block Address(LBA))により分析し、LBAの大小比較により、プラス方向またはマイナス方向として判断する。その継続性が確認されると(ステップ302)、当該コマンドにおいて、回転待ちが発生するかチェックする(ステップ303)。回転待ちが発生する場合はプラス方向のアクセスかどうかをチェックし(ステップ304)、プラス方向のアクセスであれば、先行コマンドの後続データの先読みのみを行う(ステップ305)。その後、最新コマンドを基準コマンドとして設定する(ステップ306)。なお、基準コマンドとは、アクセスパタンの継続性を判断するための基準となるコマンドのことである。ステップ304に戻り、アクセスの方向がプラス方向のアクセスかどうかをチェックし、プラス方向のアクセスでなかったならば、後続コマンドの先行データの先読みのみ行う(ステップ307)。
また、ステップ302に戻り、アクセスパタンの継続性が確認されなかった場合は、コマンドをN回検索したかチェックし(ステップ308)、コマンドをN回検索していた場合には処理を終了する。また、コマンドをN回検索したかチェックし(ステップ308)、コマンドをN回検索していなかった場合には、パタンの継続判定処理(処理301)に戻る。
図4にアクセスに方向性のあるリードアクセスの例を示す。図4の例では、リードコマンドR1〜R11が、コマンド番号順に連続して発行されている。R1〜R11はすべて、LBAのマイナス方向のアクセスであり、また、それぞれのコマンドのリード要求データは、直前に発行されたリードコマンドのリード要求データとSectors Per Track(SPT)距離以内となっている。なお距離は、直前に発行されたリードコマンドのリード要求データの開始アドレスと当該コマンドのリード要求データの開始アドレスとの距離として分析している。
図5に図4のアクセスパタンを従来の先読み制御で実行した場合の先読みの動作の例を示す。図5で、白抜きの矢印は、リード要求データの後続データの先読みを示し、実線の矢印は、リード要求データの先行データの先読みを示している。また、Missはキャッシュミス(Cache miss)を示し、破線の矢印はシークを示している。従来の先読み制御を適用した場合、連続してLBAのマイナス方向にリードアクセスするパタンでキャッシュミスが発生した場合に発生する回転待ち時間は、キャッシュミスが生じた後続コマンドのリード要求データに先行するデータの先読みと、先行コマンドのリード要求データに後続するデータの先読みに充てられる。発生した回転待ち時間が前後2つのコマンドの先読みに充てられるため、コマンド間のアクセス距離が、図4で示したように、SPT距離以内となるような場合であっても、連続してキャッシュミスが多発する場合があった。
そこで、図4のようなアクセスパタンに対しては、図1の制御フローで示したように、アクセスの方向性と同じ方向の先読み処理に回転待ち時間をすべて充てることとした。図6に、図1で説明した本実施例のディスク装置で実行する先読み制御を、図4のアクセスパタンに適用した場合の動作の例を示す。なお、図6の動作は、図4のアクセスパタン抽出後に受領したコマンドの処理動作を示している。図6で白抜きの矢印は、リード要求データの後続データの先読みを示し、実線の矢印は、リード要求データの先行データの先読みを示している。また、Missはキャッシュミス(Cache miss)を、Hitはキャッシュヒット(Cache hit)を示し、破線の矢印はシークを示している。従来の先読み制御を適用したときの図5に示した動作との違いは、発生する回転待ち時間をアクセスの方向性と同じ方向の先読みのみに充てるので、アクセスと同じ方向の先読みの量が多くなることである。そのため、LBAのマイナス方向にアクセスする後続コマンドにおいてキャッシュヒット率が増すことになる。
図7にアクセスに方向性のあるパタンのもう1つの例を示す。図7の例では、リードコマンドR1〜R11が、コマンド番号順に連続して発行されている。R1、R4、R7、R10はコマンドの発行順では非連続であるが、R1、R4、R7、R10の関係を調べるとLBAのプラス方向でのアクセスとなっている。また、R1、R4、R7、R10においては、直前リードコマンドのリード要求データとの距離がSectors Per Track(SPT)距離以内となっている。なお距離は、直前に発行されたリードコマンドのリード要求データの開始アドレスと当該コマンドのリード要求データの開始アドレスとの距離として分析している。
図8に図7のアクセスパタンを従来の先読み制御で実行した場合の先読みの動作の例を示す。従来の回転待ちを利用した先読み制御では、発生する回転待ち時間は、図16と図17を使って説明したように、先行コマンドの後続データの先読みと後続コマンドの先行データの先読みに充てられる。従来の先読み制御では、連続してLBAのプラス方向にリードアクセスするパタンでキャッシュミスが発生した場合、発生する回転待ち時間は、キャッシュミスが生じた後続コマンドのアクセスデータの先行データの先読みと、先行コマンドの後続データの先読みに充てられる。発生した回転待ち時間が前後2つのコマンドの先読みに充てられるため、図7で示すようなアクセスパタンでは、図8に示すように、連続してキャッシュミスが多発してしまう場合があった。
そこで、図7で示すようなアクセスパタンに対しては、図1の制御フローで示したように、アクセスの方向性と同じ方向の先読み処理に、回転待ち時間をすべて充てることとした。図9に、図1で説明した本実施例のディスク装置で実行する先読み制御を図7のアクセスパタンに適用した場合の動作の例を示す。図9で白抜きの矢印は、リード要求データの後続データの先読みを示し、実線の矢印は、リード要求データの先行データの先読みを示している。また、Missはキャッシュミス(Cache miss)を、Hitはキャッシュヒット(Cache hit)を示し、破線の矢印はシークを示している。なお、図9の動作は、図9のアクセスパタン抽出後に受領したコマンドにおける動作を示している。従来の先読み制御を適用したときの図8に示した動作との違いは、発生する回転待ち時間をアクセスの方向と同じ方向の先読みのみに充てるので、アクセスパタンの方向の先読みの量が多くなることである。そのため、図7で示したようなLBAのプラス方向にアクセスするパタンが継続する場合、キャッシュのヒット率が増すことになる。
以上説明したように本実施例によれば、リードアクセスのパタンの特徴に基づき回転待ち時間を利用した先読みのアクセス領域を決定することで、キャッシュのヒット率を向上させ、データの転送速度を上げることが可能である。特に映像など、シーケンシャルに書き込まれたデータの読み出し処理(巻き戻し処理や早送り処理)を高速化することが可能である。
次に、図10を用いて図4または図7で示したようなアクセスに方向性のあるパタンを抽出するための制御を説明する。なお、図10の制御フローは、リードコマンドのみを扱うこととする。最新のN個のコマンドのアクセス情報を登録する(ステップ1201)。なお、アクセス情報とは、コマンドごとに設定されているLBAで示されたアクセス開始アドレス(リード要求データの開始アドレス)のことである。また、以下では、アクセスの方向性およびアクセス間隔はLBAで示されたアクセス開始アドレスにより判断されることとする。コマンドの発行順にしたがってアクセス開始アドレスのLBAが大きくなる場合はプラス方向、コマンドの発行順にしたがってアクセス開始アドレスのLBAが小さくなる場合はマイナス方向として判断する。またアクセス間隔は、各コマンドのアクセス開始アドレスの距離として求める。
最新Nコマンド登録後(ステップ1201)、新たにコマンドを受領すると、最新コマンドが過去のNコマンドとSPT距離以内にあるかを調べる(ステップ1202)。過去の最新Nコマンド分のアクセス開始アドレス(LBA)と比較してSPT距離以内にあれば、この最新コマンドを基準コマンドとして選択する(ステップ1203)。次に、その後に受領した最新コマンドが基準コマンドとSPT距離以内にあるかを調べ(ステップ1204)、SPT距離以内にある場合には、受領した最新コマンドが、基準コマンドと同じLBA方向にアクセスするかを調べ(ステップ1205)、同じ方向にある場合は、プラス方向のアクセスかを調べ(ステップ1206)、プラス方向のアクセスであれば、プラス方向のフラグを設定し(ステップ1207)、プラス方向のアクセス回数を1増やす(ステップ1208)。ステップ1206に戻り、プラス方向のアクセスかを調べ、プラス方向のアクセスでなければ、マイナス方向のフラグを設定し(ステップ1209)、マイナス方向のアクセス回数を1増やす(1210)。
プラスまたはマイナスのアクセス回数をカウントした後、カウントしたアクセス回数がT回を超えるか調べる(ステップ1211)。その結果、T回を超えた場合は最新コマンドと抽出したアクセスの方向性を保持して処理を終了する(ステップ1212、ステップ1213)。
ステップ1204に戻り、最新コマンドが基準コマンドとSPT距離以内にあるかを調べ、SPT距離以内にない場合、N回以上のコマンドを検索したかを調べ(ステップ1214)、N回検索していなければ、ステップ1204に戻る。N回以上検索したかを調べ、N回以上検索した場合は、基準コマンドの情報を破棄し(ステップ1215)、ステップ1201に戻る。ステップ1202に戻り、最新Nコマンド登録後、受領したコマンドが過去のNコマンドとSPT距離以内の関係にないならば、ステップ1201に戻る。以上の処理を実行することにより、アクセスに方向性のあるパタンを抽出することができる。
図11にアクセスに方向性のあるリードアクセスのもう1つの例を示す。図11の例では、リードコマンドR1〜R11が、コマンド番号順に連続して発行されている。R1〜R11はすべて、LBAのマイナス方向に連続してアクセスしており、また、R1とR3、R3とR5、R5とR7、R7とR9、R9とR11のコマンドのアクセス間隔は、2つ前に発行されたリードコマンドと一定距離のアクセスとなっている。このアクセスの特徴は、連続して同一の方向にアクセスし、さらに、コマンドが一つ置きに一定距離間隔で規則的にアクセスされているという点にある。なお、一定距離とは、数十セクタの幅を持った距離を示すこととする。
図12に図11のアクセスパタンに対する制御のフローを示す。なお、図12の制御フローは、図11のパタン抽出後の処理である。図11のパタンのように、アクセスの方向性とアクセス間隔に規則性がある場合は、その後のコマンドにおいてアクセスされる領域をある程度予測することが可能である。そのため、そのアクセスパタンの特徴を利用して、後続のコマンドでアクセスされる領域を予測しながら先読みを行うことが可能である。まず、図11のアクセスパタンの継続判定を行う(ステップ1401:処理内容は図15を参照)。アクセスパタンの継続を確認し(ステップ1402)、アクセスパタンの継続が確認されると受領したコマンドにおいて回転待ちが発生するかを調べる(ステップ1403)。回転待ちが発生すると判断された場合には、予測アクセス領域にアクセスした場合のアクセス時間を求める(ステップ1404)。なお、このアクセス時間は、現ヘッドの位置から、予測アクセス領域にアクセスし、受領したコマンドのターゲットデータにアクセスするまでにかかるアクセス時間を意味する。
図13に図11で示したアクセスパタンにおけるリードデータのディスク上のデータ配置の例を示す。図13の例では、RN(1501)、R(N+1)(1502)のコマンドが発行されている。なお、図11で示したアクセスパタンの特徴より、RN(1501)のコマンドを受領した時点で、R(N+2)(1503)でアクセスされる領域を予測することが可能である。そのため、R(N+1) (1502)のコマンドを受領した時点で、現ヘッドからR(N+2)(1503)のアクセス予測領域にアクセスし、さらにR(N+1) (1502)にアクセスするための時間(2回のシーク時間(シーク1504、シーク1505)と回転待ち時間(1506)の合計)も算出することが可能である。
図12に戻り、発生する回転待ち時間は予測アクセス領域にアクセスした場合のアクセス時間より多いかをしらべ(ステップ1405)、多い場合は予測領域にアクセスして先読みした後、ターゲットデータを読み出す(ステップ1406)。その後、最新コマンドを基準コマンドとして設定する(1407)。また、発生する回転待ち時間が予測アクセス領域にアクセスした場合のアクセス時間以下の場合は従来の先読みを実施し(ステップ1408)、その後、最新コマンドを基準コマンドとして設定する(ステップ1407)。
ステップ1402に戻り、アクセスパタンが継続しているかを調べ、継続が確認できなかった場合には、コマンドをN回以上検索したか調べ(ステップ1409)、N回以上検索していなければ1401の処理に戻る。また、コマンドをN回以上検索したか調べ、N回以上検索していた場合は処理を終了する。
以上のとおり、リードアクセスパタンに図11に示すような特徴がある場合、その特徴を抽出して、特徴に応じた回転待ち時間を利用した先読みのアクセス領域を決定することで、キャッシュのヒット率を向上させ、データの転送速度を上げることが可能である。
次に、図14を用いて、図11に示したアクセスパタンを抽出するための制御を説明する。なお、図14の制御フローは、リードコマンドのみを扱うこととする。ディスク装置は、最新のN個のコマンドのアクセス情報を登録する(ステップ1601)。なお、アクセス情報とは、コマンドごとに設定されているLBAで示されたアクセス開始アドレスのことである。また、以下では、アクセス距離およびアクセスの方向性はLBAで示されたアクセス開始アドレスにより判断されることとする。
次に登録されたコマンドと同一方向にアクセスするコマンドがあるかを調べる(ステップ1602)。該当するコマンド群がない場合はステップ1601に戻る。該当するコマンド群がある場合は、コマンド群の1つを選択する(ステップ1603)。次に選択したコマンドを起点としてアクセス距離を測定し、その結果を登録する(ステップ1604)。すべてのコマンドを起点として距離を測定したかを調べ(ステップ1605)、すべてのコマンドを起点にして距離を測定した場合は、それぞれの距離の差が数十セクタ以内となっているコマンドを調べる(ステップ1606)。距離の差が数十セクタ以内となっているコマンドがある場合は、距離の差が数十セクタ以内となっているアクセスパタンがY回以上繰り返されているかを調べる(ステップ1607)。Y回以上繰り返されている場合は、最新コマンドを基準コマンドとして設定する(ステップ1608)。なお、基準コマンドとは、対象となるアクセスパタンの継続を判定する際に基準となるコマンドのことである。次にこのアクセスパタンのアクセス距離の代表値を保存する(ステップ1609)。
ステップ1607に戻り、Y回以上繰り返されていない場合は、ステップ1601以降を繰り返す。ステップ1606に戻り、コマンド間の距離が数十セクタ以内の差となっているコマンドがない場合は、ステップ1601以降を繰り返す。ステップ1605に戻り、すべてのコマンドを起点として距離を測定していない場合はステップ1603以降を繰り返す。
図15に図14の制御フローで抽出したアクセスパタンの継続判定をする制御のフローを示す。アクセスパタン抽出後に受領したコマンドが連続して同一方向にアクセスするコマンドであるかを調べ(ステップ1701)、同一方向にアクセスするコマンドであれば、基準コマンドとの距離が抽出したアクセスパタンのアクセス距離と数十セクタ以内の差になっているかを調べる(ステップ1702)。基準コマンドとの距離が抽出したアクセスパタンのアクセス距離と数十セクタ以内の差になっていれば、アクセスパタン継続と判定し(ステップ1703)、処理を終了する。また、基準コマンドとの距離が抽出したアクセスパタンのアクセス距離と数十セクタ以内の差になっていなければ、アクセスパタン非継続と判定し(ステップ1704)、処理を終了する。ステップ1701に戻り、連続して同一方向にアクセスするコマンドであるか調べ、同一方向にアクセスするコマンドでなければ、アクセスパタン非継続と判定し(ステップ1704)、処理を終了する。
以上の説明のとおり、本発明の実施例による、アクセスパタンの特徴に基づき回転待ちを利用した先読みのアクセス領域を決定する先読み制御は、キャッシュのヒット率を向上させ、データの転送速度を上げることが可能である。特に映像など、シーケンシャルに書き込まれたデータの読み出し処理(巻き戻し処理や早送り処理)の高速化に生かすことが可能である。
101:ROM、
102:RAM、
103:Timer、
104:制御プロセッサ、
105:キャッシュメモリ、
106:磁気ディスク、
107:ハードディスク制御装置(HDC)、
108:サーボ制御回路、
109:ボイスコイルモータ(VCM)
110:モータドライバ、
111:セレクタ、
112:信号処理回路、
113:ディスクフォーマッタ、
114:ホストインタフェース。
102:RAM、
103:Timer、
104:制御プロセッサ、
105:キャッシュメモリ、
106:磁気ディスク、
107:ハードディスク制御装置(HDC)、
108:サーボ制御回路、
109:ボイスコイルモータ(VCM)
110:モータドライバ、
111:セレクタ、
112:信号処理回路、
113:ディスクフォーマッタ、
114:ホストインタフェース。
Claims (20)
- ディスクと、
ヘッドと、
キャッシュメモリと、
リード要求データが前記キャッシュメモリに格納されていない場合に、リード要求データを前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する手段と、
リード要求データが格納されている前記ディスクのトラックへのシークを終了後、リード要求データに前記ヘッドがアクセスするまでにかかるディスク回転待ち時間に、リード要求データより前のアドレスに格納されているデータを、前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する先行データ先読み手段と、
リード要求データを前記キャッシュメモリに転送した後、リード要求データの直後に格納されているデータを、前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する後続データ先読み手段と、
前記後続データ先読み手段が先読みを実行中、後続のコマンドにおいてリード要求データを前記キャッシュメモリに転送する必要が生じた場合に、後続データの先読みを中断し、後続コマンドのリード要求データにアクセスした時に発生するであろう回転待ち時間を予測する回転待ち時間予測手段と、
前記回転待ち時間予測手段が予測した回転待ち時間を、回転待ちが発生する直前のコマンド群のアクセスパタンの特徴に基づき、前記後続データ先読み手段と前記先行データ先読み手段に割り当てる手段と、
を有することを特徴とするディスク装置。 - 請求項1記載のディスク装置であって、リードコマンドにより指定される論理ブロック・アドレス(LBA)によりアクセスの方向及びアクセス間隔を分析することにより、アクセスパタンとその特徴を抽出することを特徴とするディスク装置。
- 請求項2記載のディスク装置であって、受領したリードコマンドのリード要求データの開始アドレス(LBA)と、直前リードコマンドのリード要求データの開始ドレス(LBA)との大小を比較し、受領したコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも大きい場合には、LBAプラスの方向へのアクセスと判断し、また、受領したリードコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも小さい場合には、LBAのマイナス方向のアクセスと判断し、
受領したリードコマンドのリード要求データの開始アドレス(LBA)と直前リードコマンドのリード要求データの開始ドレス(LBA)との距離を求め、アクセス間隔を分析することを特徴とするディスク装置 - 請求項3記載のディスク装置であって、直前のコマンド群においてLBAのプラス方向となるパタンの特徴があった場合でかつ、後続コマンドにおいてLBAのプラス方向にアクセスするパタンが継続した場合には、前記回転待ち時間予測手段が予測した回転待ち時間を、前記後続データ先読み手段のみに充て、また直前のコマンド群においてLBAのマイナス方向となるパタンの特徴があった場合でかつ、後続のコマンドにおいてLBAのマイナス方向にアクセスするパタンが継続した場合には、前記回転待ち時間予測手段が予測した回転待ち時間を、前記先行データ先読み手段のみに充てることを特徴とするディスク装置。
- 請求項4記載のディスク装置であって、コマンドごとのアクセスがLBAのプラス方向またはマイナス方向にアクセスするパタンにおけるコマンド間のアクセス距離が、回転待ち時間を利用してアクセス可能な距離以内となる場合に、後続のコマンドにおいてLBAのプラス方向にアクセスするパタンとなる場合は前記回転待ち時間予測手段が予測した回転待ち時間を前記後続データ先読み手段のみに充て、後続のコマンドにおいてLBAのマイナス方向にアクセスするパタンとなる場合は、前記回転待ち時間予測手段が予測した回転待ち時間を前記先行データ先読み手段のみに充てることを特徴とするディスク装置。
- 請求項4記載のディスク装置であって、コマンドごとのアクセスがLBAのプラス方向またはマイナス方向にアクセスするパタンのいずれかのパタンのコマンド間のアクセス距離が、一定距離間隔となっている場合には、アクセスの方向性とコマンドのアクセス間隔から後続コマンドのアクセス領域を予測する手段を備え、
リード要求されたデータへのアクセス時間(現ヘッド位置からリード要求データにアクセスするまでの時間)が、前記予測領域へのアクセス時間よりも長い場合には、前記予測領域にアクセスし、該予測領域において先読みを実行した後、リード要求データの読み出しを行うことを特徴とするディスク装置。 - 請求項6記載のディスク装置であって、最新N個のコマンドにおいて、アクセス方向が同一となるコマンド群を抽出し、さらに同一アクセス方向のコマンド群においてコマンド間のアクセス距離を調べ、アクセス距離が数十セクタ以内の差であるコマンド群をさらに抽出し、該コマンド群における最新コマンドを基準コマンドとして設定し、さらに数十セクタ以内の違いとなっているアクセス距離の代表値を保存して、同一アクセス方向でかつアクセス距離が近似するパタンを抽出することを特徴とするディスク装置。
- 請求項7記載のディスク装置であって、前記アクセスパタン抽出後は、後続コマンドにおけるアクセスが基準コマンドと比較して、保存したアクセス方向と同一でかつ、保存したアクセス距離に近似する場合に前記アクセスパタンが継続すると判定することを特徴とするディスク装置。
- 請求項1記載のディスク装置であって、前記各手段はプロセッサで実行されるマイクロプログラムで構成されることを特徴とするディスク装置。
- データを保持するディスクと、
該ディスクに対してデータの記録または読み出しを行うヘッドと、
前記ディスクから読み出したデータを格納するキャッシュメモリと、
リード要求データが前記キャッシュメモリに格納されていない場合に、リード要求データを、前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する制御装置、とを有し、前記制御装置は、
リード要求データを前記キャッシュメモリに転送した後、リード要求データの後に記録されているデータを、前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する後続データの先読みと、
リード要求データが記録されている前記ディスクのトラックへのシークを終了後、リード要求データに前記ヘッドがアクセスするまでにかかるディスク回転待ち時間に、リード要求データより前のアドレスに記録されているデータを、前記ヘッドを通じて前記ディスクから読み出して前記キャッシュメモリに転送する先行データの先読みを実行し、
前記後続データの先読みを実行中、後続のコマンドにおいてリード要求データを前記キャッシュメモリに転送する必要が生じた場合に、後続データの先読みを中断し、後続コマンドのリード要求データにアクセスした時に発生するであろう回転待ち時間を予測し、
予測した回転待ち時間を、回転待ちが発生する直前のコマンド群のアクセスパタンの特徴に基づき、前記後続データの先読みと前記先行データの先読みに割り当てることを特徴とするディスク装置。 - 請求項10記載のディスク装置であって、リードコマンドにより指定される論理ブロック・アドレス(LBA)によりアクセスの方向及びアクセス間隔を分析することにより、アクセスパタンとその特徴を抽出することを特徴とするディスク装置。
- 請求項11記載のディスク装置であって、受領したリードコマンドのリード要求データの開始アドレス(LBA)と、直前リードコマンドのリード要求データの開始ドレス(LBA)との大小を比較し、受領したコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも大きい場合には、LBAプラスの方向へのアクセスと判断し、また、受領したリードコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも小さい場合には、LBAのマイナス方向のアクセスと判断し、
受領したリードコマンドのリード要求データの開始アドレス(LBA)と直前リードコマンドのリード要求データの開始ドレス(LBA)との距離を求め、アクセス間隔を分析することを特徴とするディスク装置 - 請求項12記載のディスク装置であって、回転待ちが発生する直前のコマンド群において論理ブロック・アドレス(LBA)のプラス方向となるパタンの特徴があった場合でかつ、後続コマンドにおいてLBAのプラス方向にアクセスするパタンが継続した場合には、前記予測した回転待ち時間を前記後続データの先読みに充て、また直前のコマンド群においてLBAのマイナス方向となるパタンの特徴があった場合でかつ、後続のコマンドにおいてLBAのマイナス方向にアクセスするパタンが継続した場合には、前記予測した回転待ち時間を前記先行データの先読みに充てることを特徴とするディスク装置。
- キャッシュメモリを有する回転型記憶装置の先読み制御方法であって、
リード要求データがキャッシュメモリに格納されていない場合に、リード要求データを、回転型記録媒体からヘッドを通じて読み出して前記キャッシュメモリに転送した後、リード要求データの後に記録されているデータを、前記記録媒体から読み出して前記キャッシュメモリに転送する後続データの先読み処理と、
リード要求データが記録されている前記記録媒体の領域へのシークを終了後、リード要求データに前記ヘッドがアクセスするまでにかかる回転待ち時間に、リード要求データより前のアドレスに記録されているデータを、前記ヘッドを通じて前記記録媒体から読み出して前記キャッシュメモリに転送する先行データの先読み処理を含み、
前記後続データの先読みを実行中、後続のコマンドにおいてリード要求データを前記キャッシュメモリに転送する必要が生じた場合に、後続データの先読みを中断し、後続コマンドのリード要求データにアクセスした時に発生するであろう回転待ち時間を予測し、予測した回転待ち時間を、回転待ちが発生する前のコマンド群のアクセスパタンの特徴に基づき、前記後続データの先読み処理と前記先行データの先読み処理に割り当てることを特徴とする回転型記憶装置の先読み制御方法。 - 請求項14記載の回転型記憶装置の先読み制御方法であって、リードコマンドにより指定される論理ブロック・アドレス(LBA)によりアクセスの方向及びアクセス間隔を分析することにより、アクセスパタンとその特徴を抽出することを特徴とする回転型記憶装置の先読み制御方法。
- 請求項15記載の回転型記憶装置の先読み制御方法であって、受領したリードコマンドのリード要求データの開始アドレス(LBA)と、直前リードコマンドのリード要求データの開始ドレス(LBA)との大小を比較し、受領したコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも大きい場合には、LBAプラスの方向へのアクセスと判断し、また、受領したリードコマンドのリード要求データの開始アドレス(LBA)が直前リードコマンドのリード要求データの開始ドレス(LBA)よりも小さい場合には、LBAのマイナス方向のアクセスと判断し、
受領したリードコマンドのリード要求データの開始アドレス(LBA)と直前リードコマンドのリード要求データの開始ドレス(LBA)との距離を求め、アクセス間隔を分析することを特徴とする回転型記憶装置の先読み制御方法。 - 請求項16記載の回転型記憶装置の先読み制御方法であって、直前のコマンド群においてLBAのプラス方向となるパタンの特徴があった場合でかつ、後続コマンドにおいてLBAのプラス方向にアクセスするパタンが継続した場合には、前記予測した回転待ち時間を、前記後続データの先読み処理に充て、また直前のコマンド群においてLBAのマイナス方向となるパタンの特徴があった場合でかつ、後続のコマンドにおいてLBAのマイナス方向にアクセスするパタンが継続した場合には、前記予測した回転待ち時間を、前記先行データの先読み処理に充てることを特徴とする回転型記憶装置の先読み制御方法。
- 請求項17記載の回転型記憶装置の先読み制御方法であって、コマンドごとのアクセスがLBAのプラス方向またはマイナス方向にアクセスするパタンにおけるコマンド間のアクセス距離が、回転待ち時間を利用してアクセス可能な距離以内となる場合に、後続のコマンドにおいてLBAのプラス方向にアクセスするパタンとなる場合は前記予測した回転待ち時間を前記後続データの先読み処理に充て、後続のコマンドにおいてLBAのマイナス方向にアクセスするパタンとなる場合は、前記予測した回転待ち時間を前記先行データの先読み処理に充てることを特徴とする回転型記憶装置の先読み制御方法。
- 請求項17記載の回転型記憶装置の先読み制御方法であって、コマンドごとのアクセスがLBAのプラス方向またはマイナス方向にアクセスするパタンのいずれかのパタンのコマンド間のアクセス距離が、一定距離間隔となっている場合には、アクセスの方向性とコマンドのアクセス間隔から後続コマンドのアクセス領域を予測するステップをさらに含み、
リード要求されたデータへのアクセス時間が、前記予測領域へのアクセス時間(現ヘッド位置から該予測領域にアクセスし、さらにリード要求データにアクセスするまでの時間)よりも長い場合には、前記予測領域にアクセスし、該予測領域において先読みを実行した後、リード要求データの読み出しを行うことを特徴とする回転型記憶装置の先読み制御方法。 - 請求項19記載の回転型記憶装置の先読み制御方法であって、最新N個のコマンドにおいて、アクセス方向が同一となるコマンド群を抽出し、さらに同一アクセス方向のコマンド群においてコマンド間のアクセス距離を調べ、アクセス距離が数十セクタ以内の差であるコマンド群をさらに抽出し、該コマンド群における最新コマンドを基準コマンドとして設定し、さらに数十セクタ以内の違いとなっているアクセス距離の代表値を保存して、同一アクセス方向でかつアクセス距離が近似するパタンを抽出することを特徴とする回転型記憶装置の先読み制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006130053A JP2007304691A (ja) | 2006-05-09 | 2006-05-09 | ディスク装置及び回転型記憶装置の先読み制御方法 |
US11/801,684 US20070276993A1 (en) | 2006-05-09 | 2007-05-09 | Disk unit and reading ahead control method for rotation type storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006130053A JP2007304691A (ja) | 2006-05-09 | 2006-05-09 | ディスク装置及び回転型記憶装置の先読み制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007304691A true JP2007304691A (ja) | 2007-11-22 |
Family
ID=38750839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006130053A Pending JP2007304691A (ja) | 2006-05-09 | 2006-05-09 | ディスク装置及び回転型記憶装置の先読み制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070276993A1 (ja) |
JP (1) | JP2007304691A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015069405A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | ディスク装置、ディスク装置における先読み制御方法およびプログラム |
WO2015077123A1 (en) * | 2013-11-19 | 2015-05-28 | Karim Kaddeche | Improved apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100773738B1 (ko) * | 2006-07-03 | 2007-11-09 | 삼성전자주식회사 | 하드 디스크 드라이브, 하드 디스크 드라이브의 재생적중률 향상 방법 및 그 방법을 수행하는 컴퓨터프로그램을 기록한 기록 매체 |
CN101673247B (zh) * | 2009-09-15 | 2011-10-19 | 威盛电子股份有限公司 | 内存管理系统与方法 |
US8539162B2 (en) * | 2010-02-24 | 2013-09-17 | Marvell World Trade Ltd. | Caching based on spatial distribution of accesses to data storage devices |
US9684455B2 (en) | 2013-03-04 | 2017-06-20 | Seagate Technology Llc | Method and apparatus for sequential stream I/O processing |
US9552297B2 (en) | 2013-03-04 | 2017-01-24 | Dot Hill Systems Corporation | Method and apparatus for efficient cache read ahead |
US8930619B2 (en) | 2012-05-29 | 2015-01-06 | Dot Hill Systems Corporation | Method and apparatus for efficiently destaging sequential I/O streams |
US9053038B2 (en) | 2013-03-05 | 2015-06-09 | Dot Hill Systems Corporation | Method and apparatus for efficient read cache operation |
US8886880B2 (en) | 2012-05-29 | 2014-11-11 | Dot Hill Systems Corporation | Write cache management method and apparatus |
US9158687B2 (en) | 2013-03-04 | 2015-10-13 | Dot Hill Systems Corporation | Method and apparatus for processing fast asynchronous streams |
US9152563B2 (en) | 2013-03-04 | 2015-10-06 | Dot Hill Systems Corporation | Method and apparatus for processing slow infrequent streams |
US9465555B2 (en) | 2013-08-12 | 2016-10-11 | Seagate Technology Llc | Method and apparatus for efficient processing of disparate data storage commands |
US11188474B2 (en) * | 2018-06-19 | 2021-11-30 | Western Digital Technologies, Inc. | Balanced caching between a cache and a non-volatile memory based on rates corresponding to the cache and the non-volatile memory |
CN112084121A (zh) * | 2020-09-11 | 2020-12-15 | 深圳佰维存储科技股份有限公司 | 硬盘预读方法、装置、计算机可读存储介质及电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729718A (en) * | 1993-11-10 | 1998-03-17 | Quantum Corporation | System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering |
JPH11110139A (ja) * | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
US6145052A (en) * | 1997-11-04 | 2000-11-07 | Western Digital Corporation | Disk drive with adaptive pooling for command reordering |
US6209058B1 (en) * | 1999-01-27 | 2001-03-27 | Quantum Corp. | Cache management for data transfer control from target disk areas |
US6272565B1 (en) * | 1999-03-31 | 2001-08-07 | International Business Machines Corporation | Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute |
WO2001001414A1 (en) * | 1999-06-24 | 2001-01-04 | Seagate Technology, Llc. | Seek acoustics reduction with minimized performance degradation |
US6658535B1 (en) * | 2000-01-19 | 2003-12-02 | International Business Machines Corporation | Non-interfering seek behavior modification for improved hard drive performance |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
US6763404B2 (en) * | 2001-07-26 | 2004-07-13 | International Business Machines Corporation | System and method for scheduling of random commands to minimize impact of locational uncertainty |
US7043567B2 (en) * | 2002-07-22 | 2006-05-09 | Seagate Technology Llc | Method and apparatus for determining the order of execution of queued commands in a data storage system |
US6877070B2 (en) * | 2002-07-23 | 2005-04-05 | Hitachi Global Storage Technologies Netherlands, B.V. | Method and apparatus for implementing command queue ordering with benefit determination of prefetch operations |
US7539814B2 (en) * | 2002-09-05 | 2009-05-26 | Seagate Technology Llc | Selecting a target destination using seek cost indicators based on longitudinal position |
US7346740B2 (en) * | 2002-11-01 | 2008-03-18 | Seagate Technology Llc | Transferring speculative data in lieu of requested data in a data transfer operation |
US6968422B1 (en) * | 2003-06-27 | 2005-11-22 | Western Digital Technologies, Inc. | Disk drive employing a modified rotational position optimization algorithm to account for external vibrations |
KR100585132B1 (ko) * | 2004-02-21 | 2006-06-01 | 삼성전자주식회사 | 최적화된 기록 순서 재배열 방법 및 장치, 기록 방법, 기록 매체 |
-
2006
- 2006-05-09 JP JP2006130053A patent/JP2007304691A/ja active Pending
-
2007
- 2007-05-09 US US11/801,684 patent/US20070276993A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015069405A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | ディスク装置、ディスク装置における先読み制御方法およびプログラム |
WO2015077123A1 (en) * | 2013-11-19 | 2015-05-28 | Karim Kaddeche | Improved apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9058825B2 (en) | 2013-11-19 | 2015-06-16 | Karim Kaddeche | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9190087B2 (en) | 2013-11-19 | 2015-11-17 | Karim Kaddeche | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9293163B2 (en) | 2013-11-19 | 2016-03-22 | L2 Drive Llc | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9384766B2 (en) | 2013-11-19 | 2016-07-05 | L2 Drive Llc | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9620159B2 (en) | 2013-11-19 | 2017-04-11 | L2 Drive Llc | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US9721600B2 (en) | 2013-11-19 | 2017-08-01 | L2 Drive Inc. | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
Also Published As
Publication number | Publication date |
---|---|
US20070276993A1 (en) | 2007-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007304691A (ja) | ディスク装置及び回転型記憶装置の先読み制御方法 | |
US7539820B2 (en) | Disk device and control method for cache | |
US6553476B1 (en) | Storage management based on predicted I/O execution times | |
US6842801B2 (en) | System and method of implementing a buffer memory and hard disk drive write controller | |
EP1280063A2 (en) | Cache control methods and apparatus for hard disk drives | |
US6877070B2 (en) | Method and apparatus for implementing command queue ordering with benefit determination of prefetch operations | |
US7464250B2 (en) | Method to reduce disk access time during predictable loading sequences | |
JPH06289999A (ja) | ディスク制御システム | |
US7000077B2 (en) | Device/host coordinated prefetching storage system | |
JP2005267497A (ja) | データ記憶装置、その制御方法及び磁気ディスク記憶装置 | |
JP2003508866A (ja) | 性能低下を最小に抑えたシーク音響の低減 | |
US6578107B1 (en) | Method and system for prefetching data where commands are reordered for execution | |
JP2001125829A (ja) | コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法 | |
JP2006031383A (ja) | リアルタイム性能向上方式を実装したディスク装置 | |
US6957300B2 (en) | Reducing delay of command completion due to overlap condition | |
JP2007011661A (ja) | ディスク装置及びディスク装置のキャッシュメモリ制御方法 | |
US5875453A (en) | Apparatus for and method of information processing | |
JP2001014111A (ja) | 回転形記憶装置の制御方法 | |
US7707356B2 (en) | Method and apparatus for scheduling disk read requests | |
JP2004164144A (ja) | ディスク装置 | |
JPH10171713A (ja) | ディスク記憶装置及び同装置に適用するキャッシュ制御方法 | |
JP2002244816A (ja) | ディスク装置 | |
JP2003173294A (ja) | ディスク装置 | |
JP2001117818A (ja) | メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 | |
JP2007328912A (ja) | ディスク装置 |