JP2005309653A - ディスク装置及びキャッシュ制御方法 - Google Patents
ディスク装置及びキャッシュ制御方法 Download PDFInfo
- Publication number
- JP2005309653A JP2005309653A JP2004123913A JP2004123913A JP2005309653A JP 2005309653 A JP2005309653 A JP 2005309653A JP 2004123913 A JP2004123913 A JP 2004123913A JP 2004123913 A JP2004123913 A JP 2004123913A JP 2005309653 A JP2005309653 A JP 2005309653A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- command
- cache area
- type
- area
- 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.)
- Withdrawn
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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
Abstract
【課題】アプリケーションの処理の特性にあわせたキャッシュ制御を可能にし、データ転送効率を高めること。
【解決手段】ディスクと、ディスクから読み込んだデータ及びホストから転送されたデータを一時的に保存するキャッシュと、キャッシュとホスト及びキャッシュとディスクの間のデータ転送を制御する制御部とを備え、キャッシュ内に、データの処理方針の異なるアプリケーション用のコマンド種別ごとにそれぞれ独立したキャッシュ領域を設定可能にする。さらに該コマンド種別ごとに先読みの仕方を制御することで、データの処理方針の異なるアプリケーションのアクセス特性を生かした効率のよい先読みを実現可能にする。
【選択図】 図4
【解決手段】ディスクと、ディスクから読み込んだデータ及びホストから転送されたデータを一時的に保存するキャッシュと、キャッシュとホスト及びキャッシュとディスクの間のデータ転送を制御する制御部とを備え、キャッシュ内に、データの処理方針の異なるアプリケーション用のコマンド種別ごとにそれぞれ独立したキャッシュ領域を設定可能にする。さらに該コマンド種別ごとに先読みの仕方を制御することで、データの処理方針の異なるアプリケーションのアクセス特性を生かした効率のよい先読みを実現可能にする。
【選択図】 図4
Description
本発明は、ハードディスク上のデータを効率よくキャッシュに転送し、キャッシュのヒット率を高め、コマンド実行時間を短縮し、データ転送速度を高めるためのキャッシュ制御に関する。
ハードディスクでは、キャッシュを設けディスク上のデータをキャッシュに転送して管理し、キャッシュから直接ホストにデータを転送できるようにすることで、ホストへのデータ転送効率を上げている。さらにキャッシュ領域をいくつかに区分し、それぞれの領域に性質の異なる処理のデータあるいは性質の異なるデータを分類して書き込むことでキャッシュのヒット率をより向上させ、データの転送効率を上げている。
たとえば、ランダム、シーケンシャルなどのアクセスパタンを抽出し、各パタンごとにキャッシュ領域を割り当て、ヒット率を向上させるという方式がある。このようなキャッシュ制御方式は、特許文献1、特許文献2、特許文献3などに記載されている。また、キャッシュ領域を2つに分け、データへのアクセス状況を統計処理した結果に基づき2つに分けたキャッシュ領域にデータを振り分ける方式がある。このようなキャッシュ制御方式は、特許文献4に記載されている。またたとえば、プログラムやスレッドごとに、キャッシュ領域を設定・管理するキャッシュ制御方式などがある。このようなキャッシュ制御方式は、特許文献5、特許文献6などに記載されている。
キャッシュのヒット率を高めるためには、ヒットする可能性が高いデータを効率よくキャッシュに読み込み、かつ優先的にキャッシュに残すことが必要である。特許文献1、特許文献2、特許文献3に記載の技術では、制御プログラムにより抽出したシーケンシャルやランダムなどのアクセスパタンに基づき、キャッシュ領域を割り当て管理しているものの、明確なアクセスパタンを抽出できないと、キャッシュデータを効率良く管理できないという問題があった。特許文献4に記載の技術では、アクセスが特定のデータに集中しないアクセスパタンでは効果が得られないという問題があった。また、特許文献5、特許文献6に記載の技術では、プロセスやスレッドごとにキャッシュ領域を管理できるため、複数アプリケーションを実行するシステム全体の処理効率を上げることが可能であるものの、システムによってはコスト等の問題から、ディスク外部に新たにキャッシュとその制御装置を設けられないという問題があった。そのため、ディスク装置単体だけでもプロセスやスレッドの概念を念頭に置いて制御の効率化を図ることが必要となっている。
以上の問題点を考慮した上で、本発明の第1の課題は、データの処理方針の異なるアプリケーション用のコマンド種別ごとにキャッシュ領域を設けデータを管理することで、アプリケーションの処理の特性にあわせたキャッシュ制御を可能にすることである。ここで、データの処理方針の相違とは、リアルタイム処理と非リアルタイム処理のような処理の違いを指す。
また、本発明の第2の課題は、コマンド発行状況の経時変化に対応するため、特定のコマンド種別に一旦割り当てたキャッシュ領域を開放し、他のコマンド種別に割り当てたキャッシュ領域と統合可能にすることで、キャッシュ領域の有効活用を図ることである。
また、本発明の第3の課題は、コマンド種別ごとに割り当てたキャッシュ領域に、各コマンド種別のアクセス特性を生かして効率よく先読みを実施してデータを読み込むことで、ヒット率を向上させディスク装置のデータ転送速度を上げることである。
上記課題を解決するために本発明は、データの処理方針が異なるアプリケーション用のコマンド種別ごとに、キャッシュ領域を設定可能にした。すなわち、本発明のディスク装置は、ディスクと、ディスクから読み込んだデータ及びホストから転送されたデータを一時的に保存するキャッシュと、キャッシュとホスト及びキャッシュとディスクの間のデータ転送を制御する制御部とを備え、キャッシュ内に、データの処理方針が異なるアプリケーション用のコマンド種別ごとにそれぞれ独立したキャッシュ領域を設定し、そのキャッシュ領域毎に当該キャッシュ領域に書き込まれたデータを管理するキャッシュデータ管理テーブルを有する。
また、コマンド種別ごとの最新コマンド受領時刻からの経過時間により、あるいはホストの指示によって、特定のコマンド種別に一旦割り当てたキャッシュ領域を開放し、他のコマンド種別に割り当てたキャッシュ領域と統合することを可能にした。さらに、コマンド種別ごとに先読み方法を選択可能にすることで、コマンド種別のアクセス特性を生かした効率のよい先読みを実施可能にした。
本発明によれば、データの処理方針が異なるアプリケーション用のコマンド種別ごとにキャッシュ領域を設定し、さらにコマンド種別ごとに先読みの仕方を制御することで、キャッシュヒット率を向上させ、データの転送速度を上げることが可能である。そのため例えば、動画像再生などのAVアプリケーションと、文書作成などのPCアプリケーションをPC上で同時に実行する場合において、効率よいデータ転送を実現できる。
以下、本発明の実施例を図面により説明する。本実施例では、代表的なコマンド種別として、主として動画・音声を処理するアプリケーションが使用するコマンド(以下AVコマンド)、文書を処理するアプリケーションや、プログラムを開発するアプリケーションで使用するコマンド(以下PCコマンド)を挙げ、説明する。AVコマンドは、主にシーケンシャルアクセスとなり、またPCコマンドは、アクセス傾向が一様でないアクセスとなる傾向があり、両者のコマンド種別によるアクセス傾向は異なる。
図1に、本発明を適用したディスク装置の例を示す。本発明を適用するディスク装置は、先読み制御プログラムを実装するプログラムROM101、キャッシュ内部のデータおよび、キャッシュ領域に関するデータを管理するテーブルを記憶するRAM102、ディスク装置内部の時刻を管理・設定するTimer103、上記、ROM101、RAM102、Timer103を内蔵し、ROM上の制御プログラムを読み込み実行する制御プロセッサ104、リード要求データ/ライト要求データを一時的に書き込むキャッシュ105、ホストとキャッシュ105及びキャッシュ105とディスクの間のデータ転送を制御するハードディスク制御装置(以下HDC)106、データの読み書きをする際にディスク114上の指定された位置にヘッドを移動するための制御を行うサーボ制御部107、サーボ制御部の指示に従って、ヘッドを移動するボイスコイルモータ(VCM)108、ディスクの回転を制御するモータドライバ109、ヘッドから読み込んだ磁気信号から指定されたヘッドの信号だけを選択するセレクタ110、セレクタ110から送られたアナログデータをディジタルデータに変換するまたはHDC106から送られたディジタルデータをアナログデータに変換する信号処理部111、リード用ゲートを開閉することにより、信号処理部111より送られたリードデータをキャッシュ105に転送し、また、ライト用ゲートを開閉することにより、キャッシュ105より転送されるライトデータを信号処理部111に転送するディスクフォーマッタ112、ホストとの間でコマンドやデータをやり取りするインタフェース制御部113よりなる。
図2に、ホストより発行されるコマンドの構成例を示す。コマンドは、コマンドの種類を示すコマンドコード21、リード・ライトするデータの論理ブロックアドレス(以下、LBA)22、ホスト要求データのサイズを示すホスト要求データ転送数23よりなる。コマンドコード21により、ディスク装置はAVコマンドとPCコマンドを区別することが可能である。
たとえば、ATA/ATAPI 7 (draft)でのコマンドコードは、PCコマンドであるREAD DMA EXTは25h、AVコマンドであるREAD STREAM DMA EXTは2Ahである。
たとえば、ATA/ATAPI 7 (draft)でのコマンドコードは、PCコマンドであるREAD DMA EXTは25h、AVコマンドであるREAD STREAM DMA EXTは2Ahである。
図3に、キャッシュデータ管理テーブルの構成例を示す。キャッシュデータ管理テーブルはキャッシュ105に書き込んだデータの開始LBA31、キャッシュメモリ上開始アドレス32、データサイズ33より成る。複数に区切られたキャッシュ領域には個々別々にデータが書き込まれるため、キャッシュデータ管理テーブルもキャッシュ領域ごとに設定する。
図4に、AVコマンド用の領域41とPCコマンド用の領域42にキャッシュ領域を2分割した場合の例を示す。各領域へのデータの書き込み方向は矢印で示されている。AVコマンド用の開始アドレスは「0」、終了アドレスは「(最大アドレス+1)/2−1」である。PCコマンド用領域の開始アドレスは「(最大アドレス+1)/2」、終了アドレスは「最大アドレス」である。各キャッシュ領域では、終了アドレスにおいてラップラウンドが実行される。ラップラウンド処理の設定は、開始アドレスと終了アドレスをHDC106のレジスタに設定することで可能である。
図5に、キャッシュ領域管理テーブルの構成例を示す。キャッシュ領域管理テーブルは、領域種別51、領域の開始アドレス52と終了アドレス53、領域のサイズ54、該コマンド種別以外の領域のキャッシュデータ管理テーブルをチェックする必要性の有無を示す他領域データ管理テーブルチェックフラグ55よりなる。他領域データ管理テーブルチェックフラグ55は、キャッシュ領域分割直後、コマンド種別ごとのデータがコマンド種別に割り当てられた各キャッシュ領域にきちんと振り分けられていない状況において、該コマンド種別とは別のキャッシュ領域のキャッシュデータ管理テーブルを更新する必要性の有無を示す。すなわち、キャッシュ105へのデータの書き込みに際し、該コマンド種別以外の領域のキャッシュデータ管理テーブルを更新する必要がある場合に1を設定し、該コマンド種別以外の領域のキャッシュデータ管理テーブルを更新する必要がない場合には0を設定する。このフラグは、すでにコマンド種別に割り当てた領域に新たにキャッシュ領域を設定した直後に1とし、新たに設定したキャッシュ領域においてラップラウンドが2度行われた時点で0に設定する。
図6aから図6dに、AVコマンド、PCコマンドの種別ごとにキャッシュ領域105を設定する(2分割する)キャッシュ制御方式のフローを示す。
コマンドを受領すると(ステップ601)、本発明のディスク装置は、コマンドコード21によりコマンド種別を判別する(ステップ602)。キャッシュ領域管理テーブルに、データが登録されているか調べ(ステップ603)、登録されていなければ、該コマンド種別を領域種別51、0アドレスを開始アドレス52、 最大アドレス53を終了アドレスとして、キャッシュ領域管理テーブルに登録する(ステップ604)。次に0アドレスを開始アドレス、 最大アドレスを終了アドレス、0アドレスをカレントアドレスとしてHDCのセグメント管理用レジスタに設定する(ステップ605)。次に該キャッシュ領域の他領域データ管理テーブルチェックフラグ55を0に設定する(ステップ606)。
ステップ603に戻り、キャッシュ領域管理テーブルにデータが登録されていれば、キャッシュ領域管理テーブルに、該コマンドに割り当てられているキャッシュ領域があるか調べる(ステップ607)。該コマンドに割り当てられているキャッシュ領域がなければ、さらに現キャッシュ領域のカレントアドレスが最大アドレス/2を超えているか調べる(ステップ608)。図7に現キャッシュ領域のカレントアドレスが最大アドレス/2を超えている場合のキャッシュ分割時の状態を示す。以下では図7を参照しながら、現キャッシュ領域のカレントアドレスが最大アドレス/2を超えている場合のキャッシュ分割処理について説明する。
現キャッシュ領域のカレントアドレス71が最大アドレス/2を超えていれば、該コマンド種別を領域種別51、0アドレス72を開始アドレス52、「(最大アドレス+1)/2−1」(73)を終了アドレス53としてキャッシュ領域管理テーブルに登録する(ステップ609)。次に、0アドレス72を開始アドレス、「(最大アドレス+1)/2−1」(73)を終了アドレス、0アドレス72をカレントアドレスとしてHDCのセグメント管理用レジスタに設定する(ステップ610)。次に、「(最大アドレス+1)/2」(74)を該コマンド種別とは別のコマンド種別のキャッシュ領域の開始アドレス52としてキャッシュ領域管理テーブルに再登録する(ステップ611)。次に、該コマンド種別とは別のコマンド種別のキャッシュ領域の開始アドレスを「(最大アドレス+1)/2」(74)としてHDCのレジスタに再設定する(ステップ612)。分割の結果、アドレス0(72)からアドレス「(最大アドレス+1)/ 2 −1」(73)までの領域が新たに設定したコマンド種別のキャッシュ領域(75)となる。また、「(最大アドレス+1)/2」(74)から最大アドレス(76)までの領域が、分割前のコマンド種別のキャッシュ領域(77)となる。
次に新たに設定したキャッシュ領域内ライトデータがディスクに書き込み済みか調べる(ステップ613)。ディスクに書き込み済みでなければ、該キャッシュデータ領域のライトデータをすべてディスクに書き込む(ステップ614)。次に、該コマンド種別のキャッシ領域のカレントアドレスよりデータを入力する(ステップ615)。次に、該コマンド種別のキャッシ領域のキャッシュデータ管理テーブルに入力データの管理情報を登録する(ステップ616)。次に、他領域データ管理テーブルチェックフラグを1に設定する(ステップ617)。次に設定したキャッシュ領域以外のキャッシュ領域のキャッシュデータ管理テーブルにもデータ更新状況を反映させる(ステップ618)。
ステップ613にもどり、新たに設定したキャッシュ領域内ライトデータがディスクに書き込み済みであれば、該コマンド種別のキャッシ領域のカレントアドレスよりデータを入力する(ステップ615)。次に該コマンド種別のキャッシ領域のキャッシュデータ管理テーブルに入力データの管理情報を登録する(ステップ616)。次に、他領域データ管理テーブルチェックフラグを1に設定する(ステップ617)。次に設定したキャッシュ領域以外のキャッシュ領域のキャッシュデータ管理テーブルにもデータ更新状況を反映させる(ステップ618)。
図8に、現キャッシュ領域のカレントアドレスが最大アドレス/2を超えていない場合のキャッシュ分割時の状態を示す。以下では図8を参照しながら、カレントアドレスが最大アドレス/2を超えていない場合のキャッシュ分割処理について説明する。
ステップ608に戻り、現キャッシュ領域のカレントアドレス(81)が最大アドレス/2を超えていなければ、該コマンド種別を領域種別51、「(最大アドレス+1)/2」(82)を開始アドレス52、最大アドレス(83)を終了アドレス53としてキャッシュ領域管理テーブルに登録する(ステップ619)。次に「(最大アドレス+1)/2」(82)を開始アドレス、最大アドレス(83)を終了アドレス、「(最大アドレス+1)/2」(82)をカレントアドレスとしてHDCのセグメント管理用レジスタに設定する(ステップ620)。次に、「(最大アドレス+1)/2−1」(84)を該コマンド種別とは別のコマンド種別のキャッシュ領域の終了アドレス53としてキャッシュ領域管理テーブルに再登録する(ステップ621)。次に、「(最大アドレス+1)/2−1」(84)を該コマンド種別とは別のコマンド種別のキャッシュ領域の終了アドレスとしてHDCのレジスタに再設定する(ステップ622)。分割の結果、アドレス0(85)からアドレス「(最大アドレス+1)/ 2−1」(84)までの領域が分割前のコマンド種別のキャッシュ領域(86)となる。また、「(最大アドレス+1)/2」(82)から最大アドレス(83)までの領域が、新たに設定したコマンド種別のキャッシュ領域(87)となる。
次に、新たに設定したキャッシュ領域内ライトデータがディスクに書き込み済みか調べる(ステップ613)。ディスクに書き込み済みでなければ、該キャッシュデータ領域のライトデータをすべてディスクに書き込む(ステップ614)。次に、該コマンド種別のキャッシ領域のカレントアドレスよりデータを入力する(ステップ615)。次に、該コマンド種別のキャッシ領域のキャッシュデータ管理テーブルに入力データの管理情報を登録する(ステップ616)。次に、他領域データ管理テーブルチェックフラグを1に設定する(ステップ617)。次に設定したキャッシュ領域以外のキャッシュ領域のキャッシュデータ管理テーブルにもデータ更新状況を反映させる(ステップ618)。
ステップ613にもどり、新たに設定したキャッシュ領域内ライトデータがディスクに書き込み済みであれば、該コマンド種別のキャッシ領域のカレントアドレスよりデータを入力する(ステップ615)。次に該コマンド種別のキャッシ領域のキャッシュデータ管理テーブルに入力データの管理情報を登録する(ステップ616)。次に、他領域データ管理テーブルチェックフラグを1に設定する(ステップ617)。次に設定したキャッシュ領域以外のキャッシュ領域のキャッシュデータ管理テーブルにもデータ更新状況を反映させる(ステップ618)。
ステップ607に戻り、キャッシュ領域管理テーブルに該コマンド種別に割り当てられているキャッシュ領域があれば、該コマンド種別のキャッシュ領域のカレントアドレスからデータを入力する(ステップ623)。次に該コマンド種別のキャッシュ領域のキャッシュデータ管理テーブルに入力データの管理情報を登録する(ステップ624)。次に該キャッシュ領域の他領域データ管理テーブルチェックフラグは1かを調べ(ステップ625)、該チェックフラグが1であれば、該キャッシュ領域以外のキャッシュ領域のキャッシュデータ管理テーブルにもデータ更新状況を反映させる(ステップ626)。また、ステップ625に戻り、該チェックフラグが1でなければ、処理を終了する。
図9に、デバイス側の動作設定を行うコマンドの例を示す。Command Code91は、デバイス設定用のコマンド種別を示すCodeを記入する。また、Features92には動作設定の内容を示す。ATAコマンドの標準仕様には、キャッシュ領域の分割を設定するCode はないが、新たに設定することは可能である。Featuresでキャッシュ領域分割のCodeを記入し、Sector Count93のビット[7:4]94で、PCコマンド用領域、ビット[3:0]95でAVコマンド用領域の比率を設定することは可能である。例えば、図9のように、ビット[7:4]94に0001、ビット[3:0]95に0001と入力して、PCコマンド用領域とAVコマンド用領域を1対1に設定することが可能である。
また、図9に示したようなコマンドを用いて、ホスト側から指定されたAVコマンド用領域とPCコマンド用領域の比率をもとに、キャッシュ領域を分割することも可能である。図6a、図6b、図6cでは、キャッシュ領域をPCコマンド用領域とAV用コマンド領域を1:1に分割する場合の処理のフローを示したが、分割する際の比率を、図9で示したようなコマンドにより、ホスト側で指示された比率に基づいて設定することも可能である。
上記のように、コマンド種別ごとのキャッシュ領域の比率をホスト側より指示することもできるが、コマンド種別ごとのコマンド発行間隔を用いて、ディスク側で適当な比率を算出して設定することも可能である。ただしその場合、新たたなコマンド種別を受領した直後に、キャッシュ領域を分割するのではなく、新たなコマンド種別を受領してからしばらくは、従来どおりのキャッシュ制御を実行する。例えば新たなコマンド種別のコマンド発行間隔を測定し、その値に基づき適当な分割比率を決定してから、分割処理を実行する。
図10にコマンド発行間隔登録テーブルの構成例を示す。コマンド発行間隔登録テーブルは、コマンド種別1001、最新5コマンドの発行間隔1002と平均発行間隔1003よりなる。コマンド発行間隔登録テーブルでは、コマンド種別ごとに、最新コマンドの発行間隔を登録する。さらに、登録済みの発行間隔に基づき、平均コマンド発行間隔を算出したものを登録する。図10のように、PCコマンドとAVコマンドの平均コマンド発行間隔がそれぞれ、40ms、200msであるとした場合、たとえば、PCコマンド用領域とAVコマンド用領域の比率を5:1として設定することが可能である。この比率に基づき、分割処理を実行することも可能である。
次に、一旦2つに分割したキャッシュ領域の一方が、一定時間経過しても使用されなかった場合(キャッシュ領域を割り当てたコマンド種別のコマンドが一定時間経過しても発行されない場合)該領域をもう一方のキャッシュ領域に統合する場合の例を示す。
図11に、キャッシュ状況管理テーブルの構成例を示す。キャッシュ状況管理テーブルはコマンド種別ごとの領域種別1101、領域種別ごとの最新コマンド受領時刻1102、ライトデータ転送済みチェックフラグ1103、最新リードコマンド終了チェックフラグ1104、キャッシュ領域ごとに設定するキャッシュ領域継続時間(ms)1105よりなる。最新コマンド受領時刻1102には、最新コマンドの受領時刻を領域種別(コマンド種別)ごとに登録する。尚、時刻は、CPUに内蔵のTimer103を参照して取得する。ライトデータ転送済みチェックフラグ1103には、コマンド種別ごとに設定されているキャッシュ領域内のライトデータが、ディスクに転送済みであるかをチェックし、転送済みである場合に1を、転送済みでない場合に0を入力する。最新リードコマンド終了チェックフラグ1104には、最新リードコマンドの処理が終了済みの場合1を、終了済みでない場合0を設定する。
図12に、2つに分割したキャッシュ領域を、最新コマンドを受領後一定時間経過した場合に、どちらか一方の領域に統合する処理のフローを示す。尚、図12に示す処理は、ROM101に実装されているファームウエアにより、一定時間間隔ごとに実行されるものとする。
キャッシュ領域管理テーブルに領域が複数登録されているか調べ(ステップ1201)、複数登録されていなければ処理を終了する。また、キャッシュ領域管理テーブルに領域が複数登録されていれば、すべての登録データをチェックしたか調べる(ステップ1202)。登録データをすべてチェックしていなければ、未チェックの登録キャッシュ領域を1つ選択する(ステップ1203)。次に、図11で示したキャッシュ状況管理テーブルを用いて、該キャッシ領域内のライトデータはディスクに転送済みか調べる(ステップ1204)。該キャッシ領域内ライトデータはディスクに転送済みでなく(ステップ1204)、かつすべての登録データをチェックしていなければ(ステップ1202)、別の未チェック登録キャッシュ領域を選択する(ステップ1203)。また、該キャッシ領域内ライトデータがディスクに転送済みであれば(ステップ1204)、キャッシュ状況管理テーブルを用いて、該領域種別の最新リードコマンドの処理が終了しているか調べる(ステップ1205)。該領域種別の最新リードコマンドの処理が終了していない状態で(ステップ1205)、かつすべての登録データをチェックしていなければ(ステップ1202)、別な未チェック登録キャッシュ領域を選択する(ステップ1203)。
また、該領域種別の最新リードコマンドの処理が終了していたら(ステップ1205)、CPU104に内蔵のTimer103を参照して、現在の時刻を取得する(ステップ1206)。次に、キャッシュ状況管理テーブルの該領域種別の最新コマンド受領時刻1102と、現時刻に基づき最新コマンド受領からの経過時間を求める(ステップ1207)。また、該経過時間が、キャッシュ状況管理テーブルのキャッシュ領域継続時間1105を越えているかを調べる(ステップ1208)。キャッシュ状況管理テーブルのキャッシュ領域継続時間1105を越えていなければ、すべての登録データがチェックされたかを調べ(ステップ1202)、チェックされていなければ、別な未チェック登録キャッシュ領域を選択する(ステップ1203)。
経過時間がキャッシュ状況管理テーブルのキャッシュ領域継続時間1105を越えていれば、キャッシュ領域管理テーブルにおいて、該キャッシュ領域の開始アドレス52が0であるかを調べる(ステップ1209)。該キャッシュ領域の開始アドレス52が0であれば、キャッシュ領域管理テーブルにおいて、該キャッシュ領域以外のキャッシュ領域の開始アドレス52を0に設定する(ステップ1210)。また、該キャッシュ領域の開始アドレス52が0でなければ、キャッシュ領域管理テーブルにおいて、該キャッシュ領域以外のキャッシュ領域の終了アドレス53を最大アドレスに設定する(ステップ1211)。次に該キャッシュ領域に割り当てたHDCの開始アドレスレジスタ、カレントアドレスレジスタ、終了アドレスレジスタを0クリアする(ステップ1212)。次にキャッシュ領域管理テーブルにおいて、該キャッシュ領域についてのデータを削除する(ステップ1213)。次にキャッシュ状況管理テーブルにおいて、該キャッシュ領域のデータをすべて削除する(ステップ1214)。
また、コマンド種別ごとに一旦割り当てたキャッシュ領域は、ホスト側からの指示により開放、統合することも可能である。すなわち、図9で示したデバイス側の動作設定を行うコマンドを用いて、開放、統合の指示を出すことも可能である。例えば、図9のコマンドのFeatures92 で、キャッシュ領域の開放と統合を示す動作設定を行い、Sector Countの[7:4]94ビットでPC用の比率を示す0001、また、[3:0]95ビットでAV用の比率を示す0000を設定して、AV用領域として割り当てていた領域を開放し、PC用領域だけに統合するよう指示を出すことが可能である。
図13に、ホスト側の指示により、コマンド種別ごとに2つに分割したキャッシュ領域を1つに統合する処理のフローを示す。割り当てたキャッシュ領域を開放、統合するコマンドをホストから受領すると(ステップ1301)、開放する領域内のライトデータがディスクに転送済みであるか調べる(ステップ1302)。開放するキャッシュ領域内のライトデータのディスクへの転送が確認されたら、キャッシュ領域管理テーブルを用いて、該キャッシュ領域の開始アドレス52が0であるかを調べる(ステップ1303)。該キャッシュ領域の開始アドレス52が0であれば、キャッシュ領域管理テーブルを用いて、該キャッシュ領域以外のキャッシュ領域の開始アドレス52を0に設定する(ステップ1304)。また、該キャッシュ領域の開始アドレス52が0でなければ、キャッシュ領域管理テーブルを用いて、該キャッシュ領域以外のキャッシュ領域の終了アドレス53を最大アドレスに設定する(ステップ1305)。次に該キャッシュ領域に割り当てたHDCの開始アドレスレジスタ、カレントアドレスレジスタ、終了アドレスレジスタを0クリアする(ステップ1306)。次にキャッシュ領域管理テーブルにおいて、該キャッシュ領域についてのデータを削除する(ステップ1307)。次にキャッシュ状況管理テーブルにおいて、該キャッシュ領域のデータをすべて削除する(ステップ1308)。
このように、本発明によるディスク装置では、ホスト側の指示によっても、ディスク装置内のキャッシュ領域の分割と統合を可能にしている。
図14に、AVコマンド、PCコマンドのコマンド種別ごとに先読み方式を選択する制御のフローを示す。リードコマンドを判別し(ステップ1401)、ホスト要求データがキャッシュヒットするか調べる(ステップ1402)。キャッシュヒットの場合は、処理を終了する。キャッシュヒットでなければ、コマンド種別を判別する(ステップ1403)。AVコマンドであれば(ステップ1404)、AV用キャッシュ領域があるか調べる(ステップ1405) 。AV用キャッシュ領域がなければ、AV用キャッシュ領域を設定する(ステップ1406)。次に(AV用キャッシュ領域のサイズ−該コマンドのホスト要求データ)分先読みを行う(ステップ1407)。
ステップ1405に戻り、AV用キャッシュ領域があれば、AV用キャッシュ領域内のライトデータはディスクに書き込み済みか調べる(ステップ1408)。AV用キャッシュ領域内のライトデータはディスクに書き込み済みであれば、キャッシュ領域管理テーブルを用いて、AV用に割り当てられているキャッシュ領域のサイズを調べる(ステップ1409)。次に、(AV用キャッシュ領域のサイズ−該コマンドのホスト要求データ)分先読みを行う(ステップ1411)。
またステップ1408に戻り、AV用キャッシュ領域内のライトデータがディスクに書き込み済みかを調べ、書き込み済みでなければ、AV用キャッシュ領域のサイズの1/4分またはカレントアドレスに一番近い未書き込みのライトデータの開始アドレスまで先読みを行う(ステップ1410)。
またステップ1404に戻り、AVコマンドでなければ、従来通りの空き時間いっぱい先読みを行う(ステップ1412)。
101:ROM
102:RAM
103:Timer
104:制御プロセッサ
105:キャッシュメモリ
106:ハードディスク制御装置
107:サーボ制御部
108:ボイスコイルモータ(VCM)
109:モータドライバ
110:セレクタ
111:信号処理部
112:ディスクフォーマッタ
113:ホストインタフェース
114:ディスク
102:RAM
103:Timer
104:制御プロセッサ
105:キャッシュメモリ
106:ハードディスク制御装置
107:サーボ制御部
108:ボイスコイルモータ(VCM)
109:モータドライバ
110:セレクタ
111:信号処理部
112:ディスクフォーマッタ
113:ホストインタフェース
114:ディスク
Claims (17)
- ディスクと、前記ディスクから読み込んだデータ及びホストから転送されたデータを一時的に保存するキャッシュと、前記キャッシュとホスト及び前記キャッシュと前記ディスクの間のデータ転送を制御する制御部とを備えるディスク装置において、
前記キャッシュ内に、データの処理方針が異なるアプリケーション用のコマンド種別ごとにそれぞれ独立したキャッシュ領域を設定し、前記キャッシュ領域毎に当該キャッシュ領域に書き込まれたデータを管理するキャッシュデータ管理テーブルを有することを特徴とするディスク装置。 - 請求項1に記載のディスク装置において、AVデータ処理用コマンドとPCアプリケーション用コマンドに対してそれぞれ独立したキャッシュ領域を設定することを特徴とするディスク装置。
- 請求項1に記載のディスク装置において、ホストからコマンド種別ごとのキャッシュ領域の比率についての指示を受け、前記比率に従って前記キャッシュ内にコマンド種別ごとのキャッシュ領域を設定することを特徴とするディスク装置。
- 請求項1に記載のディスク装置において、コマンド種別ごとのコマンド発行頻度に基づいて、前記コマンド種別ごとに設定するキャッシュ領域の比率を決定することを特徴とするディスク装置。
- 請求項1に記載のディスク装置において、コマンド種別ごとの最新コマンド受領時刻とコマンド種別ごとに予め設定したキャッシュ領域継続時間を保持するテーブルを有し、最新コマンド受領時刻からの経過時間が前記キャッシュ領域継続時間を超過したコマンド種別に割り当てたキャッシュ領域を開放し、他のコマンド種別に割り当てたキャッシュ領域と統合することを特徴とするディスク装置。
- 請求項1に記載のディスク装置において、ホストからの指示により、特定のコマンド種別に一旦割り当てたキャッシュ領域を開放し、他のコマンド種別に割り当てたキャッシュ領域と統合することを特徴とするディスク装置。
- 請求項1に記載のディスク装置において、コマンド種別に応じて先読み方法が異なることを特徴とするディスク装置。
- 請求項7に記載のディスク装置において、AVデータ処理用コマンドとPCアプリケーション用コマンドとで先読み方法が異なることを特徴とするディスク装置。
- 請求項8に記載のディスク装置において、AVデータ処理用コマンドでは最大で割り当てたキャッシュ領域いっぱい先読みを実行し、PCアプリケーション用コマンドでは先読み可能な時間いっぱい先読みを実行することを特徴とするディスク装置。
- ディスクと、前記ディスクから読み込んだデータ及びホストから転送されたデータを一時的に保存するキャッシュと、前記キャッシュとホスト及び前記キャッシュと前記ディスクの間のデータ転送を制御する制御部とを備えるディスク装置によるキャッシュ制御方法において、
前記制御部は、
受領したコマンドの種別を判定するステップと、
前記キャッシュを検査するステップと、
前記検査の結果、前記キャッシュに前記判定された第1の種別のコマンドに割り当てられたキャッシュ領域がなく前記第1の種別のコマンドとはデータの処理方針が異なるアプリケーション用の第2の種別のコマンドに割り当てられたキャッシュ領域があったとき、現キャッシュ領域のカレントアドレスが所定のアドレスを超えているか否か判定するステップと、
前記判定でカレントアドレスが前記所定のアドレスを超えていれば、前記キャッシュの0から前記所定のアドレス−1までを前記第1の種別のコマンドに対するキャッシュ領域に設定し、前記所定のアドレスから最大アドレスまでを前記第2の種別のコマンドに対するキャッシュ領域に設定するステップと
を実行することを特徴とするキャッシュ制御方法。 - 請求項10に記載のキャッシュ制御方法において、前記第1の種別のコマンドはAVデータ処理用コマンド又はPCアプリケーション用コマンドであり、前記第2の種別のコマンドはPCアプリケーション用コマンド又はAVデータ処理用コマンドであることを特徴とするキャッシュ制御方法。
- 請求項10に記載のキャッシュ制御方法において、前記制御部は、ホストからキャッシュ領域の分割比率についての指示を受領し、その指示に基づいて前記所定のアドレスを決定することを特徴とするキャッシュ制御方法。
- 請求項10に記載のキャッシュ制御方法において、前記制御部は、前記第1の種別のコマンドの発行間隔及び前記第1の種別のコマンドの発行間隔に関する情報を収集し、その情報に基づいて前記所定のアドレスを決定することを特徴とするキャッシュ制御方法。
- 請求項10に記載のキャッシュ制御方法において、
前記制御部は、
コマンド種別ごとに最新のコマンド受領時刻からの経過時間が予め設定したキャッシュ領域継続時間を超過したか否かを判定するステップと、
最新コマンド受領時刻からの経過時間が前記キャッシュ領域継続時間を超過したコマンド種別があるとき、当該コマンド種別に割り当てたキャッシュ領域を開放し、他のコマンド種別に割り当てたキャッシュ領域と統合するステップとを実行することを特徴とするキャッシュ制御方法。 - 請求項10に記載のキャッシュ制御方法において、コマンド種別に応じて先読み方法を変えることを特徴とするキャッシュ制御方法。
- 請求項10に記載のキャッシュ制御方法において、AVデータ処理用コマンドとPCアプリケーション用コマンドとで先読み方法を変えることを特徴とするキャッシュ制御方法。
- 請求項10に記載のキャッシュ制御方法において、AVデータ処理用コマンドでは最大で割り当てたキャッシュ領域いっぱい先読みを実行し、PCアプリケーション用コマンドでは先読み可能な時間いっぱい先読みを実行することを特徴とするキャッシュ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004123913A JP2005309653A (ja) | 2004-04-20 | 2004-04-20 | ディスク装置及びキャッシュ制御方法 |
US11/109,922 US7539820B2 (en) | 2004-04-20 | 2005-04-19 | Disk device and control method for cache |
CNB2005100673290A CN100378686C (zh) | 2004-04-20 | 2005-04-20 | 用于高速缓存的磁盘装置和控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004123913A JP2005309653A (ja) | 2004-04-20 | 2004-04-20 | ディスク装置及びキャッシュ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005309653A true JP2005309653A (ja) | 2005-11-04 |
Family
ID=35097657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004123913A Withdrawn JP2005309653A (ja) | 2004-04-20 | 2004-04-20 | ディスク装置及びキャッシュ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7539820B2 (ja) |
JP (1) | JP2005309653A (ja) |
CN (1) | CN100378686C (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001098B2 (en) | 2006-12-26 | 2011-08-16 | International Business Machines Corporation | Database update management |
WO2012081720A1 (ja) * | 2010-12-13 | 2012-06-21 | 日本電気株式会社 | データ管理装置、システム、プログラム、および、方法 |
JP2017076375A (ja) * | 2015-10-13 | 2017-04-20 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
JP2018041215A (ja) * | 2016-09-06 | 2018-03-15 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
JP2021108199A (ja) * | 2008-02-28 | 2021-07-29 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | メモリ機器のための拡張利用範囲 |
US11733869B2 (en) | 2009-06-04 | 2023-08-22 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US11782647B2 (en) | 2012-04-20 | 2023-10-10 | Memory Technologies Llc | Managing operational state data in memory module |
US11797180B2 (en) | 2012-01-26 | 2023-10-24 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143536A1 (en) * | 2005-06-07 | 2007-06-21 | Maxtor Corporation | Storage device that pre-fetches data responsive to host access stream awareness |
US7966450B2 (en) | 2005-09-01 | 2011-06-21 | Micron Technology, Inc. | Non-volatile hard disk drive cache system and method |
TW200732913A (en) * | 2006-02-24 | 2007-09-01 | Benq Corp | Memory allocation method and system |
CN100426261C (zh) * | 2006-09-08 | 2008-10-15 | 华为技术有限公司 | 一种高速存储器预读方法及装置 |
US8112603B2 (en) * | 2007-10-19 | 2012-02-07 | International Business Machines Corporation | Methods, systems, and computer program products for file relocation on a data storage device |
JP4992835B2 (ja) * | 2008-06-25 | 2012-08-08 | ソニー株式会社 | ディスク記憶装置およびプログラム |
CN101673188B (zh) * | 2008-09-09 | 2011-06-01 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
KR20110021184A (ko) * | 2009-08-25 | 2011-03-04 | 삼성전자주식회사 | 컴퓨터시스템, 디스크저장장치 및 그 제어방법 |
US9053038B2 (en) | 2013-03-05 | 2015-06-09 | Dot Hill Systems Corporation | Method and apparatus for efficient read cache operation |
US8930619B2 (en) | 2012-05-29 | 2015-01-06 | Dot Hill Systems Corporation | Method and apparatus for efficiently destaging sequential I/O streams |
US8886880B2 (en) | 2012-05-29 | 2014-11-11 | Dot Hill Systems Corporation | Write cache management method and apparatus |
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 |
CN102880559B (zh) * | 2012-07-31 | 2015-01-21 | 中国人民解放军国防科学技术大学 | 基于应用敏感的微处理器末端高速缓存控制方法及装置 |
CN103838680B (zh) * | 2012-11-23 | 2018-03-23 | 北京四达时代软件技术股份有限公司 | 一种数据缓存方法和装置 |
CN103067467B (zh) * | 2012-12-21 | 2016-08-03 | 深圳市深信服电子科技有限公司 | 缓存方法及装置 |
US9152563B2 (en) | 2013-03-04 | 2015-10-06 | Dot Hill Systems Corporation | Method and apparatus for processing slow infrequent streams |
US9158687B2 (en) | 2013-03-04 | 2015-10-13 | Dot Hill Systems Corporation | Method and apparatus for processing fast asynchronous streams |
US9465555B2 (en) | 2013-08-12 | 2016-10-11 | Seagate Technology Llc | Method and apparatus for efficient processing of disparate data storage commands |
US9135179B2 (en) * | 2013-05-01 | 2015-09-15 | Qualcomm, Incorporated | System and method of arbitrating cache requests |
CN103699660B (zh) * | 2013-12-26 | 2016-10-12 | 清华大学 | 一种大规模网络流式数据缓存写入的方法 |
JP6347055B2 (ja) * | 2014-03-28 | 2018-06-27 | パナソニックIpマネジメント株式会社 | 不揮発性メモリ装置 |
US9483409B2 (en) * | 2015-02-05 | 2016-11-01 | International Business Machines Corporation | Store forwarding cache |
US20170083441A1 (en) * | 2015-09-23 | 2017-03-23 | Qualcomm Incorporated | Region-based cache management |
US10802712B2 (en) | 2015-10-13 | 2020-10-13 | Axell Corporation | Information processing apparatus and method of processing information |
TWI639921B (zh) * | 2017-11-22 | 2018-11-01 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及使用所述方法的儲存控制器 |
US20190253357A1 (en) * | 2018-10-15 | 2019-08-15 | Intel Corporation | Load balancing based on packet processing loads |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05189316A (ja) | 1992-01-10 | 1993-07-30 | Fujitsu Ltd | ディスクキャッシュ制御方法 |
GB2270791B (en) * | 1992-09-21 | 1996-07-17 | Grass Valley Group | Disk-based digital video recorder |
JPH07105095A (ja) | 1993-10-04 | 1995-04-21 | Fuji Electric Co Ltd | ディスク記憶装置のキャッシュ制御方式 |
JPH10254778A (ja) | 1997-03-14 | 1998-09-25 | Hitachi Ltd | 磁気ディスクキャッシュ制御方式 |
JPH10301847A (ja) | 1997-04-30 | 1998-11-13 | Nec Corp | データ記憶装置 |
US6092149A (en) * | 1997-05-28 | 2000-07-18 | Western Digital Corporation | Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses |
JP2000056993A (ja) | 1998-08-10 | 2000-02-25 | Hitachi Ltd | 外部記憶装置コントローラのキャッシュメモリ制御方法 |
GB9901933D0 (en) * | 1999-01-28 | 1999-03-17 | Univ Bristol | Cache memory |
US20020078300A1 (en) * | 1999-08-16 | 2002-06-20 | Chanda Dharap | Semantics-based caching policy to minimize latency |
JP2001101076A (ja) | 1999-10-04 | 2001-04-13 | Alps Electric Co Ltd | ディスク制御装置 |
US6801208B2 (en) * | 2000-12-27 | 2004-10-05 | Intel Corporation | System and method for cache sharing |
US6662272B2 (en) * | 2001-09-29 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Dynamic cache partitioning |
US6944715B2 (en) * | 2002-08-13 | 2005-09-13 | International Business Machines Corporation | Value based caching |
-
2004
- 2004-04-20 JP JP2004123913A patent/JP2005309653A/ja not_active Withdrawn
-
2005
- 2005-04-19 US US11/109,922 patent/US7539820B2/en not_active Expired - Fee Related
- 2005-04-20 CN CNB2005100673290A patent/CN100378686C/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001098B2 (en) | 2006-12-26 | 2011-08-16 | International Business Machines Corporation | Database update management |
US11494080B2 (en) | 2008-02-28 | 2022-11-08 | Memory Technologies Llc | Extended utilization area for a memory device |
US11907538B2 (en) | 2008-02-28 | 2024-02-20 | Memory Technologies Llc | Extended utilization area for a memory device |
US11829601B2 (en) | 2008-02-28 | 2023-11-28 | Memory Technologies Llc | Extended utilization area for a memory device |
US11550476B2 (en) | 2008-02-28 | 2023-01-10 | Memory Technologies Llc | Extended utilization area for a memory device |
JP2021108199A (ja) * | 2008-02-28 | 2021-07-29 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | メモリ機器のための拡張利用範囲 |
US11775173B2 (en) | 2009-06-04 | 2023-10-03 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US11733869B2 (en) | 2009-06-04 | 2023-08-22 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
JP5849969B2 (ja) * | 2010-12-13 | 2016-02-03 | 日本電気株式会社 | データ管理装置、システム、プログラム、および、方法 |
WO2012081720A1 (ja) * | 2010-12-13 | 2012-06-21 | 日本電気株式会社 | データ管理装置、システム、プログラム、および、方法 |
US11797180B2 (en) | 2012-01-26 | 2023-10-24 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US11782647B2 (en) | 2012-04-20 | 2023-10-10 | Memory Technologies Llc | Managing operational state data in memory module |
JP2017076375A (ja) * | 2015-10-13 | 2017-04-20 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
JP2018041215A (ja) * | 2016-09-06 | 2018-03-15 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100378686C (zh) | 2008-04-02 |
US20050235108A1 (en) | 2005-10-20 |
US7539820B2 (en) | 2009-05-26 |
CN1690985A (zh) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005309653A (ja) | ディスク装置及びキャッシュ制御方法 | |
US9830939B1 (en) | Workload balancing for multiple actuators | |
US8639872B1 (en) | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk | |
US6553476B1 (en) | Storage management based on predicted I/O execution times | |
US8874875B2 (en) | ICC-NCQ command scheduling for shingle-written magnetic recording (SMR) Drives | |
US6842801B2 (en) | System and method of implementing a buffer memory and hard disk drive write controller | |
US6381677B1 (en) | Method and system for staging data into cache | |
JP3588311B2 (ja) | ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ | |
JP5271424B2 (ja) | ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するためのアロケートオンライトのスナップショット機構 | |
JP2007304691A (ja) | ディスク装置及び回転型記憶装置の先読み制御方法 | |
US6272589B1 (en) | Method and apparatus for controlling write buffering operation in a disk drive | |
CN100462910C (zh) | 用于存取控制的设备、系统和方法 | |
KR20060042133A (ko) | 데이터 기억 장치, 그 제어 방법 및 자기 디스크 기억 장치 | |
JP2007220101A (ja) | ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 | |
US6725395B2 (en) | Method for assigning alternative sector, method for reading data, disk drive apparatus, and apparatus for writing/reading AV data | |
US7487290B2 (en) | Disk drive having real time performance improvement | |
JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
JP6721821B2 (ja) | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム | |
US5875453A (en) | Apparatus for and method of information processing | |
JP2007011661A (ja) | ディスク装置及びディスク装置のキャッシュメモリ制御方法 | |
US9239683B2 (en) | Magnetic disk device | |
JP2009230789A (ja) | 記憶装置、記憶装置制御方法 | |
US7707356B2 (en) | Method and apparatus for scheduling disk read requests | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
JP2005309980A (ja) | ディスク装置及びリアルタイム処理と非リアルタイム処理の同時実行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061115 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090604 |