JPH0773107A - ディスク・システムの制御方法 - Google Patents

ディスク・システムの制御方法

Info

Publication number
JPH0773107A
JPH0773107A JP5220092A JP22009293A JPH0773107A JP H0773107 A JPH0773107 A JP H0773107A JP 5220092 A JP5220092 A JP 5220092A JP 22009293 A JP22009293 A JP 22009293A JP H0773107 A JPH0773107 A JP H0773107A
Authority
JP
Japan
Prior art keywords
disk
read
cache
data
disk device
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
JP5220092A
Other languages
English (en)
Other versions
JP2943896B2 (ja
Inventor
Eiji Ikeda
英二 池田
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP5220092A priority Critical patent/JP2943896B2/ja
Publication of JPH0773107A publication Critical patent/JPH0773107A/ja
Application granted granted Critical
Publication of JP2943896B2 publication Critical patent/JP2943896B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本体側に設けられたディスク・キャッシュ
と,先読みバッファを有するディスク装置とを備えるデ
ィスク・システムにおいて、データ転送を効率よく行い
得ると共に、キャッシュ・ヒット率を向上できるように
すること。 【構成】 シーケンシャル・アクセス時には、ディスク
装置から送られて来た要求データをディスク・キャッシ
ュを経由することなく、主記憶に転送する。シーケンシ
ャル・アクセス以外の時は、ディスク装置から送られて
来た要求データをディスク・キャッシュに格納すると共
に、主記憶に転送する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ホスト計算機側にディ
スク・キャッシュを備えると共に、ディスク装置の中に
先読みバッファを有するディスク・システムの制御方法
に関するものである。
【0002】
【従来の技術】図3は計算機システムの全体構成を示す
図である。同図において、10はホスト計算機、11は
中央処理装置、12はDMAコントローラ、13は主記
憶、14はディスク・キャッシュ、20は先読みバッフ
ァ付きディスク装置、21は先読みバッファ、22はデ
ィスク装置をそれぞれ示している。
【0003】ホスト計算機10は、中央処理装置11や
DMAコントローラ12,主記憶13,ディスク・キャ
ッシュ14などを有している。ホスト計算機10には、
その他、ディスプレイ装置や、キーボード、プリンタ等
が接続される。先読みバッファ付きディスク装置20
は、先読みバッファ21やディスク装置22などを有し
ている。
【0004】ディスク・キャッシュ14は、先読みバッ
ファ付きディスク装置20と主記憶13の間に存在し、
先読みバッファ付きディスク装置20からのデータをそ
の中に保持できる構成となっている。もちろん、ディス
ク・キャッシュ14を使用せずに先読みバッファ付きデ
ィスク装置20からのデータを主記憶13へ直接転送す
ることも出来る。これらの制御はディスク制御プログラ
ムのDMAコントローラ12への指示によって行われ
る。
【0005】DMAコントローラ12は複数のチャンネ
ル(例えば、8チャンネル)を有しており、その内の一
つが主記憶13をアクセスするために使用され、その内
の一つがディスク・キャッシュ14をアクセスするため
に使用される。DMAコントローラ12と先読みバッフ
ァ付きディスク装置20との間のデータ転送は、例えば
SCSIインタフェースを介して行われる。
【0006】図4はディスク・キャッシュの構成を示す
図である。ディスク・キャッシュは、キャッシュ・メモ
リ,キャッシュ管理テーブル,アクセス履歴テーブルな
どから構成されている。キャッシュ・メモリは、1MB
ないし16MB程度の大きさを有しており、ディスク内
データの一部コピーを保存する。1ブロックはディスク
装置と同サイズ(256バイトまたは512バイト)で
ある。
【0007】キャッシュ管理テーブルは、1項目が数バ
イト(例えば2バイト)であり、キャッシュ・メモリと
1対1に対応しており、現在,キャッシュ・メモリの中
にディスクの何れの部分のデータが保持されているかを
示すテーブルである。アクセス履歴テーブルは、過去の
アクセス履歴を保持するテーブルである。詳細は後述す
る。
【0008】図5はディスク・キャッシュ内ブロック格
納位置を説明する図である。キャッシュ・メモリのデー
タの格納位置およびそれと1対1に対応しているキャッ
シュ管理テーブルの位置を決定する方式としては、ハッ
シュ方式が使用される。具体的に言うと、キャッシュ・
メモリは1MBないし16MB程度とディスクに比較し
てかなり小さいものなので、ディスク内データの或る一
部分しか格納できないが、或るディスクのブロック位置
(アドレス)が判明すると、一意にキャッシュの位置が
決定すると言う方式である。
【0009】動作としては、例えばキャッシュ・メモリ
が1MBであるとし、ディスクの1ブロックが512バ
イトであるとすると、1MB(1048576バイト)
÷512バイト=2048ブロック分のデータがキャッ
シュに格納できることになるが、この数のことをエント
リ数と言う。図5のようにキャッシュ内を、使用してい
くとする。同図において、数字はディスクのブロック・
アドレスを示す。つまり、ブロック0,ブロック204
8,ブロック4096,…はAの位置に格納される。同
様に、ブロック1,ブロック2049,…はBの位置に
格納され、ブロック2,ブロック2050,…はCの位
置に格納されるように、使用していくとする。これは、
ディスクのブロックXが与えられた場合、Xをエントリ
数(この場合2048)で割った余りによってaから何
段目かが決定するという方式である。
【0010】すなわち、X÷(エントリ数)=Y余りn
とすると、このnがaから何段目かを示す数になる。デ
ィスクのブロック・アドレスが2050の場合は、20
50÷2048=1余り2となり、アドレス2050の
ブロックは、キャッシュ・メモリのaから数えて2段目
のCの位置に格納される。アドレスが4096の場合
は、4096÷2048=2あまり0となり、アドレス
4096のブロックはキャッシュ・メモリのaから数え
て0段目のAの位置に格納される。このような方式をハ
ッシュ方式と言い、簡単なアルゴリズムでキャッシュの
格納位置を決定することが出来る。
【0011】図6は先読みバッファ付きディスク装置の
構成例を示す図である。同図において、20は先読みバ
ッファ付きディスク装置、21は先読みバッファ、22
はディスク装置、23はコントローラをそれぞれ示して
いる。先読みバッファ21は、256KBないし512
KB程度の大きさを有している。コントローラ23は、
例えばマイクロプロセッサから構成されている。
【0012】図7はディスク制御プログラムの制御フロ
ーを示す図である。先ず、ディスクからデータをリード
する場合について説明する。ソフトウェアから、ディス
ク・データのリード要求があった場合、ディスクの読取
り開始ブロック・アドレスとブロック数が渡される。こ
れに基づき、ディスク制御プログラムはキャッシュ管理
テーブルをサーチして、キャッシュ・メモリ内に該当デ
ータが存在するかどうかをチェックする。存在すればヒ
ットと言い、存在しなければミスヒットという。
【0013】ヒットの場合、キャッシュ・メモリからデ
ータを主記憶へ転送し、ディスク装置にはアクセスしな
い。これによってディスク装置を高速に見せている。ミ
スヒットの場合、アクセス履歴によって、シーケンシャ
ル・アクセス(順編成ファイルへのアクセス等が此れに
該当する)かどうかを判断し、シーケンシャルアクセス
の場合は先読み分を含めた分のリードを先読みバッファ
付きディスク装置に要求し、そうでなければ要求分のみ
のリードを先読みバッファ付きディスク装置に要求す
る。
【0014】先読みバッファ付きディスク装置から転送
されたデータは、ディスク・キャッシュの該当位置に格
納されると同時に要求分は主記憶へ転送される。その後
で、キャッシュ管理テーブルの更新(新たに先読みバッ
ファ付きディスク装置からキャッシュに転送されたデー
タに対して)が行われる。これで、一回のソフトウェア
からの起動が終了する。この後のソフトからの起動で、
先程と同じデータの要求があった場合、もしくはシーケ
ンシャル・アクセスで後続のデータの要求があった場合
は、キャッシュにヒットする可能性が高い。
【0015】次に、ディスクにデータをライトする場合
の動作について説明する。ライト時にはリードのように
ヒット/ミスヒットはない。ソフトウェアから主記憶デ
ータのディスクへのライト要求(格納指示)があった場
合、リードの場合と同様にディスクの書込み開始ブロッ
ク・アドレスとブロック数が渡される。これに基づき、
ディスク制御プログラムは、ディスク・キャッシュ上の
格納位置を決定し、主記憶上のデータをディスク・キャ
ッシュに転送すると同時に先読みバッファ付きディスク
装置にもデータを書き込むための処理を行う。両方の転
送が終了した時点でキャッシュ管理テーブルの該当項目
を更新する。これで、ソフトウェアからの一回のライト
起動が終了する。この後のソフトウェアからの起動で、
先ほどライトしたデータと同じデータのリード要求があ
った場合は、ディスク・キャッシュにヒットする可能性
が高い。
【0016】図8は従来のホスト側ディスク・キャッシ
ュの先読み動作を説明するための図である。同図におい
て、はディスク装置からキャッシュへの先読み分も含
めたリード、はディスク・キャッシュから主記憶への
要求分のみの転送、はディスク・キャッシュにおける
先読み分、は先読みバッファにおける先読み分をそれ
ぞれ示している。
【0017】いま、ソフトウェアからディスク・データ
のリード要求があり、ディスクの読取り開始ブロック・
アドレス=X、ブロック数=Y1,主記憶アドレス=Z
であったと仮定する。ホスト計算機10(実際にはディ
スク制御プログラム)は、このリード要求で指定された
データがディスク・キャッシュ14にあるか否かを調
べ、ない場合にはアクセス履歴を参照して、シーケンシ
ャル・アクセスか否かを調べる。シーケシンャル・アク
セスの場合には、先読み分をY2とし、開始ブロック・
アドレス=X、ブロック数=Y1+Y2をパラメータと
して持つリード・コマンドを先読みバッファ付きディス
ク装置20に送る。
【0018】先読みバッファ付きディスク装置20は、
リード・コマンドを受け取ると、リード・コマンドで指
定されたブロックが先読みバッファ21にあるか否かを
調べる。ある場合には、ブロック・アドレス=Xを先頭
とする(Y1+Y2)ブロックを先読みバッファ21か
ら読み出してホスト計算機10に送る。ホスト計算機1
0(実際にはDMAコントローラ12)は、ブロック・
アドレス=Xを先頭とする(Y1+Y2)ブロックをデ
ィスク・キャッシュ14に書き込み、ブロック・アドレ
ス=Xを先頭とするY1ブロックを主記憶13のアドレ
スZ以降の領域に書き込む。
【0019】リード・コマンドで指定されたデータが先
読みバッファ21にない場合は、先読みバッファ付きデ
ィスク装置20は、リード・コマンドで指定されたデー
タを含む所定数(例えば1000)のブロックをディス
ク装置22から読み出して先読みバッファ21に格納す
ると共に、ブロック・アドレス=Xを先頭とする(Y1
+Y2)ブロックを読み出してホスト計算機10に送
る。それ以後の動作は前述した通りである。
【0020】図9はディスク装置からデータをリードす
る場合のホスト計算機の処理を示す図である。先読みバ
ッファ付きディスク装置からデータをリードする場合、
ソフトウェアからは、 ディスクの読取り開始ブロック・アドレス ブロック数 主記憶のメモリ・アドレス の3つの情報が渡される。このうち、との情報は、
リード・コマンドのパラメータとして、先読みバッファ
付きディスク装置に渡される。先読みバッファ付きディ
スク装置から該当のデータがインタフェース・バスを介
してホスト計算機に流れて来る。このとき、の情報を
用いてDMAコントローラによって主記憶に展開する。
【0021】図10は先読みバッファ付きディスク装置
の先読みバッファの構造を示す図である。先読みバッフ
ァの全体のサイズは256KBないし512KB程度で
あり、これをセグメント数と呼ばれる分割数で分割して
保持している。セグメント数は通常は4ないし8程度で
あり、したがって、1セグメント当たり32ないし12
8KB程度と言うことになる。
【0022】この先読みバッファは、2ポート構成とな
っており、ディスク媒体から読み取って先読みバッファ
に格納するポートと、インタフェース・バスから外部へ
送出するポートとを持っており、媒体からデータを読取
りながら外部へ送出することが出来るようになってい
る。なお、どれかを上書きして使用することになるが、
どれを使用するかはLRU(Least Recentry Used
)という有名なアルゴリズムを使用して決定する。つ
まり、最も古い(最も以前の)アクセスで使用されたバ
ッファを潰して使用し、今度はそのバッファを最新のも
のとして登録しておくので、常になるべく新しいデータ
をバッファに保持することが出来る仕組みである。
【0023】1つの先読みバッファのサイズは32KB
ないし128KB程度であるが、32KBの場合を想定
する。ディスクの1ブロックのサイズを512バイトと
すると、32KB(32768バイト)÷512バイト
=64ブロック分のデータを1個の先読みバッファの中
に保持できることになる。図示しないが、各先読みバッ
ファに対応して管理テーブルが存在し、各管理テーブル
は、対応する先読みバッファの各ブロック格納域にどの
ブロック・アドレスのデータが格納されているかを示す
情報を保持している。
【0024】図11および図12はリード時の先読みバ
ッファ付きディスク装置の処理を示す図である。ホスト
からリード・コマンドが送られてくると、ブロック・ア
ドレスとブロック数が渡されるので、先読みバッファ付
きディスク装置内のコントローラは、ディスク媒体の該
当位置へヘッドを移動する(シークという)。そして、
目的のブロックを見つけて、データを先読みバッファの
一つへ格納していく。これと同時に、外部送出用のポー
トから外部へデータを送出していく。
【0025】このようにホスト計算機からのリード・コ
マンドに基づいて該当データを転送していくわけである
が、例えば、ホスト計算機の要求ブロックが10ブロッ
クだったと仮定する。1個の先読みバッファ(1セグメ
ント)は、64ブロック分のデータを保持できるわけで
あるから、ホスト計算機へのデータ転送が終了した後も
54ブロック分のデータを継続して先読みして、先読み
バッファに格納していく。その後のホスト・アクセスが
先程の後続データであれば、先読みバッファにヒットす
ると言う仕組みである。
【0026】先読み中にホストからの新たなリード・コ
マンドを受け取った場合は、図12のフロー中の最後の
☆印の箇所でチェックが入り、そのコマンドの要求デー
タが先程の後続データであればそのまま先読みバッファ
中に入りつつあるデータをホスト計算機へ転送し、後続
データでなければ先読み動作は速やかに中止して、新た
なリード・コマンドの処理を行う。これによって、性能
劣化を防いでいる。
【0027】図13および図14はシーケンシャル・ア
クセス判断処理を示す図である。図7の制御フローにお
いて、アクセス履歴を参照して、シーケンシャル・アク
セスか否かの判断を行っているが、過去16回までのア
クセス履歴を記憶しておくために、“アクセス履歴テー
ブル”と呼ばれるテーブルを持っている。これは、ソフ
トウェアからのリード指示が発行された場合、その開始
ブロック・アドレスとブロック数を加算したもの(4バ
イト)を16通り覚えておくもので、64バイトのテー
ブルとなっている。図13および図14はシーケンシャ
ル・アクセス判断処理のフローを示す。図示のアルゴリ
ズムを使用することによって、今回のアクセスがシーケ
ンシャルアクセスかどうかが、SEQフラグのON/O
FFによって判明する。さらに今回のアクセス状況が新
たにテーブルに追加されることになる。
【0028】図15はアクセス履歴テーブルの遷移の例
を示す図である。図15(a) は初期状態を示す。初期状
態では、アクセス履歴テーブルの各項目(行)には、F
FFFFFFFが格納されている。ディスクの最大容量
の関係上、FFFFFFFFはあり得ないため、この値
を設定している。00000000にすると、0000
0000が開始ブロックとなるアクセスが、常にシーケ
ンシャル・アクセスと誤認識されてしまう。
【0029】アクセス履歴テーブルが図15(a) の状態
の下でブロック00000000から10ブロックのリ
ード要求があった場合には、アクセス履歴テーブルの内
容は図15(b) のように変化する。シーケンシャル・ア
クセス判断のアルゴリズムを使用すると、テーブルの項
目内に00000000が存在しないため、シーケンシ
ャル・アクセスでないと判断される。最初のアクセスは
常にシーケンシャル・アクセスでないと判断されるが、
最初だけなので、頻度は最小限である。
【0030】アクセス履歴テーブルが図15(b) の状態
の下でブロック00000010から10ブロックのリ
ード要求があった場合には、アクセス履歴テーブルの内
容は図15(c) のように変化する。アクセス履歴テーブ
ルの項目内に00000010と言う項目が存在するた
め、シーケシンシャル・アクセスと判断される。図15
(b) のテーブル状態から00000010の箇所が更新
されて、00000010+10=00000020と
なり、図15(c) のようになる。
【0031】その後、様々なアクセスがあって、アクセ
ス履歴テーブルの内容が図15(d)のようになったと仮
定する。アクセス履歴テーブルが図15(d) の状態の下
でブロック00222222から8ブロックのリード要
求があった場合には、アクセス履歴テーブルの内容は図
15(e) のように変化する。アクセス履歴テーブルの項
目内に00222222と言う項目が存在するため、シ
ーケンシャル・アクセスと判断される。図15(d) のテ
ーブルの状態から00222222の箇所が更新され
て、00222222+8=0022222Aとなり、
且つその項目が先頭(最新箇所)となり、古い項目は後
ろにずれる。
【0032】アクセス履歴テーブルが図15(e) の状態
の下でブロック0000ABCDから2ブロックのリー
ド要求があった場合には、アクセス履歴テーブルの内容
は図15(f) のように変化する。アクセス履歴テーブル
の項目内に0000ABCDと言う項目が存在しないた
め、シーケンシャル・アクセスでないと判断される。図
15(e) のテーブル項目に0000ABCD+2=00
00ABCFの項目が追加され、且つ其の項目が先頭
(最新箇所)となり、古い項目が後ろにずれる。このと
き、最も古い00000020が追い出される(アクセ
ス履歴テーブルから削除される)。
【0033】従来の技術では、ディスク・キャッシュの
中に、 i) アクセス要求のあったブロックのデータを保持す
る。(ソフトの“データの再使用”と言う性質を利用) ii) アクセス要求のあったブロックの後続データを先読
みして保持する。(ソフトの" 参照の局所性" と言う性
質を利用) などの動作を行い、ディスク装置を高速に見せている。
しかし、最近のディスク装置は、装置内に先読みバッフ
ァを装備しており,ii) の機能は意味がなくなってい
る。
【0034】
【発明が解決しようとする課題】上述した従来の技術に
は、以下のような問題点がある。 (a) 以降のリード要求で、ディスク・キャッシュ内の先
読みのデータがヒットされることが予測されるが、この
ときディスク・キャッシュのデータを主記憶へ転送する
時間と、先読みバッファ付きディスク装置の先読みバッ
ファのデータをホスト側キャシュを介さずに主記憶へ転
送する時間は同等であり、ディスク・キャッシュの効果
はなくなる。 (b) そればかりか、先読みバッファ付きディスク装置か
らの先読みデータの転送でディスク・キャッシュ内の旧
データが消失してしまうため、ディスク・キャッシュの
使用効率が悪く、結果的に全体を通したヒット率が低下
する。すなわち、シーケンシャル・アクセス時は、ホス
ト側キャッシュがあってもなくても性能は変わらない。
また、ディスク装置側からの転送速度が高速になると、
ディスク・キャッシュが付加されている方が遅くなると
言う性能逆転現象が発生する。
【0035】次にシーケンシャル・アクセスでない場合
を考える。 (1) ディスク装置側のバッファが主に先読み用に考えら
れていること。 (2) (ホスト側キャッシュ容量)>(ディスク側先読み
バッファ容量)であること。 (3) ディスク・アクセス時は、どのような場合でも、先
読みバッファ付きディスク装置の先読みバッファを使用
してしまうこと。 等の理由により先読みバッファのデータ保持性は低いと
言える。すなわち、シーケンシャル・アクセス以外の場
合は、ディスク装置側の先読みバッファにキャッシュと
しての効果は期待できない。なお、シーケンシャル・ア
クセスの場合は、一度使用されたデータは二度と使用し
ない場合が多いので、データ保持性は低くても問題はな
い。
【0036】本発明は、この点に鑑みて創作されたもの
であって、データ転送を効率良く行い得るとともに、キ
ャッシュ・ヒット率を向上できるようになったディスク
・システムの制御方法を提供することを目的としてい
る。
【0037】
【課題を解決するための手段】図1は本発明の原理説明
図である。請求項1のディスク・システムの制御方法
は、主記憶(13)と、ディスク・キャッシュ(14)と、先読
みバッファ(21)およびディスク装置(22)を有する先読み
バッファ付きのディスク装置(20)とを具備するディスク
・システムの制御方法であって、シーケンシャル・アク
セス時には、先読みバッファ付きディスク装置(20)から
送られて来た要求データを,ディスク・キャッシュ(14)
に格納することなく,主記憶(13)に格納し、シーケンシ
ャル・アクセス以外の時には、先読みバッファ付きディ
スク装置(20)から送られて来た要求データをディスク・
キャッシュ(14)に格納すると共に、主記憶(13)に格納す
ることを特徴とするものである。
【0038】
【作用】図1(a) を参照して、シーケンシャル・アクセ
ス時の動作について説明する。先読みバッファ付きディ
スク装置20は、ホスト計算機からのリード要求を受け
取ると、ディスク装置22から要求データDと,それに
続く先読分のデータD′を読み出し、要求データDと先
読み分のデータD′を先読みバッファ21に格納し、要
求データDをホスト計算機側に転送する。ホスト計算機
側は、シーケンシャル・アクセス時には要求データDを
ディスク・キャッシュ14に格納することなく、受け取
った要求データDを主記憶13に格納する。
【0039】図1(b) を参照して、シーケンシャル・ア
クセス以外の時の動作について説明する。先読みバッフ
ァ付きディスク装置20は、ホスト計算機からのリード
要求を受け取ると、ディスク22から要求データDと,
それに続く先読分のデータD′を読み出し、要求データ
Dと先読み分のデータD′を先読みバッファ21に格納
し、要求データDをホスト計算機側に転送する。ホスト
計算機側は、シーケンシャル・アクセス以外の時には要
求データDをディスク・キャッシュ143に格納すると
共に、要求データDを主記憶13に格納する。
【0040】本発明では、シーケンシャル・アクセス時
にはディスク・キャッシュにデータを格納せず、シーケ
ンシャル・アクセス以外の時には要求分のみをディスク
・キャッシュに格納しているので、ディスク・キャッシ
ュ内の旧データの消失を最小限にすることができ、ディ
スク・キャッシュのデータはその後のシーケンシャル・
アクセス時でも消失しない。また、数回のディスク・ア
クセス後、同一のデータの再要求があった場合には、こ
のディスク・キャッシュにより、ヒットが期待できる。
もし、このようなディスク・キャッシュが無く、ディス
ク内の先読みバッファのみでキャッシュを構成した場合
は、数回のディスク・アクセス後、同一データの再要求
があった場合は、数回のディスク・アクセス中にデータ
が消えてしまうので、ヒットが期待できない。
【0041】
【実施例】図2は本発明における動作フローを示す図で
ある。本発明を実施するためのハードウェア構成は、従
来例と同じである。本発明と従来例の相違は、ディスク
制御プログラムの一部が相違するだけである。すなわ
ち、図7において、「該当アクセス履歴更新」→「先読
み分を含めてディスク起動.データはキャッシュに格
納」→「キャッシュ管理テーブル更新」→「要求分のみ
キャッシュから主記憶転送」と言う処理の流れがある
が、本発明はこの処理の流れの部分を変更したものであ
る。ステップS1では、ソフトウェアからのリード要求
を受け取る。ステップS2では、過去何回かのアクセス
履歴を参照する。ステップS3では、シーケンシャル・
アクセスか否かを調べる。YESの場合はステップS4
に進み、NOの場合はステップS7に進む。
【0042】ステップS4では、該当アクセス履歴を更
新する。ステップS5では、ディスクにリード起動を送
る。この場合は、ホスト側のディスク・キャッシュは使
用しない。ステップS6では、ディスクからのデータを
そのまま主記憶へ転送する。
【0043】ステップS7では、アクセス履歴を追加す
る。ステップS8では、ディスクにリード起動を送る。
ステップS9では、ソフトからの要求分のみキャッシュ
にデータ格納する。ステップS10では、キャッシュか
ら主記憶へデータ転送する。
【0044】
【発明の効果】以上の説明から明らかなように、本発明
によれば、キャッシュ・ヒット率を向上できると共に、
効率よくデータを転送することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明における動作フローを示す図である。
【図3】計算機システムの全体を示す図である。
【図4】ディスク・キャッシュの構成を示す図である。
【図5】ディスク・キャッシュ内ブロック格納位置を説
明するための図である。
【図6】先読みバッファ付きディスク装置の構成を示す
図である。
【図7】ディスク制御プログラムの制御フローを示す図
である。
【図8】従来のホスト側ディスク・キャッシュの先読み
動作を説明する図である。
【図9】ディスク装置からデータをリードする場合のホ
スト計算機の処理を示す図である。
【図10】ディスク装置内の先読みバッファの構造を示
す図である。
【図11】リード時のディスク装置の処理を示す図であ
る。
【図12】リード時のディスク装置の処理(続き)を示
す図である。
【図13】シーケンシャル・アクセス判断処理を示す図
である。
【図14】シーケンシャル・アクセス判断処理(続き)
を示す図である。
【図15】アクセス履歴テーブルの遷移の例を示す図で
ある。
【符号の説明】
10 ホスト計算機 11 中央処理装置 12 DMAコントローラ 13 主記憶 14 ディスク・キャッシュ 20 先読みバッファ付きディスク装置 21 先読みバッファ 22 ディスク装置 23 コントローラ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 主記憶(13)と、 ディスク・キャッシュ(14)と、 先読みバッファ(21)およびディスク装置(22)を有する先
    読みバッファ付きのディスク装置(20)とを具備するディ
    スク・システムの制御方法であって、 シーケンシャル・アクセス時には、先読みバッファ付き
    ディスク装置(20)から送られて来た要求データを,ディ
    スク・キャッシュ(14)に格納することなく,主記憶(13)
    に格納し、 シーケンシャル・アクセス以外の時には、先読みバッフ
    ァ付きディスク装置(20)から送られて来た要求データを
    ディスク・キャッシュ(14)に格納すると共に、主記憶(1
    3)に格納することを特徴とするディスク・システムの制
    御方法。
JP5220092A 1993-09-03 1993-09-03 計算機システム及びディスク・データの制御方法 Expired - Lifetime JP2943896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5220092A JP2943896B2 (ja) 1993-09-03 1993-09-03 計算機システム及びディスク・データの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5220092A JP2943896B2 (ja) 1993-09-03 1993-09-03 計算機システム及びディスク・データの制御方法

Publications (2)

Publication Number Publication Date
JPH0773107A true JPH0773107A (ja) 1995-03-17
JP2943896B2 JP2943896B2 (ja) 1999-08-30

Family

ID=16745806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5220092A Expired - Lifetime JP2943896B2 (ja) 1993-09-03 1993-09-03 計算機システム及びディスク・データの制御方法

Country Status (1)

Country Link
JP (1) JP2943896B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062664B2 (en) 1997-07-25 2006-06-13 Canon Kabushiki Kaisha Bus management based on bus status
JP2008269015A (ja) * 2007-04-16 2008-11-06 Hitachi Ltd 記憶システム及びその制御方法
WO2008136133A1 (ja) * 2007-04-20 2008-11-13 Media Logic Corp. デバイスコントローラ
JP2009093225A (ja) * 2007-10-03 2009-04-30 Nec Corp ストレージ制御装置、方法及びプログラム並びにストレージ装置
JP2011008570A (ja) * 2009-06-26 2011-01-13 Buffalo Inc ストレージ装置、情報処理システム、およびコンピュータプログラム
JP2011514593A (ja) * 2008-06-25 2011-05-06 インテル・コーポレーション キャッシュ利用に関する装置および方法
JP2013077161A (ja) * 2011-09-30 2013-04-25 Toshiba Corp 情報処理装置、ハイブリッド記憶装置、およびキャッシュ方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062664B2 (en) 1997-07-25 2006-06-13 Canon Kabushiki Kaisha Bus management based on bus status
JP2008269015A (ja) * 2007-04-16 2008-11-06 Hitachi Ltd 記憶システム及びその制御方法
US8214606B2 (en) 2007-04-16 2012-07-03 Hitachi Ltd. Storage system and control method thereof
WO2008136133A1 (ja) * 2007-04-20 2008-11-13 Media Logic Corp. デバイスコントローラ
US8370857B2 (en) 2007-04-20 2013-02-05 Media Logic Corp. Device controller
JP2009093225A (ja) * 2007-10-03 2009-04-30 Nec Corp ストレージ制御装置、方法及びプログラム並びにストレージ装置
JP2011514593A (ja) * 2008-06-25 2011-05-06 インテル・コーポレーション キャッシュ利用に関する装置および方法
US8433854B2 (en) 2008-06-25 2013-04-30 Intel Corporation Apparatus and method for cache utilization
JP2013178818A (ja) * 2008-06-25 2013-09-09 Intel Corp キャッシュ利用に関する装置および方法
JP2011008570A (ja) * 2009-06-26 2011-01-13 Buffalo Inc ストレージ装置、情報処理システム、およびコンピュータプログラム
JP2013077161A (ja) * 2011-09-30 2013-04-25 Toshiba Corp 情報処理装置、ハイブリッド記憶装置、およびキャッシュ方法

Also Published As

Publication number Publication date
JP2943896B2 (ja) 1999-08-30

Similar Documents

Publication Publication Date Title
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US4489378A (en) Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
JP3183993B2 (ja) ディスク制御システム
US4490782A (en) I/O Storage controller cache system with prefetch determined by requested record's position within data block
US7203815B2 (en) Multi-level page cache for enhanced file system performance via read ahead
JP2637290B2 (ja) キャッシュ管理を動的に制御するためのシステム及び方法
US6772288B1 (en) Extended cache memory system and method for caching data including changing a state field value in an extent record
JPS60500187A (ja) データ処理システム
JP2000090009A (ja) キャッシュメモリにおいてキャッシュラインを置き換えるための方法および装置
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data
JP2007011523A (ja) データの先読み方法及び計算機システム
JP2001188706A (ja) ディスク制御装置
EP0066766B1 (en) I/o controller with a dynamically adjustable cache memory
JP3149856B2 (ja) 磁気ディスク制御装置
JP2943896B2 (ja) 計算機システム及びディスク・データの制御方法
JP2852232B2 (ja) コンピュータ
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置
JP3435176B2 (ja) 磁気ディスク装置
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JP2854668B2 (ja) ディスク・キャッシュ制御方式
JPH05257810A (ja) 情報記録再生装置および情報記録方法
JP2567903B2 (ja) データ転送方法
JP2636746B2 (ja) 入出力キャッシュ
JPH06282487A (ja) キャッシュ装置