JPH06175922A - キャッシュ管理装置 - Google Patents

キャッシュ管理装置

Info

Publication number
JPH06175922A
JPH06175922A JP4351638A JP35163892A JPH06175922A JP H06175922 A JPH06175922 A JP H06175922A JP 4351638 A JP4351638 A JP 4351638A JP 35163892 A JP35163892 A JP 35163892A JP H06175922 A JPH06175922 A JP H06175922A
Authority
JP
Japan
Prior art keywords
secondary storage
cache
storage device
area
data block
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
JP4351638A
Other languages
English (en)
Inventor
Makoto Kodera
誠 小寺
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 JP4351638A priority Critical patent/JPH06175922A/ja
Publication of JPH06175922A publication Critical patent/JPH06175922A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 二次記憶装置の障害発生時のキャッシュメモ
リ内容を保障する。 【構成】 キャッシュ制御装置13でキャッシュメモリ
1から二次記憶装置15への更新要求が発生したとき、
まず、キャッシュ情報管理装置2から該当するデータブ
ロックのディスクアドレスを捜し出し、二次記憶装置1
5に対し書き込み要求を出す。そして、二次記憶装置1
5上のそのディスクアドレスの領域の書き込みが行なえ
なかったときは、その旨の通知を受ける。これにより、
書き込み領域変更部4が二次記憶領域管理装置3から空
き領域を捜し出し、そのディスクアドレスを指定して二
次記憶装置15の再書き込みを行なう。これと同時に、
キャッシュ情報変更部5はキャッシュ情報管理装置2の
該当するディスクアドレスを書き換える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、二次記憶装置で発生し
た一時的な障害によりキャッシュメモリ上の最新のデー
タが失われないようにしたキャッシュ管理装置に関する
ものである。
【0002】
【従来の技術】従来、計算機の二次記憶装置へのアクセ
スを高速化するため、キャッシュメモリが設けられるの
が一般的となっている。このようなキャッシュメモリを
管理するキャッシュ管理装置は、二次記憶装置へのアク
セスを最小限に抑える構成となっている。図2は、従来
のキャッシュ管理装置の一例のブロック図である。図2
において、アクセス要求装置41は、二次記憶装置45
に格納されたデータの取り出し要求51又は更新要求5
2を出す。ファイル操作装置42は、これらのアクセス
要求を受け取り、二次記憶装置45上の領域を決定す
る。そして、キャッシュ管理装置43にこの領域に対す
るアクセス要求を出す。
【0003】まず、データ取り出し処理について説明す
る。ファイル操作装置42は、取り出し要求51に指定
された論理アドレスに対する取り出し要求53をキャッ
シュ管理装置43に出す。キャッシュ管理装置43は、
内部のテーブルを参照して該当する論理アドレスのデー
タがキャッシュメモリ44に格納されているか否かを調
べる。キャッシュメモリ44に格納されている場合に
は、該当するデータ54を取り出す。一方、キャッシュ
メモリ44に格納されていない場合には、二次記憶装置
45に取り出し要求56を出し、該当するデータブロッ
ク57を受け取る。ここに、二次記憶装置のアクセス単
位のデータをデータブロックということとする。キャッ
シュ管理装置43は、二次記憶装置45から受け取った
データブロック58をキャッシュメモリ54に格納す
る。そして、アクセス要求装置41が要求したデータ5
9を当該データブロック中から取り出してファイル操作
装置42を介してアクセス要求装置41に送る。
【0004】次に、データ更新処理について説明する。
ファイル操作装置42は、更新要求52に指定された論
理アドレスに対する取り出し要求60をキャッシュ管理
装置43に出す。キャッシュ管理装置43は、内部のテ
ーブルを参照して該当する論理アドレスのデータがキャ
ッシュメモリ44に格納されているか否かを調べる。キ
ャッシュメモリ44に格納されている場合には、該当す
るデータブロック61のみを更新する。一方、キャッシ
ュメモリ44に格納されていない場合には、二次記憶装
置45に更新要求62を出し、該当するデータブロック
を更新する。キャッシュ管理装置43は、キャッシュメ
モリ44に空き領域がある場合に更新したデータブロッ
ク61をキャッシュメモリ44にも格納する。そして、
ファイル操作装置42に対し処理結果63を返答し、更
に、アクセス要求装置41に対し結果64を通知する。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、二
次記憶装置は、磁気ディスク装置等から成り、動作中に
磁性面の劣化によるアクセスエラーを発生することがあ
る。そして、このような二次記憶装置の障害が発生する
確率は、半導体メモリを使用したキャッシュメモリの障
害が発生する確率よりも高い。従って、キャッシュメモ
リから二次記憶装置へのデータブロックの転送要求時に
二次記憶装置の障害が発生すると、キャッシュメモリ上
のデータブロックの転送先がなくなってしまう。キャッ
シュメモリから二次記憶装置へのデータ転送方式には、
上述したように、データの更新時にキャッシュメモリ上
に該当するデータブロックがあるときは、キャッシュメ
モリ上のデータブロックのみを更新する方式がある。こ
の方式は、ライトバック方式と呼ばれる。このような方
式のキャッシュ管理装置では、キャッシュメモリから二
次記憶装置へのデータブロックの転送要求時に二次記憶
装置の障害が発生すると、キャッシュメモリ上に最新の
データブロックがあるにもかかわらず、その転送先がな
くなってしまう。この結果、キャッシュメモリ上の最新
のデータが失われてしまうという問題があった。本発明
は、以上の点に着目してなされたもので、二次記憶装置
の動作中に障害が発生した場合にもキャッシュメモリ上
の更新データが失われないようにしたキャッシュ管理装
置を提供することを目的とするものである。
【0006】
【課題を解決するための手段】本発明のキャッシュ管理
装置は、二次記憶装置上のデータをブロック毎に転送し
て記憶するキャッシュメモリと、当該キャッシュメモリ
上の各データブロックの記憶位置に対応して前記二次記
憶装置上のデータ記憶領域のアドレスを記憶し管理する
キャッシュ情報管理装置と、前記二次記憶装置上の記憶
領域の空き状態を管理する二次記憶領域管理装置と、前
記キャッシュメモリから前記二次記憶装置へのデータブ
ロックの書き込み時に、当該書き込み操作が失敗したと
き、前記二次記憶領域管理装置により検出された空き領
域に当該データブロックを書き込む書き込み領域変更部
と、前記キャッシュ情報管理装置上に記憶されたアドレ
スを、当該書き込み領域変更部がデータブロックの書き
込みを行なった空き領域のアドレスに置き換えるキャッ
シュ情報変更部とを備えたことを特徴とするものであ
る。
【0007】
【作用】本発明のキャッシュ管理装置においては、キャ
ッシュ制御装置でキャッシュメモリから二次記憶装置へ
の更新要求が発生したとき、まず、キャッシュ情報管理
装置から該当するデータブロックのディスクアドレスが
捜し出される。次に、二次記憶装置に対し書き込み要求
が出される。そして、二次記憶装置上のそのディスクア
ドレスの領域の書き込みが行なわれなかったときは、キ
ャッシュ制御装置はその旨の通知を受ける。これによ
り、書き込み領域変更部が二次記憶領域管理装置から空
き領域を捜し出し、そのディスクアドレスを指定して二
次記憶装置の再書き込みを行なう。これと同時に、キャ
ッシュ情報変更部によりキャッシュ情報管理装置の該当
するディスクアドレスが書き換えられる。これにより、
二次記憶装置の障害発生時にキャッシュメモリ上の最新
の更新データを二次記憶装置上の正常な領域に書き込
む。
【0008】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のキャッシュ管理装置の一
実施例のブロック図である。図示の装置は、キャッシュ
メモリ1と、キャッシュ情報管理装置2と、二次記憶領
域管理装置3と、書き込み領域変更部4と、キャッシュ
情報変更部5とを備えている。キャッシュメモリ1は、
ランダム・アクセス・メモリ等から成り、二次記憶装置
上のデータをブロック毎に転送して記憶する。例えば、
トリー構造のファイルのディレクトリについても、根デ
ィレクトリ、幹ディレクトリ、枝ディレクトリ、葉ディ
レクトリ等がブロック毎に格納される。
【0009】キャッシュ情報管理装置2は、ランダム・
アクセス・メモリ等から成り、当該キャッシュメモリ1
上の各データブロックの記憶位置に対応して二次記憶装
置15上のデータ記憶領域のアドレスを記憶し管理す
る。そして、これらの情報は、アクセス要求装置が使用
する論理アドレスに対応して管理される。キャッシュ制
御装置13は、論理アドレスによりキャッシュ情報管理
装置2を参照することで、該当するデータのキャッシュ
メモリ上の記憶位置と、二次記憶装置上のディスクアド
レスとのどちらも検索することができる。二次記憶領域
管理装置3は、やはりランダム・アクセス・メモリ等か
ら成り、二次記憶装置15上のブロック毎にそのブロッ
クが使用状態か空き状態かを記憶する。これにより、二
次記憶装置15上の記憶領域の空き状態を管理する。
【0010】書き込み領域変更部4は、キャッシュ制御
装置13の一部であり、キャッシュメモリ1から二次記
憶装置15へのデータブロックの書き込み時に、当該書
き込み操作が失敗したとき、二次記憶領域管理装置3に
より二次記憶装置15上の空き領域を検出する。そし
て、検出された空き領域に当該データブロックを書き込
む。これにより、二次記憶装置15上で障害を発生した
領域の代替領域を割り当て、そこにキャッシュメモリ1
上のデータブロックを書き込む。キャッシュ情報変更部
5は、キャッシュ制御装置13の一部であり、キャッシ
ュ情報管理装置2上に記憶されたアドレスを、書き込み
領域変更部4がデータブロックの書き込みを行なった空
き領域のアドレスに置き換える。これにより、同じ論理
アドレスに対し、アクセス要求があり、二次記憶装置1
5への書き込みが必要となるときは、直ちに代替された
アドレスの領域に対し、書き込みが行なわれる。
【0011】二次記憶装置15は、磁気ディスク装置又
は光ディスク装置等から成り、ブロック毎に読み出し及
び書き込みが可能である。図3は、本発明のキャッシュ
管理装置におけるデータの流れの説明図である。アクセ
ス要求装置11は、データブロックの更新要求21を発
行する。この更新要求21は、ファイル管理装置12に
よってキャッシュ制御装置13へのデータブロック更新
処理要求22に置き換えられる。キャッシュ制御装置1
3は、データブロック更新処理要求22を受け取る。そ
して、この要求に該当するデータブロックがキャッシュ
メモリ1に格納されているか否かをキャッシュ情報管理
装置2を検索することにより判断する。格納されている
場合には、キャッシュメモリ1に対して該当するデータ
ブロックの更新処理要求23を発行する。
【0012】二次記憶装置15に対する更新処理が必要
となった場合、キャッシュ制御装置13は、キャッシュ
情報記憶装置2に問い合わせ24を発行し、当該データ
ブロックに対応する二次記憶装置15上のディスクアド
レス25を取り出す。キャッシュ制御装置13は、この
ディスクアドレスに対し、二次記憶装置15への更新処
理要求26を発行する。ところが、このとき、二次記憶
装置15の障害により二次記憶装置15上のデータブロ
ックの内容の更新を失敗した旨の通知27が返却される
場合がある。この場合、キャッシュ制御装置13は、二
次記憶領域管理装置3に代替領域の割り当ての要求28
を出す。この要求により、二次記憶領域管理装置3は、
空き領域を捜し出して代替領域29を返却する。キャッ
シュ制御装置13は、この代替領域29を受信し、二次
記憶装置15の別の領域にデータブロック30を書き込
む。そして、これと同時に、キャッシュ情報管理装置2
に対して、当該データブロックに対応する二次記憶装置
上15のディスクアドレス31を書き込む。
【0013】この後、キャッシュ制御装置13からファ
イル操作装置12へ処理結果32が返却され、更に、ア
クセス要求装置11に通知33が送られる。これによ
り、一連の処理が終了する。図4は、キャッシュ管理装
置の更新処理手順を説明するフローチャートである。ま
ず、アクセス要求装置からファイル操作装置を介して更
新処理要求があったか否かを判別する(ステップS
1)。更新処理要求があったときは、該当するデータブ
ロックがキャッシュメモリ上に存在するか否かを判定す
る(ステップS2)。この判定は、キャッシュ情報管理
装置を検索することにより行なわれる。キャッシュメモ
リ上に該当するデータブロックがあるときは、そのデー
タブロックのみを更新する(ステップS3)。キャッシ
ュメモリ上に該当するデータブロックがないときは、キ
ャッシュメモリに空き領域があるか否かを判定する(ス
テップS4)。この判定もキャッシュ情報管理装置を検
索することにより行なうことができる。空き領域がある
ときは、そこに更新データを格納する(ステップS
5)。空き領域がないときは、キャッシュメモリ上の最
も古く参照されたデータブロックを二次記憶装置へ転送
する。これにより、二次記憶装置の更新要求が発生する
(ステップS6)。そして、古いデータブロックのあっ
た領域に更新データを含むデータブロックが格納される
(ステップS7)。
【0014】図5は、本発明の装置による二次記憶装置
の更新処理手順を説明するフローチャートである。ま
ず、二次記憶装置の更新が必要か否かを判定する(ステ
ップS11)。二次記憶装置の更新の必要は、キャッシ
ュメモリにデータブロックを格納すべき空き領域がない
ときに発生する。次に、キャッシュ情報管理装置から該
当するデータブロックに対応する二次記憶装置上のアド
レスを取得する(ステップS12)。そして、二次記憶
装置に更新要求を出す(ステップS13)。二次記憶装
置の障害がなければ更新処理が終了する。二次記憶装置
の障害が発生したときは(ステップS14)、二次記憶
領域管理装置によって二次記憶装置上の代替アドレスを
割り当てる(ステップS15)。即ち、二次記憶装置上
の空いている領域のディスクアドレスを捜し出してキャ
ッシュ情報管理装置の該当するディスクアドレスを書き
換える。そして、二次記憶装置の更新要求を出す(ステ
ップS16)。この更新要求によって、二次記憶装置内
の障害のない代替領域にキャッシュメモリの最新のデー
タブロックが書き込まれる。従って、最新のデータブロ
ックが失われることがない。尚、上述した実施例におい
ては、キャッシュメモリに空き領域がないときにキャッ
シュメモリの最新のデータブロックを二次記憶装置に書
き込むようにしたが、これに限らず例えば、定期的にキ
ャッシュメモリから二次記憶装置へデータブロックを書
き込むようにしてもよい。
【0015】
【発明の効果】以上説明したように、本発明のキャッシ
ュ管理装置によれば、二次記憶装置の障害の発生時に代
替されるアドレスを求め、キャッシュメモリ上のデータ
ブロックの記憶位置に対応して記憶されるアドレスを書
き換えて再書き込みを行なうようにしたので、キャッシ
ュメモリ上の最新のデータブロックが無効とされること
を防止しつつ、動的に発生する二次記憶装置の障害回復
を行なうことができる。これにより、障害に対してより
信頼性の高い計算機システムを構築することができる。
【図面の簡単な説明】
【図1】本発明のキャッシュ管理装置の一実施例のブロ
ック図である。
【図2】従来のキャッシュ管理装置の一例のブロック図
である。
【図3】本発明のキャッシュ管理装置におけるデータの
流れの説明図である。
【図4】キャッシュ管理装置の更新処理手順を説明する
フローチャートである。
【図5】本発明の装置による二次記憶装置の更新処理手
順を説明するフローチャートである。
【符号の説明】
1 キャッシュメモリ 2 キャッシュ情報管理装置 3 二次記憶領域管理装置 4 書き込み領域変更部 5 キャッシュ情報変更部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 二次記憶装置上のデータをブロック毎に
    転送して記憶するキャッシュメモリと、 当該キャッシュメモリ上の各データブロックの記憶位置
    に対応して前記二次記憶装置上のデータ記憶領域のアド
    レスを記憶し管理するキャッシュ情報管理装置と、 前記二次記憶装置上の記憶領域の空き状態を管理する二
    次記憶領域管理装置と、 前記キャッシュメモリから前記二次記憶装置へのデータ
    ブロックの書き込み時に、当該書き込み操作が失敗した
    とき、前記二次記憶領域管理装置により検出された空き
    領域に当該データブロックを書き込む書き込み領域変更
    部と、 前記キャッシュ情報管理装置上に記憶されたアドレス
    を、当該書き込み領域変更部がデータブロックの書き込
    みを行なった空き領域のアドレスに置き換えるキャッシ
    ュ情報変更部とを備えたことを特徴とするキャッシュ管
    理装置。
JP4351638A 1992-12-08 1992-12-08 キャッシュ管理装置 Pending JPH06175922A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4351638A JPH06175922A (ja) 1992-12-08 1992-12-08 キャッシュ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4351638A JPH06175922A (ja) 1992-12-08 1992-12-08 キャッシュ管理装置

Publications (1)

Publication Number Publication Date
JPH06175922A true JPH06175922A (ja) 1994-06-24

Family

ID=18418610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4351638A Pending JPH06175922A (ja) 1992-12-08 1992-12-08 キャッシュ管理装置

Country Status (1)

Country Link
JP (1) JPH06175922A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525753A (ja) * 2004-02-04 2007-09-06 サンディスク コーポレイション デュアルメディアストレージデバイス
JP2010282324A (ja) * 2009-06-03 2010-12-16 Fujitsu Ltd ストレージ制御装置、ストレージシステムおよびストレージ制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525753A (ja) * 2004-02-04 2007-09-06 サンディスク コーポレイション デュアルメディアストレージデバイス
JP2010282324A (ja) * 2009-06-03 2010-12-16 Fujitsu Ltd ストレージ制御装置、ストレージシステムおよびストレージ制御方法

Similar Documents

Publication Publication Date Title
US6594744B1 (en) Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
JP2837785B2 (ja) データ・コヒーレンス制御方法
US6311193B1 (en) Computer system
US5261088A (en) Managing locality in space reuse in a shadow written B-tree via interior node free space list
US7035881B2 (en) Organization of read-write snapshot copies in a data storage system
US5379391A (en) Method and apparatus to access data records in a cache memory by multiple virtual addresses
US7139933B2 (en) Preserving cache data against cluster reboot
US5835908A (en) Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
US6119209A (en) Backup directory for a write cache
US5134696A (en) Virtual lookaside facility
US9501421B1 (en) Memory sharing and page deduplication using indirect lines
US20030200394A1 (en) Cache memory arrangement and methods for use in a cache memory system
US5504857A (en) Highly available fault tolerant relocation of storage with atomicity
US6944726B2 (en) Distributed background track processing
US10387275B2 (en) Resume host access based on transaction logs
US20050027819A1 (en) Storage system, server apparatus, and method for creating a plurality of snapshots
GB2277615A (en) Disk meshing and flexible storage mapping with enhanced flexible caching
US20060224639A1 (en) Backup system, program and backup method
GB2253079A (en) Stable memory protection using capability tables
US5247647A (en) Detection of deletion of stored data by concurrently executing processes in a multiprocessing data processing system
JP3866447B2 (ja) マルチプロセッサ・ノードデータ処理システムに使用するディレクトリエントリ割当てシステム及び方法
US5600596A (en) Data access scheme with simplified fast data writing
US7177980B2 (en) Cache storage system and method
EP0482853A2 (en) Method and apparatus for storage device management
US5900009A (en) System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element