JP4136637B2 - キャッシュ制御装置 - Google Patents
キャッシュ制御装置 Download PDFInfo
- Publication number
- JP4136637B2 JP4136637B2 JP2002361505A JP2002361505A JP4136637B2 JP 4136637 B2 JP4136637 B2 JP 4136637B2 JP 2002361505 A JP2002361505 A JP 2002361505A JP 2002361505 A JP2002361505 A JP 2002361505A JP 4136637 B2 JP4136637 B2 JP 4136637B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- cache
- cache buffer
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、キャッシュバッファを設けたディスク装置のキャッシュ制御装置に関するものである。
【0002】
【従来の技術】
従来、ハードディスク装置は、ホストからのライトデータや、媒体から読み出したデータを一時的に保存するキャッシュバッファを設け、ホストからのライトあるいはリードの高速化を図っている。
【0003】
この際、ホストからライトコマンドで送られてくるデータを当該ライトコマンドの発行順にキャッシュバッファに図8の(1)に示すように、Wcmd1からWcmd8のように格納してキャッシュバッファ上に詰めて格納し、セグメント単位にデータを格納する手法で発生するキャッシュバッファの無駄な空き領域の発生を防止していた。
【0004】
また、バッファに空領域が少なくて全てのデータを書き込むことができないときに、未使用のバッファセグメントを探し出して接続状況テーブルに登録して使用可能なバッファ容量を増加させてこれに書き込むようにしていた。
【0005】
【特許文献1】
特開平05−020264号公報の〔0005〕など参照。
【0006】
【発明が解決しようとする課題】
しかし、上述した従来の後者の手法では、データを全てバッファの未使用領域に書き込めないときに、未使用のバッファセグメントを探してこれを使用したのでは、迅速にバッファにデータを書き込めないという問題があった。
【0007】
また、上述した前者の手法でライトコマンドの発行順に図8の(1)のようにキャッシュバッファに格納したデータについて、ライトコマンドの発行順にメディアライト(ディスク媒体に書き込み)できればよいが、現在のヘッドの位置に近い順にキャッシュバッファ上のデータをメディアライトしたりなどにより図8の(2)のように,飛び飛びの領域のデータをメディアライトすることがあり、結果として連続した空き領域がなく、図8の(3)に示すように、ホストから空き領域よりも大きなデータのライトコマンドが発行されると、当該領域のサイズを満たす連続空き領域ができるまで待機させられてしまい、応答が遅くなってしまうという問題があった。
【0008】
本発明は、これらの問題を解決するため、キャッシュバッファ中にサイズの大きな連続した空領域を予め自動的に確保し、空領域のサイズが小さいことによるデータライトのための待機をなくし、ディスク装置の性能向上を図ることを目的としている。
【0009】
【課題を解決するための手段】
図1を参照して課題を解決するための手段を説明する。
【0010】
図1において、 FIFO1,2は、キャッシュバッファ5上の領域のデータを入れ替えるものである。
【0011】
キャッシュバッファ5は、ホストとディスク媒体6との間に設けてデータを一時的に記憶するものである。
【0012】
ディスク媒体6は、データを書き込んだり、読み出したりするものである。
最大空領域抽出部7は、キャッシュバッファ5中の最大の空の領域を抽出するものである。
【0013】
空時間検出部8は、ヘッドによってデータをディスク媒体6に書き込んだり、ディスク媒体6からデータを読み出したりしていない時間(シーク時間、回転待ち時間、ヘッドがアクセス動作していない時間)を検出するものである。
【0014】
次に、動作を説明する。
空時間検出部8がキャッシュバッファ5からディスク媒体6にデータをライトするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが書き込み動作していない時間を検出し、当該検出された時間のときに、FIFO1あるいはFIFO2がキャッシュバッファ5の最大空き領域の前の領域あるいは後の領域のデータと他の空き領域のデータとを入れ替え、最大空き領域を可及的に大きくするようにしている。
【0015】
空時間検出部8がキャッシュバッファ5にディスク媒体6からリードするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが読み出し動作していない時間を検出し、当該検出された時間のときに、FIFO1あるいはFIFO2がキャッシュバッファ5の最大空き領域の前の領域あるいは後の領域のデータと他の空き領域のデータとを入れ替え、最大空き領域を可及的に大きくするようにしている。
【0016】
また、最大空領域の前の領域あるいは後の領域とデータを入れ替える空領域は、以前にディスク媒体にデータをライトした領域とするようにしている。
【0017】
従って、ライトコマンドやリードコマンドの発行に対するヘッドのシークや回転待ちの時間、更にコマンドの発行されていない時間を利用し、キャッシュバッファ5の最大空領域の前あるいは後の領域のデータを他の空領域のデータと入れ替えて空領域のサイズを可及的に大きくすることにより、キャッシュバッファ中にサイズの大きな連続した空領域を予め自動的に確保し、空領域のサイズが小さいことによるデータライトのための待機をなくし、ディスク装置の性能向上を図ることが可能となる。
【0018】
【発明の実施の形態】
次に、図1から図7を用いて本発明の実施の形態および動作を順次詳細に説明する。
【0019】
図1は、本発明のシステム構成図を示す。
図1において、ディスク装置11は、データをディスク媒体6に格納する外部記憶装置であって、ここでは、FIFO1,2,3,4,キャッシュバッファ5、ディスク媒体6、最大空領域抽出部7、空時間検出部8などから構成されるものである。
【0020】
FIFO1,2は、キャッシュバッファ5上の領域のデータを入れ替えるものであって、ここでは、最大空領域の前あるいは後の領域のデータと、他の空の領域のデータとを入れ替え、結果として最大空領域を大きくするものである。
【0021】
FIFO3は、キャッシュバッファ5とディスク媒体6との間に設けてデータを一時的に格納するものである。
【0022】
FIFO4は、キャッシュバッファ5とホストとの間に設けてデータを一時的に格納するものである。
【0023】
キャッシュバッファ5は、ホストからディスク媒体6へのライトデータを一時的に記憶したり、ディスク媒体6から読み出したリードデータを一時的に記憶したりなどするものである。
【0024】
ディスク媒体6は、ヘッドをシークして該当位置にデータを書き込んだり、読み出したりなどする記憶媒体である。
【0025】
最大空領域抽出部7は、キャッシュバッファ5中の最大の空領域を検出するものである。
【0026】
空時間検出手段8は、ヘッドがディスク媒体6をシーク、回転待ちしている時間あるいはヘッドが動作していない時間を検出するものである。
【0027】
データ再格納ポインタP1、P2は、キャッシュバッファ5上のデータを入れ替える領域をポイントするポインタである(図7参照)。
【0028】
次に、図2のフローチャートの順番に従い、図1の構成の動作を詳細に説明する。
【0029】
図2は、本発明の動作説明フローチャートを示す。
図2において、S1は、コマンド受領する。これは、ホストから図1のディスク装置11がコマンドを受領する。
【0030】
S2は、リードコマンドがホストから図1のディスク装置11に発行されたことに対応して、ディスク装置11がディスク媒体6に対するヘッドのシーク命令を発行する。
【0031】
S3は、回転待ち終了時に入れ替え処理中断する。これらS2、S3は、ディスク装置11がシーク命令を発行し、ヘッドをディスク媒体6にリードデータが書き込まれている領域(トラック)に移動させ、更に、ディスク媒体6が回転してデータの書き込まれているトラック内の位置に到達するまで回転待ちし、これらシーク動作時および回転待ち時間の間、後述する最大空領域の前あるいは後の領域のデータと空の領域のデータとの入れ替え処理を行い、当該回転待ちの終了時に当該データの入れ替え処理を中断する。
【0032】
S4は、リードデータを転送する。これは、S3でデータの入れ替え処理を中断した状態で、ヘッドによりディスク媒体6からデータをリードしてキャッシュバッファ5の最大空領域に格納すると共にホストに転送する。
【0033】
S5は、応答する。
S6は、入れ替え処理を再開する。これは、キャッシュバッファ5の最大空領域の前あるいは後の領域のデータと、空の領域のデータとの入替え処理を再開する。
【0034】
以上のように、ホストからリードコマンドが発行された場合に、ディスク媒体6のリードデータの格納されている位置へのヘッドのシーク動作する時間、更にリードデータの格納されているトラック内の位置に到着するまでの回転待ち時間の間、キャッシュバッファ5の最大空領域の前あるいは後の領域のデータと空の領域のデータとを図1のFIFO2を使ってデータの入れ替えを行うことにより、キャッシュバッファ5の最大空領域をサイズが増すように処理し、ディスク媒体6からのリードデータがキャッシュバッファ5の空の連続領域に書き込めなくて待機する事態を解消し、リード処理を高速化することが可能となる。
【0035】
S11は、ライトコマンドがホストから図1のディスク装置11に発行されたことに対応して、キャッシュバッファ5がフルか判別する。これは、ホストからライトコマンドが発行されたときに、キャッシュバッファ5が満杯で空がないか判別する。YESの場合には、S15からS18を実行する。NOの場合には、空領域があったので、S12からS14を実行する。
【0036】
S12は、S11のNOで、キャッシュバッファ5に空領域があると判明したので、データの入れ替え処理を中断しないで、次に進む。
【0037】
S13は、ライトデータを転送する。これは、ホストがライトデータをキャッシュバッファ5の空領域に転送して格納する。
【0038】
S14は、応答する。これは、ディスク装置11がキャッシュバッファ5にライトデータを格納したので、ライト終了の応答をホストに返す。そして、ひまなときに、キャッシュバッファ5上の当該ライトデータをディスク媒体6に格納する。
【0039】
以上のように、ホストからライトコマンドが発行されて、キャッシュバッファ5に空領域があった場合、キャッシュバッファ5内の空領域の前あるいは後の領域のデータと空の領域のデータとの入れ替え処理を中断することなく、図1のFIFO4を介してホストからのライトデータをキャッシュバッファ5の空領域に格納し、応答をホストに返すことにより、キャッシュバッファ5へのライトデータの空領域への書き込みと、キャッシュバッファ5の最大空領域の前あるいは後の領域のデータと空の領域のデータとの入れ替えを同時,並列する実行することが可能となる。
【0040】
S15は、S11のYESで、キャッシュバッファ5に空領域がないと判明したので、データの入れ替え処理を中断し、次に進む。
【0041】
S16は、ライトデータを転送する。これは、キャッシュバッファ5に空領域がないと判明したので、キャッシュバッファ5内の未ライトのデータをディスク媒体6に格納して空領域を生成した後、ホストからのライトデータをキャッシュバッファ5の空領域に格納する。
【0042】
S17は、応答する。ライトデータの書き込み終了の応答をホストに返す。
S18は、入れ替え処理を再開する。これにより、ホストからのライトデータ発行時に、当該ライトデータを格納する空領域がキャッシュバッファ5になく満杯の場合には、キャッシュバッファ5内のデータをディスク媒体6に書き込んでキャッシュバッファ5に空領域を作成してから当該空領域にライトデータを書き込む。
【0043】
図3は、本発明の動作説明フローチャート(メディアライト)を示す。
図3において、S21は、リオーダリングによりメディアライトを行うコマンドを選択する。これは、既述したキャッシュバッファ5内の最大空領域の前あるいは後の領域のデータと空の領域のデータとのFIFO1,FIFO2を使ったデータ入れ替え処理を行う(ヘッドのシーク時間および回転待ち時間の間、データ入れ替え処理を行う)と共に、ライト処理を行うコマンドを選択する。
【0044】
S22は、シーク発行する。これは、S21で選択したライトコマンドに対応して、ヘッドを該当トラックまでシークさせるシーク命令を発行する。当該シーク命令を発行して目的とするトラックに到達するシーク時間、更に、トラック内のデータ位置まで回転待ちする回転待ち時間の間、次のS23の本発明に係るデータの入れ替え処理を行う。
【0045】
S23は、前メディアライトコマンドの空領域に、最大空領域の後のライトデータ転送(FIFO2を利用)する。これは、前にキャッシュバッファ5からデータをディスク媒体6に書き込んで空領域とした当該キャッシュバッファ5上の領域(空領域)のデータと、キャッシュバッファ5内の最大空領域の後の領域のデータとをFIFO2を利用してデータの入れ替えを行う。これにより、最大空領域の後の領域が空領域となり、最大空領域のサイズが拡大されることとなる。
【0046】
S24は、最大空領域前後のデータ転送を中断および最大空領域情報を更新する。
【0047】
S25は、要求データのメディアライトする。これは、シークおよび回転待ちが終了し、ディスク媒体6にデータをライトできる状態になったので、ライト要求のあったデータをディスク媒体6に書き込む。そして、次コマンドのメディアライトについてS21以降を繰り返す。
【0048】
以上によって、ホストからライトコマンドが発行されたときに、シーク時間および回転待ち時間の間、キャッシュバッファ5内の最大空領域の後(あるいは前)の領域のデータと、メディアライトした空領域のデータとをFIFO2を利用してデータの入れ替え処理を行って当該最大空領域情報を更新すると共に、ヘッドがシークおよび回転待ちしてライトできる状態となったときにライト要求の有ったデータをディスク媒体6に書き込むことが可能となる。
【0049】
図4は、本発明の動作説明フローチャート(リオーダリング)を示す。
図4において、S31は、キャッシュ管理テーブル51からフラグ有効のコマンドを1つ抽出する。これは、後述する図5の(a)のキャッシュ管理テーブル51からフラグ有効(ディスク媒体6に未ライトの有効なデータである旨を表すフラグ有効)のコマンドを1つ抽出する。
【0050】
S32は、現在のヘッド位置からシーク+回転待ち予想時間Taを算出する。これは、S31で抽出したコマンドでデータをディスク媒体6の該当位置にライトするために必要な、現在のヘッド位置からシークに要する時間と、更に、ディスク媒体6の回転待ち時間との和の予想時間Taを算出する。
【0051】
S33は、キャッシュ管理テーブル51からフラグ有効のコマンドを抽出する。これは、S31などで抽出されていないコマンドのうち、フラグ有効のコマンド(ディスク媒体6に未ライトのデータのコマンド)を1つ抽出する。ありの場合には、S34に進む。なしの場合には、S36で最小時間(Taが最小時間)のコマンドを、次メディアライトコマンド(次にキャッシュバッファ5から取り出してディスク媒体6にライトするコマンド)と決定する。そして、既述した図3のメディアライトを実行する。
【0052】
S34は、S33のありで、キャッシュ管理テーブル51にフラグ有効のコマンドがあると判明したので、現在のヘッド位置から、シーク+回転待ち予想時間Tbを算出する。
【0053】
S35は、Ta,Tbから短い方のコマンドを選択し、その移動時間を新たなTaとし、S33以降を繰り返し、キャッシュ管理テーブル51中の全てのフラグ有効(未ライト)のデータのコマンドについて現在位置からシーク+回転待ち時間についてそれぞれ算出し、S36で最終的に最短の時間のコマンドを次にメディアライトするコマンドと決定し、既述した図3のS21以降の処理を実行する。
【0054】
以上によって、図5の(a)のキャッシュ管理テーブル51で管理されるキャッシュバッファ5中の未ライトのデータのうち、ヘッドの現在位置からシーク時間+回転待ち時間が最小の未ライトのデータのコマンドを選択し、既述した図3のメディアライトを行うことが可能となる。これにより、キャッシュバッファ5から最短時間で未ライトデータをディスク媒体6にライトすることが可能となると共に、シーク時間+回転待ち時間の間にキャッシュバッファ5内の最大空領域の前あるいは後の領域のデータと空領域のデータとをFIFOを使ってデータの入れ替えを行って当該最大空領域のサイズを可及的に大きくすることが可能となる。
【0055】
図5は、本発明のテーブル例を示す。
図5の(a)は、キャッシュ管理テーブル51の例を示す。キャッシュ管理テーブル51は、キャッシュバッファ5の領域の有効/既ライトなどを管理するものであって、ここでは、図示の下記の情報を対応づけて登録して管理するものである。
【0056】
・CMD−ID:
・R/W:
・要求先頭アドレス:
・サイズ:
・バッファ格納先頭アドレス:
・フラグ:
・その他:
ここで、CMD−IDは制御プログラム識別するIDである。R/Wは、コマンドがリードコマンドかライトコマンドかの区別を表す。要求先頭アドレスはディスク媒体6のいずれに記憶するかの先頭アドレスを表す。サイズはデータのサイズを表す。バッファ格納先頭アドレスはキャッシュバッファ5上の格納先頭アドレスを表す。フラグはディスク媒体6に書き込み済みか否かを表すフラグを表す。
図5の(b)は、空領域管理テーブル52の例を示す。空領域管理テーブル52には、キャッシュバッファ5の空領域のIDとその先頭アドレス、サイズを記憶して管理する。ここで、空領域には、下記の領域がある。これら空領域は、既述したデータの入れ替え処理が実行された場合にはその領域について更新する。
【0057】
・リード・ライトのデータが存在しない領域
・既にディスク媒体6にライトが完了したライトコマンドのデータが存在する領域
・既にリードが完了したリードコマンドのデータが存在する領域
図6は、本発明の動作説明フローチャート(入替領域選択)を示す。
【0058】
図6において、S41は、リオーダリングで選択されたコマンドに対するデータが最大空領域に接触しているか判別する。これは、既述した図4のフローチャートで選択されたコマンドに対するデータを格納したキャッシュバッファ5の領域が、当該キャッシュバッファ5内の最大空領域の前あるいは後に接触しているか判別する。そして、S41のYESの場合に、更に、S42で最大空領域の後(後の領域)に接触している場合には、S43で入れ替え領域は最大空領域の前の領域とし、S45に進む。また、S42のNOの場合には、最大空領域の前の領域に接触していると判明したので、S44で入れ替え猟奇は、最大空領域の後の領域とし、S45に進む。また、S41のNOの場合には、S44でここでは、入れ替え領域は最大空領域の後とする。
【0059】
即ち、S41からS44は、
・リオーダリング(図4)で選択されたコマンドに対するデータが、
・最大空領域の後に接している場合には、入れ替え対象領域を最大空領域の前の領域と決定(S41のYES,S42のYES,S43)
・最大空領域の前に接している場合には、入れ替え対象領域を最大空領域の後の領域と決定(S41のYES,S42のNO,S44)
する。
・また、最大空領域に接していない場合(S41のNOの場合)には、ここでは、S44で入れ替え領域は、最大空領域の後とする。
【0060】
S45は、入れ替え相手の領域が存在するか判別する。YESの場合には、S46で入れ替えを実行する。NOの場合には、入れ替え相手の領域が存在しないので入れ替えを中止する。
【0061】
図7は、本発明の説明図(入替)を示す。
図7の(a)は、キャッシュバッファ(データ入替前)の例を示す。ここでは、最大空領域(メディアライト終了済データ存在)の後の領域のデータと、空領域(以前にメディアライト終了したデータが存在する領域)のデータとを入れ替える様子を示す。データを入れ替えると、図7の(b)のようになる。
【0062】
ここで、最大空領域である、メディアライト終了済データ存在の領域は、当該最大空領域のデータをディスク媒体5にライトを終了済の領域(空領域)である。空領域域(以前にメディアライト終了したデータが存在する領域)は、以前にディスク媒体6にデータをライトした空領域である。
【0063】
図7の(b)は、キャッシュバッファ(データ入替後)の例を示す。図示の状態では、最大空領域の後の領域が図7の(a)のデータ入替により空領域となり、当該最大空領域のサイズを拡大した様子を示す。データ入替は、既述したように、ディスク媒体6のヘッドのシーク時間、回転待ち時間,更に、ヘッドがアクセス動作をしていない時間のとき、即ち空時間のときにキャッシュバッファ5の最大空領域の前あるいは後の領域のデータと他の空領域のデータとをFIFOを利用して入れ替えることにより、当該最大空領域のサイズを可及的に大きくしておき、ホストからのライトコマンドやリードコマンドが発行されたときに当該最大空領域の先頭から連続して高速に書き込むことが可能となる。
【0064】
(付記1)
キャッシュバッファを設けたディスク装置のキャッシュ制御装置において、
キャッシュバッファからディスク媒体にデータをライトするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが書き込み動作していない時間を検出する手段と、
前記検出された時間のときに、前記キャッシュバッファの最大空き領域の前の領域あるいは後の領域のデータを、他の空き領域のデータとを入れ替える手段とを備え、
最大空き領域を可及的に大きくすることを特徴とするキャッシュ制御装置。
【0065】
(付記2)
キャッシュバッファを設けたディスク装置のキャッシュ制御装置において、
キャッシュバッファにディスク媒体からリードするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが読み出し動作していない時間を検出する手段と、
前記検出された時間のときに、前記キャッシュバッファの最大空き領域の前の領域あるいは後の領域のデータを、他の空き領域のデータとを入れ替える手段とを備え、
最大空き領域を可及的に大きくすることを特徴とするキャッシュ制御装置。
【0066】
(付記3)
前記最大空き領域の前の領域あるいは後の領域とデータを入れ替える空の領域は、以前にディスク媒体にデータをライトした領域とすることを特徴とする付記1あるいは付記2記載のキャッシュ制御装置。
【0067】
(付記4)
キャッシュバッファを設けたディスク装置のキャッシュ制御方法において、
キャッシュバッファからディスク媒体にデータをライトするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが書き込み動作していない時間を検出するステップと、
前記検出された時間のときに、前記キャッシュバッファの最大空き領域の前の領域あるいは後の領域のデータを、他の空き領域のデータとを入れ替えるステップと
を有し、
最大空き領域を可及的に大きくすることを特徴とするキャッシュ制御方法。
【0068】
(付記5)
キャッシュバッファを設けたディスク装置のキャッシュ制御方法において、
キャッシュバッファにディスク媒体からリードするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが読み出し動作していない時間を検出するステップと、
前記検出された時間のときに、前記キャッシュバッファの最大空き領域の前の領域あるいは後の領域のデータを、他の空き領域のデータとを入れ替えるステップとを有し、
最大空き領域を可及的に大きくすることを特徴とするキャッシュ制御方法。
【0069】
【発明の効果】
以上説明したように、本発明によれば、ライトコマンドやリードコマンドの発行に対するヘッドのシークや回転待ちの時間、更にコマンドの発行されていない時間を利用し、キャッシュバッファ5の最大空領域の前あるいは後の領域のデータを他の空領域のデータと入れ替えて空領域のサイズを可及的に大きくする構成を採用しているため、キャッシュバッファ中にサイズの大きな連続した空領域を予め自動的に確保し、空領域のサイズが小さいことによるライトのための待機がなくなり、ディスク装置の性能向上を図ることが可能となる。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明の動作説明フローチャート(メディアライト)である。
【図4】本発明の動作説明フローチャート(リオーダリング)である。
【図5】本発明のテーブル例である。
【図6】本発明の動作説明フローチャート(入替領域選択)である。
【図7】本発明の説明図(入替)である。
【図8】従来技術の説明図である。
【符号の説明】
1,2,3,4:FIFO
5:キャッシュバッファ
6:ディスク媒体(メディア)
7:最大空領域抽出部
8:空時間検出部
11:ディスク装置
Claims (3)
- キャッシュバッファを設けたディスク装置のキャッシュ制御装置において、
受け付けた未処理のライトコマンドに従いキャッシュバッファからディスク媒体にデータをライトするためのヘッドのシークしている時間あるいは回転待ちしている時間あるいは受け付けた未処理のライトコマンドが無くなってヘッドが書き込み動作していない時間にあるかをいずれも検出する手段と、
前記ヘッドがいずれかの前記時間にあることが検出されたときに、前記キャッシュバッファの空領域のサイズを登録して管理するキャッシュ管理テーブルを参照して見つけた当該キャッシュバッファの最大空領域の前の領域あるいは後の領域のデータと、他の空領域のデータとを相互に入れ替える手段とを備え、
最大空領域を可及的に大きくすることを特徴とするキャッシュ制御装置。 - キャッシュバッファを設けたディスク装置のキャッシュ制御装置において、
受け付けた未処理のリードコマンドに従いキャッシュバッファにディスク媒体からリードするためにヘッドがシークしている時間あるいは回転待ちしている時間あるいはヘッドが読み出し動作していない時間にあるかをいずれも検出する手段と、
前記ヘッドがいずれかの前記時間にあることが検出されたときに、前記キャッシュバッファの空領域のサイズを登録して管理するキャッシュ管理テーブルを参照して見つけた当該キャッシュバッファの最大空領域の前の領域あるいは後の領域のデータと、他の空領域のデータとを相互に入れ替える手段とを備え、
最大空領域を可及的に大きくすることを特徴とするキャッシュ制御装置。 - 前記最大空領域の前の領域あるいは後の領域と、データを相互に入れ替える空領域は、前記キャッシュバッファ中の領域に対応づけて当該領域のデータをディスク媒体にライト済みか否かを登録して管理する前記キャッシュ管理テーブルを参照してディスク媒体にデータをライト済みの領域とする
ことを特徴とする請求項1あるいは請求項2記載のキャッシュ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002361505A JP4136637B2 (ja) | 2002-11-09 | 2002-11-09 | キャッシュ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002361505A JP4136637B2 (ja) | 2002-11-09 | 2002-11-09 | キャッシュ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164524A JP2004164524A (ja) | 2004-06-10 |
JP4136637B2 true JP4136637B2 (ja) | 2008-08-20 |
Family
ID=32809770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002361505A Expired - Fee Related JP4136637B2 (ja) | 2002-11-09 | 2002-11-09 | キャッシュ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4136637B2 (ja) |
-
2002
- 2002-11-09 JP JP2002361505A patent/JP4136637B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004164524A (ja) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3175371B2 (ja) | データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法 | |
JP4993020B2 (ja) | 仮想テープ装置、制御方法、制御部 | |
JPH1063578A (ja) | 情報記録再生装置 | |
JP2002207620A (ja) | ファイルシステム及び該システムにおけるデータキャッシング方法 | |
JP2004171411A (ja) | データ記憶装置及びバッファメモリの管理方法 | |
JP2007304691A (ja) | ディスク装置及び回転型記憶装置の先読み制御方法 | |
US7315496B2 (en) | Memory manage method for defect management of an optical disk | |
JP4136637B2 (ja) | キャッシュ制御装置 | |
JPH08137754A (ja) | ディスクキャッシュ装置 | |
JP2002024085A (ja) | ディスクキャッシュシステム、及びその制御方法 | |
JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
US6360296B1 (en) | Disk control apparatus | |
JPH10171713A (ja) | ディスク記憶装置及び同装置に適用するキャッシュ制御方法 | |
JP3093657B2 (ja) | Fba−ckd変換方式 | |
JP2006065402A (ja) | アクセス制御方法、ディスク制御装置及び記憶装置 | |
JPH064225A (ja) | 予備セクタを先読みするディスク制御装置 | |
US7162659B2 (en) | Method for accessing data of defected optical disk | |
JP2001160268A (ja) | 記録媒体の代替処理方法および装置 | |
JP2838988B2 (ja) | 外部記憶装置におけるファイル格納システム | |
JP2005166073A (ja) | 記憶装置の制御装置および制御方法 | |
US20080192605A1 (en) | test application 2 for pair release 7.0.1 | |
JPH11232037A (ja) | ディスクキャッシュライト機能を持った磁気ディスク装置 | |
JPH10275425A (ja) | ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法 | |
JP2001312376A (ja) | 回転媒体記憶装置及び回転媒体記録制御方法 | |
JP3721338B2 (ja) | 記憶装置の制御装置および制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080520 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |