JP3159118B2 - ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体 - Google Patents
ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体Info
- Publication number
- JP3159118B2 JP3159118B2 JP11613397A JP11613397A JP3159118B2 JP 3159118 B2 JP3159118 B2 JP 3159118B2 JP 11613397 A JP11613397 A JP 11613397A JP 11613397 A JP11613397 A JP 11613397A JP 3159118 B2 JP3159118 B2 JP 3159118B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- read
- cache memory
- total amount
- 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
- 238000010187 selection method Methods 0.000 title claims description 4
- 238000012546 transfer Methods 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 18
- 238000005259 measurement Methods 0.000 description 46
- 238000009825 accumulation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 101000760620 Homo sapiens Cell adhesion molecule 1 Proteins 0.000 description 3
- 101000661807 Homo sapiens Suppressor of tumorigenicity 14 protein Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 101000722264 Homo sapiens DENN domain-containing protein 2B Proteins 0.000 description 1
- 101001139126 Homo sapiens Krueppel-like factor 6 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 108090000237 interleukin-24 Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】本発明はライトバック方式を
採用したディスク制御装置に関し、特にディスク装置に
書き出すキャッシュメモリ上のデータを選択する方法に
関する。
採用したディスク制御装置に関し、特にディスク装置に
書き出すキャッシュメモリ上のデータを選択する方法に
関する。
【0002】
【従来の技術】ディスク制御装置の単純性能は、上位か
らのデータ読み出し要求,データ書き込み要求に対する
応答時間で決定される。一般的に、ディスク制御装置に
接続される上位装置とのデータ転送レートは、ディスク
制御装置に接続されるディスク装置とのデータ転送レー
トよりも速い。そのため、ディスク制御装置の性能を向
上させる目的で、ディスク制御装置にキャッシュメモリ
を搭載することが一般的に行われている。この場合、キ
ャッシュメモリと上位装置との間のデータ転送レート
は、ディスク制御装置と上位装置との間の転送レートの
理論的限界値に近い値を達成することが可能である。
らのデータ読み出し要求,データ書き込み要求に対する
応答時間で決定される。一般的に、ディスク制御装置に
接続される上位装置とのデータ転送レートは、ディスク
制御装置に接続されるディスク装置とのデータ転送レー
トよりも速い。そのため、ディスク制御装置の性能を向
上させる目的で、ディスク制御装置にキャッシュメモリ
を搭載することが一般的に行われている。この場合、キ
ャッシュメモリと上位装置との間のデータ転送レート
は、ディスク制御装置と上位装置との間の転送レートの
理論的限界値に近い値を達成することが可能である。
【0003】キャッシュメモリの利用法としては、上位
装置からの読み出し要求に対してのみキャッシュメモリ
単体での使用を許可し、書き込み要求に対しては、キャ
ッシュメモリとディスク装置の双方に同時に書き込みを
行う、ライトスルーと呼ばれる方式と、上位装置からの
読み出し要求,書き込み要求の双方に対して、キャッシ
ュメモリ単体での使用を許可する、ライトバックと呼ば
れる方式とが存在する。このライトバック方式では、上
位装置からディスク装置への書き込みデータをキャッシ
ュメモリに書き込んだ時点で書き込みの完了を上位装置
に報告し、そのデータのディスク装置への書き込みは、
キャッシュメモリへの前記書き込みと非同期に行う。こ
のため、上位装置からの書き込み要求を高速に処理で
き、今日では多くのディスク制御装置にライトバック方
式が採用されている。
装置からの読み出し要求に対してのみキャッシュメモリ
単体での使用を許可し、書き込み要求に対しては、キャ
ッシュメモリとディスク装置の双方に同時に書き込みを
行う、ライトスルーと呼ばれる方式と、上位装置からの
読み出し要求,書き込み要求の双方に対して、キャッシ
ュメモリ単体での使用を許可する、ライトバックと呼ば
れる方式とが存在する。このライトバック方式では、上
位装置からディスク装置への書き込みデータをキャッシ
ュメモリに書き込んだ時点で書き込みの完了を上位装置
に報告し、そのデータのディスク装置への書き込みは、
キャッシュメモリへの前記書き込みと非同期に行う。こ
のため、上位装置からの書き込み要求を高速に処理で
き、今日では多くのディスク制御装置にライトバック方
式が採用されている。
【0004】キャッシュメモリ上のデータのディスク装
置への書き込みをライトバックと呼び、書き込むデータ
をライトバックデータと呼ぶ。ライトバックは、キャッ
シュメモリに空き領域が全く無くなったか、或いは空き
領域が或るサイズ以下に減少した場合に実施される。こ
のとき、キャッシュメモリ上に存在するデータのうちど
のデータをライトバックデータとして選択するかが、ラ
イトバック方式ディスク制御装置の性能を決定する大き
な要因の1つとなっている。
置への書き込みをライトバックと呼び、書き込むデータ
をライトバックデータと呼ぶ。ライトバックは、キャッ
シュメモリに空き領域が全く無くなったか、或いは空き
領域が或るサイズ以下に減少した場合に実施される。こ
のとき、キャッシュメモリ上に存在するデータのうちど
のデータをライトバックデータとして選択するかが、ラ
イトバック方式ディスク制御装置の性能を決定する大き
な要因の1つとなっている。
【0005】ライトバックデータの代表的な選択方式に
は、LRU法(LEAST RECENTLY US
E)がある。このLRU法は、キャッシュメモリ上に存
在するデータの中で最も長い時間入出力の対象になって
いないデータをライトバックする方式である。このLR
U法によれば、よりアクセス頻度の高いデータをキャッ
シュメモリ上に残すことができ、キャッシュヒット率を
改善し易いという長所を持つ。LRU法を用いてライト
バックデータを選択するようにしたディスク制御装置と
しては、例えば特開平3−172946号公報に記載の
ものがある。
は、LRU法(LEAST RECENTLY US
E)がある。このLRU法は、キャッシュメモリ上に存
在するデータの中で最も長い時間入出力の対象になって
いないデータをライトバックする方式である。このLR
U法によれば、よりアクセス頻度の高いデータをキャッ
シュメモリ上に残すことができ、キャッシュヒット率を
改善し易いという長所を持つ。LRU法を用いてライト
バックデータを選択するようにしたディスク制御装置と
しては、例えば特開平3−172946号公報に記載の
ものがある。
【0006】
【発明が解決しようとする課題】しかし、ディスク装置
を構成する磁気ディスク装置にはシーク待ち時間という
ミリ秒単位のオーバーヘッド時間が存在するため、LR
U法によって選択したデータをライトバックする際に長
いシーク待ち時間がかかると、性能が却って低下してし
まう。
を構成する磁気ディスク装置にはシーク待ち時間という
ミリ秒単位のオーバーヘッド時間が存在するため、LR
U法によって選択したデータをライトバックする際に長
いシーク待ち時間がかかると、性能が却って低下してし
まう。
【0007】他方、磁気ディスク装置に対し最後に行っ
た読み書き位置をディスク制御装置内部に記憶してお
き、キャッシュメモリ上に存在するデータのうち、最後
の読み書き位置に最も近い位置を書き込み位置とするデ
ータをライトバックデータとして選択する方法も考えら
れる。こうすれば、シーク待ち時間が最小となり、ライ
トバック完了までの時間を短縮することができる。しか
し、選択されたデータが最近良くアクセスされていたデ
ータであれば、キャッシュヒット率が低下し、性能が却
って低下してしまう。
た読み書き位置をディスク制御装置内部に記憶してお
き、キャッシュメモリ上に存在するデータのうち、最後
の読み書き位置に最も近い位置を書き込み位置とするデ
ータをライトバックデータとして選択する方法も考えら
れる。こうすれば、シーク待ち時間が最小となり、ライ
トバック完了までの時間を短縮することができる。しか
し、選択されたデータが最近良くアクセスされていたデ
ータであれば、キャッシュヒット率が低下し、性能が却
って低下してしまう。
【0008】このように、ライトバックデータは、キャ
ッシュメモリ上のデータの利用状況および磁気ディスク
装置の最終読み書き位置の双方を考慮して選択する必要
があるが、これら双方の要因を考慮したライトバックデ
ータ選択方法は未だ提案されていない。
ッシュメモリ上のデータの利用状況および磁気ディスク
装置の最終読み書き位置の双方を考慮して選択する必要
があるが、これら双方の要因を考慮したライトバックデ
ータ選択方法は未だ提案されていない。
【0009】そこで本発明の目的は、キャッシュメモリ
上のデータの利用状況および磁気ディスク装置の最終読
み書き位置の双方を考慮してライトバックデータを選択
することにより、ライトバック方式のディスク制御装置
の性能を向上させることができるライトバックデータ選
択方法を提供することにある。
上のデータの利用状況および磁気ディスク装置の最終読
み書き位置の双方を考慮してライトバックデータを選択
することにより、ライトバック方式のディスク制御装置
の性能を向上させることができるライトバックデータ選
択方法を提供することにある。
【0010】
【課題を解決するための手段】本発明は、上記の目的を
達成するために、ディスク装置に格納されたデータの一
部の写しを保持するキャッシュメモリを有し、上位装置
からのディスク装置に対するデータ書き込み要求時、デ
ータをキャッシュメモリに書き込んだ時点で上位装置に
処理完了を報告し、書き込んだデータのディスク装置へ
の書き込みは前記キャッシュメモリへの書き込みと非同
期に行うライトバック方式を採用したディスク制御装置
で、キャッシュメモリからディスク装置に書き込むライ
トバックデータを選択する方法において、キャッシュメ
モリ上の各データの最近におけるライトヒット状況,リ
ードヒット状況を含むキャッシュメモリ利用状況情報を
測定すると共に各データのディスク装置における書き込
み位置およびディスク装置の最終読み書き位置を記録し
ておき、これらの情報に基づいて、キャッシュメモリ上
のデータのうち、ライトバックした場合に、その後の上
位装置との平均データ転送レートの期待値が最も大きく
なるデータをライトバックデータとして選択するように
している。
達成するために、ディスク装置に格納されたデータの一
部の写しを保持するキャッシュメモリを有し、上位装置
からのディスク装置に対するデータ書き込み要求時、デ
ータをキャッシュメモリに書き込んだ時点で上位装置に
処理完了を報告し、書き込んだデータのディスク装置へ
の書き込みは前記キャッシュメモリへの書き込みと非同
期に行うライトバック方式を採用したディスク制御装置
で、キャッシュメモリからディスク装置に書き込むライ
トバックデータを選択する方法において、キャッシュメ
モリ上の各データの最近におけるライトヒット状況,リ
ードヒット状況を含むキャッシュメモリ利用状況情報を
測定すると共に各データのディスク装置における書き込
み位置およびディスク装置の最終読み書き位置を記録し
ておき、これらの情報に基づいて、キャッシュメモリ上
のデータのうち、ライトバックした場合に、その後の上
位装置との平均データ転送レートの期待値が最も大きく
なるデータをライトバックデータとして選択するように
している。
【0011】より具体的には、上位装置からの読み書き
要求の総量が予め定められた値Ndに達する毎の、上位
装置からの読み出し要求の総量Nr,その内のリードヒ
ットした総量Hd,上位装置からの書き込み要求の総量
Nw,その内のライトヒットした総量Td,キャッシュ
メモリ上に存在する各データのリードヒットした総量H
jおよびライトヒットした総量Tjをキャッシュメモリ
利用状況情報として測定すると共にキャッシュメモリ上
の各データのディスク装置における読み書き位置Cjお
よびディスク装置の最終読み書き位置Ciを記録し、キ
ャッシュメモリ上に存在する各データ毎に、そのデータ
がキャッシュメモリに書き込まれた時点の直前に測定さ
れた前記キャッシュメモリ利用状況情報に応じた初期値
Sdを持ち且つそのデータがライトヒットおよびリード
ヒットする毎に所定量だけ更新されるヒット性能値Sj
を記録し、上位装置との間のデータ転送レートをL、デ
ィスク装置との平均データ転送レートをM、1シリンダ
当たりのシーク待ち時間をWmとし、Wz=LMWmと
するとき、ライトバック時、 Sj+(Nw−Td+Tj)|Cj−Ci|Wz の値が最小となるデータを、ライトバックデータとして
選択するようにしている。
要求の総量が予め定められた値Ndに達する毎の、上位
装置からの読み出し要求の総量Nr,その内のリードヒ
ットした総量Hd,上位装置からの書き込み要求の総量
Nw,その内のライトヒットした総量Td,キャッシュ
メモリ上に存在する各データのリードヒットした総量H
jおよびライトヒットした総量Tjをキャッシュメモリ
利用状況情報として測定すると共にキャッシュメモリ上
の各データのディスク装置における読み書き位置Cjお
よびディスク装置の最終読み書き位置Ciを記録し、キ
ャッシュメモリ上に存在する各データ毎に、そのデータ
がキャッシュメモリに書き込まれた時点の直前に測定さ
れた前記キャッシュメモリ利用状況情報に応じた初期値
Sdを持ち且つそのデータがライトヒットおよびリード
ヒットする毎に所定量だけ更新されるヒット性能値Sj
を記録し、上位装置との間のデータ転送レートをL、デ
ィスク装置との平均データ転送レートをM、1シリンダ
当たりのシーク待ち時間をWmとし、Wz=LMWmと
するとき、ライトバック時、 Sj+(Nw−Td+Tj)|Cj−Ci|Wz の値が最小となるデータを、ライトバックデータとして
選択するようにしている。
【0012】
【作用】一般にディスク制御装置における上位装置との
平均データ転送レートL’は、その逆数である平均転送
時間1/L’を用いて、以下のように示される。 1/L’=(RH/L)+{R(1−H)/M}+{(1−R)T/L} +{(1−R)(1−T)/M’} …(1) L:上位装置との間のデータ転送レート R:リード比率 H:リードヒット率 T:ライトヒット率 M:ディスク装置との平均データ転送レート M’:ライトミス時のディスク装置とのデータ転送レー
ト
平均データ転送レートL’は、その逆数である平均転送
時間1/L’を用いて、以下のように示される。 1/L’=(RH/L)+{R(1−H)/M}+{(1−R)T/L} +{(1−R)(1−T)/M’} …(1) L:上位装置との間のデータ転送レート R:リード比率 H:リードヒット率 T:ライトヒット率 M:ディスク装置との平均データ転送レート M’:ライトミス時のディスク装置とのデータ転送レー
ト
【0013】式(1)の右辺における第1項はリードヒ
ット時の転送時間、第2項はリードミス時の転送時間、
第3項はライトヒット時の転送時間、第4項はライトミ
ス時の転送時間を、それぞれ表す。
ット時の転送時間、第2項はリードミス時の転送時間、
第3項はライトヒット時の転送時間、第4項はライトミ
ス時の転送時間を、それぞれ表す。
【0014】キャッシュメモリ上の或るデータをライト
バックすると、リードヒット率H,ライトヒット率T,
ライトミス時のディスク装置とのデータ転送レートM’
が変わるため、ディスク制御装置における上位装置との
平均データ転送レートL’が変化することが予想され
る。この変化程度は、どのデータをライトバックするか
で異なる。本発明では、ライトバックした場合に、その
後の上位装置との平均データ転送レートL’の期待値が
最も大きくできるようなデータを、ライトバックデータ
として選択することを基本とする。
バックすると、リードヒット率H,ライトヒット率T,
ライトミス時のディスク装置とのデータ転送レートM’
が変わるため、ディスク制御装置における上位装置との
平均データ転送レートL’が変化することが予想され
る。この変化程度は、どのデータをライトバックするか
で異なる。本発明では、ライトバックした場合に、その
後の上位装置との平均データ転送レートL’の期待値が
最も大きくできるようなデータを、ライトバックデータ
として選択することを基本とする。
【0015】式(1)を整理すると、下記のようにな
る。 1/L’={RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM/M’}/LM …(2)
る。 1/L’={RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM/M’}/LM …(2)
【0016】式(2)で、上位装置との間のデータ転送
レートL、ディスク装置との平均データ転送レートMは
ディスク制御装置固有のパラメータであり、分母のLM
は定数であると見做すことができる。式(2)の分子を
下記のようにSと置く。 S=RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM/M’ …(3)
レートL、ディスク装置との平均データ転送レートMは
ディスク制御装置固有のパラメータであり、分母のLM
は定数であると見做すことができる。式(2)の分子を
下記のようにSと置く。 S=RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM/M’ …(3)
【0017】式(3)のSは式(2)のL’に反比例す
るため、ライトバックした場合に、Sの値が最も小さく
なるように、リードヒット率H,ライトヒット率T,ラ
イトミス時のディスク装置とのデータ転送レートM’に
影響を与えるデータを、ライトバックデータとして選択
すれば良い。
るため、ライトバックした場合に、Sの値が最も小さく
なるように、リードヒット率H,ライトヒット率T,ラ
イトミス時のディスク装置とのデータ転送レートM’に
影響を与えるデータを、ライトバックデータとして選択
すれば良い。
【0018】ここで、ライトミス時のディスク装置との
データ転送レートM’は、以下のように概算することが
できる。 M’=D/{Wr+(Cd/Cm)Ws+XD} …(4) D:データ長 Wr:ディスク装置の回転待ち時間 Ws:ディスク装置の平均シーク待ち時間 Cd:対象シリンダまでの差分 Cm:総シリンダ数の半数 X:ディスク装置の実転送レート
データ転送レートM’は、以下のように概算することが
できる。 M’=D/{Wr+(Cd/Cm)Ws+XD} …(4) D:データ長 Wr:ディスク装置の回転待ち時間 Ws:ディスク装置の平均シーク待ち時間 Cd:対象シリンダまでの差分 Cm:総シリンダ数の半数 X:ディスク装置の実転送レート
【0019】式(4)において、右辺分母の第1項は回
転待ち時間、第2項はシーク待ち時間、第3項は実デー
タ転送時間を表している。
転待ち時間、第2項はシーク待ち時間、第3項は実デー
タ転送時間を表している。
【0020】1回の読み書き当たりのデータ長を固定と
すると、式(4)の中の変数は、対象シリンダまでの差
分Cdのみになる。或る単位データ長d0当たりのデー
タ転送レートを求めると、式(4)は、以下のように修
正される。 M’=1/(W0+CdWm) …(5) W0:(Wr+XD0)/d0 …… シーク待ち時間
以外 Wm:Ws/(Cm・d0) …… 1シリンダ当た
りのシーク待ち時間
すると、式(4)の中の変数は、対象シリンダまでの差
分Cdのみになる。或る単位データ長d0当たりのデー
タ転送レートを求めると、式(4)は、以下のように修
正される。 M’=1/(W0+CdWm) …(5) W0:(Wr+XD0)/d0 …… シーク待ち時間
以外 Wm:Ws/(Cm・d0) …… 1シリンダ当た
りのシーク待ち時間
【0021】式(5)を式(3)に代入すると、次式を
得る。 S=RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM(W0+CdWm) …(6)
得る。 S=RHM+R(1−H)L+(1−R)TM +(1−R)(1−T)LM(W0+CdWm) …(6)
【0022】従って、ライトバックした場合に、上記
(6)式のSの値が最も小さくなるように、リードヒッ
ト率H,ライトヒット率Tに影響を与え、また、そのよ
うな対象シリンダまでの差分Cdを持つデータを、ライ
トバックデータとして選択すれば良いことになる。な
お、式(6)において、M,L,W0,Wmはディスク
制御装置固有のパラメータであり、Rは上位装置からの
読み書き要求の頻度により一意に決定される。
(6)式のSの値が最も小さくなるように、リードヒッ
ト率H,ライトヒット率Tに影響を与え、また、そのよ
うな対象シリンダまでの差分Cdを持つデータを、ライ
トバックデータとして選択すれば良いことになる。な
お、式(6)において、M,L,W0,Wmはディスク
制御装置固有のパラメータであり、Rは上位装置からの
読み書き要求の頻度により一意に決定される。
【0023】以下、ライトバックした場合に、上記
(6)式のSの値が最も小さくできるデータを、ライト
バックデータとして選択する具体的な方法を説明する。
(6)式のSの値が最も小さくできるデータを、ライト
バックデータとして選択する具体的な方法を説明する。
【0024】式(6)では、リード比率R,リードヒッ
ト率H,ライトヒット率Tは、確率として表されてい
る。R,H,Tを実測するには、適当なデータ量Ndを
定め、このデータ量Ndだけ上位装置からのデータ読み
書き要求が行われた際の、読み出しデータ量Nr,この
読み出しデータ量Nrの内のリードヒットしたデータ量
Hd,書き込みデータ量Nw,この書き込みデータ量N
wの内のライトヒットしたデータ量Tdを求め、以下の
ように算出すればよい。 R=Nr/Nd …(7) H=Hd/Nr …(8) T=Td/Nw …(9) Nr:データ量Ndの内の読み出しデータ量 Hd:読み出しデータ量Nrの内のリードヒットしたデ
ータ量 Td:書き込みデータ量Nwの内のライトヒットしたデ
ータ量 (Nw=Nd−Nr)
ト率H,ライトヒット率Tは、確率として表されてい
る。R,H,Tを実測するには、適当なデータ量Ndを
定め、このデータ量Ndだけ上位装置からのデータ読み
書き要求が行われた際の、読み出しデータ量Nr,この
読み出しデータ量Nrの内のリードヒットしたデータ量
Hd,書き込みデータ量Nw,この書き込みデータ量N
wの内のライトヒットしたデータ量Tdを求め、以下の
ように算出すればよい。 R=Nr/Nd …(7) H=Hd/Nr …(8) T=Td/Nw …(9) Nr:データ量Ndの内の読み出しデータ量 Hd:読み出しデータ量Nrの内のリードヒットしたデ
ータ量 Td:書き込みデータ量Nwの内のライトヒットしたデ
ータ量 (Nw=Nd−Nr)
【0025】さて、キャッシュメモリ上に存在する或る
データjをライトバックした場合、以後データjに対す
るリードヒット,ライトヒットが望めなくなるため、上
記の読み出しデータ量Nrの内のリードヒットしたデー
タ量Hd,書き込みデータ量Nwの内のライトヒットし
たデータ量Tdは、データjに対してリードヒットした
データ量(Hjとする),ライトヒットしたデータ量
(Tjとする)を差し引いて考える必要がある。今、H
d,TdよりHj,Tjを減じたものを、 H’=Hd−Hj …(10) T’=Td−Tj …(11) と置き、この式(10),(11)のH’,T’を式
(8),(9)のHd,Tdと置き換え、また、式
(7),(8),(9)を用いて式(6)を整理し、S
をSj’として、データjをライトバックした場合の評
価式、即ち当該データjがライトバックデータに適する
度合いを示す式を導出すると、以下の式が得られる。 Sj’Nd=H’M+(Nr−H’)L+T’M +(Nw−T’)LM(W0+|Cj−Ci|Wm) …(12) 但し、Ciはディスク装置の最終読み書き位置であるシ
リンダ番号、Cjはデータjの読み書き位置であるシリ
ンダ番号であり、|Cj−Ci|は、両者の差の絶対値
を表す。
データjをライトバックした場合、以後データjに対す
るリードヒット,ライトヒットが望めなくなるため、上
記の読み出しデータ量Nrの内のリードヒットしたデー
タ量Hd,書き込みデータ量Nwの内のライトヒットし
たデータ量Tdは、データjに対してリードヒットした
データ量(Hjとする),ライトヒットしたデータ量
(Tjとする)を差し引いて考える必要がある。今、H
d,TdよりHj,Tjを減じたものを、 H’=Hd−Hj …(10) T’=Td−Tj …(11) と置き、この式(10),(11)のH’,T’を式
(8),(9)のHd,Tdと置き換え、また、式
(7),(8),(9)を用いて式(6)を整理し、S
をSj’として、データjをライトバックした場合の評
価式、即ち当該データjがライトバックデータに適する
度合いを示す式を導出すると、以下の式が得られる。 Sj’Nd=H’M+(Nr−H’)L+T’M +(Nw−T’)LM(W0+|Cj−Ci|Wm) …(12) 但し、Ciはディスク装置の最終読み書き位置であるシ
リンダ番号、Cjはデータjの読み書き位置であるシリ
ンダ番号であり、|Cj−Ci|は、両者の差の絶対値
を表す。
【0026】式(12)の左辺のSj’Ndを以下のよ
うにSj”と置き、このSj”をデータjの評価値とす
る。この評価値が小さいほど、ライトバックデータへの
適合度が高くなる。 Sj”=Sj’Nd …(13)
うにSj”と置き、このSj”をデータjの評価値とす
る。この評価値が小さいほど、ライトバックデータへの
適合度が高くなる。 Sj”=Sj’Nd …(13)
【0027】キャッシュメモリ上の他のデータについて
も、それをライトバックした場合の評価値をデータjと
同様に導出し、全データの内で評価値の値が最も小さい
データを選択すれば、そのデータが、ライトバックに最
適なデータとなる。
も、それをライトバックした場合の評価値をデータjと
同様に導出し、全データの内で評価値の値が最も小さい
データを選択すれば、そのデータが、ライトバックに最
適なデータとなる。
【0028】ライトバック時に、キャッシュメモリ上の
各データについて前記(12)式を計算するようにして
も良いが、比較的計算量が多くなる。この計算量を削減
するためには、以下のようにすれば良い。
各データについて前記(12)式を計算するようにして
も良いが、比較的計算量が多くなる。この計算量を削減
するためには、以下のようにすれば良い。
【0029】先ず、式(10),(11)を用いて、式
(12)から、データjに依存しない項のみを抽出し、
それを次のようにSdと置く。 Sd=HdM+(Nr−Hd)L+TdM+(Nw−Td)LMW0 …(14)
(12)から、データjに依存しない項のみを抽出し、
それを次のようにSdと置く。 Sd=HdM+(Nr−Hd)L+TdM+(Nw−Td)LMW0 …(14)
【0030】式(12)に式(14)を代入し整理する
と、以下の式を得る。 Sj”=Sd−HjM+HjL−TjM+TjLMW0 +(Nw−Td+Tj)LM(|Cj−Ci|Wm) …(15)
と、以下の式を得る。 Sj”=Sd−HjM+HjL−TjM+TjLMW0 +(Nw−Td+Tj)LM(|Cj−Ci|Wm) …(15)
【0031】ここで、式(15)における右辺第1項の
Sdは、Sj”の初期値であり、データjをキャッシュ
メモリに書き込んだ時点で求めておくことができる。ま
た、第2項から第5項までは、Hj,Tjの更新時に値
が確定する。式(15)の右辺第1項から第5項までを
整理し、次式のように置く。 Sj=Sd+Hj(L−M)+TjM(LW0−1) …(16)
Sdは、Sj”の初期値であり、データjをキャッシュ
メモリに書き込んだ時点で求めておくことができる。ま
た、第2項から第5項までは、Hj,Tjの更新時に値
が確定する。式(15)の右辺第1項から第5項までを
整理し、次式のように置く。 Sj=Sd+Hj(L−M)+TjM(LW0−1) …(16)
【0032】式(16)の内、定数項をまとめると、次
式を得る。 Sj=Sd+HjL’+TjM’ …(17) L’=(L−M) …(18) M’=M(LW0−1) …(19)
式を得る。 Sj=Sd+HjL’+TjM’ …(17) L’=(L−M) …(18) M’=M(LW0−1) …(19)
【0033】上記の式(16)のSjをデータjのヒッ
ト性能値と呼ぶ。ヒット性能値Sjの初期値はSdであ
り、その後、データjがキャッシュメモリ上でリードヒ
ット,ライトヒットする毎に、即ちHj,Tjが変化す
る毎に、更新される。Hj,Tjの更新時の変位量は、
単位データ長d0と同じであるので、Sjの更新は以下
のように行えば良い。
ト性能値と呼ぶ。ヒット性能値Sjの初期値はSdであ
り、その後、データjがキャッシュメモリ上でリードヒ
ット,ライトヒットする毎に、即ちHj,Tjが変化す
る毎に、更新される。Hj,Tjの更新時の変位量は、
単位データ長d0と同じであるので、Sjの更新は以下
のように行えば良い。
【0034】 ○ライトヒット時 Sj←Sj+M’d0 ○リードヒット時 Sj←Sj+L’d0 ○ライトミスヒット時,リードミスヒット時 Sj←Sj(更新なし) …(20)
【0035】更に、式(15)の右辺第6項で、L,
M,Wmは定数であるので、これを以下のようにまとめ
る。 Wz=LMWm …(21)
M,Wmは定数であるので、これを以下のようにまとめ
る。 Wz=LMWm …(21)
【0036】式(16)〜(19),(21)を、式
(15)に代入し整理すると、次式を得る。 Sj”=Sj+(Nw−Td+Tj)|Cj−Ci|Wz …(22)
(15)に代入し整理すると、次式を得る。 Sj”=Sj+(Nw−Td+Tj)|Cj−Ci|Wz …(22)
【0037】ライトバックする場合、キャッシュメモリ
上のデータjについて、式(22)のSj”を求め、同
様にキャッシュメモリ上の他の全てのデータlについて
も式(22)のSl”を求め、その最小のものをライト
バックデータとして選択すれば良い。
上のデータjについて、式(22)のSj”を求め、同
様にキャッシュメモリ上の他の全てのデータlについて
も式(22)のSl”を求め、その最小のものをライト
バックデータとして選択すれば良い。
【0038】なお、以上の説明では、上位装置からの読
み書き要求の総量が予め定められた値Ndに達する毎
の、上位装置からの読み出し要求の総量Nr,その内の
リードヒットした総量Hd,上位装置からの書き込み要
求の総量Nw,その内のライトヒットした総量Td,キ
ャッシュメモリ上に存在する各データのリードヒットし
た総量Hjおよびライトヒットした総量Tjを前記キャ
ッシュメモリ利用状況情報として測定したが、或る一定
期間毎の、上位装置からの読み書き要求の総量Nd,上
位装置からの読み出し要求の総量Nr,その内のリード
ヒットした総量Hd,上位装置からの書き込み要求の総
量Nw,その内のライトヒットした総量Td,キャッシ
ュメモリ上に存在する各データのリードヒットした総量
Hjおよびライトヒットした総量Tjを、キャッシュメ
モリ利用状況情報として測定するようにしても良い。
み書き要求の総量が予め定められた値Ndに達する毎
の、上位装置からの読み出し要求の総量Nr,その内の
リードヒットした総量Hd,上位装置からの書き込み要
求の総量Nw,その内のライトヒットした総量Td,キ
ャッシュメモリ上に存在する各データのリードヒットし
た総量Hjおよびライトヒットした総量Tjを前記キャ
ッシュメモリ利用状況情報として測定したが、或る一定
期間毎の、上位装置からの読み書き要求の総量Nd,上
位装置からの読み出し要求の総量Nr,その内のリード
ヒットした総量Hd,上位装置からの書き込み要求の総
量Nw,その内のライトヒットした総量Td,キャッシ
ュメモリ上に存在する各データのリードヒットした総量
Hjおよびライトヒットした総量Tjを、キャッシュメ
モリ利用状況情報として測定するようにしても良い。
【0039】また、1回当たりの読み出し,書き込み要
求のデータサイズ,キャッシュメモリ上のデータのサイ
ズ,ディスク制御装置とディスク装置との間のデータ転
送サイズが全て等しい場合は、上記の各「総量」は「回
数」と読み替えることができる。
求のデータサイズ,キャッシュメモリ上のデータのサイ
ズ,ディスク制御装置とディスク装置との間のデータ転
送サイズが全て等しい場合は、上記の各「総量」は「回
数」と読み替えることができる。
【0040】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
いて図面を参照して詳細に説明する。
【0041】図1は本発明を適用したディスク制御装置
の一例を示すブロック図である。この例のディスク制御
装置は、上位接続バス101を通じて図示しない上位装
置(例えば中央処理装置)と接続され、下位接続バス1
02を通じてディスク装置(磁気ディスク装置)10と
接続されている。なお、図では1台のディスク装置しか
接続されていないが、複数台のディスク装置を接続する
ことが可能である。
の一例を示すブロック図である。この例のディスク制御
装置は、上位接続バス101を通じて図示しない上位装
置(例えば中央処理装置)と接続され、下位接続バス1
02を通じてディスク装置(磁気ディスク装置)10と
接続されている。なお、図では1台のディスク装置しか
接続されていないが、複数台のディスク装置を接続する
ことが可能である。
【0042】ディスク制御装置1の内部には、CPUお
よびメモリ等で構成された制御機構11とキャッシュメ
モリ12とが含まれ、また、キャッシュミスヒット転送
バス111,キャッシュヒット転送バス112,キャッ
シュメモリライトバック転送バス113といった転送バ
スがある。
よびメモリ等で構成された制御機構11とキャッシュメ
モリ12とが含まれ、また、キャッシュミスヒット転送
バス111,キャッシュヒット転送バス112,キャッ
シュメモリライトバック転送バス113といった転送バ
スがある。
【0043】キャッシュメモリ12は、複数のデータブ
ロック120〜12nを有し、この各データブロック1
20〜12nに、ディスク装置10に格納されたデータ
の一部の写しを保持している。制御装置11は、上位装
置からの要求内容とキャッシュメモリ12の状態とに基
づいて、何れかのデータ転送バスを使用して、以下のよ
うにデータ転送を制御する。
ロック120〜12nを有し、この各データブロック1
20〜12nに、ディスク装置10に格納されたデータ
の一部の写しを保持している。制御装置11は、上位装
置からの要求内容とキャッシュメモリ12の状態とに基
づいて、何れかのデータ転送バスを使用して、以下のよ
うにデータ転送を制御する。
【0044】上位装置からデータ読み出し要求があった
場合、キャッシュメモリ12でリードヒットしたとき
は、キャッシュヒット転送バス112を使用してキャッ
シュメモリ12上の該当するデータを上位接続バス10
1を介して上位装置へ転送する。また、リードミスヒッ
トしたときは、キャッシュミスヒット転送バス111を
使用して該当するデータを下位接続バス102を介して
ディスク装置10から読み出し、キャッシュメモリ12
の空きのデータブロックに格納すると共に、上位接続バ
ス101を介して上位装置へ転送する。
場合、キャッシュメモリ12でリードヒットしたとき
は、キャッシュヒット転送バス112を使用してキャッ
シュメモリ12上の該当するデータを上位接続バス10
1を介して上位装置へ転送する。また、リードミスヒッ
トしたときは、キャッシュミスヒット転送バス111を
使用して該当するデータを下位接続バス102を介して
ディスク装置10から読み出し、キャッシュメモリ12
の空きのデータブロックに格納すると共に、上位接続バ
ス101を介して上位装置へ転送する。
【0045】他方、上位装置からデータ書き込み要求が
あった場合、キャッシュメモリ12でライトヒットした
ときは、キャッシュヒット転送バス112を使用して、
書き込みデータを、ヒットしたデータブロックに書き込
み、その時点で上位装置に書き込み完了を報告する。ま
た、ライトミスヒットしたときは、キャッシュヒット転
送バス112を使用して、書き込みデータを、空きのデ
ータブロックに書き込み、その時点で上位装置に書き込
み完了を報告する。これら書き込まれたデータは、その
書き込みとは非同期にディスク装置10へ書き込まれ
る。
あった場合、キャッシュメモリ12でライトヒットした
ときは、キャッシュヒット転送バス112を使用して、
書き込みデータを、ヒットしたデータブロックに書き込
み、その時点で上位装置に書き込み完了を報告する。ま
た、ライトミスヒットしたときは、キャッシュヒット転
送バス112を使用して、書き込みデータを、空きのデ
ータブロックに書き込み、その時点で上位装置に書き込
み完了を報告する。これら書き込まれたデータは、その
書き込みとは非同期にディスク装置10へ書き込まれ
る。
【0046】なお、本実施例では、上位装置からの1回
当たりの要求量,キャッシュメモリ12のデータブロッ
クのサイズ,磁気ディスク装置に対する読み書きデータ
のサイズを同じ大きさd0としている。
当たりの要求量,キャッシュメモリ12のデータブロッ
クのサイズ,磁気ディスク装置に対する読み書きデータ
のサイズを同じ大きさd0としている。
【0047】キャッシュメモリ12上の全てのデータブ
ロックが使用中となり、空きのデータブロックが無くな
ると、リードミスヒット時およびライトミスヒット時に
新たなデータをキャッシュメモリ12に格納することが
できなくなる。それを避けるために、キャッシュメモリ
12に空きのデータブロックが全く無くなった時点で、
または、空きのデータブロックが或る数以下に減少した
時点で、キャッシュメモリ12上のデータブロックのう
ちの何れかに格納されたデータをディスク装置10に書
き戻し、空きのデータブロックを確保する。このとき、
どのデータブロックのデータをライトバックデータとし
て選択するかを、キャッシュメモリ12に設けられたキ
ャッシュヒット率管理テーブル13,制御装置11に設
けられたディスク装置最終読み書き位置ポインタ11
0,転送データ累計カウンタ114およびキャッシュヒ
ット率管理テーブルバンクセレクタ115を使って、制
御装置11が決定する。
ロックが使用中となり、空きのデータブロックが無くな
ると、リードミスヒット時およびライトミスヒット時に
新たなデータをキャッシュメモリ12に格納することが
できなくなる。それを避けるために、キャッシュメモリ
12に空きのデータブロックが全く無くなった時点で、
または、空きのデータブロックが或る数以下に減少した
時点で、キャッシュメモリ12上のデータブロックのう
ちの何れかに格納されたデータをディスク装置10に書
き戻し、空きのデータブロックを確保する。このとき、
どのデータブロックのデータをライトバックデータとし
て選択するかを、キャッシュメモリ12に設けられたキ
ャッシュヒット率管理テーブル13,制御装置11に設
けられたディスク装置最終読み書き位置ポインタ11
0,転送データ累計カウンタ114およびキャッシュヒ
ット率管理テーブルバンクセレクタ115を使って、制
御装置11が決定する。
【0048】キャッシュヒット率管理テーブル13,転
送データ累計カウンタ114及びキャッシュヒット率管
理テーブルバンクセレクタ115の構成例を図2に示
す。
送データ累計カウンタ114及びキャッシュヒット率管
理テーブルバンクセレクタ115の構成例を図2に示
す。
【0049】転送データ累計カウンタ114は、図2に
示すように、TOTAL,READ,R−HIT,WR
ITE,W−HITの5つのエントリを有し、各エント
リはバンク0とバンク1とに分けられている。2つのバ
ンク0,1は、計測中の情報を保持するためと前回計測
した結果を保持するためとに交互に使用される。即ち、
計測中の情報をバンク0に格納しているときは、バンク
1には直前の計測結果が保存される。そして、バンク0
を使用した計測が終了すると、その計測結果をバンク0
が保持し、新たな計測はバンク1を使用して行われる。
図2は、前回の計測結果をバンク0が保持し、現在バン
ク1を使用して計測が行われている状態を示している。
各エントリには、以下のような情報が格納される。
示すように、TOTAL,READ,R−HIT,WR
ITE,W−HITの5つのエントリを有し、各エント
リはバンク0とバンク1とに分けられている。2つのバ
ンク0,1は、計測中の情報を保持するためと前回計測
した結果を保持するためとに交互に使用される。即ち、
計測中の情報をバンク0に格納しているときは、バンク
1には直前の計測結果が保存される。そして、バンク0
を使用した計測が終了すると、その計測結果をバンク0
が保持し、新たな計測はバンク1を使用して行われる。
図2は、前回の計測結果をバンク0が保持し、現在バン
ク1を使用して計測が行われている状態を示している。
各エントリには、以下のような情報が格納される。
【0050】TOTALのエントリには、上位装置から
の読み書き要求の総量の計測結果Ndと計測中の値Nx
とが格納される。上述したバンクの切り替えは、計測中
の値NxがNdに達した時点で行われる。
の読み書き要求の総量の計測結果Ndと計測中の値Nx
とが格納される。上述したバンクの切り替えは、計測中
の値NxがNdに達した時点で行われる。
【0051】READのエントリには、上位装置からの
読み書き要求の総量Ndのうちの読み出し要求分の総量
の計測結果Nrと、読み書き要求の計測中の総量Nxの
うちの読み出し要求分の計測中の値Nrxとが格納され
る。
読み書き要求の総量Ndのうちの読み出し要求分の総量
の計測結果Nrと、読み書き要求の計測中の総量Nxの
うちの読み出し要求分の計測中の値Nrxとが格納され
る。
【0052】R−HITのエントリには、読み出し要求
の総量の計測結果Nrのうちのリードヒットした総量の
計測結果Hdと、読み出し要求の計測中の総量Nrxの
うちのリードヒットした総量の計測中の値Hxとが格納
される。
の総量の計測結果Nrのうちのリードヒットした総量の
計測結果Hdと、読み出し要求の計測中の総量Nrxの
うちのリードヒットした総量の計測中の値Hxとが格納
される。
【0053】WRITEのエントリには、上位装置から
の読み書き要求の総量Ndのうちの書き込み要求分の総
量の計測結果Nwと、読み書き要求の計測中の総量Nx
のうちの書き込み要求分の計測中の総量の値Nwxとが
格納される。
の読み書き要求の総量Ndのうちの書き込み要求分の総
量の計測結果Nwと、読み書き要求の計測中の総量Nx
のうちの書き込み要求分の計測中の総量の値Nwxとが
格納される。
【0054】W−HITのエントリには、書き込み要求
の総量の計測結果Nwのうちのライトヒットした総量の
計測結果Tdと、書き込み要求の計測中の総量Nwxの
うちのリードヒットした総量の計測中の値Txとが格納
される。
の総量の計測結果Nwのうちのライトヒットした総量の
計測結果Tdと、書き込み要求の計測中の総量Nwxの
うちのリードヒットした総量の計測中の値Txとが格納
される。
【0055】キャッシュヒット率管理テーブル13は、
図2に示すように、キャッシュメモリ12上に存在する
データブロック120〜12nに1対1に対応するエン
トリを有し、各エントリは、data block n
umber,read hit rate,write
hit rate,cylinder numbe
r,cache data address poin
ter,hit performanceの各項目から
なる。また、read hit rate,write
hit rateの項目は、バンク0とバンク1とに
分けられている。2つのバンク0,1は、転送データ累
計カウンタ114におけるバンク0,1と同様に計測中
の情報を保持するためと前回計測した結果を保持するた
めとに交互に使用される。各項目には、以下のような情
報が格納される。
図2に示すように、キャッシュメモリ12上に存在する
データブロック120〜12nに1対1に対応するエン
トリを有し、各エントリは、data block n
umber,read hit rate,write
hit rate,cylinder numbe
r,cache data address poin
ter,hit performanceの各項目から
なる。また、read hit rate,write
hit rateの項目は、バンク0とバンク1とに
分けられている。2つのバンク0,1は、転送データ累
計カウンタ114におけるバンク0,1と同様に計測中
の情報を保持するためと前回計測した結果を保持するた
めとに交互に使用される。各項目には、以下のような情
報が格納される。
【0056】data block numberの項
目には、データブロック120〜12nの番号が予め格
納されている。
目には、データブロック120〜12nの番号が予め格
納されている。
【0057】read hit rateの項目には、
当該データブロックにデータが格納されている場合、上
位装置からの読み書き要求の総量Ndの間に当該データ
ブロックにリードヒットした総量の計測結果H0〜Hn
と、上位装置からの読み書き要求の総量Nxの内の当該
データブロックにリードヒットした総量の計測中の値h
0〜hnとが格納される。当該データブロックにデータ
が格納されていない場合は、“0”である。
当該データブロックにデータが格納されている場合、上
位装置からの読み書き要求の総量Ndの間に当該データ
ブロックにリードヒットした総量の計測結果H0〜Hn
と、上位装置からの読み書き要求の総量Nxの内の当該
データブロックにリードヒットした総量の計測中の値h
0〜hnとが格納される。当該データブロックにデータ
が格納されていない場合は、“0”である。
【0058】write hit rateの項目に
は、当該データブロックにデータが格納されている場
合、上位装置からの読み書き要求の総量Ndの間に当該
データブロックにライトヒットした総量の計測結果T0
〜Tnと、上位装置からの読み書き要求の総量Nxの内
の当該データブロックにライトヒットした総量の計測中
の値t0〜tnとが格納される。当該データブロックに
データが格納されていない場合は、“0”である。
は、当該データブロックにデータが格納されている場
合、上位装置からの読み書き要求の総量Ndの間に当該
データブロックにライトヒットした総量の計測結果T0
〜Tnと、上位装置からの読み書き要求の総量Nxの内
の当該データブロックにライトヒットした総量の計測中
の値t0〜tnとが格納される。当該データブロックに
データが格納されていない場合は、“0”である。
【0059】cylinder numberの項目に
は、当該データブロックにデータが格納されている場
合、そのデータが書き込まれているディスク装置10上
のシリンダの番号C0〜Cnが格納される。当該データ
ブロックにデータが格納されていない場合は、“ ”
(ヌル)である。
は、当該データブロックにデータが格納されている場
合、そのデータが書き込まれているディスク装置10上
のシリンダの番号C0〜Cnが格納される。当該データ
ブロックにデータが格納されていない場合は、“ ”
(ヌル)である。
【0060】cache data address
pointerの項目には、当該データブロックにデー
タが格納されている場合、そのデータのキャッシュメモ
リ12上の位置を指し示すポインタが格納される。当該
データブロックにデータが格納されていない場合は、
“ ”(ヌル)である。
pointerの項目には、当該データブロックにデー
タが格納されている場合、そのデータのキャッシュメモ
リ12上の位置を指し示すポインタが格納される。当該
データブロックにデータが格納されていない場合は、
“ ”(ヌル)である。
【0061】hit performanceの項目に
は、当該データブロックにデータが格納されている場
合、本発明の作用の項で説明したヒット性能値S0〜S
nが格納されている。当該データブロックにデータが格
納されていない場合は、“0”である。
は、当該データブロックにデータが格納されている場
合、本発明の作用の項で説明したヒット性能値S0〜S
nが格納されている。当該データブロックにデータが格
納されていない場合は、“0”である。
【0062】キャッシュヒット率管理テーブルバンクセ
レクタ115は、転送データ累計カウンタ114のバン
ク0,1およびキャッシュヒット率管理テーブル13の
バンク0,1を切り替えるためのものである。前述した
ように、バンクの切り替えは、計測中の値Nxが予め定
められたNdに達した時点で行われる。
レクタ115は、転送データ累計カウンタ114のバン
ク0,1およびキャッシュヒット率管理テーブル13の
バンク0,1を切り替えるためのものである。前述した
ように、バンクの切り替えは、計測中の値Nxが予め定
められたNdに達した時点で行われる。
【0063】図3乃至図7は、キャッシュヒット率管理
テーブル13,転送データ累計カウンタ114及びキャ
ッシュヒット率管理テーブルバンクセレクタ115の内
容が更新されるようすを示しており、図3はリードヒッ
ト時のようすを、図4はライトヒット時で且つバンク切
り替えが行われた時のようすを、図5はリードミス時の
ようすを、図6はライトミス時のようすを、図7はライ
トバック時のようすを、それぞれ示す。
テーブル13,転送データ累計カウンタ114及びキャ
ッシュヒット率管理テーブルバンクセレクタ115の内
容が更新されるようすを示しており、図3はリードヒッ
ト時のようすを、図4はライトヒット時で且つバンク切
り替えが行われた時のようすを、図5はリードミス時の
ようすを、図6はライトミス時のようすを、図7はライ
トバック時のようすを、それぞれ示す。
【0064】また、図8は制御機構11の処理例を示す
フローチャートであり、図9は図8のステップST8の
ライト処理の一例を示すフローチャート、図10は図8
のステップST5,ST14および図9のステップST
83のライトバック処理の一例を示すフローチャートで
ある。これらの処理を、制御機構11を構成するデータ
処理装置に実行させるためのプログラムは、図1の記録
媒体20に記録されている。記録媒体20は、磁気ディ
スク装置,半導体メモリその他の媒体であって良い。記
録媒体20に記録されたプログラムは制御機構11を構
成するデータ処理装置に読み込まれ、データ処理装置の
動作を制御し、図8乃至図10に示す処理をデータ処理
装置に行わせる。
フローチャートであり、図9は図8のステップST8の
ライト処理の一例を示すフローチャート、図10は図8
のステップST5,ST14および図9のステップST
83のライトバック処理の一例を示すフローチャートで
ある。これらの処理を、制御機構11を構成するデータ
処理装置に実行させるためのプログラムは、図1の記録
媒体20に記録されている。記録媒体20は、磁気ディ
スク装置,半導体メモリその他の媒体であって良い。記
録媒体20に記録されたプログラムは制御機構11を構
成するデータ処理装置に読み込まれ、データ処理装置の
動作を制御し、図8乃至図10に示す処理をデータ処理
装置に行わせる。
【0065】以下、各図を参照して本実施例の動作を説
明する。
明する。
【0066】初期の状態においては、キャッシュメモリ
12にはディスク装置10のデータの写しが一つもな
く、全てのデータブロック120〜12nは空きブロッ
クである。制御機構11は起動されると、図8の処理を
開始し、先ず、キャッシュヒット率管理テーブル13,
転送データ累計カウンタ114,キャッシュヒット率管
理テーブルバンクセレクタ115およびディスク装置最
終読み書き位置ポインタ110等の初期化を行い、キャ
ッシュヒット率管理テーブルバンクセレクタ115に
“1”を設定して、転送データ累計カウンタ114およ
びキャッシュヒット率管理テーブル13のバンク1を計
測用バンクとする(ステップST1)。次に、バンク切
り替え処理ST2に進む。
12にはディスク装置10のデータの写しが一つもな
く、全てのデータブロック120〜12nは空きブロッ
クである。制御機構11は起動されると、図8の処理を
開始し、先ず、キャッシュヒット率管理テーブル13,
転送データ累計カウンタ114,キャッシュヒット率管
理テーブルバンクセレクタ115およびディスク装置最
終読み書き位置ポインタ110等の初期化を行い、キャ
ッシュヒット率管理テーブルバンクセレクタ115に
“1”を設定して、転送データ累計カウンタ114およ
びキャッシュヒット率管理テーブル13のバンク1を計
測用バンクとする(ステップST1)。次に、バンク切
り替え処理ST2に進む。
【0067】このバンク切り替え処理ST2では、バン
クを切り替える処理と、式(14)で示される、ヒット
性能値の初期値Sdを求める処理とを行う。起動時は、
このバンクを切り替える処理で、バンク0が最初に計測
用バンクとなる。また、起動時点では初期値Sdを求め
るための情報が未だ計測されていないので、適当な値が
用いられる。
クを切り替える処理と、式(14)で示される、ヒット
性能値の初期値Sdを求める処理とを行う。起動時は、
このバンクを切り替える処理で、バンク0が最初に計測
用バンクとなる。また、起動時点では初期値Sdを求め
るための情報が未だ計測されていないので、適当な値が
用いられる。
【0068】その後、制御機構11はステップST3〜
ST17から構成されるループを繰り返し実行する。
ST17から構成されるループを繰り返し実行する。
【0069】ステップST4では、キャッシュメモリ1
2上のデータをライトバックする必要があるか否かを判
定する。この判定は、例えば、キャッシュメモリ12上
の空きのデータブロックの個数をキャッシュヒット率管
理テーブル13等を参照して調べ、或る数以下に減少し
ているか否かによって行う。ライトバックする必要があ
るときは、ステップST5に進み、図10のライトバッ
ク処理を実行する。
2上のデータをライトバックする必要があるか否かを判
定する。この判定は、例えば、キャッシュメモリ12上
の空きのデータブロックの個数をキャッシュヒット率管
理テーブル13等を参照して調べ、或る数以下に減少し
ているか否かによって行う。ライトバックする必要があ
るときは、ステップST5に進み、図10のライトバッ
ク処理を実行する。
【0070】ステップST6では、上位装置からの転送
要求、つまりデータ読み出し要求(リード要求),デー
タ書き込み要求(ライト要求)を待つ。上位装置から要
求があったら、ステップST7でライト要求か、リード
要求かを判別し、ライト要求ならば、ステップST8に
進んで、図9のライト処理を実行する。また、リード要
求ならば、ステップST9〜ST17からなる以下の処
理を実行する。
要求、つまりデータ読み出し要求(リード要求),デー
タ書き込み要求(ライト要求)を待つ。上位装置から要
求があったら、ステップST7でライト要求か、リード
要求かを判別し、ライト要求ならば、ステップST8に
進んで、図9のライト処理を実行する。また、リード要
求ならば、ステップST9〜ST17からなる以下の処
理を実行する。
【0071】先ず、キャッシュメモリ12にリードヒッ
トしたか否かを調べ(ステップST9)、リードヒット
した場合には、キャッシュリード動作を行う(ステップ
ST10)。即ち、キャッシュヒット転送バス112を
使用してキャッシュメモリ12上の該当するデータを上
位接続バス101を介して上位装置へ転送する。このと
き、ステップST11を実行して、転送データ累計カウ
ンタ114の計測中のNx(上位装置からの読み書き要
求の総量),Nrx(上位装置からの読み出し要求の総
量),Hx(リードヒットした総量)を単位データ長d
0だけ加算する。また、ステップST12を実行して、
キャッシュヒット率管理テーブル13中の前記ヒットし
たデータを格納しているデータブロックの計測中リード
ヒット総量を単位データ長d0だけ加算すると共に、前
記式(20)に従って、当該データのヒット性能値を
L’d0だけ加算する。図3は、データブロック122
がリードヒットした場合のステップST11,ST12
による動作を示しており、転送データ累計カウンタ11
4中の計測用バンク1のNx,Nrx,Hxがd0だけ
加算され、キャッシュヒット率管理テーブル13のデー
タブロック122に対応するエントリの計測用バンク1
におけるh2がd0だけ加算され、ヒット性能値S2が
L’d0だけ加算されている。
トしたか否かを調べ(ステップST9)、リードヒット
した場合には、キャッシュリード動作を行う(ステップ
ST10)。即ち、キャッシュヒット転送バス112を
使用してキャッシュメモリ12上の該当するデータを上
位接続バス101を介して上位装置へ転送する。このと
き、ステップST11を実行して、転送データ累計カウ
ンタ114の計測中のNx(上位装置からの読み書き要
求の総量),Nrx(上位装置からの読み出し要求の総
量),Hx(リードヒットした総量)を単位データ長d
0だけ加算する。また、ステップST12を実行して、
キャッシュヒット率管理テーブル13中の前記ヒットし
たデータを格納しているデータブロックの計測中リード
ヒット総量を単位データ長d0だけ加算すると共に、前
記式(20)に従って、当該データのヒット性能値を
L’d0だけ加算する。図3は、データブロック122
がリードヒットした場合のステップST11,ST12
による動作を示しており、転送データ累計カウンタ11
4中の計測用バンク1のNx,Nrx,Hxがd0だけ
加算され、キャッシュヒット率管理テーブル13のデー
タブロック122に対応するエントリの計測用バンク1
におけるh2がd0だけ加算され、ヒット性能値S2が
L’d0だけ加算されている。
【0072】他方、リードミスヒットしたときは、キャ
ッシュメモリ12に空きのデータブロックが存在するか
否かを調べ(ステップST13)、存在しなければ、ス
テップST14で図10のライトバック処理を行った後
にステップST15に進み、存在すれば直ちにステップ
ST15に進む。
ッシュメモリ12に空きのデータブロックが存在するか
否かを調べ(ステップST13)、存在しなければ、ス
テップST14で図10のライトバック処理を行った後
にステップST15に進み、存在すれば直ちにステップ
ST15に進む。
【0073】ステップST15では、ストアスルーリー
ド動作を行う。即ち、キャッシュミスヒット転送バス1
11を使用して該当するデータを下位接続バス102を
介してディスク装置10から読み出し(このとき、ディ
スク装置最終読み書き位置ポインタ110を更新す
る)、キャッシュメモリ12の空きのデータブロックに
格納すると共に、上位接続バス101を介して上位装置
へ転送する。このとき、ステップST16を実行して、
転送データ累計カウンタ114の計測中のNx(上位装
置からの読み書き要求の総量),Nrx(上位装置から
の読み出し要求の総量)を単位データ長d0だけ加算す
る。また、ステップST17を実行して、キャッシュヒ
ット率管理テーブル13中の前記キャッシングしたデー
タを格納しているデータブロックに、そのデータのディ
スク装置10におけるシリンダ番号Cj,キャッシュメ
モリ12上における位置を示すアドレスポインタ,ヒッ
ト性能値Sjの初期値Sdを設定する。図5は、リード
されたデータがデータブロック121にキャッシングさ
れた場合のステップST16,ST17による動作を示
しており、転送データ累計カウンタ114中の計測用バ
ンク0のNx,Nrxがd0だけ加算され、キャッシュ
ヒット率管理テーブル13のデータブロック121に対
応するエントリの計測用バンク0にC1,Addres
s Pointer,Sdが設定されている。
ド動作を行う。即ち、キャッシュミスヒット転送バス1
11を使用して該当するデータを下位接続バス102を
介してディスク装置10から読み出し(このとき、ディ
スク装置最終読み書き位置ポインタ110を更新す
る)、キャッシュメモリ12の空きのデータブロックに
格納すると共に、上位接続バス101を介して上位装置
へ転送する。このとき、ステップST16を実行して、
転送データ累計カウンタ114の計測中のNx(上位装
置からの読み書き要求の総量),Nrx(上位装置から
の読み出し要求の総量)を単位データ長d0だけ加算す
る。また、ステップST17を実行して、キャッシュヒ
ット率管理テーブル13中の前記キャッシングしたデー
タを格納しているデータブロックに、そのデータのディ
スク装置10におけるシリンダ番号Cj,キャッシュメ
モリ12上における位置を示すアドレスポインタ,ヒッ
ト性能値Sjの初期値Sdを設定する。図5は、リード
されたデータがデータブロック121にキャッシングさ
れた場合のステップST16,ST17による動作を示
しており、転送データ累計カウンタ114中の計測用バ
ンク0のNx,Nrxがd0だけ加算され、キャッシュ
ヒット率管理テーブル13のデータブロック121に対
応するエントリの計測用バンク0にC1,Addres
s Pointer,Sdが設定されている。
【0074】ステップST8におけるライト処理は、図
9を参照すると、以下のように行われる。
9を参照すると、以下のように行われる。
【0075】先ず、キャッシュメモリ12にライトヒッ
トしたか否かを調べ(ステップST81)、ライトヒッ
トした場合には、キャッシュライト動作を行う(ステッ
プST84)。即ち、キャッシュヒット転送バス112
を使用して、書き込みデータを、ヒットしたデータブロ
ックに書き込み、その時点で上位装置に書き込み完了を
報告する。このとき、ステップST85を実行して、転
送データ累計カウンタ114の計測中のNx(上位装置
からの読み書き要求の総量),Nwx(上位装置からの
書き込み要求の総量),Tx(ライトヒットした総量)
を単位データ長d0だけ加算する。また、ステップST
86を実行して、キャッシュヒット率管理テーブル13
中の前記ヒットしたデータを格納しているデータブロッ
クの計測中ライトヒット総量を単位データ長d0だけ加
算すると共に、前記式(20)に従って、当該データの
ヒット性能値をM’d0だけ加算する。図4は、データ
ブロック121がライトヒットした場合のステップST
85,ST86による動作を示しており、転送データ累
計カウンタ114中の計測用バンク1のNx,Nwx,
Txがd0だけ加算され、キャッシュヒット率管理テー
ブル13のデータブロック121に対応するエントリの
計測用バンク1におけるt1がd0だけ加算され、ヒッ
ト性能値S1がM’d0だけ加算されている。なお、図
4は加算後のNxの値が予め定められたNdに達した場
合を想定しているため、バンク切り替えに伴う動作も併
せて表示されている。この点については後述する。
トしたか否かを調べ(ステップST81)、ライトヒッ
トした場合には、キャッシュライト動作を行う(ステッ
プST84)。即ち、キャッシュヒット転送バス112
を使用して、書き込みデータを、ヒットしたデータブロ
ックに書き込み、その時点で上位装置に書き込み完了を
報告する。このとき、ステップST85を実行して、転
送データ累計カウンタ114の計測中のNx(上位装置
からの読み書き要求の総量),Nwx(上位装置からの
書き込み要求の総量),Tx(ライトヒットした総量)
を単位データ長d0だけ加算する。また、ステップST
86を実行して、キャッシュヒット率管理テーブル13
中の前記ヒットしたデータを格納しているデータブロッ
クの計測中ライトヒット総量を単位データ長d0だけ加
算すると共に、前記式(20)に従って、当該データの
ヒット性能値をM’d0だけ加算する。図4は、データ
ブロック121がライトヒットした場合のステップST
85,ST86による動作を示しており、転送データ累
計カウンタ114中の計測用バンク1のNx,Nwx,
Txがd0だけ加算され、キャッシュヒット率管理テー
ブル13のデータブロック121に対応するエントリの
計測用バンク1におけるt1がd0だけ加算され、ヒッ
ト性能値S1がM’d0だけ加算されている。なお、図
4は加算後のNxの値が予め定められたNdに達した場
合を想定しているため、バンク切り替えに伴う動作も併
せて表示されている。この点については後述する。
【0076】他方、ライトミスヒットしたときは、キャ
ッシュメモリ12に空きのデータブロックが存在するか
否かを調べ(ステップST82)、存在しなければ、ス
テップST83で図10のライトバック処理を行った後
にステップST87に進み、存在すれば直ちにステップ
ST87に進む。
ッシュメモリ12に空きのデータブロックが存在するか
否かを調べ(ステップST82)、存在しなければ、ス
テップST83で図10のライトバック処理を行った後
にステップST87に進み、存在すれば直ちにステップ
ST87に進む。
【0077】ステップST87では、ストアインライト
動作を行う。即ち、キャッシュヒット転送バス112を
使用して、書き込みデータを、キャッシュメモリ12の
空きのデータブロックに書き込み、その時点で上位装置
に書き込み完了を報告する。このとき、ステップST8
8を実行して、転送データ累計カウンタ114の計測中
のNx(上位装置からの読み書き要求の総量),Nwx
(上位装置からの書き込み要求の総量)を単位データ長
d0だけ加算する。また、ステップST89を実行し
て、キャッシュヒット率管理テーブル13中の前記キャ
ッシングしたデータを格納しているデータブロックに、
そのデータのディスク装置10におけるシリンダ番号C
j,キャッシュメモリ12上における位置を示すアドレ
スポインタ,ヒット性能値Sjの初期値Sdを設定す
る。図6は、ライトされたデータがデータブロック12
1にキャッシングされた場合のステップST88,ST
89による動作を示しており、転送データ累計カウンタ
114中の計測用バンク0のNx,Nwxがd0だけ加
算され、キャッシュヒット率管理テーブル13のデータ
ブロック121に対応するエントリの計測用バンク0に
C1,AddressPointer1,Sdが設定さ
れている。
動作を行う。即ち、キャッシュヒット転送バス112を
使用して、書き込みデータを、キャッシュメモリ12の
空きのデータブロックに書き込み、その時点で上位装置
に書き込み完了を報告する。このとき、ステップST8
8を実行して、転送データ累計カウンタ114の計測中
のNx(上位装置からの読み書き要求の総量),Nwx
(上位装置からの書き込み要求の総量)を単位データ長
d0だけ加算する。また、ステップST89を実行し
て、キャッシュヒット率管理テーブル13中の前記キャ
ッシングしたデータを格納しているデータブロックに、
そのデータのディスク装置10におけるシリンダ番号C
j,キャッシュメモリ12上における位置を示すアドレ
スポインタ,ヒット性能値Sjの初期値Sdを設定す
る。図6は、ライトされたデータがデータブロック12
1にキャッシングされた場合のステップST88,ST
89による動作を示しており、転送データ累計カウンタ
114中の計測用バンク0のNx,Nwxがd0だけ加
算され、キャッシュヒット率管理テーブル13のデータ
ブロック121に対応するエントリの計測用バンク0に
C1,AddressPointer1,Sdが設定さ
れている。
【0078】次に、図8のステップST5,ST14,
図9のステップST83のライトバック処理を、図10
を参照して説明する。
図9のステップST83のライトバック処理を、図10
を参照して説明する。
【0079】先ず、変数jを0に初期化し、変数Sk”
を最大値Smaxに初期化する(ステップST51)。
次に、ステップST52〜ST56のループを繰り返す
ことにより、キャッシュメモリ12上に存在する全ての
データの中から、前記式(22)のSj”の値が最も小
さいデータを選択し、これをライトバックデータとす
る。即ち、 S0”=S0+(Nw−Td+T0)|C0−Ci|Wz S1”=S1+(Nw−Td+T1)|C1−Ci|Wz …… Sn”=Sn+(Nw−Td+Tn)|Cn−Ci|Wz を計算し、最も小さい値となるときのjの値を求め、そ
れを変数kに置く。ここで、S0〜Snはキャッシュヒ
ット率管理テーブル13中の当該データのヒット性能
値、Nw,Tdは転送データ累計カウンタ114中の前
回の計測結果を保持しているバンクの書き込み総量,ラ
イトヒット総量、T0〜Tnはキャッシュヒット率管理
テーブル13中の前回の計測結果を保持しているバンク
に記録されている当該データのライトヒット総量、C0
〜Cnはキャッシュヒット率管理テーブル13中の当該
データのディスク装置10におけるシリンダ番号、Ci
はディスク装置最終読み書き位置ポインタ110に記録
されているディスク装置10の最終読み書き位置のシリ
ンダ番号である。
を最大値Smaxに初期化する(ステップST51)。
次に、ステップST52〜ST56のループを繰り返す
ことにより、キャッシュメモリ12上に存在する全ての
データの中から、前記式(22)のSj”の値が最も小
さいデータを選択し、これをライトバックデータとす
る。即ち、 S0”=S0+(Nw−Td+T0)|C0−Ci|Wz S1”=S1+(Nw−Td+T1)|C1−Ci|Wz …… Sn”=Sn+(Nw−Td+Tn)|Cn−Ci|Wz を計算し、最も小さい値となるときのjの値を求め、そ
れを変数kに置く。ここで、S0〜Snはキャッシュヒ
ット率管理テーブル13中の当該データのヒット性能
値、Nw,Tdは転送データ累計カウンタ114中の前
回の計測結果を保持しているバンクの書き込み総量,ラ
イトヒット総量、T0〜Tnはキャッシュヒット率管理
テーブル13中の前回の計測結果を保持しているバンク
に記録されている当該データのライトヒット総量、C0
〜Cnはキャッシュヒット率管理テーブル13中の当該
データのディスク装置10におけるシリンダ番号、Ci
はディスク装置最終読み書き位置ポインタ110に記録
されているディスク装置10の最終読み書き位置のシリ
ンダ番号である。
【0080】ライトバックするデータが決まると、次の
ステップST57で、そのデータをディスク装置10に
書き込む(このとき、ディスク装置最終読み書き位置ポ
インタ110を更新する)。そして、ステップST58
を実行して、転送データ累計カウンタ114の計測中の
各内容を、ライトバックしたデータによる加算分だけ減
算する。つまり、Nx(上位装置からの読み書き要求の
総量)から、そのライトバックデータのリードヒット総
量Hk,ライトヒット総量Tkを減算し、Nrx(上位
装置からの読み出し要求の総量)およびHx(リードヒ
ット総量)からそのライトバックデータのリードヒット
総量Hkを減算し、Nwx(上位装置からの書き込み要
求の総量)およびTx(ライトヒット総量)からそのラ
イトバックデータのライトヒット総量Tkを減算する。
また、ステップST59を実行して、ライトバックした
データを格納していたデータブロックを初期化する。つ
まり、Hk,hk,Tk,tk,Skを“0”にし、シ
リンダ番号Ck,Address Pointerをヌ
ルにする。
ステップST57で、そのデータをディスク装置10に
書き込む(このとき、ディスク装置最終読み書き位置ポ
インタ110を更新する)。そして、ステップST58
を実行して、転送データ累計カウンタ114の計測中の
各内容を、ライトバックしたデータによる加算分だけ減
算する。つまり、Nx(上位装置からの読み書き要求の
総量)から、そのライトバックデータのリードヒット総
量Hk,ライトヒット総量Tkを減算し、Nrx(上位
装置からの読み出し要求の総量)およびHx(リードヒ
ット総量)からそのライトバックデータのリードヒット
総量Hkを減算し、Nwx(上位装置からの書き込み要
求の総量)およびTx(ライトヒット総量)からそのラ
イトバックデータのライトヒット総量Tkを減算する。
また、ステップST59を実行して、ライトバックした
データを格納していたデータブロックを初期化する。つ
まり、Hk,hk,Tk,tk,Skを“0”にし、シ
リンダ番号Ck,Address Pointerをヌ
ルにする。
【0081】図7は、データブロック121に格納され
ていたデータをライトバックした場合のステップST5
8,ST59による動作を示しており、転送データ累計
カウンタ114中のNxからH1,T1が減算され、N
rx,HxからH1が減算され、Nwx,TxからT1
が減算されている。また、キャッシュヒット率管理テー
ブル13のデータブロック121のH1,h1,T1,
t1,S1が“0”にされ、シリンダ番号C1,Add
ress Pointer1がヌルにされている。
ていたデータをライトバックした場合のステップST5
8,ST59による動作を示しており、転送データ累計
カウンタ114中のNxからH1,T1が減算され、N
rx,HxからH1が減算され、Nwx,TxからT1
が減算されている。また、キャッシュヒット率管理テー
ブル13のデータブロック121のH1,h1,T1,
t1,S1が“0”にされ、シリンダ番号C1,Add
ress Pointer1がヌルにされている。
【0082】次に、バンク切り替え時の動作を説明す
る。
る。
【0083】上位装置からのデータ読み書き要求によっ
て転送データ累計カウンタ114における計測用バンク
のNxが更新され、Ndに達すると(図8のステップS
T3)、ステップST2に進み、バンク切り替え処理が
行われる。図4は、ライトヒット時のNxの更新によっ
てNxがNdに達したときのようすを示している。勿
論、ライトミスヒット時,リードヒット時,リードミス
ヒット時にも、Nxの値がNdに達し、バンク切り替え
が行われることがある。
て転送データ累計カウンタ114における計測用バンク
のNxが更新され、Ndに達すると(図8のステップS
T3)、ステップST2に進み、バンク切り替え処理が
行われる。図4は、ライトヒット時のNxの更新によっ
てNxがNdに達したときのようすを示している。勿
論、ライトミスヒット時,リードヒット時,リードミス
ヒット時にも、Nxの値がNdに達し、バンク切り替え
が行われることがある。
【0084】図4に示すように、バンク1を計測用に使
用しているときに、Nxの値がNdに達すると、他方の
バンク0を計測用に使用するために、転送データ累計カ
ウンタ114のバンク0におけるNd,Nr,Hd,N
w,Tdを全て“0”に初期化する。また、キャッシュ
ヒット率管理テーブル13のread hit rat
e,write hit rateのバンク0を計測用
に使用するために、H0〜Hn,T0〜Tnを全て
“0”に初期化する。そして、キャッシュヒット率管理
テーブルバンクセレクタ115の値を0から1に変更
し、バンク1の欄の値を用いて、式(14)のヒット性
能値の初期値Sdを算出し、保持する。以後、キャッシ
ュヒット率管理テーブルバンクセレクタ115の値が1
である間、式(20),式(22)等の計算には、バン
ク1の欄の値が用いられる。
用しているときに、Nxの値がNdに達すると、他方の
バンク0を計測用に使用するために、転送データ累計カ
ウンタ114のバンク0におけるNd,Nr,Hd,N
w,Tdを全て“0”に初期化する。また、キャッシュ
ヒット率管理テーブル13のread hit rat
e,write hit rateのバンク0を計測用
に使用するために、H0〜Hn,T0〜Tnを全て
“0”に初期化する。そして、キャッシュヒット率管理
テーブルバンクセレクタ115の値を0から1に変更
し、バンク1の欄の値を用いて、式(14)のヒット性
能値の初期値Sdを算出し、保持する。以後、キャッシ
ュヒット率管理テーブルバンクセレクタ115の値が1
である間、式(20),式(22)等の計算には、バン
ク1の欄の値が用いられる。
【0085】以上本発明の実施例について説明したが、
本発明は以上の実施例にのみ限定されず、その他各種の
付加変更が可能である。例えば、キャッシュメモリ12
上の各データブロックにその格納データが更新されたか
否かを示すフラグを設け、更新されたデータのみをライ
トバック対象とするようにしても良い。また、空きのデ
ータブロックを確保するために、1度も更新されていな
いデータブロックをクリアするようにしても良い。この
とき、転送データ累計カウンタ114およびキャッシュ
ヒット率管理テーブル13はライトバック時と同様に更
新される。
本発明は以上の実施例にのみ限定されず、その他各種の
付加変更が可能である。例えば、キャッシュメモリ12
上の各データブロックにその格納データが更新されたか
否かを示すフラグを設け、更新されたデータのみをライ
トバック対象とするようにしても良い。また、空きのデ
ータブロックを確保するために、1度も更新されていな
いデータブロックをクリアするようにしても良い。この
とき、転送データ累計カウンタ114およびキャッシュ
ヒット率管理テーブル13はライトバック時と同様に更
新される。
【0086】
【発明の効果】以上説明したように、本発明によれば、
キャッシュメモリ上の各データの最近におけるライトヒ
ット状況,リードヒット状況を含むキャッシュメモリ利
用状況情報、および、キャッシュメモリ上の各データの
ディスク装置における書き込み位置およびディスク装置
の最終読み書き位置に基づいて、キャッシュメモリ上の
データのうち、ライトバックした場合に、その後の上位
装置との平均データ転送レートの期待値が最も大きくな
るデータをライトバックデータとして選択するようにし
たので、ライトバック方式のディスク制御装置の性能を
向上させることが可能である。
キャッシュメモリ上の各データの最近におけるライトヒ
ット状況,リードヒット状況を含むキャッシュメモリ利
用状況情報、および、キャッシュメモリ上の各データの
ディスク装置における書き込み位置およびディスク装置
の最終読み書き位置に基づいて、キャッシュメモリ上の
データのうち、ライトバックした場合に、その後の上位
装置との平均データ転送レートの期待値が最も大きくな
るデータをライトバックデータとして選択するようにし
たので、ライトバック方式のディスク制御装置の性能を
向上させることが可能である。
【図1】本発明を適用したディスク制御装置の一例を示
すブロック図である。
すブロック図である。
【図2】キャッシュヒット率管理テーブル,転送データ
累計カウンタ及びキャッシュヒット率管理テーブルバン
クセレクタの構成例を示す図である。
累計カウンタ及びキャッシュヒット率管理テーブルバン
クセレクタの構成例を示す図である。
【図3】リードヒット時のキャッシュヒット率管理テー
ブル,転送データ累計カウンタ及びキャッシュヒット率
管理テーブルバンクセレクタの更新状況を示す図であ
る。
ブル,転送データ累計カウンタ及びキャッシュヒット率
管理テーブルバンクセレクタの更新状況を示す図であ
る。
【図4】ライトヒット時で且つバンク切り替えが行われ
た時のリードヒット時のキャッシュヒット率管理テーブ
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
た時のリードヒット時のキャッシュヒット率管理テーブ
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
【図5】リードミス時のキャッシュヒット率管理テーブ
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
【図6】ライトミス時のキャッシュヒット率管理テーブ
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
ル,転送データ累計カウンタ及びキャッシュヒット率管
理テーブルバンクセレクタの更新状況を示す図である。
【図7】ライトバック時のキャッシュヒット率管理テー
ブル,転送データ累計カウンタ及びキャッシュヒット率
管理テーブルバンクセレクタの更新状況を示す図であ
る。
ブル,転送データ累計カウンタ及びキャッシュヒット率
管理テーブルバンクセレクタの更新状況を示す図であ
る。
【図8】制御機構の処理例を示すフローチャートであ
る。
る。
【図9】ライト処理の一例を示すフローチャートであ
る。
る。
【図10】ライトバック処理の一例を示すフローチャー
トである。
トである。
1…ディスク制御装置 10…ディスク装置 11…制御機構 12…キャッシュメモリ 13…キャッシュヒット率管理テーブル 20…記録媒体 110…ディスク装置最終読み書き位置ポインタ 114…転送データ累計カウンタ 115…キャッシュヒット率管理テーブルバンクセレク
タ
タ
Claims (2)
- 【請求項1】 ディスク装置に格納されたデータの一部
の写しを保持するキャッシュメモリを有し、上位装置か
らのディスク装置に対するデータ書き込み要求時、デー
タをキャッシュメモリに書き込んだ時点で上位装置に処
理完了を報告し、書き込んだデータのディスク装置への
書き込みは前記キャッシュメモリへの書き込みと非同期
に行うライトバック方式を採用したディスク制御装置
で、キャッシュメモリからディスク装置に書き込むライ
トバックデータを選択する方法において、 上位装置からの読み書き要求の総量が予め定められた値
Ndに達する毎の、上位装置からの読み出し要求の総量
Nr,その内のリードヒットした総量Hd,上位装置か
らの書き込み要求の総量Nw,その内のライトヒットし
た総量Td,キャッシュメモリ上に存在する各データの
リードヒットした総量Hjおよびライトヒットした総量
Tjをキャッシュメモリ利用状況情報として測定すると
共にキャッシュメモリ上の各データのディスク装置にお
ける読み書き位置Cjおよびディスク装置の最終読み書
き位置Ciを記録し、 キャッシュメモリ上に存在する各データ毎に、そのデー
タがキャッシュメモリに書き込まれた時点の直前に測定
された前記キャッシュメモリ利用状況情報に応じた初期
値Sdを持ち且つそのデータがライトヒットおよびリー
ドヒットする毎に所定量だけ更新されるヒット性能値S
jを記録し、 上位装置との間のデータ転送レートをL、ディスク装置
との平均データ転送レートをM、1シリンダ当たりのシ
ーク待ち時間をWmとし、Wz=LMWmとするとき、
ライトバック時、 Sj+(Nw−Td+Tj)|Cj−Ci|Wz の値が最小となるデータを、ライトバックデータとして
選択することを特徴とするライトバックデータ選択方
法。 - 【請求項2】 ディスク装置に格納されたデータの一部
の写しを保持するキャッシュメモリを有し、上位装置か
らのディスク装置に対するデータ書き込み要求時、デー
タをキャッシュメモリに書き込んだ時点で上位装置に処
理完了を報告し、書き込んだデータのディスク装置への
書き込みは前記キャッシュメモリへの書き込みと非同期
に行うライトバック方式を採用したディスク制御装置を
構成するデータ処理装置に、キャッシュメモリからディ
スク装置に書き込むライトバックデータを選択させる処
理を実行させるプログラムを記録した記録媒体であっ
て、前記データ処理装置に、 上位装置からの読み書き要求の総量が予め定められた値
Ndに達する毎の、上位装置からの読み出し要求の総量
Nr,その内のリードヒットした総量Hd,上位装置か
らの書き込み要求の総量Nw,その内のライトヒットし
た総量Td,キャッシュメモリ上に存在する各データの
リードヒットした総量Hjおよびライトヒットした総量
Tjをキャッシュメモリ利用状況情報として測定すると
共にキャッシュメモリ上の各データのディスク装置にお
ける読み書き位置Cjおよびディスク装置の最終読み書
き位置Ciを記録する処理と、 キャッシュメモリ上に存在する各データ毎に、そのデー
タがキャッシュメモリに書き込まれた時点の直前に測定
された前記キャッシュメモリ利用状況情報に応じた初期
値Sdを持ち且つそのデータがライトヒットおよびリー
ドヒットする毎に所定量だけ更新されるヒット性能値S
jを記録する処理と、 上位装置との間のデータ転送レートをL、ディスク装置
との平均データ転送レートをM、1シリンダ当たりのシ
ーク待ち時間をWmとし、Wz=LMWmとするとき、
ライトバック時、 Sj+(Nw−Td+Tj)|Cj−Ci|Wz の値が最小となるデータを、ライトバックデータとして
選択する処理とを実行させるプログラムを記録した機械
読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11613397A JP3159118B2 (ja) | 1997-04-18 | 1997-04-18 | ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体 |
US09/062,654 US6145058A (en) | 1997-04-18 | 1998-04-20 | Device and method for controlling write-back of data in a cache memory connected to a storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11613397A JP3159118B2 (ja) | 1997-04-18 | 1997-04-18 | ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10293717A JPH10293717A (ja) | 1998-11-04 |
JP3159118B2 true JP3159118B2 (ja) | 2001-04-23 |
Family
ID=14679548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11613397A Expired - Fee Related JP3159118B2 (ja) | 1997-04-18 | 1997-04-18 | ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6145058A (ja) |
JP (1) | JP3159118B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
JP3898968B2 (ja) | 2002-03-15 | 2007-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報記録方法および情報記録システム |
JP4412981B2 (ja) | 2003-11-26 | 2010-02-10 | 株式会社日立製作所 | ストレージシステム及同システムにおけるデータキャッシング方法 |
US20080256295A1 (en) * | 2004-01-21 | 2008-10-16 | Koninklijke Philips Electronic, N.V. | Method of Increasing Boot-Up Speed |
JP4189342B2 (ja) * | 2004-03-11 | 2008-12-03 | 東芝ソリューション株式会社 | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 |
US9262490B2 (en) * | 2004-08-12 | 2016-02-16 | Oracle International Corporation | Adaptively routing transactions to servers |
US7571188B1 (en) * | 2004-09-23 | 2009-08-04 | Sun Microsystems, Inc. | Cache abstraction for modeling database performance |
US20060190678A1 (en) * | 2005-02-22 | 2006-08-24 | Butler Douglas B | Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a single DRAM cache and tag |
US7506100B2 (en) * | 2005-02-23 | 2009-03-17 | United Memories, Inc. | Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a data cache and separate read and write registers and tag blocks |
US20070002607A1 (en) * | 2005-06-29 | 2007-01-04 | Khellah Muhammad M | Memory circuit |
US7653846B2 (en) * | 2006-12-28 | 2010-01-26 | Intel Corporation | Memory cell bit valve loss detection and restoration |
US8831986B2 (en) * | 2010-06-30 | 2014-09-09 | Ebay Inc. | Fees and foreign currency exchange calculation |
JP2012033047A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | 情報処理装置、メモリ管理装置、メモリ管理方法、及びプログラム |
CN104375895B (zh) * | 2013-08-13 | 2018-02-06 | 华为技术有限公司 | 用于多种存储器间的数据存储调度方法以及装置 |
US10884924B2 (en) * | 2015-03-04 | 2021-01-05 | Hitachi, Ltd. | Storage system and data writing control method |
JP6928247B2 (ja) | 2017-09-11 | 2021-09-01 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03172946A (ja) * | 1989-12-01 | 1991-07-26 | Hitachi Ltd | データ書き出し制御方式および装置 |
GB2256735B (en) * | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
JPH05189316A (ja) * | 1992-01-10 | 1993-07-30 | Fujitsu Ltd | ディスクキャッシュ制御方法 |
US5636355A (en) * | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
-
1997
- 1997-04-18 JP JP11613397A patent/JP3159118B2/ja not_active Expired - Fee Related
-
1998
- 1998-04-20 US US09/062,654 patent/US6145058A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6145058A (en) | 2000-11-07 |
JPH10293717A (ja) | 1998-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3159118B2 (ja) | ライトバックデータ選択方法及びプログラムを記録した機械読み取り可能な記録媒体 | |
US5537568A (en) | System for dynamically controlling cache manager maintaining cache index and controlling sequential data access | |
KR101419578B1 (ko) | 포맷 제어를 갖는 동적 액세스 변환 | |
EP0077453B1 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
EP1769364B1 (en) | Information processing apparatus and information processing method | |
JPH0574102B2 (ja) | ||
EP1399823B1 (en) | Using an l2 directory to facilitate speculative loads in a multiprocessor system | |
JPH0458051B2 (ja) | ||
US6772288B1 (en) | Extended cache memory system and method for caching data including changing a state field value in an extent record | |
JPH0147813B2 (ja) | ||
EP0777183B1 (en) | Computer cache system | |
EP1960878A2 (en) | Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions | |
JPH0962572A (ja) | ストリーム・フィルタ装置及び方法 | |
JPH09223118A (ja) | スヌープキャッシュメモリ制御システム | |
KR20010102210A (ko) | 캐시를 구비한 데이터 프로세서 | |
WO2005088455A2 (en) | Cache memory prefetcher | |
WO2004077247A2 (en) | Methods for improved data caching | |
US7356650B1 (en) | Cache apparatus and method for accesses lacking locality | |
EP1030243B1 (en) | Optimized hardware cleaning function for virtual index virtual tag data cache | |
US11036639B2 (en) | Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays | |
WO2006040689A1 (en) | Implementation and management of moveable buffers in cache system | |
JP3516326B2 (ja) | 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム | |
JPH0773107A (ja) | ディスク・システムの制御方法 | |
JPH0477344B2 (ja) | ||
JP3898369B2 (ja) | ページング処理装置および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |