JPH05303528A - ライトバック式ディスクキャッシュ装置 - Google Patents

ライトバック式ディスクキャッシュ装置

Info

Publication number
JPH05303528A
JPH05303528A JP4134323A JP13432392A JPH05303528A JP H05303528 A JPH05303528 A JP H05303528A JP 4134323 A JP4134323 A JP 4134323A JP 13432392 A JP13432392 A JP 13432392A JP H05303528 A JPH05303528 A JP H05303528A
Authority
JP
Japan
Prior art keywords
write
block
blocks
disk
cache memory
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
Application number
JP4134323A
Other languages
English (en)
Inventor
Hiroyuki Yasuda
浩之 保田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP4134323A priority Critical patent/JPH05303528A/ja
Publication of JPH05303528A publication Critical patent/JPH05303528A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 ライトバックの回数を減少させ、スループッ
トを向上させる。 【構成】 キャッシュ管理テーブル1上で個々の管理ブ
ロック3をディスク装置10上の領域内でのアドレス順
にリンクするためのポインタを設ける。そして、リンク
されたブロック群にダーティブロックが含まれる場合は
そのグループ内の先頭ブロックのLRUポインタのみを
有効とする。ライトバック時にはダーティブロックを含
むグループ内でLRUで最も下位に属するものの中で、
下位アドレスのブロックから順にできる限り複数ブロッ
クを一括して書き出す。また、ライト又はライトバック
終了後、次にライトバックを起動するタイミングを発生
させるタイマを設ける。そのタイマ値はその時点でディ
スクキャッシュメモリ2上に残っているダーティブロッ
ク数によって決定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスクキャッシュメ
モリの管理とライトバックのタイミング制御を行なうラ
イトバック式ディスクキャッシュ装置に関するものであ
る。
【0002】
【従来の技術】ディスクキャッシュ装置は、磁気ディス
ク装置に対するアクセス時間を短縮するために、主記憶
装置に対するキャッシュメモリの原理を利用して構成さ
れたものである。
【0003】図2及び図3は、従来のライトバック式デ
ィスクキャッシュ装置のブロック図であり、これらの図
はそれぞれリード時及びライト時の同装置の動作を説明
するものである。図示の装置は、システムバスに接続さ
れた、中央処理装置21と、主記憶装置22と、ディス
クキャッシュ装置25等から成る。中央処理装置21
は、磁気ディスク装置26に格納されたプログラムやデ
ータを主記憶装置22に読み出してデータ処理を行な
う。主記憶装置22は、中央処理装置21で実行される
プログラムや作業中のデータを一時的に格納する。ディ
スクキャッシュ装置25は、ディスクキャッシュ制御部
23と、ディスクキャッシュメモリ部28とから成る。
ディスクキャッシュ制御部23は、磁気ディスク装置2
6とディスクキャッシュメモリ28との間のデータ転送
を制御する。ディスクキャッシュメモリ部28は、RA
Mから成り、磁気ディスク装置26の最小アクセス単位
であるブロック毎にデータを格納する。磁気ディスク装
置26は、ハードディスク又はフロッピディスクから成
る。尚、磁気ディスクに限らず、光ディスクでも同様で
ある。
【0004】図2は、中央処理装置21から磁気ディス
ク装置26上の領域27データのリード要求を受けたと
きの動作を示したものである。このとき、ディスクキャ
ッシュ装置25は、まず、ディスクキャッシュメモリ部
24上に該当する領域のデータの写しがあるかどうかを
検索する。ディスクキャッシュメモリ部24上にそのデ
ータが存在しなかった場合をリードミスと呼ぶ。この場
合、磁気ディスク装置26から領域27のデータを読み
出して主記憶装置22上の指定された領域29へ転送す
ると同時に、ディスクキャッシュメモリ部24上の領域
28に格納する。この後、同一データのリード要求を受
けた場合、ディスクキャッシュメモリ部24上にそのデ
ータがまだ存在していた場合がリードヒットである。こ
のときは磁気ディスク装置26をアクセスせずにディス
クキャッシュメモリ24上の領域28から直接主記憶装
置22に転送する。このため、リードヒット時にはアク
セス時間を大幅に短縮することができる。
【0005】図3は、CPU21から主記憶装置22上
の領域30のデータの、磁気ディスク装置26上の領域
32へのライト要求を受けたときの動作を示したもので
ある。ライトバック方式のディスクキャッシュ装置25
はこのときも、ディスクキャッシュメモリ24上に磁気
ディスク装置26上の領域32のデータの写しの有無を
検索して、それが存在した場合はディスクキャッシュメ
モリ部24上の該当する領域にライトデータを上書き
し、そうでなければ領域を新規に割当ててそこに格納す
る。こうして、ディスクキャッシュメモリ24上の領域
31へのデータの転送を終えた時点でCPU21へライ
ト終了を通知する。その後、適当な時点で、ディスクキ
ャッシュ装置25は、領域31のデータを磁気ディスク
装置26の領域32へライトする。この動作をライトバ
ックと呼ぶ。これにより、ライト時にはデータを格納す
る領域の割当てが可能な限り、アクセスタイムを見かけ
上短縮することができるのである。ディスクキャッシュ
メモリ上のデータの管理単位をブロック、その大きさを
ブロックサイズと呼ぶ。ディスクキャッシュ装置では磁
気ディスク装置へのアクセスの局所性を利用してヒット
率をたかるために、ディスクキャッシュメモリ内の各ブ
ロックは、最近にアクセスされたものほどキャッシュ上
に常駐する優先度を高くする、いわゆる“Least
Recently Used(以下、「LRU」とい
う)”の原理で管理される。
【0006】図4は、従来のライトバックキャッシュの
管理方式の説明図である。ディスクキャッシュ装置はデ
ィスクキャッシュメモリ42を管理するためのキャッシ
ュ管理テーブル41を持つ。そして、そこに、ディスク
キャッシュメモリ42上のキャッシュブロック44と一
体一に対応する管理ブロック43を格納している。各管
理ブロック43は、対応する管理ブロック43内のLR
UポインタというポインタによってLRU順にリンクさ
れている。そして、これと、LRUの最上位と最下位を
指し示すポインタによりLRU管理が実現されている。
図4では、このポインタによるリンクの様子を矢印で模
式的に表わしている。この図で、キャッシュ管理テーブ
ル41上の管理ブロック43の順序は、物理的な配置と
は関係しない論理的なものであり、LRUポインタによ
るリンクをつなぎかえるだけで順序を容易に変更するこ
とができる。
【0007】ライトバック方式のディスクキャッシュ装
置では、磁気ディスク装置にライトバックする前のライ
トデータを含むキャッシュブロックがディスクキャッシ
ュメモリ42上に存在する。これをダーティブロックと
いう。ディスクキャッシュ装置は、ライトによるデータ
の更新を磁気ディスク装置に反映させるために、適当な
タイミングでLRU最下位に最も近いダーティブロック
を選択してライトバックする。図4の場合では、次にラ
イトバックの対象となるのはブロックDである。
【0008】図5は、従来のライト時のキャッシュ制御
を説明するフローチャートである。ここで、CPUから
のライト要求を受けたときのキャッシュ制御の例を図5
のフローチャートを基に説明する。ディスクキャッシュ
装置は、まずキャッシュ管理テーブルを検索して磁気デ
ィスク装置上のライト対象となる領域のデータを格納し
たブロックがディスクキャッシュメモリ上に存在するか
否かを判定する(ステップS21、S22)。そして、
存在した場合はそのブロックにデータを上書きする(ス
テップS30)。そうでなかった場合は、次にディスク
キャッシュメモリ上の空きブロックの有無を確認する
(ステップS23)。もし空きブロックがなければ、L
RU最下位のブロックを追い出してそのブロックを空き
ブロックにする必要がある(ステップS24、S25、
S26)。そのブロックがダーティブロックでなければ
単に無効化するのみでよく(ステップS24、S2
6)、そうでなければそのブロックのデータをライトバ
ックした後に無効化して空きブロックとする(ステップ
S24、S25、S26)。そして、空きブロックから
新たにデータを割当て、そこにデータをライトする(ス
テップS27)。こうして、ディスクキャッシュメモリ
上へのデータのライトが終了した後、そのブロックをL
RU最上位に位置付けてCPUにライト終了を通知する
(ステップS28、S29)。方式によっては、最下位
ブロックがダーティブロックのとき最下位に最も近いダ
ーティでないブロックを選択してそれを割当てるなど異
なる動作を行なう場合もあるが、ここでは前述した図示
の従来例に沿って説明していく。
【0009】図6は、従来のライト時の管理テーブルの
操作例の説明図である。この図は、新たに割当てたブロ
ックにデータをライトした場合のキャッシュ管理テーブ
ル上の操作の例を示したものである。この場合、LRU
最上位を示すポインタを、その新たなブロックに対応す
る管理ブロック45を指し示すように変更する。そし
て、管理ブロック45のLRUポインタは、以前LRU
最上位であった管理ブロックを指し示すように設定す
る。既にLRUリンクに繋がれているブロックをLRU
最上位に位置付ける場合は、まずその前後の管理ブロッ
クのLRUポインタを操作してリンクから外した後に、
同様の操作を行なう。
【0010】図7及び図8は、ともに従来のライトバッ
クの実行例を示す図である。これらの図は、従来のライ
トバックの実行タイミングの例を示したものであり、ど
ちらの図も横軸は右方向への時間軸を示し、太線の部分
はディスクキャッシュメモリ上にダーティブロックが1
ブロック以上存在する期間を示す。図7は、ライト直後
にライトバックを行なう場合であり、例えば、ライト
(1)の動作終了後すぐにそのデータをライトバックす
る(ライトバック(1))というように実行する。それ
に対して図8は、一定時間T(通常数秒〜数分)毎にそ
の時点でダーティであったブロックを連続して書き出す
方式である。この他に、ダーティブロックがLRUで追
い出されたときにだけライトバックを行なう方式や、C
PUからのリード/ライト要求の時間間隔を監視して一
定時間以上ライト要求がなかったら、その後しばらくリ
ード/ライト要求がないものとみなしてその間に集中し
てライトバックを行なう方式がある。また、それらの組
合せも考えられている。
【0011】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、ラ
イトバック方式のディスクキャッシュ装置において、ラ
イトバックの動作は磁気ディスク装置のアクセス時間に
よって制限されるためにライト動作に比べて大幅に遅
い。従って、短時間のうちに連続してライト要求を受け
た場合はディスクキャッシュメモリ上のダーティブロッ
クの数が増え、最後にはディスクキャッシュメモリ上の
ブロックすべてがダーティブロックになって、以後ライ
トバックが間に合わない間はライト要求の度に磁気ディ
スク装置をアクセスしなければならなくなる。また、リ
ードミスが発生した場合は磁気ディスク装置をアクセス
する必要があるため、ライトバック動作と競合してアク
セス時間が長くなる確率も高くなる。ライトアクセスの
頻度が高い使用環境ではこれらがネックとなって、スル
ープットが低下する。
【0012】これを防ぐには、ライトバック時にヘッド
スケジューリングを行なって磁気ディスク装置のシーク
時間を短縮したり、連続する複数のブロックをまとめて
1回のライトバックで終了させてスループットを向上さ
せることが必要である。しかし、前述の管理方式では、
ディスクキャッシュメモリ上のブロックはLRU順位以
外はそれぞればらばらに管理される。このため、ヘッド
スケジューリングや連続ブロックの探索を行なうにはラ
イトバック時に毎回キャッシュ管理テーブル全域を検索
する必要があり、オーバヘッドが極端に大きくなるため
現実的ではない。また、ブロック管理情報としてLRU
ポインタとは別のポインタを用意して全ブロックを磁気
ディスク装置のアドレス順に繋げるリンクを張ってライ
トバック時にこれを参照するという手段も考えられる。
しかしこの場合、リード/ライト時に新たなブロックを
割り当てる度にキャッシュ管理テーブルを検索してアド
レス順のリンクに繋げる必要があるが、磁気ディスク装
置のアドレス空間は広大であり、このようなアドレス順
のリンクを保守するのにもかなりのオーバヘッドがかか
るため、これも効率的とはいえない。
【0013】また、ライトバックの実行タイミングもス
ループットに大きな影響を及ぼす。例えば、ライトの直
後にライトバック動作を起動する図7の方式ではライト
回数とほぼ同じ回数のライトバックを行なうことになる
ため、スループットを上げられない。その上、その動作
時間の差により図中のライト(2)以降のようにライト
が連続すると、ライトバックが追いつかず、ディスクキ
ャッシュメモリの大半がダーティである状態に陥りやす
い。図8では、Tの時間内に同一ブロックへのライトが
複数回発生すればその分ライトバック回数を減らすこと
ができるが、時間T後にはどのブロックも一律に書き出
してしまう。このため、Tが短ければその効果は小さく
なり、長ければ大半のブロックがダーティとなる可能性
が大きくなる。そして、この場合では短時間にライトバ
ックを集中して行なうためにこの間は極端にスループッ
トが低下するという問題がある。その他の方式でも同様
に、ライト回数に対してライトバック回数を大幅に減ら
すことは期待できず、スループットをあまり上げること
ができない。
【0014】本発明は、以上の点に着目してなされたも
ので、ライトアクセスの頻度が高い使用環境ではスルー
プットが低下するという問題を回避するために、(1)
僅かなオーバヘッドで1トラック分程度の範囲でのヘッ
ドスケジューリングを可能にして磁気ディスク装置のシ
ーク時間を短縮するとともに、複数の連続するブロック
をまとめて書き込んでライトバックの回数を減らすこと
を可能として、スループットの低下を抑えることができ
るライトバック式ディスクキャッシュ装置を提供するこ
とを目的とするものである。
【0015】
【課題を解決するための手段】本発明のライトバック式
ディスクキャッシュ装置の第1の発明は、ディスク装置
上に格納されたデータをブロック毎に転記するディスク
キャッシュメモリと、前記ディスク装置へのデータの書
き込みの発生時は、当該ディスクキャッシュメモリに転
記されている該当するブロック内のデータのみを更新す
るデータ書き込み手段と、前記ディスク装置上の連続す
る1トラック分程度の複数のブロックを1つのグループ
とし、当該グループ内のブロックを前記ディスク装置上
の同一トラック内のアドレス順にリンクして管理するキ
ャッシュ管理テーブルと、当該キャッシュ管理テーブル
上に前記ディスクキャッシュメモリ上でのみ更新されて
いるブロックを含むグループがあるときは、当該グルー
プ内の連続する複数のブロックを1回のアクセスにより
前記ディスク装置上に書き戻すライトバック手段とから
成ることを特徴とするものである。
【0016】本発明のライトバック式ディスクキャッシ
ュ装置の第2の発明は、ディスク装置上に格納されたデ
ータをブロック毎に転記するディスクキャッシュメモリ
と、前記ディスク装置へのデータの書き込みの発生時
は、当該ディスクキャッシュメモリに転記されているブ
ロック内のデータのみを更新するデータ書き込み手段
と、前記キャッシュメモリ上でのみ更新されているブロ
ックを前記ディスク装置上に書き戻すライトバック手段
と、当該ライトバック手段の動作が発生する時間間隔を
決定するタイマ値を、前記ディスクキャッシュメモリ上
でのみ更新されているブロックの数が多くなるに従って
小さく設定するタイマ値設定手段とから成ることを特徴
とするものである。
【0017】
【作用】本発明のライトバック式ディスクキャッシュ装
置には、第1及び第2の発明に対応して以下の2つの作
用がある。 (1)キャッシュ管理テーブルによりディスク装置上の
連続する1トラック分程度の複数ブロックにわたる領域
の一括管理が可能となる。このために、キャッシュ管理
テーブル上の管理ブロック内に個々のブロックをディス
ク装置上の領域内でのアドレス順にリンクするためのリ
ンクポインタを設ける。そして、リンクされたブロック
群にダーティブロックが含まれる場合はグループ内の先
頭ブロックのLRUポインタのみを有効とする。これに
より、このグループ全体をLRU管理上の1単位とする
キャッシュ管理方式を設けて、ライトバック時にはダー
ティブロックを含むグループの内でLRUで最も下位に
属するものの中で、下位アドレスのブロックから順にで
きる限り複数ブロックを一括して書き出すようにする。 (2)ライト又はライトバックの動作終了後、次にライ
トバックを起動するタイミングが可変のタイマ(ライト
バックタイマ)により決定される。そのタイマ値はその
時点でディスクキャッシュメモリ上に残っているダーテ
ィブロックの割合によって決定される。
【0018】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のライトバック式ディスク
キャッシュ装置の一実施例のブロック図である。キャッ
シュ管理テーブル1は、RAMから成り、ディスクキャ
ッシュメモリ2内の各キャッシュブロック4に対応する
管理ブロック3を格納している。ディスクキャッシュメ
モリ2は、RAMから成り、ディスク装置10に格納さ
れたブロック毎のデータをキャッシュブロック4として
転記する。ディスクキャッシュ制御部6は、データ書き
込み手段7と、ライトバック手段8と、タイマ値設定手
段9とから成る。データ書き込み手段7は、CPUから
ディスク装置10へのデータの書き込みの発生時は、デ
ィスクキャッシュメモリ2に該当するブロックが転記さ
れている場合には、そのブロック内のデータのみを更新
する。
【0019】ライトバック手段8は、キャッシュメモリ
2上でのみ更新されているブロックをディスク装置10
上に書き戻す。より具体的には、ライトバック手段8
は、キャッシュ管理テーブル1によりディスクキャッシ
ュメモリ2上でのみ更新されているブロックを含むグル
ープがあるときは、当該グループ内の連続する複数のブ
ロックを1回のアクセスによりディスク装置10上に書
き戻す。ライトバック手段8の動作は、タイマ値設定手
段9により決定されるタイマ値で決定される時間間隔で
発生する割込み信号により起動される。タイマ値設定手
段9は、タイマ割込みのためのタイマ値を、ディスクキ
ャッシュメモリ2上でのみ更新されているブロックの数
が多くなるに従って小さい値に設定する。即ち、ディス
クキャッシュメモリ2上のキャッシュブロックの総数に
対するダーティブロックの割合が高くなる程タイマ値を
小さくする。ダーティブロックの計数は、キャッシュ管
理テーブル1等にダーティブロック総数を情報として持
ち、これを参照する方法により行なうことができる。
【0020】管理ブロック3は、ディスクキャッシュメ
モリ2上のブロック4と一体一で対応しており、ここに
はブロック内に格納されているデータの磁気ディスク装
置10上でのアドレスとそのブロックがダーティである
かどうかを示すダーティフラグ、LRU順位を管理する
ためのLRUポインタ、及びグループ間リンクポインタ
などの情報が含まれている。また、ディスクキャッシュ
メモリ2の図上特に他のブロックと区別したブロックは
ダーティブロックであることを示している。そして、ブ
ロックに格納されるデータのコピー元が、磁気ディスク
装置上で連続する数ブロック〜数十ブロック分の大きさ
の同じ領域に含まれるブロックと呼び、これらのブロッ
クの間をアドレス順にリンクするためのポインタがグル
ープ間リンクポインタである。ブロックサイズ及び1グ
ループ分の領域は任意であるが、例えば、それぞれ4k
B、64kBであるとすると、1グループの最大ブロッ
クは16である。図示の例ではこの1グループ分の領域
は磁気ディスク装置の1トラックに対応するものとして
説明する。
【0021】図1で、a0、a1、b0等はブロック管
理情報ブロックであり、それぞれにディスクキャッシュ
メモリ上のブロックA0、A1、B0等が対応する。そ
して、1つのグループに含まれるブロック群はAn、B
nのように1文字目で区別され、それに続く数字はグル
ープ内でのそのブロックのアドレスを示すものとする。
そして、図中ではそれぞれのグループ間リンクによって
アドレス順にリンクされている様子を横向き矢印で表わ
している。このリンクはd7からd9のように不連続な
ブロックの間もリンクすることが可能である。また、a
とdのグループはダーティブロックを含むため、グルー
プ単位でLRUリンクに繋げられている。これはグルー
プ内で先頭に位置するブロックの管理情報内のLRUポ
インタのみを有効とし、他のブロックのものは無効とし
て、先頭ブロックのLRU順位をグループ全体の順位と
みなすことで実現することができる。また、グループが
1つのブロックだけから成る場合はグループ間リンクポ
インタを無効にしておけばよい。
【0022】図1において、次のライトバックの対象と
なるのは、Dグループであり、D3からD7は連続した
ブロックであるためまずこのブロック群を一括して書き
出すことができ、これによりライトバック回数を削減す
ることができる。なお、D4からD6のブロックのいく
つかがダーティではないがディスクキャッシュメモリ上
に存在するというような場合は、それらも含めて一度で
書き出す場合の磁気ディスク装置のアクセス時間及びデ
ータ転送時間と、複数回に分けて書き出す場合のそれを
推定して比較し、総合的に最も短い時間でライトバック
できるパターンを選択するものとする。そして、さらに
その次のライトバックではブロックD9を書き出すとい
うように選択する。このように、同一トラック上のデー
タをアドレス順に書き出すことで局所的なヘッドスケジ
ューリングを行なうことができて、磁気ディスク装置の
アクセス時間を短縮することも可能になる。
【0023】CPUからのディスクアクセスの局所性に
より、このように1トラック分ほどの領域に複数のブロ
ックが含まれることは多いものと期待できる。さらに、
このグループ単位でLRUの管理を行なうため、例えば
小容量の一時ファイルへのライトのような比較的狭い領
域への書き込みや、データベースの更新履歴情報のライ
トのような小容量のデータのシーケンシャルな書き込み
が頻繁に要求されるような場合は特に、該当するグルー
プはLRUの上位に長くとどまりつつ、その間に次々と
新たなブロックを連結していく。これにより、この領域
へのライト要求はディスクキャッシュメモリへのライト
だけで終了させることができる。そして、この領域への
ライト要求がなくなってLRUの順位が下がり、ライト
バックの対象となった際に、一括して書き出すことによ
りライト回数に対するライトバック回数の大幅な削減が
可能となる。この結果、スループットを大幅に向上させ
ることができる。
【0024】図9は、本発明によるライト時のキャッシ
ュ制御を説明するフローチャートである。この図は、デ
ィスクキャッシュ装置がCPUからのライト要求を受け
たときの、本発明の管理方式におけるキャッシュ制御の
例をフローチャートで示したものである。ディスクキャ
ッシュ装置は、まずキャッシュ管理テーブルを検索して
該当領域を含むブロックの有無を判定する(ステップS
1、S2)。本発明では、この検索においては同一のト
ラックに含まれるブロック群を同時に検索する必要があ
るため、磁気ディスク装置の装置番号、シリンダ番号、
及びヘッド番号までが一致するものをキャッシュ管理テ
ーブル上の管理ブロックを参照して探索していく。そし
て、一致するものを発見したらグループ間リンクを前後
に手繰って該当するブロックを探せばよい。なお、この
ようにすると、単に該当するブロックのみを探すよりも
高速に検索できる可能性が高い。
【0025】このように検索して、該当するブロックが
ディスクキャッシュメモリ上に存在した場合はそのブロ
ックにデータを上書きした後にそのブロックを含むグル
ープをLRUの最上位に位置付け直す(ステップS1
3、S11)。そうでなかった場合は、従来の方法と同
様に必要ならば(ステップS3、S4)、LRU最下位
のブロックをライトバックして(ステップS5)、空き
ブロックを割り当てて(ステップS6)その領域にデー
タをライトする(ステップS7)。そして、空きブロッ
クを割り当てた場合で、同一トラックのデータを格納し
たブロックが他に存在する場合は(ステップS8)、そ
のグループ間リンクのアドレス順で該当する順位にその
新たなブロックを挿入し(ステップS9)、他になけれ
ば単独で1つの新規グループとして(ステップS1
0)、それぞれのグループ全体をLRU最上位に位置付
け(ステップS11)、CPUにライト終了を通知する
(ステップS12)。このとき、既存のグループがダー
ティブロックを含まなかった場合は各ブロックごとにL
RUリンクが張られているわけであるが、この場合はそ
れらのブロック全てをLRUリンクから外して新たに1
つのグループとしてLRUの最上位に位置付ける。それ
以外に、ダーティブロックで挟まれたブロック群、ある
いは連続するダーティなブロック群のみをひとまとめの
LRU管理単位とする方式も考えられる。このグループ
間リンクは数ブロックから数十ブロックをアドレス順に
リンクするだけのものであるのでこれを保守するための
オーバヘッドは無視できる程度のものであり、前述のよ
うにキャッシュメモリテーブルの検索を高速化させる効
果さえもある。こうして、ディスクキャッシュメモリへ
のデータの格納、ブロック管理情報の更新を終了したと
ころでCPUにライト終了を通知するのである。
【0026】図10は、本発明によるライト時の管理テ
ーブルの操作例の説明図である。ここで、新たに割り当
てたブロックにデータをライトした場合の、本発明によ
るキャッシュ管理テーブル上の操作の例を図10に沿っ
て説明する。この図では、b2で示されるブロックを新
たにリンクするに当たって、既にb1、b3及びb7で
示される同一トラック内のブロック群が1つのグループ
としてリンクされていたことを示している。この場合、
まず既存のグループをアドレス順に手繰ってb2をb1
とb3の間のグループ間リンクに挿入する。その上で、
このグループ全体を以前のLRUリンクから外してLR
Uの最上位に位置付けるようにLRUポインタとLRU
最上位ポインタを操作するのである。
【0027】次に、本発明によるライトバックのタイミ
ング制御方式を説明する。本発明では、ライト又はライ
トバックの動作終了毎に、ディスクキャッシュメモリ上
に占めるダーティブロックの割合を判定し、その割合に
応じて次にライトバックを起動するためのタイマ(以後
ライトバックタイマとよぶ)のタイマ値を設定して一定
時間毎のカウントを開始する。そして、設定されたタイ
マ値分のカウントを終了した時点で次のライトバックを
起動することにより、ライトバックのタイミングを制御
するのである。
【0028】図11は、本発明によるライトバック間隔
決定を説明するフローチャートである。この図は、ライ
トバックタイマのタイマ値を決定するフローチャートの
例を示したものである。この例では、ライト終了時にす
でにライトバックタイマが起動されていなければ(ステ
ップS31)タイマ値をT1として起動する(ステップ
S32)。そして、ライトバック終了時点では、ディス
クキャッシュメモリ上のダーティブロックの割合に応じ
て(ステップS33)、1/2まではT2(ステップS
34)、2/3まではT3(ステップS35)、3/4
まではT4とし(ステップS36)、それ以上の時は即
座に次のライトバックを起動する(ステップS37)。
この場合T1はT2より大きいか等しく、T2>T3>
T4であり、それらは実際には数百ミリ秒から数分程度
の値が適当である。
【0029】図12は、本発明によるライトバックの実
行例を示す図である。この図は、本発明によるライトバ
ックの実行タイミングの例を示したものであり、横軸は
右方向への時間軸を示している。この図では、ライトバ
ック(0)を終了した時点でディスクキャッシュメモリ
上にダーティブロックが存在しなくなったことを示して
いる。すると、次にライトされるまではライトバックタ
イマは停止状態になる。次にライト(1)の要求を受け
たとすると、動作終了後にはT1なるタイマ値でライト
バックタイマを起動する。そして、T1の時間後にライ
トバックを行ない、その終了時点でディスクキャッシュ
メモリ上のダーティブロックの割合が1/2以下であっ
たとすると次はT2なるタイマ値で起動する。こうして
ライトバックを実行していき、ライトバック(3)で再
びダーティブロックがなくなった時点でライトバックタ
イマを停止する。
【0030】このようにタイミングを制御することで、
ダーティブロックの割合が少ない間は少しずつ、割合が
大きくなるほど短い間隔でLRU順位で下位のブロック
からライトバックすることになる。このことにより、ラ
イト直後に即ライトバックを行なったり、一定期間ごと
にすべてのダーティブロックのライトバックを行なうよ
うな方式よりも、LRUで上位のブロックほど、ライト
バックの順位が低くその上ダーティブロックの割合が少
なくなってそのブロックをライトバックする順番が近づ
くほどライトバックの間隔が長くなるために、ディスク
キャッシュメモリ上に長く留まるようになる。また、ダ
ーティブロックの割合が増えるほど頻繁にライトバック
を行なうようになるため、キャッシュメモリの大半がダ
ーティブロックとなるような状況にはなりにくくなる。
【0031】
【発明の効果】以上説明したように、本発明のライトバ
ック式ディスクキャッシュ装置によれば、(1)1トラ
ック分程度の領域に含まれるブロックをグループとして
グループ間リンクポインタによるリンクでアドレス順に
管理し、ダーティブロックを含む場合はそのグループを
LRU管理上の単位とした上で、ライトバック時にはそ
のグループ間リンクを参照することにより、その領域内
での可能な限りの複数ブロックの一括書き出しを行なう
ことによりライトバック回数を削減し、かつ、磁気ディ
スク装置のヘッドのシーク動作が不要な同一トラック内
でアドレス順に書き出していくことによって、局所的な
ヘッドスケジューリングによる磁気ディスク装置のアク
セス時間の短縮を僅かなオーバヘッドで容易に実現する
ようにしたので、ライトアクセスの頻度高い使用環境に
おいてもスループットを従来以上に高めることが可能と
なる。さらに、グループ単位でLRUの管理を行なうた
め、例えば小容量の一時ファイルへのライトのような比
較的狭い領域への書き込みや、データベースの更新履歴
情報のライトのような小容量のデータのシーケンシャル
な書き込みが頻繁に要求されるような場合は特に、該当
するグループはLRUの上位に長く留まりつつ、その間
に次々と新たなブロックを連結していくことで、この領
域へのライト要求はディスクキャッシュメモリへのライ
トだけで終了させることができる。そして、この領域へ
のライト要求がなくなってLRUの順位が下がりライト
バックの対象となった際に、一括して書き出すことによ
りライト回数に対するライトバック回数の大幅な削減が
可能となり、スループットを大幅に向上させることがで
きる。また、(2)ライト/ライトバック終了後、次に
ライトバックを起動するまでの時間を、ディスクキャッ
シュメモリ上をダーティブロックが占める割合が少ない
ほど長く、多いほど短く、そして一定以上の割合だった
ら間隔をあけずに連続して行なうというように、ダーテ
ィブロックの割合によって調整するようにしたので、L
RUで上位のブロックほど、ライトバックの順位が低い
上にダーティブロックの割合が少なくなってそのブロッ
クをライトバックする順番が近づくほどライトバックの
間隔が長くなる。従って、ディスクキャッシュメモリ上
に従来以上に長く留まるようになる。このため、同一ブ
ロックへのライトが頻繁に発生する場合、そのブロック
はディスクキャッシュメモリ上に長く留まって、ライト
回数に対してライトバックの回数を従来以上に削減でき
るようになる。このため、スループットを向上させるこ
とができる。そして、このライトバックタイミングの制
御方式を上述した本発明(1)によるディスクキャッシ
ュメモリの管理方式と組み合わせた場合、特に前述のよ
うな狭い領域への書き込みや小容量のデータのシーケン
シャルな書き込みが頻繁に要求された場合、その領域を
含むグループは従来のライトバックタイミングの制御方
式より一層長くディスクキャッシュメモリ上に留まるた
め、ライトバック回数の更なる削減によるスループット
の一層の向上が期待できる。また、ダーティブロックの
割合が増えるほど頻繁にライトバックを行なうようにな
るため、キャッシュメモリの大半がダーティとなるよう
な状況にはなりにくく、その上で適当な時間間隔でライ
トバックを行なう。このため、一定時間ごとに集中して
ライトバックを行なう場合のように一時的にスループッ
トが極端に低下するようなことも発生しないという利点
もある。
【図面の簡単な説明】
【図1】本発明のライトバック式ディスクキャッシュ装
置の一実施例のブロック図である。
【図2】従来のディスクキャッシュ装置のリード時の動
作を説明するブロック図である。
【図3】従来のディスクキャッシュ装置のライト時の動
作を説明するブロック図である。
【図4】従来のライトバック式ディスクキャッシュ装置
の管理方式の説明図である。
【図5】従来のライト時のキャッシュ制御を説明するフ
ローチャートである。
【図6】従来のライト時の管理テーブルの操作例の説明
図である。
【図7】従来のライトバックの実行例を示す図である。
【図8】従来のライトバックの実行例を示す図である。
【図9】本発明によるライト時のキャッシュ制御を説明
するフローチャートである。
【図10】本発明によるライト時の管理テーブルの操作
例の説明図である。
【図11】本発明によるライトバック間隔を決定する例
を説明するフローチャートである。
【図12】本発明によるライトバックの実行例を示す図
である。
【符号の説明】
1 キャッシュ管理テーブル 2 ディスクキャッシュメモリ 3 管理ブロック 4 キャッシュブロック 6 ディスクキャッシュ制御部 7 データ書き込み手段 8 ライトバック手段 9 タイマ値設定手段 10 ディスク装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ディスク装置上に格納されたデータをブ
    ロック毎に転記するディスクキャッシュメモリと、 前記ディスク装置へのデータの書き込みの発生時は、当
    該ディスクキャッシュメモリに転記されている該当する
    ブロック内のデータのみを更新するデータ書き込み手段
    と、 前記ディスク装置上の連続する1トラック分程度の複数
    のブロックを1つのグループとし、当該グループ内のブ
    ロックを前記ディスク装置上の同一トラック内のアドレ
    ス順にリンクして管理するキャッシュ管理テーブルと、 当該キャッシュ管理テーブル上に前記ディスクキャッシ
    ュメモリ上でのみ更新されているブロックを含むグルー
    プがあるときは、当該グループ内の連続する複数のブロ
    ックを1回のアクセスにより前記ディスク装置上に書き
    戻すライトバック手段とから成ることを特徴とするライ
    トバック式ディスクキャッシュ装置。
  2. 【請求項2】 ディスク装置上に格納されたデータをブ
    ロック毎に転記するディスクキャッシュメモリと、 前記ディスク装置へのデータの書き込みの発生時は、当
    該ディスクキャッシュメモリに転記されているブロック
    内のデータのみを更新するデータ書き込み手段と、 前記キャッシュメモリ上でのみ更新されているブロック
    を前記ディスク装置上に書き戻すライトバック手段と、 当該ライトバック手段の動作が発生する時間間隔を決定
    するタイマ値を、前記ディスクキャッシュメモリ上での
    み更新されているブロックの数が多くなるに従って小さ
    く設定するタイマ値設定手段とから成ることを特徴とす
    るライトバック式ディスクキャッシュ装置。
JP4134323A 1992-04-27 1992-04-27 ライトバック式ディスクキャッシュ装置 Pending JPH05303528A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4134323A JPH05303528A (ja) 1992-04-27 1992-04-27 ライトバック式ディスクキャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4134323A JPH05303528A (ja) 1992-04-27 1992-04-27 ライトバック式ディスクキャッシュ装置

Publications (1)

Publication Number Publication Date
JPH05303528A true JPH05303528A (ja) 1993-11-16

Family

ID=15125635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4134323A Pending JPH05303528A (ja) 1992-04-27 1992-04-27 ライトバック式ディスクキャッシュ装置

Country Status (1)

Country Link
JP (1) JPH05303528A (ja)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880042B2 (en) 2001-12-12 2005-04-12 Fujitsu Limited Data storage apparatus that combines a group of continuous data series stored in buffer separately before storing in a recording medium
JP2005258789A (ja) * 2004-03-11 2005-09-22 Toshiba Solutions Corp ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP2006178983A (ja) * 2004-12-21 2006-07-06 Samsung Electronics Co Ltd バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
JP2006277545A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd 計算機システム、記憶装置システムおよびライト処理制御方法
JP2007133663A (ja) * 2005-11-10 2007-05-31 Konica Minolta Opto Inc メモリ制御装置及びメモリ制御方法
KR100786153B1 (ko) * 2005-03-14 2007-12-18 후지쯔 가부시끼가이샤 기억 장치, 그 제어 방법 및 프로그램
JP2008501163A (ja) * 2004-03-31 2008-01-17 ジェミニ モバイル テクノロジーズ,インク. 同期的メッセージ待ち行列
US7376797B2 (en) 2003-03-11 2008-05-20 Kabushiki Kaisha Toshiba Cache memory system and method using reference bits
US7783895B2 (en) 2003-03-27 2010-08-24 Sanyo Electric Co., Ltd. Method and apparatus for encrypting data to be secured and inputting/outputting the same
JP2010262663A (ja) * 2004-01-13 2010-11-18 Seiko Instruments Inc メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
US7908434B2 (en) 2006-06-16 2011-03-15 Fujitsu Limited Raid apparatus, cache management method, and computer program product
JP2013161112A (ja) * 2012-02-01 2013-08-19 Nec Corp 情報処理装置、制御装置、及び情報処理方法
JP2014500553A (ja) * 2010-12-10 2014-01-09 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ・デステージ・スキャン時間を管理するためのシステム、方法及びプログラム
JP2014519650A (ja) * 2011-05-23 2014-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法
JP2015527684A (ja) * 2012-09-28 2015-09-17 アップル インコーポレイテッド スティッキー抜去エンジンを伴うシステムキャッシュ
JP2016503209A (ja) * 2012-12-26 2016-02-01 華為技術有限公司Huawei Technologies Co.,Ltd. ディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置
JP2016095828A (ja) * 2014-11-14 2016-05-26 ドット ヒル システムズ コーポレイションDot Hill Systems Corporation 高速非同期ストリームを処理するための方法及び機器
JP2016095829A (ja) * 2014-11-14 2016-05-26 ドット ヒル システムズ コーポレイションDot Hill Systems Corporation 低速で低頻度のストリームを処理するための方法及び機器
US10296466B2 (en) 2016-05-10 2019-05-21 Fujitsu Limited Information processing device, method of controlling a cache memory, and storage medium
US10528468B2 (en) 2015-09-03 2020-01-07 Fujitsu Limited Storage controlling apparatus, computer-readable recording medium having storage controlling program stored therein, and storage controlling method
EP3752912A4 (en) * 2018-02-13 2021-11-17 Tesla, Inc. LOW LATENCY HARDWARE MEMORY MANAGEMENT SYSTEMS AND METHODS

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880042B2 (en) 2001-12-12 2005-04-12 Fujitsu Limited Data storage apparatus that combines a group of continuous data series stored in buffer separately before storing in a recording medium
US7376797B2 (en) 2003-03-11 2008-05-20 Kabushiki Kaisha Toshiba Cache memory system and method using reference bits
US7783895B2 (en) 2003-03-27 2010-08-24 Sanyo Electric Co., Ltd. Method and apparatus for encrypting data to be secured and inputting/outputting the same
JP2010262663A (ja) * 2004-01-13 2010-11-18 Seiko Instruments Inc メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
JP2005258789A (ja) * 2004-03-11 2005-09-22 Toshiba Solutions Corp ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP2008501163A (ja) * 2004-03-31 2008-01-17 ジェミニ モバイル テクノロジーズ,インク. 同期的メッセージ待ち行列
US8051258B2 (en) 2004-12-21 2011-11-01 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
JP2006178983A (ja) * 2004-12-21 2006-07-06 Samsung Electronics Co Ltd バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
KR100786153B1 (ko) * 2005-03-14 2007-12-18 후지쯔 가부시끼가이샤 기억 장치, 그 제어 방법 및 프로그램
JP2006277545A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd 計算機システム、記憶装置システムおよびライト処理制御方法
JP2007133663A (ja) * 2005-11-10 2007-05-31 Konica Minolta Opto Inc メモリ制御装置及びメモリ制御方法
US7908434B2 (en) 2006-06-16 2011-03-15 Fujitsu Limited Raid apparatus, cache management method, and computer program product
DE112011104314B4 (de) 2010-12-10 2022-02-24 International Business Machines Corporation Verwalten von Cachespeicher-Auslagerungsüberprüfungszeiten
JP2014500553A (ja) * 2010-12-10 2014-01-09 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ・デステージ・スキャン時間を管理するためのシステム、方法及びプログラム
JP2014519650A (ja) * 2011-05-23 2014-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法
JP2013161112A (ja) * 2012-02-01 2013-08-19 Nec Corp 情報処理装置、制御装置、及び情報処理方法
JP2015527684A (ja) * 2012-09-28 2015-09-17 アップル インコーポレイテッド スティッキー抜去エンジンを伴うシステムキャッシュ
JP2016503209A (ja) * 2012-12-26 2016-02-01 華為技術有限公司Huawei Technologies Co.,Ltd. ディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置
US9582433B2 (en) 2012-12-26 2017-02-28 Huawei Technologies Co., Ltd. Disk array flushing method and disk array flushing apparatus
JP2016095828A (ja) * 2014-11-14 2016-05-26 ドット ヒル システムズ コーポレイションDot Hill Systems Corporation 高速非同期ストリームを処理するための方法及び機器
JP2016095829A (ja) * 2014-11-14 2016-05-26 ドット ヒル システムズ コーポレイションDot Hill Systems Corporation 低速で低頻度のストリームを処理するための方法及び機器
US10528468B2 (en) 2015-09-03 2020-01-07 Fujitsu Limited Storage controlling apparatus, computer-readable recording medium having storage controlling program stored therein, and storage controlling method
US10296466B2 (en) 2016-05-10 2019-05-21 Fujitsu Limited Information processing device, method of controlling a cache memory, and storage medium
EP3752912A4 (en) * 2018-02-13 2021-11-17 Tesla, Inc. LOW LATENCY HARDWARE MEMORY MANAGEMENT SYSTEMS AND METHODS

Similar Documents

Publication Publication Date Title
JPH05303528A (ja) ライトバック式ディスクキャッシュ装置
US5717893A (en) Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions
US9529724B2 (en) Layered architecture for hybrid controller
US5778430A (en) Method and apparatus for computer disk cache management
US4875155A (en) Peripheral subsystem having read/write cache with record access
US6877065B2 (en) Advanced read cache management
US6192450B1 (en) Destage of data for write cache
US6286080B1 (en) Advanced read cache emulation
JPH0241056B2 (ja)
JPS6143742B2 (ja)
KR20010102210A (ko) 캐시를 구비한 데이터 프로세서
JPH0364893B2 (ja)
US7237067B2 (en) Managing a multi-way associative cache
JP2002049528A (ja) キャッシュからデータをデモートする方法、システム及びプログラム
JP2002140231A (ja) 拡張型キャッシュメモリシステム
JP3460617B2 (ja) ファイル制御装置
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JP2001222469A (ja) 変化するサービスレベルを提供するためのキャッシュのセグメント化
US11036639B2 (en) Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays
WO1995001600A1 (en) Predictive disk cache system
JP2000285022A (ja) ディスク制御装置
JPH0773107A (ja) ディスク・システムの制御方法
JP2854668B2 (ja) ディスク・キャッシュ制御方式
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
JP2854667B2 (ja) ディスク・キャッシュ制御方式