JPH08115259A - ディスクキャッシュ装置 - Google Patents

ディスクキャッシュ装置

Info

Publication number
JPH08115259A
JPH08115259A JP6252209A JP25220994A JPH08115259A JP H08115259 A JPH08115259 A JP H08115259A JP 6252209 A JP6252209 A JP 6252209A JP 25220994 A JP25220994 A JP 25220994A JP H08115259 A JPH08115259 A JP H08115259A
Authority
JP
Japan
Prior art keywords
read
information
address
block number
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.)
Granted
Application number
JP6252209A
Other languages
English (en)
Other versions
JP3407428B2 (ja
Inventor
Jun Fukui
純 福井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP25220994A priority Critical patent/JP3407428B2/ja
Publication of JPH08115259A publication Critical patent/JPH08115259A/ja
Application granted granted Critical
Publication of JP3407428B2 publication Critical patent/JP3407428B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 オーバヘッドの少ない処理で、先読みの行う
べきか否かの判断を行い、その判断結果に応じて先読み
するブロック数を変更するディスクキャッシュ装置を提
供する。 【構成】 先読ブロック数として用いることがある所定
数のブロック数情報に対して、数値情報を記憶する領域
と、読み出し要求されたアドレスを複数回分記憶する領
域をRAM15内に設けておき、書き込み要求がなされ
るたびに、その要求アドレスと、過去にアクセスが行わ
れたアドレスとの差を算出し、算出した差と一致するブ
ロック数情報に対応する数値情報がカウントアップされ
るようにするとともに、ブロック数情報と数値情報との
対応関係を基に、先読みを行うブロック数が決定される
ように、ディスクキャッシュ装置11を構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスクキャッシュ装
置に係わり、特に、アクセス履歴に応じて、ディスク装
置から先読みするブロック数の変更を行うディスクキャ
ッシュ装置に関する。
【0002】
【従来の技術】ディスク装置では、データをアクセスす
るために、ヘッドど記録媒体とが適当な位置関係になる
まで待機することが必要とされるので、そのアクセス速
度は、半導体メモリのアクセス速度と比して、非常に遅
いものとなっている。このため、データの要求元である
ホスト装置とディスク装置との間に、データを一時的に
記憶しておくための半導体メモリ(キャッシュメモリ)
を設け、読み出し要求されたデータが、キャッシュメモ
リ上にあった場合には、ディスク装置からデータを読み
出すことなく、その読み出し要求に応答させるといった
ことが行われている。
【0003】このような動作を行う装置は、ディスクキ
ャッシュ装置などと呼ばれている。なお、ディスクキャ
ッシュ装置は、ホスト装置の一部として構成されること
もあり、また、ディスク装置の一部として構成されるこ
ともある。
【0004】さて、ディスクキャッシュ装置には、ある
アドレスのデータの読み出し要求があった場合、要求さ
れたアドレスのデータをディスク装置から読み出すとと
もに、そのデータに隣接して記憶されている数個のデー
タ(すなわち、読み出しが高速に行えるデータ)を、先
読みしてしまう装置が存在している。
【0005】以下、図8および図9を用いて、先読みを
行わないディスクキャッシュ装置と、先読みを行うディ
スクキャッシュ装置の動作の違いを説明する。なお、図
8は、先読みを行わないディスクキャッシュ装置が、ア
ドレス“X”の読み出し要求(データD1 )と、アドレ
ス“X+1”の読み出し要求(データD2 )を、この順
で、受けたときの応答手順を模式的に示した図であり、
図9は、同一の読み出し要求に対する応答手順を、先読
みを行うディスクキャッシュ装置に対して示した図であ
る。また、いずれのディスクキャッシュ装置において
も、最初の読み出し要求がなされたときに、そのキャッ
シュメモリ内には、データD1 、D2 は記憶されていな
いものとする。
【0006】まず、先読みを行わないディスクキャッシ
ュ装置における応答手順を説明する。図8(a)に示し
たように、先読みを行わないディスクキャッシュ装置1
1は、ホスト装置31からのアドレス“X”のデータの
読み出し要求()を受けた際、ディスク装置32を制
御()して、ディスク装置内のアドレス“X”のデー
タD1 をキャッシュメモリ13へ格納()し、そのデ
ータを、ホスト装置へ転送する()。
【0007】そして、図8(b)に示したように、アド
レス“X+1”のデータの読み出し要求()に対して
も、ディスク装置からデータを読み出して(、)、
その読み出し要求に応答()する。
【0008】これに対し、先読みを行うディスクキャッ
シュ装置では、図9に模式的に示したように、ホスト装
置31からのアドレス“X”のデータの読み出し要求
()を受けた際、ディスクキャッシュ装置11は、デ
ィスク装置32から、アドレス“X”のデータD1 と共
にアドレス“X+1”のデータD2 も読み出してしまう
(、)。このため、アドレス“X”のデータD1
ホスト装置に転送()する際には、キャッシュメモリ
上に、アドレス“X+1”のデータD2 が、存在してい
ることになり、図9(b)に示したように、アドレス
“X+1”のデータの読み出し要求()を受けた際に
は、ディスク装置とのアクセスを行うことなく、キャッ
シュメモリ内のデータD2 を用いて、その読み出し要求
に応答()する。
【0009】すなわち、先読みを行わないディスクキャ
ッシュ装置では、2つのデータが個々に読み出される
(図8;、)のに対し、先読みを行うディスクキャ
ッシュ装置では、2つのデータのディスク装置からの読
み出しが一括して行われる(図9;)ので、先読みを
行うディスクキャッシュ装置では、実際に2つのデータ
の読み出しに費やされる時間が短縮されることになり
(アドレス“X+1”のデータを読み出すときに回転待
ちがない。)、先読みを行わないディスクキャッシュ装
置と比べて、素早く、読み出し要求に応答できることに
なる。
【0010】このように、先読みを行うディスクキャッ
シュ装置では、あるアドレスのデータがアクセスされた
後に、その隣に記憶されているデータに対するアクセス
が行われる場合には、読み出し要求に対する応答性が向
上する。しかし、先読みされたデータが、その後、アク
セスされることがないデータである場合、全く、無駄な
動作をしていることになり、また、キャッシュメモリ上
に不要なデータを格納することにもなるので、アクセス
速度(キャッシュヒット率)を劣化させる動作にもなっ
てしまう。
【0011】このような問題に対処するために、特開平
3−164840号公報記載の技術では、アクセスが行
われたディスク装置の領域と、その時刻を、ファイル毎
に記録しておき、その記録されたデータを基に、それぞ
れのファイルに対して先読みを行うか否かを決定してい
る。
【0012】この技術では、たとえば、ディスク装置内
に、図10のような状態で、ファイルAないしCが記憶
されている場合には、図11に示したような形で、アク
セス内容が各ファイルに対して記録される。そして、そ
の記録を基に、全アクセスに対して連続したアクセスが
一定の割合以上行われるファイルが判断され、そのよう
なファイルのアクセス時にのみ先読みが行われるように
構成されている。
【0013】
【発明が解決しようとする課題】以上、説明した特開平
3−164840号公報の技術では、アクセス内容に応
じて、先読みの採否を選択させることはできるものの、
それぞれのファイルに関して、アクセス履歴を記憶して
おかなければならないので、その記憶のために、大きな
容量を有する記憶手段を用意しなければならず、また、
その記録の内容を解析するのに時間がかかってしまう。
【0014】また、ファイル名を用いて、動作するよう
に構成されているので、この技術を利用してホスト装置
から独立したディスクキャッシュ装置を構成した場合に
は、ディスクキャッシュ装置に対して、通常、送られる
ことのないファイル名を通知することが必要となってし
まうという問題も存在する。
【0015】そこで、本発明の目的は、オーバヘッドの
少ない処理で、先読みの行うべきか否かの判断を行い、
その判断結果に応じて先読みするブロック数を変更する
ディスクキャッシュ装置を提供することにある。
【0016】
【課題を解決するための手段】請求項1記載の発明は、
(イ)キャッシュメモリと、(ロ)ディスク装置内のあ
るブロック内のデータを読み出す際に、同時に読み出す
ブロックの数を規定する情報である先読ブロック数とし
て用いることがある、所定数のブロック数情報に対して
数値情報を記憶しておくための第1記憶手段と、(ハ)
データの読み出しを行ったブロックのアドレスを所定回
数分記憶する第2記憶手段と、(ニ)読み出し要求がな
された回数をカウントするカウント手段と、(ホ)読み
出し要求がなされた際に、第2記憶手段に記憶されてい
るそれぞれのアドレスに対して、そのアドレスと、読み
出し要求されているアドレスとの差を算出する算出手段
と、(ヘ)この算出手段によって、第1記憶手段に記憶
されているブロック数情報と一致する差が算出された場
合に、そのブロック数情報に対応する数値情報に1を加
算する加算手段と、(ト)第1記憶手段内に記憶されて
いる各数値情報と、予め定められる所定値をカウント手
段のカウント値に掛けた値である基準値との大小関係の
比較を、対応するブロック数情報が増加する順番で行っ
ていき、基準値より小さな数値情報と対応づけられてい
る最初に見いだされたブロック数情報から、1を減じた
値を先読ブロック数に設定する先読ブロック数設定手段
と、(チ)読み出し要求されているアドレスのデータを
ディスク装置から読み出す際に、そのアドレスに連続す
る先読ブロック数設定手段で設定される先読ブロック数
分のブロックのデータを読み出して、キャッシュメモリ
に格納する先読手段とを具備する。
【0017】すなわち、請求項1記載の発明では、第1
記憶手段内に、先読ブロック数として用いることがある
所定数のブロック数情報に対して、数値情報を記憶する
領域を設けておき、書き込み要求がなされるたびに、そ
の内容を更新し、更新した数値情報を基に、用いる先読
ブロック数を決定するようにディスクキャッシュ装置を
構成する。
【0018】たとえば、1から4ブロックの先読みを許
可する場合、第1記憶手段内には、1ないし4といった
ブロック数情報に対して、それぞれ数値情報が記憶され
る。そして、それら各ブロック数情報に対応付けられた
数値情報は、読み出し要求がなされているアドレスの1
ないし4ブロック前のデータが過去に読み出されていた
場合には、算出手段および加算手段によって、その読み
出し回数に応じた分、内容が変更される。先読ブロック
数設定手段は、第1記憶手段内に記憶されている各数値
情報と、予め定められる所定値を、カウント値(総読み
出し回数)に掛けた値である基準値との大小関係の比較
を、対応するブロック数情報が増加する順番(1、2、
3…といったた順番)で行っていき、基準値より小さな
数値情報と対応づけられている最初に見いだされたブロ
ック数情報から、1を減じた値を先読ブロック数に設定
する。
【0019】なお、加算手段において用いられている、
所定値は、第2記憶手段に記憶させておく、アドレスの
数(所定回数)に応じて、予め定めておく値であり、第
2記憶手段に記憶させておく情報量が多い場合には、こ
の所定値も大きく設定される。
【0020】請求項2記載の発明は、(イ)キャッシュ
メモリと、ディスク装置内のあるブロック内のデータを
読み出す際に、同時に読み出すブロックの数を規定する
情報である先読ブロック数として用いることがある、所
定数のブロック数情報に対して数値情報を記憶しておく
ための第1記憶手段と、(ハ)データの読み出しを行っ
たブロックのアドレスと、読み出しを行った時刻を所定
回数分記憶する第2記憶手段と、(ニ)読み出し要求が
なされた回数をカウントするカウント手段と、(ヘ)読
み出し要求がなされた際に、第2記憶手段から、そこに
記憶されている時刻を基に、所定時間内に読み出しが行
われたブロックに関するアドレスを選択し、選択したそ
れぞれのアドレスに対して、そのアドレスと、読み出し
要求されているアドレスとの差を算出する算出手段と、
(ト)この算出手段によって、第1記憶手段に記憶され
ているブロック数情報と一致する差が算出された場合
に、そのブロック数情報に対応する数値情報に1を加算
する加算手段と、(チ)第1記憶手段内に記憶されてい
る各数値情報と、予め定められる所定値をカウント手段
のカウント値に掛けた値である基準値との大小関係の比
較を、対応するブロック数情報が増加する順番で行って
いき、基準値より小さな数値情報と対応づけられている
最初に見いだされたブロック数情報から、1を減じた値
を先読ブロック数に設定する先読ブロック数設定手段
と、(リ)読み出し要求されているアドレスのデータを
ディスク装置から読み出す際に、そのアドレスに連続す
る先読ブロック数設定手段で設定される先読ブロック数
分のブロックのデータを読み出して、キャッシュメモリ
に格納する先読手段とを具備する。
【0021】すなわち、請求項2記載の発明では、第2
記憶手段に、読み出し要求がなされた時刻をも記憶させ
ておき、第1記憶手段内の数値情報の更新は、所定時間
以内に行われた読み出し要求に関する情報だけによって
行われるようにディスクキャッシュ装置を構成する。こ
れにより、更に、的確な先読ブロック数制御が行われる
ことになる。
【0022】請求項3記載の発明は、(イ)キャッシュ
メモリと、(ロ)ディスク装置内のあるブロック内のデ
ータを読み出す際に、同時に読み出すブロックの数を規
定する情報である先読ブロック数として用いることがあ
る、所定数のブロック数情報に対して数値情報を記憶し
ておくための第1記憶手段と、(ハ)データの読み出し
を行ったブロックのアドレスを所定回数分記憶する第2
記憶手段と、(ニ)読み出し要求がなされた回数をカウ
ントするカウント手段と、(ホ)読み出し要求がなされ
た際に、第2記憶手段に記憶されているそれぞれのアド
レスに対して、そのアドレスと、読み出し要求されてい
るアドレスとの差を算出する算出手段と、(ヘ)この算
出手段によって、第1記憶手段に記憶されているブロッ
ク数情報と一致する差が算出された場合に、そのブロッ
ク数情報に対応する数値情報に1を加算する加算手段
と、(ト)第1記憶手段内に記憶されている各数値情報
と、予め定められる所定値をカウント手段のカウント値
に掛けた値である基準値との大小関係の比較を、対応す
るブロック数情報が増加する順番で行っていき、基準値
より小さな数値情報と対応づけられている最初に見いだ
されたブロック数情報から、1を減じた値を先読ブロッ
ク数に設定する先読ブロック数設定手段と、(チ)読み
出し要求されているアドレスのデータをディスク装置か
ら読み出す際に、そのアドレスに連続する先読ブロック
数設定手段で設定される先読ブロック数分のブロックの
データを読み出して、キャッシュメモリに格納する先読
手段と、(リ)所定時間毎に、カウント手段のカウント
値と第1記憶手段に記憶されている各数値情報を、それ
ぞれ、その内容に、1より小さな所定比率を掛けた情報
で置き換える情報置換手段とを具備する。
【0023】すなわち、請求項3記載の発明では、請求
項1記載の発明に、カウント値と数値情報の内容を、一
定の周期で(所定時間毎)、更新する情報置換手段を付
加する。情報置換手段によって、たとえば、内容が、そ
れまで保持されていた内容の1/2になるように各情報
の置換が行われるので、最近、行われたアクセス内容
に、重み付けがなされた形で、先読ブロック数の設定が
行われることになる。
【0024】
【実施例】以下、実施例につき本発明を詳細に説明す
る。
【0025】図1に、本発明の一実施例によるディスク
キャッシュ装置の概要を示す。図示したように、実施例
のディスクキャッシュ装置11は、中央処理装置(CP
U)12とキャッシュメモリ13とリード・オンリ・メ
モリ(ROM)14とランダム・アクセス・メモリ(R
AM)15とインタフェース161 、162 によって構
成されており、ディスクキャッシュ装置11は、インタ
フェース161 、16 2 を介して、それぞれ、ホスト装
置31とディスク装置32に接続されて、使用される。
【0026】CPU12は、ホスト装置31からのアク
セス要求を受信した際に、ディスクキャッシュ装置11
内の各部、および、ディスク装置32を制御して、その
アクセス要求に応答する制御装置であり、その動作手順
を規定するプログラムはROM14内に格納されてい
る。
【0027】また、RAM15には、キャッシュメモリ
13内にどのようなデータが格納されているかを示すキ
ャッシュ管理テーブルと、アクセス順リストおよびカウ
ンタテーブルが記憶されており、CPU12は、メモリ
管理テーブルの内容を基に、キャッシュメモリ13内の
どの記憶領域にデータの格納を行うかを決定し、また、
アクセス順リストおよびカウンタテーブルの内容を基
に、読み出し時に先読みするデータ数(先読ブロック
数)を決定する。
【0028】図2および図3に、それぞれ、RAM内に
記憶されるアクセス順リストおよびカウンタテーブルの
概要を示す。なお、RAM内には、上述したように、キ
ャッシュ管理テーブルも記憶されているのだが、このテ
ーブルは、通常、用いられているものと同じものである
ので、キャッシュ管理テーブルに関する説明は省略する
ことにする。
【0029】図2に示してあるように、アクセス順リス
トは、時刻情報21とブロックアドレス情報22が所定
数記憶できるようになっており、また、図3に示してあ
るように、カウンタテーブルは、1番からjmax 番まで
のカウンタ番号23に対して、カウント値24が記憶で
きるようになっている。
【0030】実施例のディスクキャッシュ装置は、これ
らの情報を基に、図4ないし図6に示してあるような手
順で、ホスト装置からのアクセス要求に応答する。な
お、これらの流れ図中、図4は、ホスト装置からデータ
のアクセス要求がなされたときに、実施例のディスクキ
ャッシュ装置(CPU)が行う動作を総合的に示した図
であり、図5および図6は、それぞれ、図4の流れ図の
ステップS101およびS103で行われている処理の
詳細な流れを示した図である。
【0031】以下、これらの図を用いて、実施例のディ
スクキャッシュ装置の動作を詳細に説明する。
【0032】ホスト装置から読み出し要求を受信した場
合、実施例のディスクキャッシュ装置は、図4に示して
あるように、まず、アクセス順リストとカウンタテーブ
ルの内容を更新(ステップS101)する。
【0033】このステップでは、図5に示してあるよう
に、まず、アクセス順リストに記憶されているデータの
うち、最も時刻情報が古いデータを、現在、読み出し要
求がなされているブロックアドレスANEW と、現在時刻
NEW で書き換えるとともに、読み出しがなされた回数
(総アクセス回数)を記憶するためのカウンタをカウン
トアップする(ステップS201)。なお、このステッ
プS201の実行時に、アクセス順リストにデータが記
憶されていない部分があった場合には、その部分に、ブ
ロックアドレスANEW と現在時刻TNEW が追加される。
【0034】そして、CPUは、アクセス順リストか
ら、前回アクセスが行われたブロックアドレスと、その
アクセス時刻を、それぞれ、AOLD 、TOLD として取得
(ステップS202)して、そのアクセスが、現在時刻
NEW から所定時間ΔT以上前に行われたものでないこ
とを確認(ステップS203;Y)した後に、ANEW
OLD の差jを算出(ステップS204)する。
【0035】算出したjが“1”以上、jmax 以下であ
る場合(ステップS204;Y)には、カウンタテーブ
ル内のj番のカウンタ値を“1”増加させ(ステップS
205)、ステップS207に進む。ステップS204
で算出された値jが、この範囲内にない場合には、カウ
ンタテーブルの内容更新は行われない(ステップS20
5;N)。
【0036】その後、CPUは、アクセス順リスト中の
全要素の評価が完了したか否かを判断(ステップS20
7)し、完了していない場合(N)には、アクセス時刻
が、次に古い要素の、ブロックアドレスと、そのアクセ
ス時刻を、それぞれ、AOLD、TOLD として取得(ステ
ップS208)し、ステップS203に戻る。
【0037】CPUは、このような処理を、評価対象要
素が、現在時刻TNEW から所定時間ΔT以上前に行われ
たアクセスに関するものとなるか(ステップS202;
N)、全要素の評価が完了する(ステップS206;
Y)まで繰り返す。
【0038】アクセス順リスト、カウンタテーブルの内
容更新を終えたCPUは、キャッシュ管理テーブルの内
容を基に、要求されているアドレスANEW のデータが、
キャッシュメモリ上に記憶されているか否かを判断(図
4;ステップS102)し、キャッシュメモリ上に記憶
されていた場合(Y)には、そのデータをホスト装置に
転送(ステップS106)して、読み出し要求に対する
応答を完了する。
【0039】また、キャッシュヒットしていなかった場
合(ステップS102;N)には、アドレスANEW のデ
ータと共に何ブロック分のデータを読み出すかを指定す
る情報である先読ブロック数を取得するために、先読ブ
ロック数取得処理(ステップS103)を行う。
【0040】図6を用いて、先読ブロック数取得処理の
詳細を説明する。先読ブロック数取得処理では、CPU
は、まず、変数iを、“1”に初期化(ステップS30
1)する。そして、iが、カウンタ番号の最大値である
max 以下である場合(ステップS302;N)には、
i番目のカウンタ値cと、総アクセス回数を基に、それ
らの値の比rを算出(ステップS303)する。次に、
算出したrを、予め設定されている値rSTD と比較し、
rがrSTD 以上であるとき(ステップS304;N)に
は、iに“1”を加算(ステップS305)して、ステ
ップS302に戻る。
【0041】CPUは、このような処理を、iがjmax
を超える(ステップS302;Y)か、rがrSTD 未満
(ステップS304;Y)となるまで繰り返し、いずれ
かの条件が満たされたとき、iから“1”を減じた値を
先読ブロック数とする(ステップS306)。
【0042】その後、CPUは、図4に示してあるよう
に、設定した先読ブロック数分のデータがディスク装置
から余計に読み出されるようにディスク装置を制御(ス
テップS104)し、ディスク装置から読み出されたデ
ータをキャッシュメモリに格納(ステップS105)す
る。そして、読み出しが要求されているデータだけをホ
スト装置に転送(ステップS106)して、処理を終了
する。
【0043】また、流れ図には示していないが、実施例
のディスクキャッシュ装置は、カウンタテーブル内のカ
ウンタ値と、総アクセス回数を、1/2にする処理が所
定時間T0 毎に、図4ないし図6に示した処理とは、独
立に実行されるように構成されている。このため、図6
に示した先読ブロック数取得処理で設定される先読ブロ
ック数は、最近のアクセス内容を最も強く反映したもの
となっている。
【0044】以上のような手順で動作する実施例のディ
スクキャッシュ装置では、たとえば、図9のファイルC
のように、連続するアドレスのデータが読み出されない
アクセスが行われた場合には、カウンタテーブル内の1
番のカウンタ値が“0”となり、先読みが行われないこ
とになる。
【0045】また、ファイルAのような、アドレスが連
続するブロックに記憶されたファイルに関するアクセス
が繰り返されたときには、上記処理手順では、rとし
て、カウンタ番号の増大に伴い、単調に減少する数列が
得られ、また、その絶対値は、アクセスされているファ
イルの連続度が高いほど、高い値を取ることになる。た
とえば、連続したNブロックに記憶されたファイル(FI
LE-N)に関するアクセスを行っているときには、カウン
タ番号とそのカウンタ番号に対して記憶されているカウ
ント値から算出されるrとの関係は、図7中に実線で示
したようになり、また、連続したM(M>N)ブロック
に記憶されたファイル(FILE-M)に関するアクセスを行
っているときには、その関係は、図中、点線で示したよ
うなものになる。このため、rSTD に応じて決定される
先読ブロック数Pは、FILE-Mの方が大きくなり、そのと
きに行われているアクセス内容に応じて、適当な先読ブ
ロック数が設定されることになる。
【0046】ファイルBのような、いくつかの領域に分
散して記憶されているファイルに対してアクセスが行わ
れた場合には、rとカウンタ番号の関係は、いくつかの
ピークをもつようなものになり、カウンタ番号1に関す
るrが、rSTD より小さくても、たとえば、カウンタ番
号5に関するrが、rSTD より大きいといった状態が生
じうる。この場合、先読ブロック数を“5”に設定する
と、キャッシュヒットはするようになるのであるが、無
駄なデータのキャッシュメモリへの格納も行われること
になるので、実施例のディスクキャッシュ装置では、図
6を用いて説明したように、小さなカウンタ番号に関す
るrから、rSTD との比較を行っていき、rSTD より、
小さなrが現われた場合には、その時点で、評価を終了
するようにしてある。
【0047】なお、実施例のディスクキャッシュ装置で
は、アクセス順リストに記憶されている情報のうち、所
定時間以内に行われていないアクセスに関する情報は、
カウンタテーブルの更新に用いないように構成してある
が、アクセス時間差による判断を行わせず、常に、アク
セス順リスト内の全アドレスと、要求されたアドレスと
の比較を行い、カウンタテーブルを更新するように構成
してもよい。
【0048】そして、所定時間毎に総カウンタ回数、カ
ウント値を更新する際の更新手順は、実施例のディスク
キャッシュ装置のように、値を1/2に変更するといっ
たものに限られる訳ではなく、他の比例係数を用いても
よく、また、このような処理を一切行わないようにディ
スクキャッシュ装置を構成してもよい。
【0049】
【発明の効果】以上、詳細に説明したように、請求項1
ないし請求項3記載の発明のように、先読ブロック数と
して用いることがある所定数のブロック数情報に対し
て、数値情報を記憶する領域を設けておき、書き込み要
求がなされるたびに、その内容を更新し、更新した数値
情報を基に、用いる先読ブロック数を決定するようにデ
ィスクキャッシュ装置を構成すれば、オーバヘッドの少
ない処理で、アクセス内容に応じた先読みを行えるよう
になる。
【0050】また、請求項2または請求項3記載の発明
のようにディスクキャッシュ装置を構成した場合に
は、、先読ブロック数の決定に用いる情報の作成時に、
過去のアクセス内容が参照されないようになるので、先
読ブロック数の変更が、アクセス内容の変化に、素早く
対応して行われることになる。
【図面の簡単な説明】
【図1】 本発明の一実施例によるディスクキャッシュ
装置の構成を示すブロック図である。
【図2】 実施例のディスクキャッシュ装置が、その動
作時に参照、更新するアクセス順リストの概要を示す説
明図である。
【図3】 実施例のディスクキャッシュ装置が、その動
作時に参照、更新するカウンタテーブルの概要を示す説
明図である。
【図4】 実施例のディスクキャッシュ装置の、読み出
し要求に対する応答処理の総合的な流れを示す流れ図で
ある。
【図5】 実施例のディスクキャッシュ装置において行
われる、アクセス順リストおよびカウンタテーブルの更
新処理の流れを示す流れ図である。
【図6】 実施例のディスクキャッシュ装置において行
われる、先読ブロック数取得処理の流れを示す流れ図で
ある。
【図7】 先読ブロック数取得処理によって取得される
先読ブロック数が、アクセス対象とされているファイル
によって変化する理由を示すために用いた説明図であ
る。
【図8】 従来の、先読みを行わないディスクキャッシ
ュ装置の動作内容を模式的に示した説明図である。
【図9】 従来の、先読みを行うディスクキャッシュ装
置の動作内容を模式的に示した説明図である。
【図10】 ディスク装置内のデータ配置の一例を示し
た説明図である。
【図11】 特開平3−164840号公報に記載の技
術の動作内容を説明するために用いた説明図である。
【符号の説明】
11…ディスクキャッシュ装置、12…中央処理装置
(CPU)、13…キャッシュメモリ、14…ROM、
15…RAM、16…インタフェース、21…アクセス
時刻情報、22…ブロックアドレス情報、23…カウン
タ番号、24…カウント値、31…ホスト装置、32…
ディスク装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリと、 ディスク装置内のあるブロック内のデータを読み出す際
    に、同時に読み出すブロックの数を規定する情報である
    先読ブロック数として用いることがある、所定数のブロ
    ック数情報に対して数値情報を記憶しておくための第1
    記憶手段と、 データの読み出しを行ったブロックのアドレスを所定回
    数分記憶する第2記憶手段と、 読み出し要求がなされた回数をカウントするカウント手
    段と、 読み出し要求がなされた際に、前記第2記憶手段に記憶
    されているそれぞれのアドレスに対して、そのアドレス
    と、読み出し要求されているアドレスとの差を算出する
    算出手段と、 この算出手段によって、前記第1記憶手段に記憶されて
    いるブロック数情報と一致する差が算出された場合に、
    そのブロック数情報に対応する数値情報に1を加算する
    加算手段と、 前記第1記憶手段内に記憶されている各数値情報と、予
    め定められる所定値を前記カウント手段のカウント値に
    掛けた値である基準値との大小関係の比較を、対応する
    ブロック数情報が増加する順番で行っていき、基準値よ
    り小さな数値情報と対応づけられている最初に見いださ
    れたブロック数情報から、1を減じた値を先読ブロック
    数に設定する先読ブロック数設定手段と、 読み出し要求されているアドレスのデータをディスク装
    置から読み出す際に、そのアドレスに連続する前記先読
    ブロック数設定手段で設定される先読ブロック数分のブ
    ロックのデータを読み出して、前記キャッシュメモリに
    格納する先読手段とを具備することを特徴とするディス
    クキャッシュ装置。
  2. 【請求項2】 キャッシュメモリと、 ディスク装置内のあるブロック内のデータを読み出す際
    に、同時に読み出すブロックの数を規定する情報である
    先読ブロック数として用いることがある、所定数のブロ
    ック数情報に対して数値情報を記憶しておくための第1
    記憶手段と、 データの読み出しを行ったブロックのアドレスと、読み
    出しを行った時刻を所定回数分記憶する第2記憶手段
    と、 読み出し要求がなされた回数をカウントするカウント手
    段と、 読み出し要求がなされた際に、前記第2記憶手段から、
    そこに記憶されている時刻を基に、所定時間内に読み出
    しが行われたブロックに関するアドレスを選択し、選択
    したそれぞれのアドレスに対して、そのアドレスと、読
    み出し要求されているアドレスとの差を算出する算出手
    段と、 この算出手段によって、前記第1記憶手段に記憶されて
    いるブロック数情報と一致する差が算出された場合に、
    そのブロック数情報に対応する数値情報に1を加算する
    加算手段と、 前記第1記憶手段内に記憶されている各数値情報と、予
    め定められる所定値を前記カウント手段のカウント値に
    掛けた値である基準値との大小関係の比較を、対応する
    ブロック数情報が増加する順番で行っていき、基準値よ
    り小さな数値情報と対応づけられている最初に見いださ
    れたブロック数情報から、1を減じた値を先読ブロック
    数に設定する先読ブロック数設定手段と、 読み出し要求されているアドレスのデータをディスク装
    置から読み出す際に、そのアドレスに連続する前記先読
    ブロック数設定手段で設定される先読ブロック数分のブ
    ロックのデータを読み出して、前記キャッシュメモリに
    格納する先読手段とを具備することを特徴とするディス
    クキャッシュ装置。
  3. 【請求項3】 キャッシュメモリと、 ディスク装置内のあるブロック内のデータを読み出す際
    に、同時に読み出すブロックの数を規定する情報である
    先読ブロック数として用いることがある、所定数のブロ
    ック数情報に対して数値情報を記憶しておくための第1
    記憶手段と、 データの読み出しを行ったブロックのアドレスを所定回
    数分記憶する第2記憶手段と、 読み出し要求がなされた回数をカウントするカウント手
    段と、 読み出し要求がなされた際に、前記第2記憶手段に記憶
    されているそれぞれのアドレスに対して、そのアドレス
    と、読み出し要求されているアドレスとの差を算出する
    算出手段と、 この算出手段によって、前記第1記憶手段に記憶されて
    いるブロック数情報と一致する差が算出された場合に、
    そのブロック数情報に対応する数値情報に1を加算する
    加算手段と、 前記第1記憶手段内に記憶されている各数値情報と、予
    め定められる所定値を前記カウント手段のカウント値に
    掛けた値である基準値との大小関係の比較を、対応する
    ブロック数情報が増加する順番で行っていき、基準値よ
    り小さな数値情報と対応づけられている最初に見いださ
    れたブロック数情報から、1を減じた値を先読ブロック
    数に設定する先読ブロック数設定手段と、 読み出し要求されているアドレスのデータをディスク装
    置から読み出す際に、そのアドレスに連続する前記先読
    ブロック数設定手段で設定される先読ブロック数分のブ
    ロックのデータを読み出して、前記キャッシュメモリに
    格納する先読手段と、 所定時間毎に、前記カウント手段のカウント値と前記第
    1記憶手段に記憶されている各数値情報を、それぞれ、
    その内容に、1より小さな所定比率を掛けた情報で置き
    換える情報置換手段とを具備することを特徴とするディ
    スクキャッシュ装置。
JP25220994A 1994-10-18 1994-10-18 ディスクキャッシュ装置 Expired - Fee Related JP3407428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25220994A JP3407428B2 (ja) 1994-10-18 1994-10-18 ディスクキャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25220994A JP3407428B2 (ja) 1994-10-18 1994-10-18 ディスクキャッシュ装置

Publications (2)

Publication Number Publication Date
JPH08115259A true JPH08115259A (ja) 1996-05-07
JP3407428B2 JP3407428B2 (ja) 2003-05-19

Family

ID=17234025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25220994A Expired - Fee Related JP3407428B2 (ja) 1994-10-18 1994-10-18 ディスクキャッシュ装置

Country Status (1)

Country Link
JP (1) JP3407428B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437524C (zh) * 2005-08-24 2008-11-26 三星电子株式会社 用于将文件的数据存储在存储块中的高速缓存方法及系统
JP2010146145A (ja) * 2008-12-17 2010-07-01 Nec Corp キャッシュメモリ及びプリフェッチ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437524C (zh) * 2005-08-24 2008-11-26 三星电子株式会社 用于将文件的数据存储在存储块中的高速缓存方法及系统
JP2010146145A (ja) * 2008-12-17 2010-07-01 Nec Corp キャッシュメモリ及びプリフェッチ方法

Also Published As

Publication number Publication date
JP3407428B2 (ja) 2003-05-19

Similar Documents

Publication Publication Date Title
JP3522527B2 (ja) 入出力制御装置および入出力制御方法
US7937404B2 (en) Data processing system and method
EP0301211B1 (en) Cache management for a peripheral data storage subsystem
US6615318B2 (en) Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US7146467B2 (en) Method of adaptive read cache pre-fetching to increase host read throughput
JPH0687224B2 (ja) ディスクベースコンピュータシステムにおけるデータキャッシングを最適化する方法及びシステム
EP0848321B1 (en) Method of data migration
US5134563A (en) Sequentially processing data in a cached data storage system
JP4186509B2 (ja) ディスクシステムとそのキャッシュ制御方法
CN114816749B (zh) 一种用于内存的智能化管理方法及系统
JP2010504576A (ja) キャッシュ・ディスク・ストレージのアップグレード
CN110147331B (zh) 缓存数据处理方法、系统及可读存储介质
JP3149856B2 (ja) 磁気ディスク制御装置
JPH08147218A (ja) キャッシュ制御装置
JP3407428B2 (ja) ディスクキャッシュ装置
CN113157600A (zh) 一种叠瓦式硬盘的空间分配方法、文件存储系统及服务器
JPH08263380A (ja) ディスクキャッシュ制御方式
JP4104283B2 (ja) 記憶サブシステム及び情報処理システム
JP3112709B2 (ja) 追記型記憶媒体のアクセス装置
JP3111912B2 (ja) ディスクキャッシュ制御方式
JP2001350669A (ja) 先読み予測装置
WO2021059198A1 (en) Circuitry and method
JPH0944315A (ja) 記憶装置及びその方法
JPH07104940A (ja) ディスク装置
JP2502844B2 (ja) 電子ファイル装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees