JPH0363741A - ディスク・キャッシュ装置 - Google Patents
ディスク・キャッシュ装置Info
- Publication number
- JPH0363741A JPH0363741A JP1199794A JP19979489A JPH0363741A JP H0363741 A JPH0363741 A JP H0363741A JP 1199794 A JP1199794 A JP 1199794A JP 19979489 A JP19979489 A JP 19979489A JP H0363741 A JPH0363741 A JP H0363741A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- cache memory
- cache
- read
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、電子計算機システムにおいて用いられるデ
ィスク・キャッシュ装置に関し、特にデータの書き込み
時において、ライト・スルー(ストア・スルー)方式を
採用するディスク・キャッシュ装置に関するものである
。
ィスク・キャッシュ装置に関し、特にデータの書き込み
時において、ライト・スルー(ストア・スルー)方式を
採用するディスク・キャッシュ装置に関するものである
。
〔従来の技術)
電子計算機システムにおいて、ディスク装置に対する処
理時間を短縮するために、主記憶装置とディスク装置と
の間に高速で小容量のキャッシュ・メモリを設けて参照
頻度の高いディスク・データをキャッシュ・メモリに格
納し、平均的なディスク・アクセス時間を短縮しようと
するディスクキャッシュ装置が従来より一般的に知られ
ている。
理時間を短縮するために、主記憶装置とディスク装置と
の間に高速で小容量のキャッシュ・メモリを設けて参照
頻度の高いディスク・データをキャッシュ・メモリに格
納し、平均的なディスク・アクセス時間を短縮しようと
するディスクキャッシュ装置が従来より一般的に知られ
ている。
ディスク・キャッシュ装置におけるデータの書き込み方
式としては、データをキャンシュ・メモリに書き込むと
同時にディスク装置への書き込みを行うライト・スルー
(ストア・スルー)方式と、データをキャッシュ・メモ
リにのみ書き込み、他のブロックが指定されることによ
り、そのデータが書き込まれたキャッシュ・メモリ上の
ブロックが置換されるときに、ディスク装置に書き込み
を行うライト・バンク(ストア・イン)方式とがあるが
、−Cに電源障害等を考慮して、ライト・スル一方式が
採用されている。
式としては、データをキャンシュ・メモリに書き込むと
同時にディスク装置への書き込みを行うライト・スルー
(ストア・スルー)方式と、データをキャッシュ・メモ
リにのみ書き込み、他のブロックが指定されることによ
り、そのデータが書き込まれたキャッシュ・メモリ上の
ブロックが置換されるときに、ディスク装置に書き込み
を行うライト・バンク(ストア・イン)方式とがあるが
、−Cに電源障害等を考慮して、ライト・スル一方式が
採用されている。
上記に示すディスク・キャッシュ装置においては、ディ
スク・アクセスにおける書き込み比率が高く、また参照
するディスク・データの局所性が高いプログラムによっ
て使用された場合、データ転送の性能が向上する効果が
現れる。
スク・アクセスにおける書き込み比率が高く、また参照
するディスク・データの局所性が高いプログラムによっ
て使用された場合、データ転送の性能が向上する効果が
現れる。
ところが、あるディスク領域を作業領域として使用する
プログラムによっては、ディスク・キャッシュ装置が使
用されたとしても、ディスク・データのアクセスに局所
性がなく、がつ読み出し比率が低いため、ディスク・キ
ャッシュ装置のデータ転送効率向上の効果が発揮できず
、キャッシュ・メモリを有効に利用できない場合がある
。
プログラムによっては、ディスク・キャッシュ装置が使
用されたとしても、ディスク・データのアクセスに局所
性がなく、がつ読み出し比率が低いため、ディスク・キ
ャッシュ装置のデータ転送効率向上の効果が発揮できず
、キャッシュ・メモリを有効に利用できない場合がある
。
この発明の目的は、ディスク・データのアクセスの局所
性が低く、また読み出し比率が低いプログラムを実行す
るときでも、メモリ資源を有効に使用することができる
ディスク・キャッシュ装置を提供するである。
性が低く、また読み出し比率が低いプログラムを実行す
るときでも、メモリ資源を有効に使用することができる
ディスク・キャッシュ装置を提供するである。
この発明のディスク・キャッシュ装置は、1台ないし複
数台のディスク装置を備えた電子計算機システムにおい
て用いられる。
数台のディスク装置を備えた電子計算機システムにおい
て用いられる。
請求項fil記載のディスク・キャッシュ装置は、ディ
スク装置に格納されたデータの写しを格納するためのキ
ャッシュ・メモリと、 ディスク装置に格納されたデータの写しがキャッシュ・
メモリに存在するか否かを識別するためのディレクトリ
と、 ディスク装置に対して単位時間あたりアクセスを要求さ
れた回数と読み出し/書き込み要求の割合を検出するア
クセス頻度検出手段と、アクセス頻度検出手段の検出結
果より、ディスク装置へのアクセス頻度が極端に減少し
たり、読み出し/書き込み要求の割合において読み出し
比率に極端な低下が見受けられた場合、一時的に前記キ
ャッシュ・メモリ上の領域の少なくとも一部を電子計算
機システムの主記憶の一部として使用を可能にするキャ
ッシュ・メモリ制御回路とを備えている。
スク装置に格納されたデータの写しを格納するためのキ
ャッシュ・メモリと、 ディスク装置に格納されたデータの写しがキャッシュ・
メモリに存在するか否かを識別するためのディレクトリ
と、 ディスク装置に対して単位時間あたりアクセスを要求さ
れた回数と読み出し/書き込み要求の割合を検出するア
クセス頻度検出手段と、アクセス頻度検出手段の検出結
果より、ディスク装置へのアクセス頻度が極端に減少し
たり、読み出し/書き込み要求の割合において読み出し
比率に極端な低下が見受けられた場合、一時的に前記キ
ャッシュ・メモリ上の領域の少なくとも一部を電子計算
機システムの主記憶の一部として使用を可能にするキャ
ッシュ・メモリ制御回路とを備えている。
請求項(2)記載のディスク・キャッシュ装置は、電子
計算機システムの主記憶装置の一部の領域を使用して構
成されディスク装置に格納されたデータの写しを格納す
るためのキャッシュ・メモリと、主記憶装置の一部の領
域を使用して構成されディスク装置に格納されたデータ
の写しがキャッシュ・メモリに存在するか否かを識別す
るためのディレクトリと、 ディスク装置に対して単位時間あたりアクセスを要求さ
れた回数と読み出し/書き込み要求の割合を検出するア
クセス頻度検出手段と、アクセス頻度検出手段の検出結
果より、ディスク装置へのアクセス頻度が極端に減少し
たり、読み出し/書き込み要求の割合の読み出し比率が
極端に低下していることが見受けられた場合、一時的に
主記憶装置上のキャッシュ・メモリとして使用できる領
域を縮小して主記憶としての領域を増やすことを可能に
するキャッシュ・メモリ制御回路とを備えている。
計算機システムの主記憶装置の一部の領域を使用して構
成されディスク装置に格納されたデータの写しを格納す
るためのキャッシュ・メモリと、主記憶装置の一部の領
域を使用して構成されディスク装置に格納されたデータ
の写しがキャッシュ・メモリに存在するか否かを識別す
るためのディレクトリと、 ディスク装置に対して単位時間あたりアクセスを要求さ
れた回数と読み出し/書き込み要求の割合を検出するア
クセス頻度検出手段と、アクセス頻度検出手段の検出結
果より、ディスク装置へのアクセス頻度が極端に減少し
たり、読み出し/書き込み要求の割合の読み出し比率が
極端に低下していることが見受けられた場合、一時的に
主記憶装置上のキャッシュ・メモリとして使用できる領
域を縮小して主記憶としての領域を増やすことを可能に
するキャッシュ・メモリ制御回路とを備えている。
この発明の構成によれば、ディスク装置へのアクセス状
況に応してディスク・キャッシュ装置のキャッシュ・メ
モリのディスク・キャッシュとして使用する量を自動的
に調節し、ディスク・キャッシュとして使用しない部分
を主記憶の一部として使用できるので、ディスクデータ
のアクセスの局所性が低く、また読み出し比率が低いプ
ログラムを実行するときでも、有効にディスク・キャッ
シュ装置のメモリ資源を使用できる。
況に応してディスク・キャッシュ装置のキャッシュ・メ
モリのディスク・キャッシュとして使用する量を自動的
に調節し、ディスク・キャッシュとして使用しない部分
を主記憶の一部として使用できるので、ディスクデータ
のアクセスの局所性が低く、また読み出し比率が低いプ
ログラムを実行するときでも、有効にディスク・キャッ
シュ装置のメモリ資源を使用できる。
以下、この発明の実施例を図面を参照しながら説明する
。
。
第1図はこの発明が適用される電子計算機システムを示
すものである。第1図(alにおいて、ioo。
すものである。第1図(alにおいて、ioo。
はCP U、 2000は主記憶装置(MM) 、20
10は主記憶装置2000上で動作するO3,201)
は032010に含まれるプログラムであるドライバで
ある。
10は主記憶装置2000上で動作するO3,201)
は032010に含まれるプログラムであるドライバで
ある。
4000はディスク装置であり、3000はディスク装
置4000の入出力を制御するディスク制御装置である
。
置4000の入出力を制御するディスク制御装置である
。
3020はディスク装置4000上のデータを写しとし
て一時的に記憶するためのキャッシュ・メモリで、30
10はキャッシュ・メモリ3020にディスク装置40
00上のどこのデータが入っているかを記憶しているデ
ィレクトリであり、それぞれディスク制御装置3000
上に存在する。
て一時的に記憶するためのキャッシュ・メモリで、30
10はキャッシュ・メモリ3020にディスク装置40
00上のどこのデータが入っているかを記憶しているデ
ィレクトリであり、それぞれディスク制御装置3000
上に存在する。
しかし、ディレクトリ3010およびキャッシュ・メモ
リ3020は必ずしもディスク制御装置3000上に存
在しなければならないものではなく、多数のディスク装
置を接続するような電子計算機システムにおいては、各
ディスク装置に対して同じキャッシュ・メモリを共有で
きるということで、第1図(blに示すように、主記憶
装置2000の一部の領域をキャッシュ・メモリ302
0およびディレクトリ3010に割り当てることもある
。
リ3020は必ずしもディスク制御装置3000上に存
在しなければならないものではなく、多数のディスク装
置を接続するような電子計算機システムにおいては、各
ディスク装置に対して同じキャッシュ・メモリを共有で
きるということで、第1図(blに示すように、主記憶
装置2000の一部の領域をキャッシュ・メモリ302
0およびディレクトリ3010に割り当てることもある
。
つぎに、基本的な動作について説明する。CPU 10
00がディスク装W 4000に対して読み出し要求を
ドライバ201)を使用して発行すると、ディスク制御
装置3000は、ドライバ201)より受は取った読み
出し要求のアドレスを用いてディレクトリ3010を検
索し、アクセスしようとしているデータがキャッシュ・
メモリ3020に存在するか否かを調べる。
00がディスク装W 4000に対して読み出し要求を
ドライバ201)を使用して発行すると、ディスク制御
装置3000は、ドライバ201)より受は取った読み
出し要求のアドレスを用いてディレクトリ3010を検
索し、アクセスしようとしているデータがキャッシュ・
メモリ3020に存在するか否かを調べる。
もし存在すれば、そこからデータを読み出し、CPU1
00Oへ転送する。もし、アクセスされたデータがキャ
ッシュ・メモリ3020上に存在しなければ、そのデー
タを含むデータブロックをディスク装置4000から読
み出し、このブロックをキャッシュ・メモリ3020の
適当なブロックに格納し、ディレクトリ3010を更新
すると同時にCP UlooOにアクセスされたデータ
を転送する。
00Oへ転送する。もし、アクセスされたデータがキャ
ッシュ・メモリ3020上に存在しなければ、そのデー
タを含むデータブロックをディスク装置4000から読
み出し、このブロックをキャッシュ・メモリ3020の
適当なブロックに格納し、ディレクトリ3010を更新
すると同時にCP UlooOにアクセスされたデータ
を転送する。
逆に、CP [1000がディスク装置4000に対し
て書き込み要求を発行した場合、書き込みデータをディ
スク装置4000に書き込み、もしディスク装置400
0の書き込まれた場所の前のデータがキャッシュ・メモ
リ3020に存在するとき、そのブロックを無効にする
。
て書き込み要求を発行した場合、書き込みデータをディ
スク装置4000に書き込み、もしディスク装置400
0の書き込まれた場所の前のデータがキャッシュ・メモ
リ3020に存在するとき、そのブロックを無効にする
。
この発明はディスク・キャッシュ装置を使用するプログ
ラムに応して、ディスク・キャッシュ装置のキャッシュ
・メモリ3020のディスク・キャッシュとして使用す
る量と主記憶装置2000の一部として使用できる量を
いかに調節するかに関するものであるので、第1図(a
lのような計算機システムの構成においては、ディスク
制御装23000の内部を示す第2図を用いて、また第
1間色)のような構成においては、CP 01000.
主記憶装置2000.ディスク制御装置3000の関係
図である第3図を用いて、それぞれの実施例を詳細に説
明する。
ラムに応して、ディスク・キャッシュ装置のキャッシュ
・メモリ3020のディスク・キャッシュとして使用す
る量と主記憶装置2000の一部として使用できる量を
いかに調節するかに関するものであるので、第1図(a
lのような計算機システムの構成においては、ディスク
制御装23000の内部を示す第2図を用いて、また第
1間色)のような構成においては、CP 01000.
主記憶装置2000.ディスク制御装置3000の関係
図である第3図を用いて、それぞれの実施例を詳細に説
明する。
第2図において、3040は読み出し/書き込み要求等
のディスク装24000に対する命令コードを格納する
制御レジスタ、3050はディスク装置4000への読
み出し/書き込み要求により指定されるデータのアドレ
スを格納するアドレスレジスタ、3030はディスク装
W4000に対して単位時間当りアクセス要求があった
回数および読み出し比率を検出するアクセス頻度検出回
路(特許請求の範囲でいうアクセス頻度検出手段) 、
3060はキャッシュ・メモリ3020を主記憶の一部
としてアクセスするためのアドレス・デコーダ、307
0はアクセス頻度検出回路3030の情報に基づいてア
ドレス・デコーダ3060の設定およびディレクトリ3
010の内容を変更するキャッシュ・メモリ制御回路、
3080はディスク・キャッシュ装置全般の動作を制御
するディスク・キャッシュ制御回路、3090はディレ
クトリ3010とアドレスレジスタ3050の内容とを
比較する比較回路、3100はキャッシュ・メモリ30
20のブロックを新しいデータブロックに置き換える等
の処理を行う書き換え処理回路であり、31)0はキャ
ッシュ・メモリ3020に接続されている入出カバソフ
ァである。
のディスク装24000に対する命令コードを格納する
制御レジスタ、3050はディスク装置4000への読
み出し/書き込み要求により指定されるデータのアドレ
スを格納するアドレスレジスタ、3030はディスク装
W4000に対して単位時間当りアクセス要求があった
回数および読み出し比率を検出するアクセス頻度検出回
路(特許請求の範囲でいうアクセス頻度検出手段) 、
3060はキャッシュ・メモリ3020を主記憶の一部
としてアクセスするためのアドレス・デコーダ、307
0はアクセス頻度検出回路3030の情報に基づいてア
ドレス・デコーダ3060の設定およびディレクトリ3
010の内容を変更するキャッシュ・メモリ制御回路、
3080はディスク・キャッシュ装置全般の動作を制御
するディスク・キャッシュ制御回路、3090はディレ
クトリ3010とアドレスレジスタ3050の内容とを
比較する比較回路、3100はキャッシュ・メモリ30
20のブロックを新しいデータブロックに置き換える等
の処理を行う書き換え処理回路であり、31)0はキャ
ッシュ・メモリ3020に接続されている入出カバソフ
ァである。
ディスク装置4000の最小の記憶単位をセクタとし、
その複数倍の大きさのまとまりをブロックとすると、キ
ャッシュ・メモリ3020はセクタ単位でアドレスでき
るメモリで、全体が複数のブロックに分解されていて、
ブロック単位でディスク・データを格納し、セクタ単位
でのアクセスが行われる。
その複数倍の大きさのまとまりをブロックとすると、キ
ャッシュ・メモリ3020はセクタ単位でアドレスでき
るメモリで、全体が複数のブロックに分解されていて、
ブロック単位でディスク・データを格納し、セクタ単位
でのアクセスが行われる。
ディレクトリ3010は、キャッシュ・メモリ3020
内のブロックに対応したエントリを持つメモリで、第4
図に示すように、各エントリにはキャッシュ・メモリ3
020の対応するブロックに格納されているディスク装
置4000のデータブロックのアドレスが記憶されてい
る。
内のブロックに対応したエントリを持つメモリで、第4
図に示すように、各エントリにはキャッシュ・メモリ3
020の対応するブロックに格納されているディスク装
置4000のデータブロックのアドレスが記憶されてい
る。
アクセス頻度検出回路3030は、所定時間中ディスク
装W、4000へ読み出し/書き込みが要求される毎に
その回数をカウントし、ディスク装置4000に対する
アクセス回数および読み出し比率を算出し、その結果を
ディスク・キャッシュ制御回路3080に送る。所定時
間が過ぎると、各カウント値は一度すセフトされ、新た
にカウントし始める。
装W、4000へ読み出し/書き込みが要求される毎に
その回数をカウントし、ディスク装置4000に対する
アクセス回数および読み出し比率を算出し、その結果を
ディスク・キャッシュ制御回路3080に送る。所定時
間が過ぎると、各カウント値は一度すセフトされ、新た
にカウントし始める。
つぎに、第1図(al 、第2図においての基本的な動
作について説明する。CP UlooOより読み出し要
求がある場合、ドライバ201)は指定されたディスク
装置4000のデータのアドレスをアドレスレジスタ3
050に格納し、また読み出し要求の命令コードを制御
レジスタ3040に格納する。そして、比較回路309
0はディレクトリ3010の内容とアドレスレジスタ3
050の内容とを比較し、もし一致すれば、このエント
リに対応するキャッシュ・メモリ3020のブロックに
、アクセスしようとするデータが格納されていて、該デ
ータがCP UlooOに送られる。
作について説明する。CP UlooOより読み出し要
求がある場合、ドライバ201)は指定されたディスク
装置4000のデータのアドレスをアドレスレジスタ3
050に格納し、また読み出し要求の命令コードを制御
レジスタ3040に格納する。そして、比較回路309
0はディレクトリ3010の内容とアドレスレジスタ3
050の内容とを比較し、もし一致すれば、このエント
リに対応するキャッシュ・メモリ3020のブロックに
、アクセスしようとするデータが格納されていて、該デ
ータがCP UlooOに送られる。
もし比較が一致しなければ、書き換え処理回路3100
により、キャッシュ・メモリ3020より空ブロックを
取り出す。もし空きブロックが存在しないときは、公知
のアルゴリズム、例えばLRU(Least Rece
ntly Used)のように、使用中のブロックの中
から最後に参照された時点が最も古いブロックを使用頻
度が最も低いとみなし、置換ブロックとして選択する。
により、キャッシュ・メモリ3020より空ブロックを
取り出す。もし空きブロックが存在しないときは、公知
のアルゴリズム、例えばLRU(Least Rece
ntly Used)のように、使用中のブロックの中
から最後に参照された時点が最も古いブロックを使用頻
度が最も低いとみなし、置換ブロックとして選択する。
そして、そのブロックに相当するディレクトリ3010
のエントリにアクセスしようとしているデータブロック
のアドレスが書き込まれる。つぎに、書き換え処理回路
3100により選択されたキャッシュ・メモリ3020
のブロックに、ディスク装置4000からアドレスレジ
スタ3050に示すアドレスのブロックが読み込まれ、
また同時にCP UlooOへも送られる。
のエントリにアクセスしようとしているデータブロック
のアドレスが書き込まれる。つぎに、書き換え処理回路
3100により選択されたキャッシュ・メモリ3020
のブロックに、ディスク装置4000からアドレスレジ
スタ3050に示すアドレスのブロックが読み込まれ、
また同時にCP UlooOへも送られる。
ディスク・キャッシュ装置の基本動作に続いて、この発
明の特徴であるアクセス頻度検出回路3030とキャッ
シュ・メモリ制御回路3070の作用について説明する
。
明の特徴であるアクセス頻度検出回路3030とキャッ
シュ・メモリ制御回路3070の作用について説明する
。
アクセス頻度検出回路3030は、制御レジスタ304
0の中の命令コードにより、所定時間(例えば1分間)
におけるディスク装24000に対する読み出し/書き
込み要求回数をカウントし、また読み出し比率を算出し
、その情報をディスク・キャッシュ制御回路3080お
よびキャッシュ・メモリ制御回路3070に送る。ここ
で、ディスク・キャッシュ装置を使用しているプログラ
ムにおいて、ディスク装置4000へのアクセス回数お
よび読み出し比率が所定の基準を下まわれば、キャッシ
ュ・メモリ制御回路3070はアドレス・デコーダ30
60およびディレクトリ301Oを操作してキャッシュ
・メモリ3020の一部を主記憶の一部として割り当て
、アクセスを可能とする。例えば、ディレクトリ301
0の各エントリに第4図に示すように、現在そのエント
リに対応するキャッシュ・メモリ3020のブロックが
ディスク・キャッシュとして使用されているか、主記憶
の一部として使用されているかを示すキャッシュ有効フ
ラグとキャッシュ・メモリ3020中のブロックの置換
優先1頓位を示す置換優先度指示カウンタを持たせてお
けば、キャッシュ・メモリ制御回路3070はまずディ
レクトリ3010中の置換優先度指示カウンタを検索し
、置換優先度の最も高いブロックから主記憶の一部とし
て割り付けるため、キャッシュ有効フラグを無効にし、
アドレス・デコーダ3060を起動させ、キャッシュ・
メモリ3020のブロックをアクセスするため設定を行
なう、なお、キャッシュ・メモリ3020の主記憶への
割り当てはブロック単位で行い、その数はアクセス頻度
検出回路3030によって算出された読み出し比率等の
情報に応してキャッシュ・メモリ制御回路3070によ
って決定される。
0の中の命令コードにより、所定時間(例えば1分間)
におけるディスク装24000に対する読み出し/書き
込み要求回数をカウントし、また読み出し比率を算出し
、その情報をディスク・キャッシュ制御回路3080お
よびキャッシュ・メモリ制御回路3070に送る。ここ
で、ディスク・キャッシュ装置を使用しているプログラ
ムにおいて、ディスク装置4000へのアクセス回数お
よび読み出し比率が所定の基準を下まわれば、キャッシ
ュ・メモリ制御回路3070はアドレス・デコーダ30
60およびディレクトリ301Oを操作してキャッシュ
・メモリ3020の一部を主記憶の一部として割り当て
、アクセスを可能とする。例えば、ディレクトリ301
0の各エントリに第4図に示すように、現在そのエント
リに対応するキャッシュ・メモリ3020のブロックが
ディスク・キャッシュとして使用されているか、主記憶
の一部として使用されているかを示すキャッシュ有効フ
ラグとキャッシュ・メモリ3020中のブロックの置換
優先1頓位を示す置換優先度指示カウンタを持たせてお
けば、キャッシュ・メモリ制御回路3070はまずディ
レクトリ3010中の置換優先度指示カウンタを検索し
、置換優先度の最も高いブロックから主記憶の一部とし
て割り付けるため、キャッシュ有効フラグを無効にし、
アドレス・デコーダ3060を起動させ、キャッシュ・
メモリ3020のブロックをアクセスするため設定を行
なう、なお、キャッシュ・メモリ3020の主記憶への
割り当てはブロック単位で行い、その数はアクセス頻度
検出回路3030によって算出された読み出し比率等の
情報に応してキャッシュ・メモリ制御回路3070によ
って決定される。
また、ディスク・キャッシュ装置を使用するプログラム
が代わった場合、キャッシュ・メモリ制御回路3070
はディレクトリ301Oのキャッシュ有効フラグを有効
にし、主記憶の一部として割り付けられていたキャッシ
ュ・メモリ3020を再びディスク・キャッシュとして
使用できるようにするが、この時もしキャッシュ・メモ
リ3020の主記憶の一部として割り付けられていた部
分に格納されているデータの保存が必要な場合はディス
ク装?1f4000に書き込むなり、主記憶装置200
0に移す等032010が適当な処理を行なう。
が代わった場合、キャッシュ・メモリ制御回路3070
はディレクトリ301Oのキャッシュ有効フラグを有効
にし、主記憶の一部として割り付けられていたキャッシ
ュ・メモリ3020を再びディスク・キャッシュとして
使用できるようにするが、この時もしキャッシュ・メモ
リ3020の主記憶の一部として割り付けられていた部
分に格納されているデータの保存が必要な場合はディス
ク装?1f4000に書き込むなり、主記憶装置200
0に移す等032010が適当な処理を行なう。
つぎに、第1図(blのような計算機システムの構成に
おける実施例を第3図を用いて説明する。第3図におい
て、上述した実施例と異なる点は、ディレクトリ301
0.キャッシュ・メモリ3020およびキャッシュ・メ
モリ制御回路3070によって設定されるアドレス・デ
コーダ3060が主記憶装置2000上に存在すること
である。動作については、CPU1000は、ディスク
・データをアクセスしようとする毎に制御レジスタ30
40に命令コードを書き込むと同時に主記憶装置200
0内のディレクトリ3010を検索し、アクセスしよう
としているディスク・データがキャッシュ・メモリ30
20内に存在するかどうかを調べ、存在すればキャッシ
ュ・メモリ3020より該データを読み出し、もし存在
しなければ、c p uioooはアドレスレジスタ3
050にディスク・データのアドレスを書き込み、ディ
スク制御装置3000はディスク装W 4000をアク
セスする。
おける実施例を第3図を用いて説明する。第3図におい
て、上述した実施例と異なる点は、ディレクトリ301
0.キャッシュ・メモリ3020およびキャッシュ・メ
モリ制御回路3070によって設定されるアドレス・デ
コーダ3060が主記憶装置2000上に存在すること
である。動作については、CPU1000は、ディスク
・データをアクセスしようとする毎に制御レジスタ30
40に命令コードを書き込むと同時に主記憶装置200
0内のディレクトリ3010を検索し、アクセスしよう
としているディスク・データがキャッシュ・メモリ30
20内に存在するかどうかを調べ、存在すればキャッシ
ュ・メモリ3020より該データを読み出し、もし存在
しなければ、c p uioooはアドレスレジスタ3
050にディスク・データのアドレスを書き込み、ディ
スク制御装置3000はディスク装W 4000をアク
セスする。
以上の操作は032010の中のプログラムドライバ2
01)によって行われる。
01)によって行われる。
ここで、前述の実施例と同様、アクセス頻度検出回路3
030は、制御レジスタ3040の中の命令コードによ
り、所定時間(例えば1分間)におけるディスク装置4
000に対する読み出し/書き込み要求回数をカウント
し、また読み出し比率を算出し、その情報をディスク・
キャッシュ制御回路3080およびキャッシュ・メモリ
制御回路3070に送る。そして、ディスク・キャッシ
ュ装置を使用するプログラムにおいて、ディスク装置1
4000へのアクセス回数および読み出し比率が所定の
基準を下まわれば、キャンシュ・メモリ制御回路307
0はアドレス・デコーダ3060.ディレクトリ301
0およびキャッシュ・メモリ3020の一部を主記憶の
一部として割り当て、アクセスを可能にする。
030は、制御レジスタ3040の中の命令コードによ
り、所定時間(例えば1分間)におけるディスク装置4
000に対する読み出し/書き込み要求回数をカウント
し、また読み出し比率を算出し、その情報をディスク・
キャッシュ制御回路3080およびキャッシュ・メモリ
制御回路3070に送る。そして、ディスク・キャッシ
ュ装置を使用するプログラムにおいて、ディスク装置1
4000へのアクセス回数および読み出し比率が所定の
基準を下まわれば、キャンシュ・メモリ制御回路307
0はアドレス・デコーダ3060.ディレクトリ301
0およびキャッシュ・メモリ3020の一部を主記憶の
一部として割り当て、アクセスを可能にする。
以上のような制御によって、ディスク・データのアクセ
スに局所性がなく、かつ読み出し比率が低いプログラム
を実行するときでも、ディスク・キャッシュ装置を有効
に使用できる。
スに局所性がなく、かつ読み出し比率が低いプログラム
を実行するときでも、ディスク・キャッシュ装置を有効
に使用できる。
この発明によれば、ディスク・キャッシュ装置を使用す
るプログラムのディスク装置へのアクセス状況に応じて
、ディスク・キャッシュ装置のキャッシュ・メモリのデ
ィスク・キャンシュとして使用する量を自動的に調節し
、ディスク・キャッシュとして使用しない部分を主記憶
の一部として割り当てることで、ディスクデータのアク
セスの局所性が低く、また読み出し比率が低いプログラ
ムを実行するときでも、ディスク・キャンシュ装置を有
効に使用できるという効果がある。
るプログラムのディスク装置へのアクセス状況に応じて
、ディスク・キャッシュ装置のキャッシュ・メモリのデ
ィスク・キャンシュとして使用する量を自動的に調節し
、ディスク・キャッシュとして使用しない部分を主記憶
の一部として割り当てることで、ディスクデータのアク
セスの局所性が低く、また読み出し比率が低いプログラ
ムを実行するときでも、ディスク・キャンシュ装置を有
効に使用できるという効果がある。
第1図fa+、 (blはこの発明が適用される計算機
システムの構成を示すブロック図、第2図および第3図
はこの発明のディスク・キャンシュ装置の実施例の構成
を示すブロック図、第4図はディレクトリのフォーマッ
トを示す構成図である。 1000・・・CP U、 2000・・・主記憶装置
、2010・・・OS。
システムの構成を示すブロック図、第2図および第3図
はこの発明のディスク・キャンシュ装置の実施例の構成
を示すブロック図、第4図はディレクトリのフォーマッ
トを示す構成図である。 1000・・・CP U、 2000・・・主記憶装置
、2010・・・OS。
Claims (2)
- (1)二次記憶装置としてデータを格納するための1台
ないし複数台のディスク装置を備えた電子計算機システ
ムに用いられるディスク・キャッシュ装置であって、 前記ディスク装置に格納されたデータの写しを格納する
ためのキャッシュ・メモリと、 前記ディスク装置に格納されたデータの写しが前記キャ
ッシュ・メモリに存在するか否かを識別するためのディ
レクトリと、 前記ディスク装置に対して単位時間あたりアクセスを要
求された回数と読み出し/書き込み要求の割合を検出す
るアクセス頻度検出手段と、前記アクセス頻度検出手段
の検出結果より、前記ディスク装置へのアクセス頻度が
極端に減少したり、読み出し/書き込み要求の割合にお
いて読み出し比率に極端な低下が見受けられた場合、一
時的に前記キャッシュ・メモリ上の領域の少なくとも一
部を前記電子計算機システムの主記憶の一部として使用
することを可能にするキャッシュ・メモリ制御回路とを
備えたディスク・キャッシュ装置。 - (2)二次記憶装置としてデータを格納するための1台
ないし複数台のディスク装置を備えた電子計算機システ
ムに用いられるディスク・キャッシュ装置であって、 前記電子計算機システムの主記憶装置の一部の領域を使
用して構成され前記ディスク装置に格納されたデータの
写しを格納するためのキャッシュ・メモリと、 前記主記憶装置の一部の領域を使用して構成され前記デ
ィスク装置に格納されたデータの写しが前記キャッシュ
・メモリに存在するか否かを識別するためのディレクト
リと、 前記ディスク装置に対して単位時間あたりアクセスを要
求された回数と読み出し/書き込み要求の割合を検出す
るアクセス頻度検出手段と、前記アクセス頻度検出手段
の検出結果より、前記ディスク装置へのアクセス頻度が
極端に減少したり、読み出し/書き込み要求の割合の読
み出し比率が極端に低下していることが見受けられた場
合、一時的に前記主記憶装置上の前記キャッシュ・メモ
リとして使用できる領域を縮小して主記憶としての領域
を増やすことを可能にするキャッシュ・メモリ制御回路
とを備えたディスク・キャッシュ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1199794A JPH0363741A (ja) | 1989-07-31 | 1989-07-31 | ディスク・キャッシュ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1199794A JPH0363741A (ja) | 1989-07-31 | 1989-07-31 | ディスク・キャッシュ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0363741A true JPH0363741A (ja) | 1991-03-19 |
Family
ID=16413731
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1199794A Pending JPH0363741A (ja) | 1989-07-31 | 1989-07-31 | ディスク・キャッシュ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0363741A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7017548B2 (en) | 2001-11-30 | 2006-03-28 | Yamaha Hatsudoki Kabushiki Kaisha | Engine controller |
| JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
| WO2015132877A1 (ja) * | 2014-03-04 | 2015-09-11 | 株式会社日立製作所 | 計算機およびメモリ制御方法 |
-
1989
- 1989-07-31 JP JP1199794A patent/JPH0363741A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7017548B2 (en) | 2001-11-30 | 2006-03-28 | Yamaha Hatsudoki Kabushiki Kaisha | Engine controller |
| JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
| WO2015132877A1 (ja) * | 2014-03-04 | 2015-09-11 | 株式会社日立製作所 | 計算機およびメモリ制御方法 |
| US9588896B2 (en) | 2014-03-04 | 2017-03-07 | Hitachi, Ltd. | Computer and memory control method |
| JPWO2015132877A1 (ja) * | 2014-03-04 | 2017-03-30 | 株式会社日立製作所 | 計算機およびメモリ制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6795897B2 (en) | Selective memory controller access path for directory caching | |
| KR100240912B1 (ko) | 데이터 프리페치 장치 및 시스템, 캐시 라인 프리페치 방법 | |
| US6457104B1 (en) | System and method for recycling stale memory content in compressed memory systems | |
| US5530941A (en) | System and method for prefetching data from a main computer memory into a cache memory | |
| US8495301B1 (en) | System and method for scatter gather cache processing | |
| EP3414665B1 (en) | Profiling cache replacement | |
| US6401181B1 (en) | Dynamic allocation of physical memory space | |
| JP7340326B2 (ja) | メンテナンス動作の実行 | |
| US20130091331A1 (en) | Methods, apparatus, and articles of manufacture to manage memory | |
| JP2000242558A (ja) | キャッシュシステム及びその操作方法 | |
| CN116701250A (zh) | 支持巨页的内存管理 | |
| US20150149742A1 (en) | Memory unit and method | |
| US20110161597A1 (en) | Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller | |
| KR101893966B1 (ko) | 메모리 관리 방법 및 장치, 및 메모리 컨트롤러 | |
| US5933848A (en) | System for managing the caching of data of a mass storage within a portion of a system memory | |
| US7197605B2 (en) | Allocating cache lines | |
| US20140013025A1 (en) | Hybrid memory with associative cache | |
| US6332179B1 (en) | Allocation for back-to-back misses in a directory based cache | |
| KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
| US5287512A (en) | Computer memory system and method for cleaning data elements | |
| US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
| JPH0363741A (ja) | ディスク・キャッシュ装置 | |
| EP0470735A1 (en) | Computer memory system | |
| EP0853283A1 (en) | Computer system with memory controller for burst transfer | |
| JP4792065B2 (ja) | データ記憶方法 |