JPH05346889A - キャッシュ制御方法およびキャッシュ制御装置 - Google Patents

キャッシュ制御方法およびキャッシュ制御装置

Info

Publication number
JPH05346889A
JPH05346889A JP4155247A JP15524792A JPH05346889A JP H05346889 A JPH05346889 A JP H05346889A JP 4155247 A JP4155247 A JP 4155247A JP 15524792 A JP15524792 A JP 15524792A JP H05346889 A JPH05346889 A JP H05346889A
Authority
JP
Japan
Prior art keywords
cache
write
data
update
generation
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
JP4155247A
Other languages
English (en)
Inventor
Teizaburo Kanai
貞三郎 金居
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4155247A priority Critical patent/JPH05346889A/ja
Publication of JPH05346889A publication Critical patent/JPH05346889A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 キャッシュ障害時に消失した更新データを短
時間で回復する。 【構成】 中央処理装置10側のプログラム15に設け
た複数のチェックポイント時毎にデータ更新世代を指定
し、ライトアフタレコード管理テーブル51と更新世代
管理テーブル52とによりライトアフタデータを更新世
代で管理する。障害によりライトアフタデータが消失し
た場合、最古のライトアフタデータの更新世代に対応す
るチェックポイントの時点に遡ってプログラム15を再
実行するか又はそのチェックポイントの時点以降の更新
履歴ファイル40の情報に基づいてライトアフタデータ
を回復する。 【効果】 消失したライトアフタデータを短時間で回復
することが出来るとともに、そのためのオーバヘッドを
小さく出来る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュ制御方法お
よびキャッシュ制御装置に関し、さらに詳しくは、直接
アクセス記憶装置への書き込みをライトアフタ方式によ
り行うキャッシュに障害が発生したときのデータ回復に
好適なキャッシュ制御方法およびキャッシュ制御装置に
関する。
【0002】
【従来の技術】通常、汎用大型計算機システムにおいて
は、ファイル用記憶装置として、直接アクセス記憶装置
が使用される。特に、磁気ディスク装置は、容量や性能
等の点で優れている。しかし、磁気ディスク装置は、ア
クセス時に機械的な動作が伴うため、アクセス速度の大
幅な向上は難しい。この結果、磁気ディスク装置に対す
る入出力処理がボトルネックとなり、計算機システム全
体の性能向上が妨げられている。
【0003】これを解決する技術として、ディスクキャ
ッシュがある。すなわち、中央処理装置と磁気ディスク
装置の間に半導体メモリ等からなるキャッシュを設け、
磁気ディスク装置のデータの一部を上記キャッシュに格
納しておき、中央処理装置側からの入力要求に対してキ
ャッシュに格納されたデータを用いて応答することによ
り、入力処理の効率を向上させる。
【0004】一方、出力要求に対しては、例えばライト
アフタ方式を用いる。すなわち、中央処理装置側からの
更新データをキャッシュに書き込んだ時点で中央処理装
置側にライト完了報告を行い、その後、中央処理装置側
とは非同期に更新データを磁気ディスク装置に書き込
む。これにより、出力処理の効率も向上させることが出
来る。
【0005】ところが、ライトアフタ方式において、中
央処理装置側にライト完了報告を行った後から更新デー
タを磁気ディスク装置に書き込むまでの間に、電源断等
の障害が発生すると、キャッシュ中の更新データが失わ
れてしまうと共に,ライト処理完了が報告されているた
め中央処理装置も更新データを保持していない、という
状態に陥る。このため、更新データを回復する技術が必
要となる。
【0006】
【発明が解決しようとする課題】データベースプログラ
ムのように、データ更新時に更新履歴情報を履歴情報フ
ァイルに記録する場合、この更新履歴情報を利用して、
更新データを回復することが考えられる。しかし、キャ
ッシュに書き込まれたのみで磁気ディスク装置に書き込
まれていない更新データを特定できないため、磁気ディ
スク装置そのものは正常にアクセス可能であるのにかか
わらず、通常の媒体障害の場合と同じ扱いになり、回復
に長時間を要する問題点がある。そこで、キャッシュに
書き込まれたのみで磁気ディスク装置に書き込まれてい
ない更新データをキャッシュ側で特定し、通常時あるい
は障害時に中央処理装置に報告することが考えられる。
これによれば、回復処理に必要な更新履歴情報の範囲を
限定できるため、回復に要する時間を短縮可能である。
しかし、キャッシュに書き込まれたのみで磁気ディスク
装置に書き込まれていない更新データをキャッシュ側で
特定し中央処理装置に報告するためのオーバヘッドが大
きくなる問題点がある。
【0007】そこで、本発明の目的は、ライトアフタ方
式でキャッシュから直接アクセス記憶装置に更新データ
を書き込む計算機システムにおいて、キャッシュ障害時
に消失した更新データを短時間で回復可能にすると共
に、そのためのオーバヘッドも少なくて済むようにした
キャッシュ制御方法およびキャッシュ制御装置を提供す
ることにある。
【0008】
【課題を解決するための手段】第1の観点では、本発明
は、中央処理装置と、直接アクセス記憶装置と、前記中
央処理装置と前記直接アクセス記憶装置との間に介在し
中央処理装置と直接アクセス記憶装置との間で転送され
るデータを一時的に格納するキャッシュとから構成さ
れ、ライトアフタ方式で前記キャッシュから前記直接ア
クセス記憶装置に更新データを書き込む計算機システム
において、直接アクセス記憶装置に更新データを書き込
む中央処理装置側のプログラムに対して該プログラム実
行中の複数の時点でチェックポイントを設け、そのチェ
ックポイント時毎にライトアフタデータ更新世代を指定
し、ライトアフタ方式でキャッシュから前記直接アクセ
ス記憶装置に書き込まれるべき更新データ(ライトアフ
タデータ)をキャッシュに最初に書き込んだ時点以前の
最近のチェックポイント時に指定されていたライトアフ
タデータ更新世代を当該ライトアフタデータの更新世代
として、その更新世代によりライトアフタデータを管理
することを特徴とするキャッシュ制御方法を提供する。
【0009】第2の観点では、本発明は、上記第1の観
点によるキャッシュ制御方法において、障害によりキャ
ッシュ中のライトアフタデータが消失したときに、最も
古いライトアフタデータの更新世代に対応するチェック
ポイントの時点に遡ってプログラムを再実行し、ライト
アフタデータを回復することを特徴とするキャッシュ制
御方法を提供する。
【0010】第3の観点では、本発明は、上記第1の観
点によるキャッシュ制御方法において、障害によりキャ
ッシュ中のライトアフタデータが消失したときに、最も
古いライトアフタデータの更新世代に対応するチェック
ポイントの時点以降の更新履歴情報に基づいてライトア
フタデータを回復することを特徴とするキャッシュ制御
方法を提供する。
【0011】第4の観点では、本発明は、上記キャッシ
ュ制御方法において、キャッシュを、揮発性メモリから
なる揮発キャッシュおよび不揮発性メモリからなる不揮
発キャッシュから構成したことを特徴とするキャッシュ
制御方法を提供する。
【0012】第5の観点では、本発明は、上記キャッシ
ュ制御方法を実施するキャッシュ制御装置を提供する
【0013】
【作用】本発明のキャッシュ制御方法およびキャッシュ
制御装置では、中央処理装置側のプログラムに設けた複
数のチェックポイント時毎にライトアフタデータ更新世
代を指定し、ライトアフタデータをキャッシュに最初に
書き込んだ時点以前の最近のチェックポイント時に指定
されていたライトアフタデータ更新世代によりライトア
フタデータを管理する。そして、障害によりライトアフ
タデータが消失した場合に、最も古いライトアフタデー
タの更新世代に対応するチェックポイントの時点に遡っ
てプログラムを再実行し、ライトアフタデータを回復す
る。または、最も古いライトアフタデータの更新世代に
対応するチェックポイントの時点以降の更新履歴情報に
基づいてライトアフタデータを回復する。
【0014】そこで、消失したライトアフタデータを短
時間で回復することが出来る。すなわち、プログラム全
体を再実行するのではなく,更新世代と対応付けられた
チェックポイントからプログラムを再実行すればよいの
で、回復に要する時間が短くなる。また、更新世代と対
応付けられたチェックポイント以降に限定して更新履歴
情報を調べればよいので、回復に要する時間が短くな
る。さらに、ライトアフタデータを更新世代により管理
するので、ライトアフタデータをキャッシュ側で特定し
中央処理装置に報告する必要がなくなり、オーバヘッド
が小さくなる。また、古い更新世代のライトアフタデー
タを所定の時点でまとめて直接アクセス記憶装置に書き
込むことが可能となり、この点でもオーバヘッドが小さ
くなる。なお、ライトアフタデータは前記所定の時点に
達するまでに通常のライトアフタ処理により直接アクセ
ス記憶装置に書き込まれている可能性が高く、前記所定
の時点で実際に直接アクセス記憶装置に書き込む必要が
あるライトアフタデータは少ないため、さらにオーバヘ
ッドは小さくなる。
【0015】また、キャッシュを揮発キャッシュと不揮
発キャッシュから構成し、ライトアフタデータを揮発キ
ャッシュから不揮発キャッシュに移す又は複写する場合
には、障害により消失するのが揮発キャッシュのライト
アフタデータのみである確率が高いため、遡及するべき
世代数を小さくでき、回復に要する時間をより短縮する
ことが出来る。さらに、本発明のキャッシュ制御装置
は、上記キャッシュ制御方法を実施するものであり、上
記と同じ作用を奏する。
【0016】
【実施例】以下、本発明の実施例を図を用いてさらに詳
しく説明する。なお、これにより本発明が限定されるも
のではない。
【0017】−第1実施例− 図1は、本発明の第1実施例によるキャッシュ制御装置
20の動作説明図である。キャッシュ制御装置20は、
中央処理装置10と,磁気ディスク装置30との間に接
続されている。キャッシュ制御装置20の内部には、マ
イクロプロセッサユニット21と,上位インタフェース
制御回路22と,ディスクインタフェース制御回路23
と,データ転送制御回路24と,キャッシュ25と,デ
ィレクトリ26とが設けられている。
【0018】上位インタフェース制御回路22は、中央
処理装置10と接続しており、中央処理装置10とキャ
ッシュ制御装置20の間のデータやコマンド等の授受を
制御する。ディスクインタフェース制御回路23は、磁
気ディスク装置30と接続しており、キャッシュ制御装
置20と磁気ディスク装置30の間のデータやコマンド
等の授受を制御する。データ転送制御回路24は、上位
インタフェース制御回路22およびディスクインタフェ
ース制御回路23と接続しており、両者の間のデータの
授受を制御する。
【0019】キャッシュ25は、上位インタフェース制
御回路22とディスクインタフェース制御回路23の間
に接続され、中央処理装置10からのアクセス頻度の高
いデータを格納している。また、ライトアフタ方式で磁
気ディスク装置30に書き込むデータを格納している。
なお、本実施例では、キャッシュ25におけるデータの
管理単位をレコード(物理レコード)とする。そこで、
ライトアフタ方式で磁気ディスク装置30に書き込むデ
ータをライトアフタレコードと呼ぶ。但し、これに限定
されず、例えばトラックであってもよい。
【0020】ディレクトリ26は、キャッシュ25中の
データおよび領域を管理する。その内部には、ライトア
フタレコード管理テーブル51と,更新世代管理テーブ
ル52と,レコード管理テーブル53と,ヒット/ミス
判定テーブル54と,領域管理テーブル55とが設けら
れている。なお、本実施例では、ディレクトリ26の記
憶素子は、不揮発性メモリあるいはバッテリを付加した
半導体メモリとし、キャッシュ制御装置20の電源断時
にもディレクトリ26の内容が消失しないようにする。
【0021】ライトアフタレコード管理テーブル51
は、キャッシュ25中のライトアフタレコードを管理す
るためのテーブルである。図2の(a)に示すように、
管理情報60を格納する領域と,ライトアフタレコード
のアドレスなどを格納するエントリ61,62,…とか
ら構成される。管理情報60には、総エントリ数や,未
使用領域情報等が含まれる。エントリ61には、図3に
示すように、当該エントリ61が管理するライトアフタ
レコード(a)の磁気ディスク装置30におけるアドレ
ス111と,当該ライトアフタレコードと同じ更新世代
のライトアフタレコードをチェインするための双方向の
世代チェインポインタ112と,磁気ディスク装置30
内の位置が隣接するライトアフタレコードをグループ化
したときに同じグループのライトアフタレコードをチェ
インするための双方向のグループチェインポインタ11
3と,当該エントリ61が管理するライトアフタレコー
ド(a)のキャッシュ25中の格納領域のアドレス11
4とが格納される。他のエントリ62,…も同様であ
る。なお、ライトアフタレコード管理テーブル51をキ
ャッシュ25中に設けてもよい。
【0022】更新世代管理テーブル52は、最大管理世
代数91と,有効管理世代数92と,最新更新世代識別
子およびポインタ93と,最古更新世代識別子94と,
更新世代識別子などを格納するエントリ96,97,…
とから構成される。最大管理世代数91は、更新世代管
理テーブル52で管理可能な更新世代数の最大値であ
る。有効管理世代数92は、実際に更新世代管理テーブ
ル52で管理している更新世代数である。最新更新世代
識別子およびポインタ93は、その時点で最新の更新世
代識別子およびその最新の更新世代識別子を格納してい
るエントリを指すポインタである。最古更新世代識別子
94は、その時点で最古の更新世代識別子である。エン
トリ96には、図4に示すように、当該エントリが管理
する更新世代G(i)の更新世代識別子121と,当該
更新世代のライトアフタレコード数122と,ライトア
フタレコード管理テーブル51中の当該更新世代のエン
トリ中の先頭エントリおよび最終エントリへのポインタ
123とが格納される。他のエントリ97,…も同様で
ある。
【0023】図1に戻り、レコード管理テーブル53
は、キャッシュ25中に格納されたレコードを管理する
ためのテーブルである。レコード管理テーブル53のエ
ントリには、キャッシュ中のレコードのアドレス(ポイ
ンタ)と,当該レコードの磁気ディスク装置30中のア
ドレスと,当該レコードがライトアフタレコードである
か否かの情報と,キャッシュ25からそのレコードを追
い出す順番を決定するための各エントリ間のチェインポ
インタとが記憶されている。
【0024】ヒット/ミス判定テーブル54は、磁気デ
ィスク装置30中のレコードの内容がキャッシュ25に
存在するか否かを判定するテーブルである。
【0025】領域管理テーブル55は、キャッシュ25
中の領域の使用状況を管理するためのテーブルである。
磁気ディスク装置30の管理単位であるレコードが固定
長レコード形式である場合には、キャッシュ25を固定
長の領域に分割し、各領域の使用の有無を管理する。ま
た、レコードが可変長のカウント・キー・データ形式で
ある場合には、使用領域および未使用領域の先頭アドレ
スと領域長とを管理する。さらに、磁気ディスク装置3
0の管理単位がトラックである場合には、キャッシュ2
5を固定長の領域に分割し、各領域の使用の有無を管理
する。
【0026】なお、上記レコード管理テーブル53,ヒ
ット/ミス判定テーブル54,領域管理テーブル55
は、従来公知のキャッシュ制御装置におけるものと基本
的に同じである。
【0027】中央処理装置10には、プログラム15が
格納されている。このプログラム15には、オンライン
データベースプログラム,更新ジャーナル記録プログラ
ム,キャッシュ障害回復サブプログラム等が含まれる。
【0028】次に、動作の概要を説明する。中央処理装
置10は、オンラインデータベースプログラムの実行過
程で、磁気ディスク装置30に記録されたレコードを更
新する場合、更新履歴情報として更新ジャーナル43,
44,46,47,…を履歴情報ファイル40に記録す
る。例えば、更新ジャーナル43は、レコード〈A〉8
1の内容(a0)を(a1)に更新した場合の更新履歴
情報である。オンラインデータベースプログラムには、
複数のチェックポイントが設けられている。チェックポ
イントの間隔は、一定の時間間隔あるいは磁気ディスク
装置30に対するデータ更新が一定回数になる度といっ
た間隔である。これらチェックポイントは、CP識別子
(チェックポイント識別子)により管理されている。本
実施例では、CP識別子として、G(i)〜G(i+
n)(n;更新世代の上限値)を循環的に用いる。中央
処理装置10は、チェックポイントの時点で、チェック
ポイント履歴情報(チェックポイントの履歴情報)とし
てCPジャーナル(チェックポイントジャーナル)4
2,45,48,…を履歴情報ファイル40に記録す
る。例えば、図中に示すように、CP識別子G(i+
n)のチェックポイントでCPジャーナル48を履歴情
報ファイル40に記録する。
【0029】また、中央処理装置10は、チェックポイ
ントの時点で、キャシュ制御装置20に対して、前記C
P識別子をパラメータとするCPコマンドを発行する。
例えば、図中に示すように、CP識別子G(i+n)
のチェックポイントの時点で、キャシュ制御装置20に
対して、CP識別子G(i+n)のCPコマンドを発行
する。
【0030】キャッシュ制御装置20は、発生したライ
トアフタレコードについての情報により、ライトアフタ
レコード管理テーブル51を更新する。また、受領した
CPコマンド中のCP識別子を、更新世代識別子とし
て、更新世代管理テーブル52のエントリに格納する。
さらに、その後から次のCPコマンドを受領するまでに
発生したライトアフタレコードについての情報により更
新世代管理テーブル52を更新する。これにより、ライ
トアフタレコードは、更新世代ごとに管理されることに
なる。なお、ある更新世代で管理されているライトアフ
タレコードが後の更新世代で再更新されても、そのライ
トアフタレコードは元の更新世代で管理される。例え
ば、更新ジャーナル43に対応してライトアフタレコー
ドAが更新世代G(i)で管理されている時は、更新ジ
ャーナル47に対応してライトアフタレコードAが更新
世代G(i+1)で再更新されても、ライトアフタレコ
ードAはそのまま更新世代G(i)で管理され、更新世
代G(i+1)では管理しない。
【0031】更に、キャッシュ制御装置20は、CPコ
マンドを受領すると、そのCPコマンドに対応する更新
世代G(x)よりも“n”世代分だけ古い更新世代G
(x−n)に対応するライトアフタレコードを検索し、
もしあれば、そのライトアフタレコードを磁気ディスク
装置30に書き込む。例えば、受領したCPコマンド中
のCP識別子がG(i+n)なら、更新世代G(i)に
対応するライトアフタレコードを検索し、もしあれば、
そのライトアフタレコードを磁気ディスク装置30に書
き込む(図中参照)。そして、G(i+1)を、最古
更新世代識別子94として格納する。なお、ライトアフ
タレコードが上記動作により磁気ディスク装置30に書
き込まれるか,通常のライトアフタ制御により磁気ディ
スク装置30に書き込まれるかの確率は、“n”の値の
設定の如何による。“n”の値は、後述するように、オ
ンラインデータベースプログラムの実行開始時におい
て、キャッシュ25の使用方法の設定の一環として、中
央処理装置10により指定される。
【0032】停電等の障害が発生し、キャッシュ25中
のライトアフタレコードが消失した場合、キャッシュ制
御装置20は、障害発生や障害の影響範囲等を知らせる
障害情報に加えて、更新世代管理テーブル52に格納さ
れた最古更新世代識別子94を、中央処理装置10に報
告する(図中参照)。中央処理装置10は、前記報告
を受領すると、オンラインデータベースプログラムの実
行を中断し、キャッシュ障害回復サブプログラムを起動
する。そして、キャッシュ障害回復サブプログラムに従
って、履歴情報ファイル40から前記最古更新世代識別
子94以降の更新ジャーナルを読み出し,磁気ディスク
装置30中のレコードを用いて、ライトアフタレコード
を回復させる(図中参照)。例えば、最古更新世代識
別子94がG(i+1)なら、履歴情報ファイル40か
ら、CPジャーナル45以降の更新ジャーナル46,4
7,…を順に読み出す。そして、更新ジャーナル46に
対しては、磁気ディスク装置30中のレコード〈C〉8
3の内容(c0)を(c1)に書き換える。また、更新
ジャーナル47に対しては、磁気ディスク装置30中の
レコード〈A〉81の内容(a1)を(a2)に書き替
える。
【0033】以上により、履歴情報ファイル40を“n
−1”世代だけ遡及することによって、キャッシュ25
から消失したライトアフタレコードを回復させることが
出来る。
【0034】次に、動作の詳細を、(1)キャッシュ制
御装置初期設定時の動作、(2)オンラインデータベー
スプログラムの実行開始時の動作、(3)データ更新時
の動作、(4)ライトアフタ処理時の動作、(5)チェ
ックポイント時の動作、(6)キャッシュ障害時の動作
に分けて説明する。
【0035】(1)キャッシュ制御装置初期設定時の動
作 この動作は、キャッシュ制御装置20や磁気ディスク
装置30の新規導入時や,キャッシュ制御装置20中
のキャッシュ25の増設時や,キャッシュ制御装置2
0の電源投入時などに行われる。
【0036】図5は、キャッシュ制御装置初期設定時の
動作概要説明図である。中央処理装置10は、キャッシ
ュ制御装置20の上位インタフェース制御回路22に初
期設定指示を送信する。上位インタフェース制御回路2
0は、上記初期設定指示を、マイクロプロセッサユニッ
ト21に転送する。
【0037】マイクロプロセッサユニット21は、初期
設定指示に基づき、ディレクトリ26中の各種テーブル
の初期設定を行う。この初期設定で本発明に関連するの
は、(a)ライトアフタレコード管理テーブル51の初
期設定と,(b)更新世代管理テーブル52の初期設定
である。 (a)ライトアフタレコード管理テーブル51の初期設
定 初期設定指示の情報として含まれるキャッシュ25の容
量に応じて、ライトアフタレコード管理テーブル51用
として必要な領域をディレクトリ26内に確保する。そ
して、当該領域の大きさや使用状況などの管理情報60
を初期設定する。
【0038】(b)更新世代管理テーブル52の初期設
定 初期設定指示の情報として含まれるライトアフタレコー
ドの最大管理世代数“n0”に応じて、更新世代管理テ
ーブル52用として必要な領域をディレクトリ26内に
確保する。そして、更新世代管理テーブル52の最大管
理世代数91と有効管理世代数92に“n0”を設定
し、最新更新世代識別子およびポインタ93と最古更新
世代識別子94とに無効値を設定する。
【0039】(2)オンラインデータベースプログラム
の実行開始時の動作 図6は、オンラインデータベースプログラムの実行開始
時の動作概要説明図である。中央処理装置10は、オン
ラインデータベースプログラムの実行開始直前に、CP
識別子が特別な値G(0)である初期化指定のCPコマ
ンドを、キャッシュ制御装置20の上位インタフェース
制御回路22に送信する。前記初期化指定のCPコマン
ドには、ライトアフタレコードの更新世代管理に必要な
管理世代数“n”などが含まれている。“n”の値は、
オンラインデータベースプログラムの使用態様に応じて
最大管理世代数n0以下の適切な値を選ぶ。また、中央
処理装置10は、CPジャーナル41を、履歴情報ファ
イル40に記録する。
【0040】上位インタフェース制御回路22は、前記
CPコマンドを、マイクロプロセッサユニット21に転
送する。マイクロプロセッサユニット21は、CPコマ
ンドを受領し、CP識別子G(0)により初期化指定の
CPコマンドであると判定し、ディレクトリ26内の更
新世代管理テーブル52に対して以下の(a)〜(d)
の設定を行う。
【0041】(a)有効管理世代数92の設定 有効管理世代数92として“n”を設定する。
【0042】(b)更新世代G(0)に関するエントリ
95の設定 エントリ95に、更新世代識別子G(0)を設定すると
共に、各種管理情報を設定する。
【0043】(c)最新更新世代識別子およびポインタ
93の設定 最新更新世代識別子およびポインタ93に、最新更新世
代識別子としてG(0)を設定する。また、エントリ9
5へのポインタを設定する。
【0044】(d)最古更新世代識別子94の設定 最古更新世代識別子94としてG(0)を設定する。
【0045】(3)データ更新時の動作 図7は、データ更新時の動作概要説明図である。中央処
理装置10は、プログラム15の実行過程において磁気
ディスク装置30中のレコードを更新する際、キャッシ
ュ制御装置20に対して、データ更新要求を発行する。
また、更新ジャーナルを履歴情報ファイル40に記録す
る。例えば、レコードBを更新する際、レコードBのデ
ータ更新要求をキャッシュ制御装置20に対して発行す
ると共に、レコードBの更新ジャーナル44を履歴情報
ファイル40に記録する。なお、更新ジャーナルには、
更新ジャーナル量削減のため、当該レコード全体ではな
く、実際に更新された部分の更新前後の値を記録する。
【0046】中央処理装置10からデータ更新要求を受
け取ったときのキャッシュ制御装置20の動作を、レコ
ードBのデータ更新要求を受け取った場合を例にとっ
て、図8のフローチャートにより説明する。なお、最新
の更新世代識別子はG(i)とする。ステップSU1で
は、上位インタフェース制御回路22は、中央処理装置
10から受け取ったレコードBのデータ更新要求を、マ
イクロプロセッサユニット21に転送する。ステップS
U2では、マイクロプロセッサユニット21は、ヒット
/ミス判定テーブル54を参照し、レコード〈B〉がキ
ャッシュ25中に格納されているか否かを判定する。格
納されていない場合、ステップSU3に進む。格納され
ている場合、ステップSU5に進む。
【0047】ステップSU3では、マイクロプロセッサ
ユニット21は、領域管理テーブル55を参照してキャ
ッシュ25中にレコード〈B〉を格納するための未使用
領域を見出し、その未使用領域を使用領域に変更するよ
う領域管理テーブル55を更新し、レコード〈B〉の格
納領域72を確保する。ステップSU4では、レコード
管理テーブル53にレコード〈B〉についてのエントリ
を確保し、当該エントリに各種情報(キャッシュ25中
のアドレス,磁気ディスク装置30中のアドレス,ライ
トアフタレコードである旨の情報,キャッシュ25から
追い出す順番を決定するための各エントリ間のチェイン
ポインタなど)を登録する。そして、ステップSU8に
進む。
【0048】ステップSU5では、マイクロプロセッサ
ユニット21は、レコード管理テーブル53を参照し、
レコード〈B〉に関する各種情報を読み出す。ステップ
SU6では、レコード〈B〉がライトアフタレコードで
あるか否か判定する。ライトアフタレコードである場
合、ステップSU8に進む。ライトアフタレコードでな
い場合、ステップSU7に進む。ステップSU7では、
レコード管理テーブル53のレコード〈B〉についての
エントリに、ライトアフタレコードである旨の情報を登
録する。
【0049】ステップSU8では、マイクロプロセッサ
ユニット21は、次の処理〜によりライトアフタレ
コード管理テーブル51および更新世代管理テーブル5
2に、レコード〈B〉についての各種情報を登録する。 処理 ライトアフタレコード管理テーブル51中に、
レコード〈B〉に関するエントリ62を確保して、磁気
ディスク装置30内でのアドレスと,キャッシュ25中
の格納領域72のアドレスと,グループチェインポイン
タとを設定する。また、管理情報60を更新する。 処理 更新世代管理テーブル52の最新世代識別子お
よびポインタ93により、最新の更新世代G(i)を得
る。 処理 更新世代管理テーブル52の更新世代識別子G
(i)のエントリ96を参照し、当該更新世代のライト
アフタレコード数122を「+1」し、ライトアフタレ
コード管理テーブル中の最終エントリへのポインタ12
3を更新する(エントリ62を指すようにする)。 処理 ライトアフタレコード管理テーブル51中の更
新世代G(i)のライトアフタレコードに関するエント
リのチェインの最後にレコード〈B〉のエントリ62を
つなぐ。図7の例では、レコード〈A〉のエントリ61
の世代チェインポインタ112がレコード〈B〉のエン
トリ62を指すように更新すると共に、レコード〈B〉
のエントリ62の世代チェインポインタがレコード
〈A〉のエントリ61を指すように更新する。なお、図
7以下では、図を簡略にするため、各チェイン中の順方
向のポインタを示す矢印のみ表し、順方向のポインタを
示す矢印を省略している。
【0050】ステップSU9では、マイクロプロセッサ
ユニット21は、上位インタフェース制御回路22から
レコード〈B〉を転送させ、それをキャッシュ25中の
領域72に書き込む。ステップSU10では、マイクロ
プロセッサユニット21からの書込完了報告の指示を受
け、上位インタフェース制御回路22は、中央処理装置
10にライト完了を報告する。
【0051】(4)ライトアフタ処理時の動作 キャッシュ制御装置20は、中央処理装置10からのデ
ータ更新要求とは非同期に、磁気ディスク装置30が他
の入出力動作を行っていない間に、キャッシュ25中に
格納されたライトアフタレコードを磁気ディスク装置3
0に書き込む。このとき、ライトアフタレコード管理テ
ーブル51の管理情報60やエントリのグループチェイ
ンポインタを参照して、磁気ディスク装置30内の位置
が隣接するライトアフタレコードをまとめて磁気ディス
ク装置30に書き込む。
【0052】マイクロプロセッサユニット21は、ライ
トアフタレコードを磁気ディスク装置30に書き込む
と、ディレクトリ26中の各種テーブルを更新する。す
なわち、レコード管理テーブル53中の当該レコードに
関するエントリには、該レコードがライトアフタレコー
ドでない旨を設定する。また、ライトアフタレコード管
理テーブル51および更新世代管理テーブル52から、
当該レコードに関するエントリを削除する。キャッシュ
25から当該レコードを削除するか否かは、通常のキャ
ッシュ管理アルゴリズムに従う。
【0053】(5)チェックポイント時の動作 図9は、チェックポイント時の動作概要説明図である。
中央処理装置10は、プログラム15の実行過程におい
てチェックポイントに至った際、キャッシュ制御装置2
0に対して、CPコマンドを発行する。また、CPジャ
ーナルを履歴情報ファイル40に記録する。例えば、C
P識別子G(i+n)のチェックポイントに至った際、
CP識別子G(i+n)を持つCPコマンドをキャッシ
ュ制御装置20に対して発行すると共に、CP識別子G
(i+n)を持つCPジャーナル48を履歴情報ファイ
ル40に記録する。
【0054】中央処理装置10からCPコマンドを受け
取ったときのキャッシュ制御装置20の動作を、CP識
別子G(i+n)を持つCPコマンドを受け取った場合
を例にとって、図10のフローチャートにより説明す
る。ステップSV1では、上位インタフェース制御回路
22は、中央処理装置10から受け取ったCP識別子G
(i+n)のCPコマンドをマイクロプロセッサユニッ
ト21に転送する。マイクロプロセッサユニット21
は、CP識別子G(i+n)を最新世代識別子とするよ
うにディレクトリ26中の更新世代管理テーブル52を
更新する。すなわち、それまでの更新世代G(i+n−
1)のエントリ97の次に更新世代G(i+n)のエン
トリ98を登録する。また、最新更新世代識別子および
ポインタ93として、G(i+n)およびエントリ98
へのポインタを設定する。なお、更新世代管理テーブル
52におけるエントリは巡回的に使用し、末端まで使用
されると先頭から再使用する。
【0055】ステップSV2では、マイクロプロセッサ
ユニット21は、更新世代管理テーブル52の有効管理
世代数92を参照して“n”を取り出し、最新更新世代
G(i+n)よりも“n”世代分だけ古い更新世代G
(i)のライトアフタレコードA,Bを、キャッシュ2
5から磁気ディスク装置30に書き込むように、ディス
クインタフェース制御回路23に指示する。
【0056】ステップSV3では、ディスクインタフェ
ース制御回路23は、指示されたライトアフタレコード
A,Bを、キャッシュ25から磁気ディスク装置30に
書き込む。ライトアフタレコードA,Bを磁気ディスク
装置30に書き込む処理を実行中に、磁気ディスク装置
30に対する他の入出力要求を中央処理装置10から受
け取った場合、マイクロプロセッサユニット21は、C
P識別子G(i+n)のCPコマンドで書込処理の中断
禁止が指定されているかチェックする。書込処理の中断
禁止が指定されているなら、上記他の入出力要求を待た
せて、ライトアフタレコードA,Bの書込みを完了させ
る。書込処理の中断禁止が指定されていないなら、その
時点で処理中のライトアフタレコードと同じトラック内
のライトアフタレコードまでは磁気ディスク装置30に
書き込むが、そこで磁気ディスク装置30への書き込み
を中断する。そして、中央処理装置10から受け取った
他の入出力要求を処理する。その後、中断したライトア
フタレコードA,Bの磁気ディスク装置30への書き込
みを再開する。ライトアフタレコードA,Bの磁気ディ
スク装置30への書き込みが完了すると、ステップSV
4に進む。なお、上記説明においてはライトアフタレコ
ード群の磁気ディスク装置30への書き込みの中断・再
開をトラック単位に行ったが、シリンダ単位に中断・再
開を行ってもよい。
【0057】ステップSV4では、マイクロプロセッサ
ユニット21は、最古更新世代識別子94を、書込みを
完了した更新世代G(i)の次の更新世代G(i+1)
に設定する。
【0058】なお、中央処理装置10は、CPコマンド
中のパラメータにより、更新世代管理テーブル52の有
効管理世代数92を当該チェックポイントのみについて
一時的に変更可能である。例えばCPコマンド中のパラ
メータにより、更新世代管理テーブル52の有効管理世
代数92が“0”に変更された場合、キャッシュ25中
の全てのライトアフタレコードを磁気ディスク装置30
に書き込む。
【0059】(6)キャッシュ障害時の動作 図11は、キャッシュ障害時の動作概要説明図である。
このキャッシュ障害時の動作を、図12に示すフローチ
ャートにより説明する。ステップSW1では、マイクロ
プロセッサユニット21は、キャッシュ25に障害が発
生したことを検知し、その障害発生および障害内容を、
上位インタフェース制御回路21経由で、中央処理装置
10に報告する。報告する障害内容としては、キャッシ
ュ25の障害範囲の情報や,更新世代管理テーブル52
の最古更新世代識別子94などがある。
【0060】ステップSW2では、中央処理装置10
は、キャッシュ障害回復サブプログラムを起動し、キャ
ッシュ制御装置20に対してキャッシュ25の使用禁止
を指示する。この指示により、プログラム15が通常の
モードで磁気ディスク装置30内のレコードにアクセス
することが禁止される。
【0061】ステップSW3では、中央処理装置10
は、履歴情報ファイル40から、最古更新世代識別子9
4に一致するCP識別子を持つCPジャーナル以降の更
新ジャーナルを順に読み出し、全てのレコードを回復
し、磁気ディスク装置30に書き込む。例えば、最古更
新世代識別子94がG(i+1)である場合のレコード
の回復動作は、次の処理〜のようになる。
【0062】処理:中央処理装置10は、履歴情報フ
ァイル40から更新ジャーナル46を読み出す。更新ジ
ャーナル46は、レコード〈C〉の更新情報である。 処理:中央処理装置10は、通常のモードでは磁気デ
ィスク装置30内のレコードにアクセスすることが出来
ないため、特別なモードを指定して、磁気ディスク装置
30から更新ジャーナル46に対応するレコード〈C〉
を読み出すようにキャッシュ制御20に指示する。 処理:キャッシュ制御装置20は、ディスクインタフ
ェース制御回路23と,データ転送回路24と,上位イ
ンタフェース制御回路22とを経由し、キャッシュ25
を経由せず、磁気ディスク装置30中のレコード〈C〉
を読み出し、中央処理装置10に転送する。 処理:中央処理装置10では、更新ジャーナル46の
情報に基づいてレコード〈C〉を更新する。そして、特
別なモードを指定して、キャッシュ制御装置20に、磁
気ディスク装置30へのレコード〈C〉の書込みを指示
する。なお、更新ジャーナルにレコードの内容をすべて
記録している場合には、上記処理,を省略できる。 処理:キャッシュ制御装置20は、上位インタフェー
ス制御回路22と,データ転送回路24と,ディスクイ
ンタフェース制御回路23とを経由し、キャッシュ25
を経由せず、磁気ディスク装置30にレコード〈C〉を
書き込む。 処理:更新ジャーナル47以降についても上記処理
〜を繰り返す。
【0063】図12に戻り、ステップSW4では、中央
処理装置10は、キャッシュ制御装置20に、キャッシ
ュ25を使用禁止にしたままで、磁気ディスク装置30
に対する通常のモードでのアクセスを可能とするように
指示する。これにより、キャッシュ25が使えないこと
を除けば、通常の業務を継続できるようになる。その
後、キャッシュ25の障害が除去されたなら、キャッシ
ュ25の使用禁止を解除する。
【0064】上記では、最古更新世代識別子94に一致
するCP識別子を持つCPジャーナル以降の更新ジャー
ナルに対応する全てのレコードの回復を行った。しか
し、ディレクトリ26のライトアフタレコード管理テー
ブル51の内容が保存されているなら、ライトアフタレ
コードとして管理されていたレコードのみについて回復
すれば足り、全てのレコードの回復を行う必要はない。
また、この場合には、磁気ディスク装置30に対する通
常のモードでのアクセスを一律に禁止する必要はなく、
ライトアフタレコードとして管理されていたレコードの
みについて磁気ディスク装置30に対する通常のモード
でのアクセスを禁止すれば足りる。また、キャッシュ2
5の部分障害の場合も同様であり、障害を起こした部分
にライトアフタレコードとして記憶されていたレコード
のみについて回復すれば足りる。また、それらレコード
のみについて磁気ディスク装置30に対する通常のモー
ドでのアクセスを禁止すれば足りる。
【0065】上記第1実施例によれば、ライトアフタレ
コードを磁気ディスク装置に書き込む処理のオーバヘッ
ドを少なくし、ライト動作を高速化することが出来る。
また、キャッシュメモリの障害時には、キャッシュメモ
リから消失したライトアフタレコードを短時間で回復さ
せることが出来る。
【0066】次に、上記第1実施例のキャッシュ制御装
置20による効果を示す。ここでは次の前提条件〜前
提条件を満たしているものとする。
【0067】前提条件:入出力要求頻度は、磁気ディ
スク装置1ボリューム当り30[件/秒]とする。この
うち、出力要求頻度は10[件/秒],新規のライトア
フタレコードの発生頻度は5[件/秒]発生する。な
お、アクセスパターンはランダムとする。また、入出力
要求は時間的に一様に発生するものとする。
【0068】前提条件:キャッシュ制御装置は、ライ
トアフタ処理に関して定常状態にあるとする。すなわ
ち、新規のライトアフタレコードの発生回数分だけ、ラ
イトアフタレコードを磁気ディスク装置に書き込んでい
るとする。
【0069】前提条件:キャッシュ中の磁気ディスク
装置1[ボリューム]当りのライトアフタレコードの総
数を1000[個]とする。
【0070】前提条件:通常時のライトアフタレコー
ドの磁気ディスク装置への書込みにおいて、対象となる
レコードの順番はランダムとする。
【0071】前提条件:チェックポイント時にライト
アフタレコードを磁気ディスク装置に書き込むために要
する時間は、通常時にライトアフタレコードを磁気ディ
スク装置に書き込む時間の2倍とする。
【0072】前提条件:キャッシュメモリの障害によ
り消失したライトアフタレコードの回復に要する時間
は、履歴情報ファイル中の更新ジャーナルの入力に要す
る時間に等しいとする。また、更新ジャーナルの入力処
理性能は、1500[件/秒]とする。
【0073】前提条件:キャッシュ制御装置には、3
0[ボリューム]の磁気ディスク装置が接続されている
とする。
【0074】上記前提条件の下で、チェックポイント時
のオーバヘッドと,キャッシュメモリの障害時の回復処
理時間を計算する。但し、 R:キャッシュ中のライトアフタレコードの数 p:各更新世代毎のライトアフタレコードの発生件数 A(j):ある世代の最初からライトアフタレコードの
発生回数をカウントし、j番目のライトアフタレコード
発生時の上記更新世代の磁気ディスク装置に未書き込み
のライトアフタレコード数 とする。
【0075】A(0)=0 A(1)=1 となる。また、一般のj(j>p)に対して、A(j)
は、
【0076】
【数1】
【0077】となる。
【0078】上記条件の下で、チェックポイントの間隔
を出力要求36000件毎,有効管理世代数を5とすれ
ば、R=1000×30=30000,p=36000
×(5/10)=18000となる。また、j=180
00×5=90000(5世代分)とすることにより、
各チェックポイント時に5世代前のディスク装置に未書
込みのライトアフタデータの個数は、A(j)=122
8となる。すなわち、各更新世代毎に18000個のラ
イトアフタレコードのうち、1228個はチェックポイ
ント時に磁気ディスク装置に書込む必要がある。従っ
て、ライトアフタレコードの磁気ディスク装置への書込
み処理に関するオーバヘッドの増加率は約7%(=12
28/18000*100)となる。このオーバヘッド
の増加率は、磁気ディスク装置の入出力処理におけるラ
イトアフタ処理が占める割合を考慮すれば十分小さく、
性能上の問題になる可能性は小さい。なお、この場合は
チェックポイントの間隔は2分になる。
【0079】一方、キャッシュ障害対処においては、磁
気ディスク装置30の各ボリュームに関する5世代分の
更新ジャーナルを入力する必要がある。そこで、回復処
理に要する時間は、 36000×5/1500=120[秒] である。
【0080】チェックポイントの間隔をもう少し短く
し、 p=400×30 j=2000×30 とすれば、上記オーバヘッド増加率は約17%,回復処
理時間は80[秒]になる。なお、磁気ディスク装置の
バックアップと更新ジャーナルを用いる従来公知の回復
方法では、チェックポイント時のオーバヘッドは特にな
いが、回復処理に長時間を要する。すなわち、毎日バッ
クアップを行ったとして、回復処理に平均で2時間〜3
時間を要する。
【0081】ところで、チェックポイントを設けず、キ
ャッシュ中の最古のライトアフタデータ(磁気ディスク
装置への書き込みが未完了の更新データ)を記憶してお
いて、キャッシュ障害時の回復処理に必要な更新ジャー
ナルの範囲を特定する方法では、チェックポイント時の
オーバヘッドは特になく、回復時間も上記従来方法より
も短くなる。しかし、キャッシュ中の古いライトアフタ
データをチェックポイント時等において優先的に磁気デ
ィスク装置に書き込むことをしないため、キャッシュ障
害時の回復処理に要する時間の平均値は、本発明方法の
数倍程度になる。特に、アクセスパターンによってはか
なり古いライトアフタデータがキャッシュ中に存在する
こともあり、その場合には回復処理に要する時間はさら
に長くなる。
【0082】さらに、プログラム等の論理的な処理単位
が終了した時に当該処理単位によるライトアフタレコー
ドを磁気ディスク装置に書き込む方法では、処理単位終
了時に磁気ディスク装置に書き込むべきライトアフタレ
コードが多くなる。その結果、ライトアフタレコードの
磁気ディスク装置への書き込み処理に関するオーバヘッ
ドの増加は数十%になり、当該磁気ディスク装置に対す
る入出力処理の性能低下を招く。
【0083】また、チェックポイント時にキャッシュ中
の全ライトアフタレコードを磁気ディスク装置に書き込
む方法では、チェックポイント時のライトアフタレコー
ドの磁気ディスク装置への書き込みに数分程度の時間を
要するから、チェックポイントの間隔を1時間ないし数
時間とする必要がある。その結果、回復処理に十数分な
いし数十分かかることになる。
【0084】−第2実施例− 図13は、本発明の第2実施例によるキャッシュ制御装
置320のブロック図である。このキャッシュ制御装置
320が、第1実施例のキャッシュ制御装置20と異な
る点は、次の3点である。
【0085】(1)キャッシュ325の構成が、キャッ
シュ25と異なる。
【0086】(2)更新世代管理テーブル352の構成
が、更新世代管理テーブル52と異なる。
【0087】(3)マイクロプロセッサ321のチェッ
クポイント時の動作が、マイクロプロセッサ21と異な
る。
【0088】キャッシュ325は、揮発キャッシュ32
7と不揮発キャッシュ328とから構成される。不揮発
キャッシュ328は、例えばバッテリによりバックアッ
プされた半導体メモリである。
【0089】更新世代管理テーブル352は、図14に
示すように、最大管理世代数391と,有効管理世代数
392と,揮発キャッシュ有効管理世代数393と,最
新更新世代識別子およびポインタ394と,最古更新世
代識別子395と,揮発キャッシュ最古更新世代識別子
396と,更新世代識別子などを格納するエントリ39
7,398,…とから構成される。最大管理世代数39
1は、更新世代管理テーブル352で管理可能な更新世
代数の最大値である。有効管理世代数392は、実際に
更新世代管理テーブル352で管理している更新世代数
である。ここでは有効管理世代数392を“n”とす
る。有効管理世代数393は、揮発キャッシュ327で
管理している更新世代数である。ここでは有効管理世代
数393を“M”(<n)とする。“M”の値は、オン
ラインデータベースプログラムの実行開始時において、
キャッシュ325の使用方法の設定の一環として、中央
処理装置10により指定される。最新更新世代識別子お
よびポインタ394は、その時点で最新の更新世代識別
子およびその最新の更新世代識別子を格納しているエン
トリを指すポインタである。最古更新世代識別子395
は、その時点で最古の更新世代識別子である。揮発キャ
ッシュ最古更新世代識別子396は、揮発キャッシュ3
28で管理している最古の更新世代識別子である。エン
トリ397,398,…は、図4に示すエントリ96と
同様の構成である。
【0090】次に、動作の概要を説明する。中央処理装
置10は、オンラインデータベースプログラムの実行過
程で、磁気ディスク装置30に記録されたレコードを更
新する場合、更新ジャーナルを履歴情報ファイル40に
記録する。また、チェックポイントの時点で、CPジャ
ーナルを履歴情報ファイル40に記録すると共に、キャ
シュ制御装置320に対してCPコマンドを発行する。
【0091】キャッシュ制御装置320は、ライトアフ
タレコードを最初は揮発キャッシュ327に格納する。
また、発生したライトアフタレコードについての情報に
より、ライトアフタレコード管理テーブル51を更新す
る。また、受領したCPコマンド中のCP識別子を、更
新世代識別子として、更新世代管理テーブル352のエ
ントリに格納する。さらに、その後から次のCPコマン
ドを受領するまでに発生したライトアフタレコードにつ
いての情報により更新世代管理テーブル352を更新す
る。
【0092】更に、キャッシュ制御装置320は、CP
コマンドを受領すると、そのCPコマンドに対応する更
新世代G(x)よりも“n”世代分だけ古い更新世代G
(x−n)に対応するライトアフタレコードを検索し、
もしあれば、そのライトアフタレコードを、磁気ディス
ク装置30に書き込む。例えば、CPコマンド中のCP
識別子がG(i)なら、更新世代G(i−n)に対応す
るライトアフタレコードを検索し、もしあれば、そのラ
イトアフタレコードを磁気ディスク装置30に書き込
む。そして、G(i−n+1)を最古更新世代識別子3
95として格納する。次に、キャッシュ制御装置320
は、CPコマンドに対応する更新世代G(x)よりも
“M”世代分だけ古い更新世代G(x−M)に対応する
ライトアフタレコードを検索し、もしあれば、そのライ
トアフタレコードを、揮発キャッシュ327から不揮発
キャッシュ328に移す。例えば、CPコマンド中のC
P識別子がG(i)なら、更新世代G(i−M)に対応
するライトアフタレコードを検索し、もしあれば、その
ライトアフタレコードを揮発キャッシュ327から不揮
発キャッシュ328に移す。そして、G(i−M+1)
を、揮発キャッシュ最古更新世代識別子396として格
納する。
【0093】障害が発生し、キャッシュ325中のライ
トアフタレコードが消失した場合、キャッシュ制御装置
320は、障害発生や障害の影響範囲等を知らせる障害
情報を中央処理装置10に報告する。さらに、キャッシ
ュ325の全体の障害または不揮発キャッシュ328の
障害なら、更新世代管理テーブル352に格納された最
古更新世代識別子395を、中央処理装置10に報告す
る。一方、揮発キャッシュ327の障害なら、更新世代
管理テーブル352に格納された揮発キャッシュ最古更
新世代識別子396を、中央処理装置10に報告する。
中央処理装置10は、前記報告を受領すると、オンライ
ンデータベースプログラムの実行を中断し、キャッシュ
障害回復サブプログラムを起動する。そして、キャッシ
ュ障害回復サブプログラムに従って、履歴情報ファイル
40から前記最古更新世代識別子94または揮発キャッ
シュ最古更新世代識別子396以降の更新ジャーナルを
読み出し,磁気ディスク装置30中のレコードを用い
て、ライトアフタレコードを回復させる。
【0094】以上により、履歴情報ファイル40を
“n”世代または“M”世代だけ遡及することによっ
て、キャッシュ325から消失したライトアフタレコー
ドを回復することが出来る。なお、揮発キャッシュ32
7から不揮発キャッシュ328にライトアフタレコード
を「移す」のでなく「複写する」構成とすれば、不揮発
キャッシュ328の障害の場合に、揮発キャッシュ32
7に残っているライトアフタレコードについては回復処
理をする必要がなく,そのまま処理を続行することが出
来る。
【0095】次に、動作の詳細を、(1)キャッシュ制
御装置初期設定時の動作、(2)オンラインデータベー
スプログラムの実行開始時の動作、(3)データ更新時
の動作、(4)ライトアフタ処理時の動作、(5)チェ
ックポイント時の動作、(6)キャッシュ障害時の動作
に分けて説明する。
【0096】(1)キャッシュ制御装置初期設定時の動
作 第1実施例と同様の動作に加えて、中央処理装置10
は、揮発キャッシュ有効管理世代数の初期値“M0”を
キャッシュ制御装置320に送る。キャッシュ制御装置
320は、受領した揮発キャッシュ有効管理世代数の初
期値“M0”を更新世代管理テーブル352の揮発キャ
ッシュ有効管理世代数393に初期設定する。また、揮
発キャッシュ最古更新世代識別子396には無効値を初
期設定する。
【0097】(2)オンラインデータベースプログラム
の実行開始時の動作 第1実施例と同様の動作に加えて、中央処理装置10
は、初期化指定のCPコマンド中で揮発キャッシュ有効
管理世代数“M”をキャッシュ制御装置320に送る。
キャッシュ制御装置320は、受領した揮発キャッシュ
有効管理世代数“M”を更新世代管理テーブル352の
揮発キャッシュ有効管理世代数393に設定する。ま
た、揮発キャッシュ最古更新世代識別子396としてG
(0)を設定する。
【0098】(3)データ更新時の動作 第1実施例と同様の動作を行う。但し、新たなライトア
フタレコードを揮発キャッシュ327に格納する。 (4)ライトアフタ処理時の動作 第1実施例と同様の動作を行う。
【0099】(5)チェックポイント時の動作 図13は、チェックポイント時の動作状態を示してい
る。中央処理装置10は、プログラム15の実行過程に
おいてチェックポイントに至った際、キャッシュ制御装
置320に対して、CPコマンドを発行する。また、C
Pジャーナルを履歴情報ファイル40に記録する。例え
ば、CP識別子G(i)のチェックポイントに至った
際、CP識別子G(i)を持つCPコマンドをキャッシ
ュ制御装置320に対して発行すると共に、CP識別子
G(i)を持つCPジャーナル42を履歴情報ファイル
40に記録する。
【0100】中央処理装置10からCPコマンドを受け
取ったときのキャッシュ制御装置320の動作を、CP
識別子G(i)を持つCPコマンドを受け取った場合を
例にとって、図15のフローチャートにより説明する。
ステップSY1では、上位インタフェース制御回路22
は、中央処理装置10から受け取ったCP識別子G
(i)のCPコマンドをマイクロプロセッサユニット3
21に転送する。マイクロプロセッサユニット321
は、CP識別子G(i)を最新世代識別子とするように
ディレクトリ326中の更新世代管理テーブル352を
更新する。すなわち、それまでの更新世代G(i−1)
のエントリ399の次に更新世代G(i)のエントリを
登録する。また、最新更新世代識別子およびポインタ3
94として、G(i)および前記更新世代G(i)のエ
ントリへのポインタを設定する。
【0101】ステップSY2では、マイクロプロセッサ
ユニット321は、更新世代管理テーブル352の有効
管理世代数392を参照して“n”を取り出し、最新更
新世代G(i)よりも“n”世代分だけ古い更新世代G
(i−n)のライトアフタレコードを、磁気ディスク装
置30に書き込む。ステップSY3では、マイクロプロ
セッサユニット321は、最古更新世代識別子395と
してG(i−n+1)を設定する。
【0102】ステップSY4では、マイクロプロセッサ
ユニット321は、更新世代管理テーブル352の揮発
キャッシュ有効管理世代数393を参照して“M”を取
り出し、最新更新世代G(i)よりも“M”世代分だけ
古い更新世代G(i−M)のライトアフタレコードを、
揮発キャッシュ327から不揮発キャッシュ328に移
す。ステップSY5では、マイクロプロセッサユニット
321は、揮発キャッシュ最古更新世代識別子396と
してG(i−M+1)を設定する。
【0103】なお、不揮発キャッシュ328に空き領域
がある場合には、上記ステップSY2とステップSY4
とを並行して実行することが出来る。
【0104】(6)キャッシュ障害時の動作 第1実施例と同様の動作を行う。但し、レコード回復の
ために遡及するべき更新ジャーナルの範囲は、先述のよ
うに、キャッシュ325全体の障害または不揮発キャッ
シュ328のみの障害の場合は“n”世代、揮発キャッ
シュ327のみの障害の場合は“M”世代である。
【0105】上記第2実施例によれば、停電等の障害時
に揮発キャッシュ327のライトアフタレコードのみが
消失する場合が多いため、“n”より小さい“M”世代
だけ更新ジャーナルを遡及すればよく,第1実施例より
も迅速にライトアフタレコードを回復させることが出来
る。
【0106】−他の実施例− 上記第1,第2実施例では、更新ジャーナルを作成する
プログラムをオンラインデータベースプログラムとした
が、他のプログラムでもよい。また、第1,第2実施例
では、キャッシュ障害時に、最古更新世代/揮発キャッ
シュ最古更新世代を、キャッシュ制御装置20/320
から中央処理装置10に報告するとした。しかし、チェ
ックポイント時に、最古更新世代/揮発キャッシュ最古
更新世代を、キャッシュ制御装置20/320から中央
処理装置10に報告するようにしてもよい。
【0107】また、上記第1,第2実施例では、磁気デ
ィスク装置30中のデータを更新する際、履歴情報ファ
イル40に更新ジャーナルを記録するものとした。しか
し、チェックポイント時にプログラムのどの箇所まで実
行したかを特定することが可能なプログラムであって且
つ一度実行した処理を再実行しても同じ結果を得られる
プログラムならば、更新ジャーナルを記録しなくてもよ
い。この場合、キャッシュ障害時、プログラム中の該当
するチェックポイントに対応する箇所からプログラムを
再実行することにより消失したライトアフタレコードを
回復することが出来る。特に、上記第2実施例で、障害
により揮発キャッシュ327中のライトアフタデータが
消失したときには、揮発キャッシュ最古更新世代識別子
396に対応するチェックポイントの時点に遡ってプロ
グラムを再実行することにより消失したライトアフタレ
コードを回復することが出来る。
【0108】また、上記第1,第2実施例では、更新世
代管理テーブル52/352とライトアフタレコード管
理テーブル51におけるポインタチェインを用いてキャ
ッシュ25/325中のライトアフタレコードの更新世
代管理を行った。しかし、キャッシュ25/325中の
各レコードに対するビットマップを用いて更新世代管理
を行ってもよい。すなわち、キャッシュ25/325中
のレコードがライトアフタレコードか否かを示すビット
マップと,当該レコードの更新世更を示すビットマップ
を設けることにより、キャッシュ25/325中のライ
トアフタレコードの更新世代管理を行ってもよい。
【0109】また、上記第1,第2実施例では、キャッ
シュ中の有効管理世代数よりも古いライトアフタデータ
をチェックポイント時に磁気ディスク装置に書き込んだ
が、通常のライトアフタ処理時に磁気ディスク装置に書
き込むようにしてもよい。すなわち、キャッシュ制御装
置はライトアフタ処理時に、有効管理世代よりも古いラ
イトアフタデータを優先的に磁気ディスク装置に書き込
む。
【0110】また、上記第1,第2実施例では、キャッ
シュ25/325およびキャッシュ制御装置20/32
0を、磁気ディスク装置30の制御装置と一体となった
構成とした。しかし、これらが中央処理装置10側に設
けられている場合にも本発明を適用することが出来る。
すなわち、キャッシュとして主記憶装置あるいは主記憶
装置を拡張したいわゆる拡張記憶装置を用い、キャッシ
ュの制御を中央処理装置10上で動作するプログラムあ
るいは中央処理装置10に付加した装置で行ってもよ
い。
【0111】
【発明の効果】本発明のキャッシュ制御方法およびキャ
ッシュ制御装置によれば、データベースのような大量か
つ更新が多いデータを直接アクセス記憶装置に記憶する
ためにキャッシュを用いた場合に、ライト動作を高速化
できると共に、キャッシュ障害時に消失したデータを短
時間で回復することが可能になる。また、そのためのオ
ーバヘッドを少なくすることが出来る。
【図面の簡単な説明】
【図1】本発明の第1実施例によるキャッシュ制御装置
のブロック図である。
【図2】第1実施例のライトアフタレコード管理テーブ
ルと更新世代管理テーブルの構成図である。
【図3】ライトアフタレコード管理テーブルのエントリ
の構成図である。
【図4】更新世代管理テーブルのエントリの構成図であ
る。
【図5】初期設定時の動作概要説明図である。
【図6】オンラインデータベースプログラムの実行開始
時の動作概要説明図である。
【図7】データ更新時の動作概要説明図である。
【図8】データ更新時の動作のフローチャートである。
【図9】チェックポイント時の動作概要説明図である。
【図10】第1実施例におけるn世代だけ古いライトア
フタレコード書込動作のフローチャートである。
【図11】キャッシュ障害時の動作概要説明図である。
【図12】キャッシュ障害時の動作を示すフローチャー
トである。
【図13】本発明の第2実施例によるキャッシュ制御装
置のブロック図である。
【図14】第2実施例の更新世代管理テーブルの構成図
である。
【図15】第2実施例におけるn世代だけ古いライトア
フタレコード書込動作のフローチャートである。
【符号の説明】
10 中央処理装置 15 プログラム 20 キャッシュ制御装置 21 マイクロプロセッサユニット 22 上位インタフェース制御回路 23 ディレクトリインタフェース制御回路 24 データ転送制御回路 25 キャッシュ 26 ディレクトリ 30 磁気ディスク装置 40 履歴情報ファイル 51 ライトアフタレコード管理テーブル 52 更新世代管理テーブル 320 キャッシュ制御装置 321 マイクロプロセッサユニット 325 キャッシュ 326 ディレクトリ 327 揮発キャッシュ 328 非揮発キャッシュ 352 更新世代管理テーブル

Claims (43)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、直接アクセス記憶装置
    と、前記中央処理装置と前記直接アクセス記憶装置との
    間に介在し中央処理装置と直接アクセス記憶装置との間
    で転送されるデータを一時的に格納するキャッシュとか
    ら構成され、ライトアフタ方式で前記キャッシュから前
    記直接アクセス記憶装置に更新データを書き込む計算機
    システムにおいて、 直接アクセス記憶装置に更新データを書き込む中央処理
    装置側のプログラムに対して該プログラム実行中の複数
    の時点でチェックポイントを設け、そのチェックポイン
    ト時毎にライトアフタデータ更新世代を指定し、 ライトアフタ方式でキャッシュから前記直接アクセス記
    憶装置に書き込まれるべき更新データ(ライトアフタデ
    ータ)をキャッシュに最初に書き込んだ時点以前の最近
    のチェックポイント時に指定されていたライトアフタデ
    ータ更新世代を当該ライトアフタデータの更新世代とし
    て、その更新世代によりライトアフタデータを管理する
    ことを特徴とするキャッシュ制御方法。
  2. 【請求項2】 請求項1に記載のキャッシュ制御方法に
    おいて、ライトアフタデータの更新世代および直接アク
    セス記憶装置中の記憶位置に基づき定めた順で、ライト
    アフタデータをキャッシュから直接アクセス記憶装置に
    書き込むことを特徴とするキャッシュ制御方法。
  3. 【請求項3】 請求項2に記載のキャッシュ制御方法に
    おいて、初期設定時またはチェックポイント時またはキ
    ャッシュの使用モード設定時に、有効管理世代数nを指
    定し、チェックポイント時に、そのチェックポイントで
    指定の更新世代よりも前記有効管理世代数n以上古い更
    新世代のライトアフタデータを優先してキャッシュから
    直接アクセス記憶装置に書き込むことを特徴とするキャ
    ッシュ制御方法。
  4. 【請求項4】 請求項3に記載のキャッシュ制御方法に
    おいて、チェックポイント時に指定の更新世代よりも有
    効管理世代数n以上古い更新世代のライトアフタデータ
    をキャッシュから直接アクセス記憶装置に書き込む際
    に、他の入出力処理が発生すると、その入出力処理を前
    記ライトアフタデータの書き込みよりも優先することを
    特徴とするキャッシュ制御方法。
  5. 【請求項5】 請求項3に記載のキャッシュ制御方法に
    おいて、チェックポイント時に指定の更新世代よりも有
    効管理世代数n以上古い更新世代のライトアフタデータ
    をキャッシュから直接アクセス記憶装置に書き込む際
    に、他の入出力処理が発生しても、その入出力処理を前
    記ライトアフタデータの書き込みが完了するまで行わな
    いことを特徴とするキャッシュ制御方法。
  6. 【請求項6】 請求項2に記載のキャッシュ制御方法に
    おいて、ライトアフタデータをキャッシュから直接アク
    セス記憶装置に書き込んだ後、最も古いライトアフタデ
    ータの更新世代を最古更新世代として不揮発性メモリに
    記憶することを特徴とするキャッシュ制御方法。
  7. 【請求項7】 請求項6に記載のキャッシュ制御方法に
    おいて、障害によりキャッシュ中のライトアフタデータ
    が消失したときに、不揮発性メモリに記憶した最古更新
    世代に対応するチェックポイントの時点に遡ってプログ
    ラムを再実行し、ライトアフタデータを回復することを
    特徴とするキャッシュ制御方法。
  8. 【請求項8】 請求項6に記載のキャッシュ制御方法に
    おいて、計算機システムは、履歴情報ファイルを備え、
    プログラムが直接アクセス記憶装置のデータを更新する
    際に該データの更新履歴情報を前記履歴情報ファイルに
    記録することを特徴とするキャッシュ制御方法。
  9. 【請求項9】 請求項8に記載のキャッシュ制御方法に
    おいて、障害によりキャッシュ中のライトアフタデータ
    が消失したときに、履歴情報ファイルを調べ、不揮発性
    メモリに記憶した最古更新世代に対応するチェックポイ
    ントの時点以降の更新履歴情報を用いて又はその更新履
    歴情報と直接アクセス記憶装置に記憶されたデータとを
    用いてライトアフタデータを回復し、その回復したライ
    トアフタデータを直接アクセス記憶装置に書き込むこと
    を特徴とするキャッシュ制御方法。
  10. 【請求項10】 請求項6に記載のキャッシュ制御方法
    において、計算機システムは、シーケンシャルな履歴情
    報ファイルを備え、プログラムが直接アクセス記憶装置
    のデータを更新する際に該データの更新履歴情報を前記
    履歴情報ファイルに記録し、且つ、チェックポイント時
    に該チェックポイントに関する履歴情報を前記履歴情報
    ファイルに記録することを特徴とするキャッシュ制御方
    法。
  11. 【請求項11】 請求項10に記載のキャッシュ制御方
    法において、障害によりキャッシュ中のライトアフタデ
    ータが消失したときに、履歴情報ファイルを調べ、不揮
    発性メモリに記憶した最古更新世代に対応するチェック
    ポイントに関する履歴情報が記録された記録位置以降の
    更新履歴情報を用いて又はその更新履歴情報と直接アク
    セス記憶装置に記憶されたデータとを用いてライトアフ
    タデータを回復し、その回復したライトアフタデータを
    直接アクセス記憶装置に書き込むことを特徴とするキャ
    ッシュ制御方法。
  12. 【請求項12】 請求項1に記載のキャッシュ制御方法
    において、キャッシュは、揮発性メモリからなる揮発キ
    ャッシュおよび不揮発性メモリからなる不揮発キャッシ
    ュから構成されることを特徴とするキャッシュ制御方
    法。
  13. 【請求項13】 請求項12に記載のキャッシュ制御方
    法において、初期設定時またはチェックポイント時に、
    揮発キャッシュ有効管理世代数Mを指定し、チェックポ
    イント時に、そのチェックポイントで指定の更新世代よ
    りも前記揮発キャッシュ有効管理世代数M以上古い更新
    世代のライトアフタデータを揮発キャッシュから不揮発
    キャッシュに移すか又は複写することを特徴とするキャ
    ッシュ制御方法。
  14. 【請求項14】 請求項13に記載のキャッシュ制御方
    法において、ライトアフタデータの更新世代および直接
    アクセス記憶装置中の記憶位置に基づき定めた順で、ラ
    イトアフタデータを不揮発キャッシュから直接アクセス
    記憶装置に書き込むことを特徴とするキャッシュ制御方
    法。
  15. 【請求項15】 請求項13に記載のキャッシュ制御方
    法において、初期設定時またはチェックポイント時また
    はキャッシュの使用モード設定時に、有効管理世代数n
    を指定し、チェックポイント時に、そのチェックポイン
    トで指定の更新世代よりも前記有効管理世代数n以上古
    い更新世代のライトアフタデータを優先して不揮発キャ
    ッシュから直接アクセス記憶装置に書き込むことを特徴
    とするキャッシュ制御方法。
  16. 【請求項16】 請求項15に記載のキャッシュ制御方
    法において、チェックポイント時に指定の更新世代より
    も有効管理世代数n以上古い更新世代のライトアフタデ
    ータを不揮発キャッシュから直接アクセス記憶装置に書
    き込む際に、他の入出力処理が発生すると、その入出力
    処理を前記ライトアフタデータの書き込みよりも優先す
    ることを特徴とするキャッシュ制御方法。
  17. 【請求項17】 請求項15に記載のキャッシュ制御方
    法において、チェックポイント時に指定の更新世代より
    も有効管理世代数n以上古い更新世代のライトアフタデ
    ータをキャッシュから直接アクセス記憶装置に書き込む
    際に、他の入出力処理が発生しても、その入出力処理を
    前記ライトアフタデータの書き込みが完了するまで行わ
    ないことを特徴とするキャッシュ制御方法。
  18. 【請求項18】 請求項13に記載のキャッシュ制御方
    法において、チェックポイント時に指定の更新世代より
    も揮発キャッシュ有効管理世代数M以上古い更新世代の
    ライトアフタデータを揮発キャッシュから不揮発キャッ
    シュに書き込んだ後、前記揮発キャッシュ中の更新世代
    が最古のライトアフタデータの更新世代識別子を不揮発
    性メモリに記憶することを特徴とするキャッシュ制御方
    法。
  19. 【請求項19】 請求項14から請求項18のいずれか
    に記載のキャッシュ制御方法において、ライトアフタデ
    ータを不揮発キャッシュから直接アクセス記憶装置に書
    き込んだ後、最も古いライトアフタデータの更新世代を
    最古更新世代として不揮発性メモリに記憶することを特
    徴とするキャッシュ制御方法。
  20. 【請求項20】 請求項19に記載のキャッシュ制御方
    法において、障害により不揮発キャッシュ中のライトア
    フタデータが消失したときに、不揮発性メモリに記憶し
    た最古更新世代に対応するチェックポイントの時点に遡
    ってプログラムを再実行し、ライトアフタデータを回復
    することを特徴とするキャッシュ制御方法。
  21. 【請求項21】 請求項19に記載のキャッシュ制御方
    法において、障害により揮発キャッシュ中のライトアフ
    タデータが消失したときに、不揮発性メモリに記憶した
    揮発キャッシュ最古更新世代に対応するチェックポイン
    トの時点に遡ってプログラムを再実行し、ライトアフタ
    データを回復することを特徴とするキャッシュ制御方
    法。
  22. 【請求項22】 請求項19に記載のキャッシュ制御方
    法において、計算機システムは、履歴情報ファイルを備
    え、プログラムが直接アクセス記憶装置のデータを更新
    する際に該データの更新履歴情報を前記履歴情報ファイ
    ルに記録することを特徴とするキャッシュ制御方法。
  23. 【請求項23】 請求項22に記載のキャッシュ制御方
    法において、障害により不揮発キャッシュ中のライトア
    フタデータが消失したときに、履歴情報ファイルを調
    べ、不揮発性メモリに記憶した最古更新世代に対応する
    チェックポイントの時点以降の更新履歴情報を用いて又
    はその更新履歴情報と直接アクセス記憶装置に記憶され
    たデータとを用いてライトアフタデータを回復し、その
    回復したライトアフタデータを直接アクセス記憶装置に
    書き込むことを特徴とするキャッシュ制御方法。
  24. 【請求項24】 請求項22に記載のキャッシュ制御方
    法において、障害により揮発キャッシュ中のライトアフ
    タデータが消失したときに、履歴情報ファイルを調べ、
    不揮発性メモリに記憶した揮発キャッシュ最古更新世代
    に対応するチェックポイントの時点以降の更新履歴情報
    を用いて又はその更新履歴情報と直接アクセス記憶装置
    に記憶されたデータとを用いてライトアフタデータを回
    復し、その回復したライトアフタデータを直接アクセス
    記憶装置に書き込むことを特徴とするキャッシュ制御方
    法。
  25. 【請求項25】 請求項19に記載のキャッシュ制御方
    法において、計算機システムは、シーケンシャルな履歴
    情報ファイルを備え、プログラムが直接アクセス記憶装
    置のデータを更新する際に該データの更新履歴情報を前
    記履歴情報ファイルに記録し、且つ、チェックポイント
    時に該チェックポイントに関する履歴情報を前記履歴情
    報ファイルに記録することを特徴とするキャッシュ制御
    方法。
  26. 【請求項26】 請求項25に記載のキャッシュ制御方
    法において、障害により不揮発キャッシュ中のライトア
    フタデータが消失したときに、履歴情報ファイルを調
    べ、不揮発性メモリに記憶した最古更新世代に対応する
    チェックポイントに関する履歴情報が記録された記録位
    置以降の更新履歴情報を用いて又はその更新履歴情報と
    直接アクセス記憶装置に記憶されたデータとを用いてラ
    イトアフタデータを回復し、その回復したライトアフタ
    データを直接アクセス記憶装置に書き込むことを特徴と
    するキャッシュ制御方法。
  27. 【請求項27】 請求項25に記載のキャッシュ制御方
    法において、障害により揮発キャッシュ中のライトアフ
    タデータが消失したときに、履歴情報ファイルを調べ、
    不揮発性メモリに記憶した揮発キャッシュ最古更新世代
    に対応するチェックポイントに関する履歴情報が記録さ
    れた記録位置以降の更新履歴情報を用いて又はその更新
    履歴情報と直接アクセス記憶装置に記憶されたデータと
    を用いてライトアフタデータを回復し、その回復したラ
    イトアフタデータを直接アクセス記憶装置に書き込むこ
    とを特徴とするキャッシュ制御方法。
  28. 【請求項28】 中央処理装置と直接アクセス記憶装置
    との間で転送されるデータを一時的に格納するキャッシ
    ュを有し、ライトアフタ方式で前記キャッシュから前記
    直接アクセス記憶装置に更新データを書き込むキャッシ
    ュ制御装置において、 中央処理装置から所定の時点毎に指定されたライトアフ
    タデータ更新世代を管理する更新世代管理手段と、 ライトアフタ方式でキャッシュから直接アクセス記憶装
    置に書き込まれるべき更新データ(ライトアフタデー
    タ)をキャッシュに最初に書き込んだ時点以前の最近に
    指定されていたライトアフタデータ更新世代を当該ライ
    トアフタデータの更新世代として、その更新世代により
    ライトアフタデータを管理するライトアフタデータ管理
    手段とを具備することを特徴とするキャッシュ制御装
    置。
  29. 【請求項29】 請求項28に記載のキャッシュ制御装
    置において、ライトアフタデータの更新世代および直接
    アクセス記憶装置中の記憶位置に基づき定めた順で、ラ
    イトアフタデータをキャッシュから直接アクセス記憶装
    置に書き込むデータ保証型デステージング手段(データ
    保証型ライトアフタデータ書込手段)を具備することを
    特徴とするキャッシュ制御装置。
  30. 【請求項30】 請求項28または請求項29に記載の
    キャッシュ制御装置において、 中央処理装置から所定の時点に指定された有効管理世代
    数nを管理する有効世代数管理手段と、 中央処理装置から新たな更新世代が指定されたとき、そ
    の更新世代よりも前記有効管理世代数n以上古い更新世
    代のライトアフタデータを優先してキャッシュから直接
    アクセス記憶装置に書き込む旧世代優先デステージング
    手段とを具備することを特徴とするキャッシュ制御装
    置。
  31. 【請求項31】 請求項30に記載のキャッシュ制御装
    置において、新たに指定された更新世代よりも有効管理
    世代数n以上古い更新世代のライトアフタデータをキャ
    ッシュから直接アクセス記憶装置に書き込む際に、他の
    入出力処理が発生すると、その入出力処理を前記ライト
    アフタデータの書き込みよりも優先するデステージング
    負荷制御手段を具備することを特徴とするキャッシュ制
    御装置。
  32. 【請求項32】 請求項30に記載のキャッシュ制御装
    置において、新たに指定された更新世代よりも有効管理
    世代数n以上古い更新世代のライトアフタデータをキャ
    ッシュから直接アクセス記憶装置に書き込む際に、他の
    入出力処理が発生しても、その入出力処理を前記ライト
    アフタデータの書き込みが完了するまで行わないデステ
    ージング同期手段を具備することを特徴とするキャッシ
    ュ制御装置。
  33. 【請求項33】 請求項30に記載のキャッシュ制御装
    置において、旧世代優先デステージング手段は、新たに
    指定された更新世代よりも有効管理世代数n以上古い更
    新世代のライトアフタデータをキャッシュから直接アク
    セス記憶装置に書き込んだ後、中央処理装置に書込完了
    報告を行うことを特徴とするキャッシュ制御装置。
  34. 【請求項34】 請求項29または請求項30のいずれ
    かに記載のキャッシュ制御装置において、更新世代管理
    手段は、所定の時点で、更新世代が最も古いライトアフ
    タデータの更新世代を最古更新世代として不揮発メモリ
    に記憶すると共に、中央処理装置の指示により前記最古
    更新世代を中央処理装置に報告することを特徴とするキ
    ャッシュ制御装置。
  35. 【請求項35】 請求項28に記載のキャッシュ制御装
    置において、キャッシュは、揮発性メモリからなる揮発
    キャッシュおよび不揮発性メモリからなる不揮発キャッ
    シュから構成されることを特徴とするキャッシュ制御装
    置。
  36. 【請求項36】 請求項35に記載のキャッシュ制御装
    置において、 中央処理装置から所定の時点に指定された揮発キャッシ
    ュ有効管理世代数Mを管理する揮発キャッシュ有効世代
    数管理手段と、 中央処理装置から新たな揮発キャッシュ更新世代が指定
    されたとき、その更新世代よりも前記キャッシュ有効管
    理世代数Mだけ古い更新世代のライトアフタデータを揮
    発キャッシュから不揮発キャッシュに移すか又は複写す
    るキャッシュ内バックアップ手段を具備することを特徴
    とするキャッシュ制御装置。
  37. 【請求項37】 請求項36に記載のキャッシュ制御装
    置において、ライトアフタデータの更新世代および直接
    アクセス記憶装置中の記憶位置に基づき定めた順で、ラ
    イトアフタデータを不揮発キャッシュから直接アクセス
    記憶装置に書き込むデータ保証型不揮発キャッシュデス
    テージング手段を具備することを特徴とするキャッシュ
    制御装置。
  38. 【請求項38】 請求項37に記載のキャッシュ制御装
    置において、 中央処理装置から所定の時点に指定された有効管理世代
    数nを管理する有効世代数管理手段と、 中央処理装置から新たな更新世代が指定されたとき、そ
    の更新世代よりも前記有効管理世代数n以上古い更新世
    代のライトアフタデータを優先して不揮発キャッシュか
    ら直接アクセス記憶装置に書き込む旧世代優先不揮発キ
    ャッシュデステージング手段とを具備することを特徴と
    するキャッシュ制御装置。
  39. 【請求項39】 請求項38に記載のキャッシュ制御装
    置において、新たに指定された更新世代よりも有効管理
    世代数n以上古い更新世代のライトアフタデータを不揮
    発キャッシュから直接アクセス記憶装置に書き込む際
    に、他の入出力処理が発生すると、その入出力処理を前
    記ライトアフタデータの書き込みよりも優先する不揮発
    キャッシュデステージング負荷制御手段を具備すること
    を特徴とするキャッシュ制御装置。
  40. 【請求項40】 請求項38に記載のキャッシュ制御装
    置において、新たに指定された更新世代よりも有効管理
    世代数n以上古い更新世代のライトアフタデータを不揮
    発キャッシュから直接アクセス記憶装置に書き込む際
    に、他の入出力処理が発生しても、その入出力処理を前
    記ライトアフタデータの書き込みが完了するまで行わな
    い不揮発キャッシュデステージング同期手段を具備する
    ことを特徴とするキャッシュ制御装置。
  41. 【請求項41】 請求項38に記載のキャッシュ制御装
    置において、旧世代優先デステージング手段は、新たに
    指定された更新世代よりも有効管理世代数n以上古い更
    新世代のライトアフタデータを不揮発キャッシュから直
    接アクセス記憶装置に書き込んだ後、中央処理装置に書
    込完了報告を行うことを特徴とするキャッシュ制御装
    置。
  42. 【請求項42】 請求項37または請求項38のいずれ
    かに記載のキャッシュ制御装置において、更新世代管理
    手段は、所定の時点で、揮発キャッシュ中の更新世代が
    最も古いライトアフタデータの更新世代を揮発キャッシ
    ュ最古更新世代として不揮発メモリに記憶すると共に、
    不揮発キャッシュ中の更新世代が最も古いライトアフタ
    データの更新世代を最古更新世代として不揮発メモリに
    記憶し、中央処理装置の指示により前記揮発キャッシュ
    最古更新世代および前記最古更新世代を中央処理装置に
    報告することを特徴とするキャッシュ制御装置。
  43. 【請求項43】 請求項34または請求項42のいずれ
    かに記載のキャッシュ制御装置において、 障害によりキャッシュ中のデータに対する読み書きがで
    きない場合に該キャッシュを閉塞するキャッシュ閉塞手
    段と、 障害により前記キャッシュ中のライトアフタデータが消
    失した時に、該ライトアフタデータの書き込み対象であ
    る直接アクセス記憶装置を閉塞するライトアフタ対象直
    接アクセス記憶装置閉塞手段と、 中央処理装置の指示により、前記ライトアフタ対象直接
    アクセス記憶装置閉塞手段により閉塞された前記直接ア
    クセス記憶装置からデータを読み、該中央処理装置に転
    送する旧データ入力手段と、 前記ライトアフタ対象直接アクセス記憶装置閉塞手段に
    より閉塞された前記直接アクセス記憶装置に、前記中央
    処理装置から転送されたデータを書き込むライトアフタ
    データ回復手段と、 前記中央処理装置の指示により、前記ライトアフタ対象
    直接アクセス記憶装置閉塞手段により閉塞された前記直
    接アクセス記憶装置の閉塞状態を解除するライトアフタ
    対象直接アクセス記憶装置閉塞解除手段とを具備するこ
    とを特徴とするキャッシュ制御装置。
JP4155247A 1992-06-15 1992-06-15 キャッシュ制御方法およびキャッシュ制御装置 Pending JPH05346889A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4155247A JPH05346889A (ja) 1992-06-15 1992-06-15 キャッシュ制御方法およびキャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4155247A JPH05346889A (ja) 1992-06-15 1992-06-15 キャッシュ制御方法およびキャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH05346889A true JPH05346889A (ja) 1993-12-27

Family

ID=15601752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4155247A Pending JPH05346889A (ja) 1992-06-15 1992-06-15 キャッシュ制御方法およびキャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH05346889A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316632A (ja) * 2004-04-28 2005-11-10 Hitachi Ltd キャッシュ制御およびデータ処理システム並びにその処理プログラム
JP2006178858A (ja) * 2004-12-24 2006-07-06 Denso Wave Inc データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
WO2009098777A1 (ja) 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、格納方法、及びディスクアレイ装置
JP2010514038A (ja) * 2006-12-20 2010-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 書き戻しキャッシュ・ユニットを用いてデータを管理するためのシステム、方法、及びコンピュータ・プログラム
JP2013182356A (ja) * 2012-02-29 2013-09-12 Fujitsu Ltd 演算装置、情報処理装置および演算方法
JP2015176153A (ja) * 2014-03-12 2015-10-05 三菱電機株式会社 計算機、障害処理方法及びプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316632A (ja) * 2004-04-28 2005-11-10 Hitachi Ltd キャッシュ制御およびデータ処理システム並びにその処理プログラム
JP2006178858A (ja) * 2004-12-24 2006-07-06 Denso Wave Inc データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
JP4513554B2 (ja) * 2004-12-24 2010-07-28 株式会社デンソーウェーブ データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
JP2010514038A (ja) * 2006-12-20 2010-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 書き戻しキャッシュ・ユニットを用いてデータを管理するためのシステム、方法、及びコンピュータ・プログラム
US8793441B2 (en) 2006-12-20 2014-07-29 International Business Machines Corporation System, method and computer program product for managing data using a write-back cache unit
WO2009098777A1 (ja) 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、格納方法、及びディスクアレイ装置
US8074104B2 (en) 2008-02-08 2011-12-06 Fujitsu Limited Controlling apparatus and controlling method
JP2013182356A (ja) * 2012-02-29 2013-09-12 Fujitsu Ltd 演算装置、情報処理装置および演算方法
JP2015176153A (ja) * 2014-03-12 2015-10-05 三菱電機株式会社 計算機、障害処理方法及びプログラム

Similar Documents

Publication Publication Date Title
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US6119209A (en) Backup directory for a write cache
JP4078039B2 (ja) スナップショットイメージの世代管理方法及び世代管理装置
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
US6397229B1 (en) Storage-controller-managed outboard incremental backup/restore of data
JP2557172B2 (ja) タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム
JP3422370B2 (ja) ディスクキャッシュ制御装置
US7565485B2 (en) Storage system with inhibition of cache destaging
US5748985A (en) Cache control method and cache controller
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
JPS6367686B2 (ja)
US20060224639A1 (en) Backup system, program and backup method
KR100238925B1 (ko) 비휘발성 메모리를 갖는 복원 가능 디스크 제어 시스템
JPH0683677A (ja) データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム
JP2007200114A (ja) データベース回復方法及び計算機システム
US5809542A (en) Dumping method for dumping data to a dump data storage device that manages the the dumping of data updated since a previous dump request
JP2002132582A (ja) 圧縮メモリ・システムの再利用スペース予約
US7263580B2 (en) Cache flush based on checkpoint timer
JPH05346889A (ja) キャッシュ制御方法およびキャッシュ制御装置
JPH0772981A (ja) 記憶制御装置及びその制御方法
US20050278482A1 (en) Method and system for data processing for controlling a cache memory
JP3785165B2 (ja) ディスクアレイ装置および筐体内レプリケーション方法
JPH04170625A (ja) ファイル回復処理システム
JP2002055784A (ja) フォールトトレラントの記憶装置にデータを記憶するための方法、ならびにそのための記憶装置およびコントローラ
JPS60250447A (ja) 磁気デイスクフアイルの事後更新方式