JPS6326417B2 - - Google Patents

Info

Publication number
JPS6326417B2
JPS6326417B2 JP59266572A JP26657284A JPS6326417B2 JP S6326417 B2 JPS6326417 B2 JP S6326417B2 JP 59266572 A JP59266572 A JP 59266572A JP 26657284 A JP26657284 A JP 26657284A JP S6326417 B2 JPS6326417 B2 JP S6326417B2
Authority
JP
Japan
Prior art keywords
journal
cache
data
storage
record
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
Application number
JP59266572A
Other languages
English (en)
Other versions
JPS60207943A (ja
Inventor
Denisu Kyanon Maikeru
Koruman Iisuton Marukoomu
Heizu Hawaado Jon
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60207943A publication Critical patent/JPS60207943A/ja
Publication of JPS6326417B2 publication Critical patent/JPS6326417B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は非持久性の1次記憶及び2次記憶から
成る階層記憶システムに係り、更に詳細に説明す
ればこのような1次記憶の内容を保護するための
方法に係る。
〔従来技術〕
ページング方式や他の一定のブロツク置換方式
は、直接アクセス記憶装置(DASD)から成る階
層記憶システムのページ移動を制御したり、論理
アドレス空間と物理アドレス空間の間の動的連関
を制御するために、これまで広汎に利用されてい
る。デイレクトリで管理されるキヤツシユは1次
記憶の例であつて、その性能をヒツト率又はミス
率で測定するのが普通である。読取参照時の「ヒ
ツト」とは、中央処理ユニツト(CPU)からの
読取要求に該当する所望のデータが、キヤツシユ
中に存在することを意味する。また、書込参照時
の「ヒツト」とは、CPUからの書込要求に該当
する位置がキヤツシユ中に存在し、しかもこの位
置に直ちに重ね書きできることを意味する。従つ
て、読取要求に該当するデータがキヤツシユ中に
存在しない場合、又は書込みに必要なスペースを
作るために或るデータがキヤツシユからデステー
ジされねばならない場合には、「ミス」が生ずる
ことになる。
高速小容量のキヤツシユと低速大容量にバツキ
ング記憶との間でデータを移動、すなわちステー
ジ又はデステージさせるためには、ステージン
グ・アルゴリズムが必要となる。LRU(Least
Rrcently Used)アルゴリズムやMRU(Most
Recently Used)アルゴリズムは、CPUが将来
参照する確率が高いデータをキヤツシユ中に維持
するのに有効である。キヤツシユが要求に該当す
るデータを保持していないか、又は充満状態にあ
る場合は、或るデータを除去してこれを要求され
たデータと置換えることができるようにしなけれ
ばならない。かくて、長い間参照されなかつたデ
ータは将来も参照されることがないであろうとい
う仮定の下に、最も長い間参照されなかつたデー
タが置換されることになる。
階層記憶システムは1次記憶を含んでおり、こ
の1次記憶は低速大容量の2次記憶に保持されて
いるページ・セツト全体の一部を保持するものと
考えることができる。すなわち、1次記憶は関連
するCPUによつて現に参照されているデータ・
エントリを常に保持するのである。もし1次記憶
が「ストアイン・キヤツシユ」として編成されて
いるならば、1次記憶中のページ又はコードに対
する変更データは2次記憶に直ちに書込まれな
い。
〔発明が解決しようとする問題点〕
処で、1次記憶に障害がある場合には、1次記
憶中のページ又はレコードに対する変更データ
を、2次記憶へ転記することができない、という
重大な問題が生ずる。この種の従来技術は、
IBM社発行のテクニカル・デイスクロージヤ・
ブレテイン(Technical Disclosure Bulletin)、
Vol.18,No.1,June1975,pp.61―62及び同
Vol.25,No.4,Sept.1982,pp.2053―2056に記述
されている。
後者の文献に記述された階層記憶の保護方法
は、鑑査に必要なエンドレスの履歴フアイルを作
成するというものである。一層詳細に説明すれ
ば、活動フアイルと履歴フアイルを使用し、活動
フアイルへの書込みと並行して履歴フアイルを更
新するようにしている。この方法は、活動フアイ
ルへの書込みが成功裡に完了するまで、履歴フア
イルの更新が遅れるという点で著しく不利であ
る。同様に前者の文献は、DASD中のデータがバ
ツキング記憶へデステージされた後にジヤーナ
ル・エントリを無効にする方法を記述しているに
すぎない。
本発明は従来技術の前記のような欠点を解消す
るためになされたもので、階層記憶システムにお
ける非持久性の1次記憶の内容を有限のジヤーナ
ルを利用して保護することを目的としている。
〔問題点を解決するための手段〕
前記目的を達成するため、本発明の方法では、
(1)1次記憶の各変更データの写しを持久性バツフ
アへ書込み、(2)この持久性バツフアの内容を持久
性媒体に記録された循環式ジヤーナルへ定期的に
複写するとともに、(3)このジヤーナルの選択され
たストリングを或る位置から他の位置へ再記録
(再ジヤーナルリング)することにより、該ジヤ
ーナルの記憶スペースを循環的に再使用できるよ
うにしている。但し、この1次記憶はLRU式ス
テージング・アルゴリズムを利用するものとし、
また変更データは1次記憶のみに書込まれた後、
デステージング時に2次記憶へ転記されるものと
する。
本発明の方法では、循環式ジヤーナルにおける
有限の記憶スペースはサイズが等しいk個のジヤ
ーナル区画を含んでいる。説明の便宜上、以下で
はk=3とする。また、1次記憶に記録されたデ
ータは複数のレコード及びページへ様式化され、
レコード及びページの各々はステータス・フイー
ルドをそれぞれ有するように編成される。各レコ
ードのステータス・フイールドは、該レコードの
無変更を指定するか、又はアドレス可能な1つの
ジヤーナル区画に対する割当てを指定する。各ペ
ージのステータス・フイールドは、該ページに対
する1つの参照ビツトを含む。各レコードのステ
ータス・フイールドは、該レコードに対する1つ
のジヤーナル区画アドレスを含む。これらのアド
レスを使用すれば、循環式ジヤーナルの或る位置
から他の位置へ再記録すべきエントリの選択を制
御することができる。
本発明の方法によれば、すべての変更データ
を、持久性バツフアを付設した循環式ジヤーナル
又は2次記憶のいずれかに確実に記録することが
できる。この循環式ジヤーナルの有限の記憶スペ
ースを管理するには、該ジヤーナル中の相当量の
記憶スペースを自由にするとともに、動作が容易
となるように1次記憶中のステータス・フイール
ドを更新することが必要である。本発明の方法
は、循環式ジヤーナルのエクステントを有限に維
持し、チエツク・ポイントを不要とし、そしてキ
ヤツシユを1次記憶として使用する場合には2次
記憶への書込み回数を減少させることによつて
I/Oシステムの負荷を軽減することができる。
持久性バツフアの容量は、1次記憶の容量より
も相当小さい。1次記憶に書込まれた変更データ
は、それと同時に持久性バツフアにも書込まれ
る。持久性バツフアが充満状態になると、その内
容は循環式ジヤーナルへ書込まれる。持久性バツ
フアの容量は任意のデータ項目に比較して相当に
大きいから、循環式ジヤーナルへの書込み回数は
この持久性バツフアの存在によつて著しく減少す
る。従つて、循環式ジヤーナルへの転記を一括し
て行うことができる。
本発明の方法は、循環式ジヤーナルに対するデ
ータの流れを制御する。この方法は、1次記憶で
変更された各データの最新の写しが、常に循環式
ジヤーナル又は持久性バツフアに現われることを
保証する。前述のように、これは、有限の記憶ス
ペースを有する循環式ジヤーナルを区画化し且つ
1次記憶中の変更データを現ジヤーナル区画へ転
記することによつて達成される。1次記憶へ書込
まれる変更データの各々は、現に使用中の特定の
ジヤーナル区画を指示するステータス・フイール
ドを含む。複数のジヤーナル区画は1,2,3,
1,2,3……のように循環式に順序づけられ
る。もし或るレコードが1次記憶中で変更された
ならば、このレコードのステータス・フイールド
にあるジヤーナル区画アドレスはどのジヤーナル
区画が現レコードを保持するかを指示する。複数
のジヤーナル区画は前述の循環式順序で書込まれ
る。
たとえば、ジヤーナル区画3が書込まれている
間、1次記憶中にあるレコードのすべてのジヤー
ナル区画アドレスが走査される。ジヤーナル区画
3の後に書込むべき次のものはジヤーナル区画1
であり、しかも有限のジヤーナル区画を管理する
ことが望ましいから、ジヤーナル区画1のアドレ
スを有するすべてのキヤツシユ・レコード(使い
古しのレコード)はジヤーナル区画3へ再記録さ
れる。このようにして、ジヤーナル区画1が自由
となる。ジヤーナル区画3に十分なスペースが存
在しない場合には、かかる使い古しのレコードは
2次記憶へ書込まれる。
〔実施例〕
説明の便宜上、以下では本発明の実施例を、共
有アクセス式DASDキヤツシユの環境で記述す
る。しかしながら、本発明の方法は、CPUに設
けられた通常のキヤツシユの内容を保護するため
にも適用可能であることが注意されるべきであ
る。
システム構成(第2図) 本発明の実施例を説明する前に、まず第2図及
び第3図を参照して従来の技術を説明する。
第2図には、複数のCPUによつてDASDを共
有するようにした従来技術のシステム構成が示さ
れている。3台のCPU1,3及び4は、それぞ
れのチヤネル(CH)を介して、1対の制御ユニ
ツト(CU)21及び23へ接続される。CPU1
は4台のチヤネル5,7,8及び10へ接続さ
れ、CPU3は2台のチヤネル9及び12へ接続
され、CPU4は2台のチヤネル14及び16へ
接続される。
チヤネル5及び7は制御ユニツト21のポート
A及びBを駆動し、チヤネル8及び10は制御ユ
ニツト23のポートE及びFをそれぞれ駆動す
る。チヤネル9は制御ユニツト21のポートCを
駆動し、チヤネル12は制御ユニツト23のポー
トGを駆動する。また、チヤネル14は制御ユニ
ツト21のポートDを駆動し、チヤネル16は制
御ユニツト23のポートHを駆動する。複数の
DASD53に対するアクセスを共有するため、制
御ユニツト21はアダプタ27及び線55を介し
てDASD53へ結合し、制御ユニツト23はアダ
プタ29及び線51を介してDASD53へ結合す
る。制御ユニツト21及び23は、複数のタグ線
及びデータ線を含む通常の応答確認式インターフ
エースを介して、アダプタ27及び29へ接続さ
れる。制御ユニツト21とアダプタ27との間の
インターフエースは、タグ線65、入力データ線
57及び出力データ線59を含む。同様に、制御
ユニツト23とアダプタ29との間のインターフ
エースは、タグ線67、入力データ線61及び出
力データ線63を含む。
この応答確認式インターフエースは周知であつ
て、タグ出力によつて出力データ線上の情報を有
効化し、タグ入力によつて入力データ線上の情報
を有効化するようなものである。CPU、制御ユ
ニツト、入出力デバイスは、これによつて互いに
非同期的に動作することができる。制御ユニツト
21と制御ユニツト23の間には、DASDキヤツ
シユ(以下単に「キヤツシユ」という)101が
設けられる。制御ユニツト21は経路103及び
アクセス回路105を介してキヤツシユ101を
アクセスし、制御ユニツト23は経路111及び
アクセス回路109を介してキヤツシユ101を
アクセスする。キヤツシユ自体は、CMOSの如
き高速のキヤツシユRAM107から成る。本発
明を実施するに適したキヤツシユ101の構成は
公知であり、たとえば、IBM3880記憶制御ユニ
ツトのモデル13で実現されている。このモデル
は、第2図に示す如き2台の制御ユニツトと、4
〜8Mバイトの容量を有するキヤツシユを備えて
いる。
DASD53は、4台のデバイス(DEV)0〜
3を含む。各デバイスは、別個の接続ユニツト及
び経路を介して、アクセスすることができる。ア
ダプタ27は、制御ユニツト21から線55を介
して任意のデバイスに至るアクセス経路を与え
る。線55は、各デバイスの読取り/書込みヘツ
ドを保持するアクセス・アームへそれぞれ接続さ
れている。アダプタ29は、制御ユニツト23か
ら線51を介して各デバイスの他のアクセス・ア
ームに至る独立のアクセス経路を与える。各アダ
プタは、それぞれの接続論理(39又は47)及
びシーケンス・コントローラ(41又は49)を
含む。
或るCPUが「入出力開始」命令を呼出すとき、
このCPUと或るデバイスとの関係が開始する。
「入出力開始」命令は、このCPUとアドレス可能
なデバイスとの間の接続を確立し、且つこのデバ
イスにチヤネル・プログラムを実行させるための
ものである。「入出力開始」命令が呼出されると、
一連のチヤネル指令へ制御が渡される。一連のチ
ヤネル指令、すなわちチヤネル指令ワード
(CCW)のチエーンはアドレスを介して制御ユニ
ツトへ送られ、デバイスを選択して入出力インタ
ーフエース上で任意のデータ転送を行わしめる。
各チヤネル・プログラムは、CPUの主記憶に置
かれた一連のCCWから成る。制御ユニツトへ
CCWを転送し、且つこれを該制御ユニツトで実
行するのは、CPUとこの制御ユニツトとの間の
初期接続が完成した後である。制御ユニツト又は
デバイスでは、チヤネル・プログラム中の各
CCWごとにこれに対応する1以上の動作を行う
ことが必要である。
最初の接続は、初期選択シーケンスによるもの
である。この初期選択シーケンスが「入出力開
始」命令に応じて呼出される場合、デバイス・ア
ドレス及びデバイス・ステータスをやりとりし
て、初期経路が電気的及び論理的に設定される。
次の活動的接続は、CCWの転送及び実行に関係
する。「シーク」の如き制御指令は、デバイスに
おける物理的な位置づけ又は活動を必要とする。
制御ユニツトは、このような制御指令の受領に応
答して、これを切断モードで実行するこができ
る。すなわち、指示された動作を実行する間、制
御ユニツトはチヤネルから切断されるのである。
制御ユニツトは、チヤネルへ再接続するまで、そ
れ以上のチヤネル活動を必要としない。米国特許
第3725864号、第3336582号及び第3564502号に記
述されているような代表的な計算機システムで
は、制御ユニツトは「シーク」指令」及びパラメ
ータ(目標アドレス)を受取つた後、30ミリ秒又
はそれ以上もチヤネルから切断される。この30ミ
リ秒という時間は、DASDのアクセス・アームを
所望シリンダのトラツクに位置づけるのに必要な
平均時間である。このデツド時間の間、チヤネル
及び制御ユニツトは他の接続を自由に確立するこ
とができる。切断モードとは対照的に、チヤネル
とデバイスとの間のデータ転送を伴なう「読取」
又は「書込」の如き指令を実行するためには、制
御ユニツトをチヤネルへ接続したままにしておか
ねばならない。
CCWの各々はCPUの主記憶に置かれたリスト
から得られ、チヤネルを介して制御ユニツトへ送
られねばならない。制御ユニツトの側でこの
CCWを実行した後、終結シーケンスが生ずる。
もしこのCCWがデバイスの位置づけを必要とす
るような制御型のものであれば、制御ユニツトを
チヤネルから切断しなければならず、また位置づ
けが完了したときこの制御ユニツトをチヤネルへ
再接続しなければならない。これに続いて、終結
シーケンスが生ずる。
構成要素間の活動的接続の期間を延長すること
は、データ転送についてのみ必要となる。制御ユ
ニツト21又は23は「読取」指令に応答してキ
ヤツシユ・デイレクトリをアクセスし、必要なデ
ータがキヤツシユRAM107中に存在するか否
かを決定する。もし存在すれば、すなわち「ヒツ
ト」が検出されると、キヤツシユRAM107と
チヤネルとの間で制御ユニツト21又は23を介
してデータが転送される。書込CCWの場合、チ
ヤネルからのデータが制御ユニツト21又は23
を介してキヤツシユ101へ転送される。もしキ
ヤツシユ101がストア・イン型のキヤツシユで
あれば、「ヒツト」の検出(スペースが利用可能
であるか又は更新すべきレコードが存在する場
合)に応じてデータがキヤツシユ101に書込ま
れ、次いでDASD53へ複写される。もしキヤツ
シユ101がストア・スルー型のキヤツシユであ
れば、データはキヤツシユ101及びDASD53
の両方へ独立に書込まれる。
キヤツシユ101は比較的大容量のRAMであ
つて、DASD53に記録されたレコードの一部の
写しを保持する。もしキヤツシユ101がスト
ア・イン型のキヤツシユとして動作するのであれ
ば、キヤツシユRAM107は、CPUからDASD
53へ送られたレコードであつて、まだDASD5
3へ書込まれていないようなレコードをも保持す
ることができる。デイレクトリは、ブリツク割付
けを使用してキヤツシユ101の内容を記述す
る。このデイレクトリは、キヤツシユRAM10
7に付設されている。
1次記憶と2次記憶の関係(第3図及び第1図) 第3図には、制御ユニツト21及びキヤツシユ
101を1つにまとめた構成体と、アダプタ27
及びDASD53を1つにまとめた構成体が示され
ている。これらの構成体は、通常の応答確認式イ
ンターフエースを介して結合する。制御ユニツト
21又は23に接続するすべてのデバイスは、標
準のメツセージ転送プロトコルに適合しなければ
ならない。DASDの代表的なプロトコルは、米国
特許第4223390号及び第4262332号に記述されてい
る。このようなプロトコル及びデバイスのアドレ
シングは本発明の要旨には関係ないから、本明細
書では第4図及び第5図に関連する以下の記述を
除いてその詳細を省略する。
本発明の実施例を示す第1図が第3図と異なる
のは、持久性バツフア(NVB)201及び循環
式ジヤーナル203が追加されている点である。
持久性バツフア201はたとえばバツクアツプ用
のバツテリを備えたCMOS型のRAMであつて、
IBM3880モデル13のデバイス・ポートに接続
することが望ましい。一方、循環式ジヤーナル2
03はDASD又は磁気テープ装置のいずれでもよ
い。
本発明の方法 キヤツシユ(1次記憶)101の管理は、ペー
ジ単位で行われる。各ページは、複数のレコード
から成る。キヤツシユ101中に存在しない或る
レコードをCPUが参照する場合、このレコード
を含むページの全部又は一部が2次記憶
(DASD)53からキヤツシユ101へ読込まれ
る。各レコードは、2ビツトから成るステータ
ス・フイールドを含む。もしキヤツシユ101に
記憶されているレコードが2次記憶53に記憶さ
れているレコードと一致すれば、これらのビツト
はゼロに留まる。もし或るレコードがキヤツシユ
101中で変更され且つこの変更レコードが2次
記憶53にまだ書込まれていなければ、これらの
ビツトは、循環式ジヤーナル203にある3つの
ジヤーナル区画のうち、どれに最後の変更レコー
ドが書込まれたかを指定し、或いは、変更レコー
ドを保持する持久性バツフア201の内容が循環
式ジヤーナル203へ転記されていない場合に
は、どのジヤーナル区画に書込まれようとしてい
たかを指示する。
複数のジヤーナル区画(ログ)への書込みは、
1―2―3―1―2―3―‥‥のように循環式に
行われる。ジヤーナル区画3に書込みが行われて
いる間、キヤツシユ101中にあるすべてのレコ
ードのジヤーナル区画アドレス検査することが必
要である。もし、キヤツシユ101に保持されて
いるレコードのステータス・ビツトを検査するこ
とにより、変更レコードがシヤーナル区画1へ転
記されていることが判れば、これらのエントリを
再記録(再ジヤーナリング)しなければならな
い。この再記録は、ジヤーナル区画3へ複数のレ
コードを再複写することを意味する。かくて、ジ
ヤーナル区画1を再び使用するような時間になれ
ば、該区画中のすべてのキヤツシユ・エントリに
重ね書きすることができる。理想的に云えば、必
要とされる任意の再記録はジヤーナル区画3へ適
合することが望ましい。ジヤーナル区画中に残さ
れた自由スペースの量が予定のスレツシヨルド以
下となる前に、すべてのジヤーナル区画アドレス
が検査される。本発明の実施例では、再記録すべ
きすべてのデータがその時点で現ジヤーナル区画
に適合することを保証するような手段が設けられ
る。このように適合しない場合には、2次記憶5
3へ転記するような手段を設けることもできる。
十分に大きい3つの以上の区画を有する循環式
ジヤーナル203では、通常のキヤツシユ動作に
よつてデータのデステージを行うようにすれば、
再記録すべきデータの量を著しく減少させること
ができる。
キヤツシユ101に保持された複数のレコード
から或る各ページは、そのステータスを参照ビツ
トによつて表わす。この参照ビツトは、使い古し
のレコードの走査を制御するために使用される。
新しいジヤーナル区画への転換(change over)
が生ずるたびに、すべてのページの参照ビツトは
オフ(ゼロ)に切換えられる。新しいページがキ
ヤツシユ101へ読込まれるとき、その参照ビツ
トがオンに切換えられる。キヤツシユ101中の
或るレコードが参照され且つこのレコードを含む
ページの参照ビツトがオフである場合、該参照ビ
ツトはオンに切換えられ、そして当該ページ中の
複数のレコードを走査して再記録の必要があるか
否かを調べる。従つて、或るレコードが走査され
るのは、該レコードがキヤツシユ101において
最後のジヤーナル区画の転換点にあつて、しかも
そのページがこの転換点以後で最初に参照される
場合だけである。これは走査時間を引延ばすこと
になる。すなわち、この転換以後では、多くのペ
ージが再び参照されることなくキヤツシユ101
を離れるか又はキヤツシユ101へ持込まれるこ
とになる。かくて、走査されるページのセツト
は、キヤツシユ101中に置かれているページ全
体のセツトよりも相当小さい。
次に、キヤツシユ101のすべてのページが前
述の技法によつて走査されるか否かを決定する問
題を説明する。
多くのキヤツシユ管理方式には、未参照ページ
がキヤツシユ101に常駐しうる最大の寿命時間
が存在する。LRU型キヤツシユ管理方式の場合
には、或るページの参照後にn個(n=キヤツシ
ユ中のページ数)のキヤツシユ・ミスが生ずると
き、このペジがデステージされるか又は重ね書き
される。「クロツク管理」と呼ばれる他のキヤツ
シユ管理方式では、各ページのステータスは、
「使用ビツト」によつて表わされる。この「使用
ビツト」は該当するページが参照されるたびにオ
ンに転ずる。或るページを置換のために選択しな
ければならない場合、カーソルは、「使用ビツト」
を通して予定シーケンスで移動する。カーソルは
オンである「使用ビツト」のうちテストされた任
意の「使用ビツト」をオフに転ずるとともに、既
にオフとなつている使用ビツトを検出すると停止
するようにされる。この使用ビツトに関連するペ
ージが置換される。この型のキヤツシユ管理方式
では、或るページの参照後に使用ビツトのテスト
が2n回(n=キヤツシユ中のページ数)行われ
るとき、このページがデステージされるか又は重
ね書きされる。従つて、走査されねばならないす
べてのページが実際に走査されたか否かを決定す
るために、容易に確認しうる十分な条件が存在す
る。一般に、ページの参照ビツトを直接検査すれ
ば、その任意のものがオフであるか否かを検出す
ることができる。
利用可能なジヤーナル区画(自由なログ・スペ
ース)が指定されたスレツシヨルドH以下になる
前に、走査が完了しないような可能性が存在す
る。もしこのことが生ずるならば、当該ジヤーナ
ル区画が開始された後にまだ走査されていないペ
ージが走査される。この実施例では、この時間ま
でに走査が高い確率で完了するように、ジヤーナ
ル区画のサイズ及びスレツシヨルドHが選ばれ
る。さらに、ジヤーナル区画は十分に大きいの
で、もし再記録動作が必要であれば、再記録すべ
きすべてのデータを現在のジヤーナル区画へ書込
むことができる。しかしながら、もしジヤーナル
区画のサイズが小さくて、再記録すべきすべての
データを保持することができなければ、このジヤ
ーナル区画へ書込むことができないレコードは2
次記憶53へ書込まれる。
1次記憶101の障害が生じた場合、次のよう
にして回復を行うことができる。まず、ジヤーナ
ル区画中のデータ及び持久性バツフア201中の
データを調べて、どのレコードが最も新しいエン
トリであり、そしてどのレコードが最も古いエン
トリであるかを確認しなければならない。このこ
とを容易に行うことができるように、各レコード
ごとに時間スタンプ又は一連番号が記憶される。
また、ジヤーナル区画及び持久性バツフア201
中の各レコード・フイールドごとに2次記憶53
のアドレスが記憶される。ジヤーナル区画及び持
久性バツフア201のエントリを最も古いエント
リから最も新しいエントリの方向へ処理し、そし
て各エントリをその2次記憶53のアドレスへ書
込むことができる。障害のある1次記憶101を
修復する必要はないことに注意されたい。唯1つ
の必要条件は、回復サブシステムが循環式ジヤー
ナル203及び持久性バツフア201を読取り且
つその内容を2次記憶53へ書込みうるというこ
とである。復元プロセス中に回復サブシステムの
障害が生じた場合、この手順を他の時間に繰返す
ことができる。
制御の流れ(第4図及び第5図) 第4図及び第5図には、本発明に従つた方法の
制御の流れが示されている。これは、1次記憶す
なわちキヤツシユ101中のレコードがCPUの
「読取」又は「書込」CCWによつて参照されるた
びに適用される。
第4図の諸ステツプは、或るレコードがキヤツ
シユ101中に存在するか否かを確認し、そのレ
コード及びページ・ステータスを確認し、当該参
照が読取又は書込であるかを確認し、そしてキヤ
ツシユ101の走査を開始させるものである。第
5図の諸ステツプは、変更データをキヤツシユ1
01及び持久性バツフア201へ同時に複写し、
次のジヤーナル区画へ記憶され且つキヤツシユ1
01に常駐するキヤツシユ・レコードのサブセツ
ト(これは現ジヤーナル区画に再記録されねばな
らない)を決定し、現に書込まれたジヤーナル区
画が次のジヤーナル区画からの再記録可能なセツ
トを記録するに十分なスペースを有するか否かを
確認し、そしてこれを現ジヤーナル区画へ書込む
か又は2次記憶53へ転記する。
以下の説明では、参照される特定のレコードを
含むページをPとする。ここで、このレコードの
ジヤーナル区画アドレス及び時間スタンプは、シ
ステム障害時の使用に備えてこのレコードととも
に、持久性バツフア201へ書込まれることに注
意されたい。また、最大のレコード・サイズをM
バイト(たとえば250バイト)とし、キヤツシユ
101のサイズをNバイト(たとえば4096バイ
ト)とし、持久性バツフア201のサイズをBバ
イト(たとえば512バイト)とし、そして(使い
古しのレコードについてキヤツシユの走査を完了
すべき時間を決定するような)ジヤーナル区画の
自由スペース量に関するスレツシヨルドをHバイ
ト(たとえば6145バイト)とする。この実施例で
は、HとBとNの間の関係を次のように表わすこ
とができる。
H=4B+N+1 もし各ジヤーナル区画のサイズをLバイト(た
とえば10000バイト)で表わすものとすれば、こ
の実施例では次の関係が成立する。
L>N+H また、次の関係も成立する。
L>H+B H>3B B>M M>B ここで第4図を参照するに、もし当該レコード
が既にキヤツシユ101中にあつて、CPUがこ
のレコードについて書込参照を行うのであれば、
手順Y(第5図の主題)を遂行するように分岐が
なされる。既にキヤツシユ101中にあるレコー
ドの書込参照は、その変更データが持久性バツフ
ア201へ転記されねばならないことを意味す
る。まず、最大のレコード・サイズはMバイトで
あるから、持久性バツフア201が重ね書きに利
用可能な少くともMバイトを有するか否かを判断
する。もしそうであれば、手順Yは完了してお
り、第4図の処理が継続して行われる。もし持久
性バツフア201で利用可能なスペースがMより
も小さければ、持久性バツフア201の現内容を
自由にされた適当なジヤーナル区画へ書込むとと
もに、他の後続処理を呼出す。
現ジヤーナル区画中の自由バイトの数をLFと
すれば、最初の段階ではLF=L>H+Bなる関
係が成立する。現ジヤーナル区画が自由なバイト
を少くともHバイト有するか否かを判断するため
の第1テストの前に、持久性バツフア201から
現ジヤーナル区画へ高々Bバイトだけが書込まれ
うることがわかる。従つて、最初の参照について
は、現ジヤーナル区画は少くともHバイトの自由
バイトを有することになる。かくて、次の書込参
照時には、現ジヤーナル区画Lで利用可能なバイ
トの数は最大Bバイトだけ減少されうる。現ジヤ
ーナル区画で利用可能なバイト数がHバイトより
小さくなつたとき、LF>H−B>2Bとなる。こ
のことは、キヤツシユ101のすべての参照ビツ
トがこの時間までにオンになつていなければ、第
5図のボツクスEで指定された機能が実行可能で
あることを保証する。このボツクスEの後にすべ
ての参照ビツトがオンとなるまで、すなわちジヤ
ーナル区画の転換が生ずるまで、ボツクスEに再
入することはない。
もし現ジヤーナル区画が少くともHバイトの自
由バイトを有していなければ、LF>3B+Nとな
る。このことは、現ジヤーナル区画が少くとも
2Bバイトの自由スペースを有さなければならな
いことを意味する。というのは、最大Nバイトの
データを記録しなければならないからである。か
くて、H>4B+Nなる制約の下に、再記録可能
なデータは常に現ジヤーナル区画へ適合する。L
>N+Hなる関係が望ましい理由は、現ジヤーナ
ル区画中で利用可能なバイトの数がHバイト以下
となる前に、キヤツシユ101中の殆んど又はす
べてのページが参照されるからである。その結
果、手順Yから出るときは、持久性バツフア20
1には少くともMバイトの自由スペースが常に存
在し、またジヤーナル区画にはBバイトの自由ス
ペースが存在することになる。
〔発明の効果〕
以上詳述したように、持久性バツフア201と
ともに持久性の循環式ジヤーナル203を使用す
ることにより、非持久性の1次記憶101の変更
データが失われないようにこれを保護することが
できる。本発明では、循環式ジヤーナル203の
古いエントリを書直すことにより、1次記憶10
1に存在するすべての変更データの写しを常に循
環式ジヤーナル203に保持させることができ
る。1次記憶101中のエントリを走査してこれ
を再記録する必要があるか否かを決定する動作
は、このエントリの参照時に行われる。この手順
はこの走査を時間に関し広げるとともに、必要な
走査の量を減少させる。1次記憶101の各ペー
ジごとの参照ページを適当に使用すると、循環式
ジヤーナル203の一部を再使用する前に再記録
されねばならないレコードを検査するに必要な走
査回数を著しく減少させることができる。
【図面の簡単な説明】
第1図は本発明に従つた階層記憶システムの読
出し/書込み関係に加えて持久性バツフア及び有
限のジヤーナルを示す図、第2図は共有アクセス
式キヤツシユを備えた先行技術の記憶システムを
示す図、第3図は1次記憶と2次記憶のステージ
ング及び読出し/書込み関係を示す図、第4図及
び第5図は1次記憶/キヤツシユのレコードが参
照されるたびに本発明のプロセスを実現する制御
の流れを示す図である。 101…1次記憶、53…2次記憶、201…
持久性バツフア(NVB)、203…循環式ジヤー
ナル。

Claims (1)

  1. 【特許請求の範囲】 1 非持久性の1次記憶と持久性の2次記憶とを
    備え、プロセツサから変更データが供給される場
    合この変更データを前記1次記憶のみに書込み、
    デステージングが行われる場合にのみこの変更デ
    ータを前記1次記憶から前記2次記憶へ移動する
    ようにした階層記憶システムにおいて: (a) 変更データの各々が前記1次記憶へ書込まれ
    ると同時に、その写しを持久性のバツフアに書
    込むステツプと、 (b) 前記バツフアで利用可能なスペースが所定レ
    ベル以下になつたとき、前記バツフアに書込ま
    れている変更データを持久性記憶媒体に設けら
    れた循環式ジヤーナルの予定の区画へ複写する
    ステツプと、 (c) 前記ジヤーナルの或る区画から変更データを
    選択してこれを該ジヤーナルの他の区画へ再記
    録するステツプとから成る、 階層記憶システムにおける1次記憶の内容の保
    護方法。
JP59266572A 1984-03-27 1984-12-19 階層記憶システムにおける1次記憶の内容の保護方法 Granted JPS60207943A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59374784A 1984-03-27 1984-03-27
US593747 1984-03-27

Publications (2)

Publication Number Publication Date
JPS60207943A JPS60207943A (ja) 1985-10-19
JPS6326417B2 true JPS6326417B2 (ja) 1988-05-30

Family

ID=24375982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59266572A Granted JPS60207943A (ja) 1984-03-27 1984-12-19 階層記憶システムにおける1次記憶の内容の保護方法

Country Status (4)

Country Link
EP (1) EP0156179B1 (ja)
JP (1) JPS60207943A (ja)
CA (1) CA1222062A (ja)
DE (1) DE3583349D1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0303856B1 (en) * 1987-08-20 1995-04-05 International Business Machines Corporation Method and apparatus for maintaining duplex-paired devices by means of a dual copy function
US5051887A (en) * 1987-08-25 1991-09-24 International Business Machines Corporation Maintaining duplex-paired storage devices during gap processing using of a dual copy function
JPH0664838B2 (ja) * 1988-09-02 1994-08-22 松下電器産業株式会社 光デイスクファイル装置
US4959768A (en) * 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
AU645757B2 (en) * 1989-08-17 1994-01-27 Fujitsu Limited A system to pass through resource information
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5590274A (en) * 1995-01-23 1996-12-31 Tandem Computers Incorporated Multi-volume audit trails for fault tolerant computers
US20100174676A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Determining modified data in cache for use during a recovery operation
US10229047B2 (en) * 2016-08-06 2019-03-12 Wolley Inc. Apparatus and method of wear leveling for storage class memory using cache filtering

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084231A (en) * 1975-12-18 1978-04-11 International Business Machines Corporation System for facilitating the copying back of data in disc and tape units of a memory hierarchial system

Also Published As

Publication number Publication date
EP0156179A2 (en) 1985-10-02
EP0156179B1 (en) 1991-07-03
EP0156179A3 (en) 1988-10-05
CA1222062A (en) 1987-05-19
DE3583349D1 (de) 1991-08-08
JPS60207943A (ja) 1985-10-19

Similar Documents

Publication Publication Date Title
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
US6119209A (en) Backup directory for a write cache
US4916605A (en) Fast write operations
US6192450B1 (en) Destage of data for write cache
US4875155A (en) Peripheral subsystem having read/write cache with record access
EP0077452B1 (en) Data promotion in storage subsystems
US7111134B2 (en) Subsystem and subsystem processing method
US6341331B1 (en) Method and system for managing a raid storage system with cache
US4779189A (en) Peripheral subsystem initialization method and apparatus
US7472230B2 (en) Preemptive write back controller
US5551002A (en) System for controlling a write cache and merging adjacent data blocks for write operations
US6877065B2 (en) Advanced read cache management
US5651132A (en) Disk array control system
WO1992015933A1 (en) Cache memory system and method of operating the cache memory system
JPS6367686B2 (ja)
JPS6238731B2 (ja)
JPH087702B2 (ja) データ記憶システム及び方法
US7080208B2 (en) Method for data retention in a data cache and data storage system
US5671390A (en) Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
JPS6326417B2 (ja)
US7139874B1 (en) System and method for providing client-directed staging to improve non-sequential access performance in a caching disk storage system
US6865648B1 (en) Data structure for write pending
Menon et al. The IBM 3990 disk cache
US6397295B1 (en) Cache mechanism for shared resources in a multibus data processing system
JP3335919B2 (ja) ディスクキャッシュ制御装置