JPH09319655A - キャッシュ管理方法および記憶装置システム - Google Patents

キャッシュ管理方法および記憶装置システム

Info

Publication number
JPH09319655A
JPH09319655A JP8135258A JP13525896A JPH09319655A JP H09319655 A JPH09319655 A JP H09319655A JP 8135258 A JP8135258 A JP 8135258A JP 13525896 A JP13525896 A JP 13525896A JP H09319655 A JPH09319655 A JP H09319655A
Authority
JP
Japan
Prior art keywords
data
slot
held
block unit
write
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
JP8135258A
Other languages
English (en)
Inventor
Kiyousuke Achiwa
恭介 阿知和
Akira Yamamoto
山本  彰
Takao Sato
孝夫 佐藤
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 JP8135258A priority Critical patent/JPH09319655A/ja
Publication of JPH09319655A publication Critical patent/JPH09319655A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 二重化したキャッシュを持つ記憶装置システ
ムにおいて、キャッシュの利用効率を上げる。 【解決手段】 ダーティーデータCは、そのままの形で
キャッシュAに保持すると共に、クリーンデータDとの
排他的論理和をとって作成した複合データEの形でキャ
ッシュBに保持する。クリーンデータDに対するリード
要求に対しては、キャッシュAのダーティーデータCと
キャッシュBの複合データEの排他的論理和をとってク
リーンデータDを復元して転送する。キャッシュAが閉
塞すると、ディスクからクリーンデータDを読み出し、
キャッシュBの複合データEとの排他的論理和をとって
ダーティーデータCを復元する。 【効果】 ダーティーデータをキャッシュA,Bに二重
に保持するため、障害時のデータの消失を防止できる。
データの二重化にもかかわらず、冗長な保持領域を消費
しないため、キャッシュの利用効率を向上させることが
出来る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュ管理方
法および記憶装置システムに関し、さらに詳しくは、キ
ャッシュを二重化してデータの消失を防止すると共にキ
ャッシュの利用効率を向上させたキャッシュ管理方法お
よび記憶装置システムに関する。
【0002】
【従来の技術】コンピューターシステムにおいて、高速
な半導体メモリと低速な記憶媒体(ディスクなど)の速
度差を埋めるために、データを一時的に保持するキャッ
シュが利用される。このキャッシュを二重化したディス
クサブシステムが、「HITAC A-6591形ディスク制御装置
A-6595形ディスク駆動装置 p.5 〜 p.11 日立製作所」
に記載されている。このディスクサブシステムでは、デ
ィスクに未だ書き込んでいないデータ(ダーティーデー
タ)をキャッシュの2つの閉塞単位(障害等で使用不可
能となる単位)に二重に保持することで、一方の閉塞単
位が閉塞(障害等で使用不可能となること)しても、他
方の閉塞単位に前記データが残るようにし、ディスクサ
ブシステムからデータが消失しないようにしている。
【0003】なお、キャッシュとは関係がないが、ディ
スクからのデータの消失を防止する技術が、D.Patterso
n らによる「A Case for Redundant Arrays of Inexpen
siveDisks(RAID), ACM SIGMODconference proceeding,
Chicago, IL, June1-3,1988,pp.109-116.[RAID]」に記
載されている。このRAIDと呼ばれるディスクアレイ
システムでは、n台のディスクに格納したn個のデータ
の間で排他的論理和をとった演算結果(パリティデータ
と呼ばれる)を別の1台の冗長ディスクに格納すること
で、前記n台のディスクのうちどれか1台が故障して
も、残りのディスクに格納されているデータおよび前記
冗長ディスクに格納されているパリティデータから、故
障したディスクに格納されていたデータを復元できるよ
うになっている。
【0004】
【発明が解決しようとする課題】上記キャッシュを二重
化したディスクサブシステムでは、データをキャッシュ
に二重に保持しなければならないため、キャッシュの容
量の半分のデータ量しかキャッシュを利用できず、キャ
ッシュの利用効率が悪くなる問題点がある。また、上記
RAIDと呼ばれるディスクアレイシステムの技術をキ
ャッシュに適用すると、パリティデータを保持する冗長
な閉塞単位が必要となり、やはりキャッシュの利用効率
が悪くなる問題点がある。そこで、本発明の目的は、キ
ャッシュを二重化してデータの消失を防止すると共にキ
ャッシュの利用効率を向上させたキャッシュ管理方法お
よび記憶装置システムを提供することにある。
【0005】
【課題を解決するための手段】第1の観点では、本発明
は、複数のデータを格納可能な記憶媒体と2つ以上の閉
塞単位からなるキャッシュとを持つ記憶装置システムに
おけるキャッシュ管理方法であって、2つの閉塞単位を
ペアにし、第1の閉塞単位には、記憶媒体に未だ書き込
んでいないデータ(ダーティーデータ)を保持し、第2
の閉塞単位には、前記ダーティーデータと記憶媒体に既
に書き込んであるデータ(クリーンデータ)との間で排
他的論理和をとった演算結果のデータ(複合データ)を
保持することを特徴とするキャッシュ管理方法を提供す
る。上記第1の観点によるキャッシュ管理方法では、第
1の閉塞単位にはダーティーデータをそのまま保持し、
第2の閉塞単位にはダーティーデータとクリーンデータ
との間の排他的論理和をとった複合データを保持する。
上位装置からダーティーデータに対するリード要求があ
った時は、第1の閉塞単位に保持しているデータを転送
すればよい。また、上位装置からクリーンデータに対す
るリード要求があった時は、第1の閉塞単位に保持して
いるダーティーデータと第2の閉塞単位に保持している
複合データとの間で排他的論理和をとってクリーンデー
タを復元し、それを転送すればよい。すなわち、低速な
記憶媒体をアクセスすることなく応答できる。従って、
キャッシュの容量と同じデータ量でキャッシュを利用で
き、冗長な閉塞単位も要らないから、キャッシュの利用
効率を向上できる。障害により第1の閉塞単位が閉塞し
た時は、記憶媒体からクリーンデータを読み出して第2
の閉塞単位の複合データとの間で排他的論理和をとれ
ば、ダーティーデータを復元できる。クリーンデータは
記憶媒体にあるから、第1の閉塞単位が閉塞しても消失
することはない。一方、障害により第2の閉塞単位が閉
塞した時は、ダーティーデータは第1の閉塞単位に保持
されているから、第2の閉塞単位が閉塞しても消失する
ことはない。クリーンデータは記憶媒体にあるから、第
2の閉塞単位が閉塞しても消失することはない。従っ
て、データの二重化を実現でき、データの消失を防止す
ることが出来る。
【0006】なお、従来技術で述べたRAIDの構成と
本発明は、異なるデータ同士で排他的論理和をとる点が
似ている。しかし、RAIDでは、排他的論理和により
作成したパリティーデータは、障害が発生するまで使用
しない冗長なデータである。これに対して、本発明で
は、排他的論理和により作成した複合データは、障害が
発生しないときでも、複合データの元となっているクリ
ーンデータに対するアクセス要求があると使用し、冗長
なデータではない。すなわち、RAIDでは、障害時に
しか必要のない冗長なデータのために冗長な格納領域を
必要とする。一方、本発明では、障害時にしか必要のな
い冗長なデータが存在せず、当然、冗長な格納領域も必
要としない。よって、RAIDの構成と本発明とは本質
的に異なるものである。
【0007】第2の観点では、本発明は、上記構成のキ
ャッシュ管理方法において、複合データの元になったク
リーンデータに対するリード要求があった場合には、第
1の閉塞単位に保持しているダーティデータと第2の閉
塞単位に保持している複合データの間で排他的論理和を
とって前記クリーンデータを復元することを特徴とする
キャッシュ管理方法を提供する。上記第2の観点による
キャッシュ管理方法では、上位装置からクリーンデータ
に対するリード要求があった時、第1の閉塞単位に保持
しているダーティーデータと第2の閉塞単位に保持して
いる複合データとの間で排他的論理和をとってクリーン
データを復元し、それを転送する。従って、低速な記憶
媒体をアクセスすることなく応答できる。
【0008】第3の観点では、本発明は、上記構成のキ
ャッシュ管理方法において、第1の閉塞単位が閉塞した
場合には、複合データの元になったクリーンデータを記
憶媒体から読み出し、そのクリーンデータと第2の閉塞
単位に保持している複合データの間で排他的論理和をと
って前記第1の閉塞単位に保持していたダーティーデー
タを復元することを特徴とするキャッシュ管理方法を提
供する。上記第3の観点によるキャッシュ管理方法で
は、障害により第1の閉塞単位が閉塞した時、記憶媒体
からクリーンデータを読み出して第2の閉塞単位の複合
データとの間で排他的論理和をとり、ダーティーデータ
を復元する。従って、ダーティデータの二重化を実現で
き、データの消失を防止することが出来る。
【0009】第4の観点では、本発明は、複数のデータ
を格納可能な記憶媒体と、2つ以上の閉塞単位からなる
キャッシュとを持つ記憶装置システムにおいて、上位装
置からライト要求があった時に、ライト対象のデータと
同じアドレスのデータが第1の閉塞単位に保持されてい
るか否かを調べ、第1の閉塞単位に保持されているなら
ばその保持されているデータが記憶媒体に既に書き込ん
であるデータ(クリーンデータ)か否かを調べ、クリー
ンデータならば第1の閉塞単位にライト対象のデータを
書き込み、そのライト対象のデータと第2の閉塞単位に
保持されている別のクリーンデータとの間で排他的論理
和をとった演算結果のデータ(複合データ)を第2の閉
塞単位に書き込むライト手段を具備したことを特徴とす
る記憶装置システムを提供する。上記第4の観点による
記憶装置システムでは、第1の閉塞単位に保持されてい
るクリーンデータに対するライト要求があった時に、ラ
イト対象のデータを第1の閉塞単位にダーティーデータ
として保持し、第2の閉塞単位に複合データとして保持
する。これにより、キャッシュを二重化してデータの消
失を防止すると共にキャッシュの利用効率を向上させる
ことが出来る。
【0010】第5の観点では、本発明は、複数のデータ
を格納可能な記憶媒体と、2つ以上の閉塞単位からなる
キャッシュとを持つ記憶装置システムにおいて、上位装
置からライト要求があった時に、ライト対象のデータと
同じアドレスのデータがいずれかの閉塞単位に保持され
ているか否かを調べ、いずれの閉塞単位にも保持されて
いないならば第1の閉塞単位にライト対象のデータを書
き込み、そのライト対象のデータと第2の閉塞単位に保
持されており且つ記憶媒体に既に書き込んであるデータ
(クリーンデータ)との間で排他的論理和をとった演算
結果のデータ(複合データ)を第2の閉塞単位に書き込
むライト手段を具備したことを特徴とする記憶装置シス
テムを提供する。上記第5の観点による記憶装置システ
ムでは、キャッシュに保持されていないデータに対する
ライト要求があった時に、ライト対象のデータを第1の
閉塞単位にダーティーデータとして保持し、第2の閉塞
単位に複合データとして保持する。これにより、キャッ
シュを二重化してデータの消失を防止すると共にキャッ
シュの利用効率を向上させることが出来る。
【0011】第6の観点では、本発明は、上記構成の記
憶装置システムにおいて、上位装置からライト要求があ
った時に、ライト対象のデータと同じアドレスのデータ
が第1の閉塞単位に保持されているか否かを調べ、第1
の閉塞単位に保持されているならばその保持されている
データが記憶媒体に未だ書き込んでいないデータ(ダー
ティーデータ)か否かを調べ、ダーティーデータならば
それを元にした複合データが第2の閉塞単位に保持され
ているか否かを調べ、第2の閉塞単位に保持されている
ならばその保持されているデータと前記ダーティーデー
タとの間で排他的論理和をとってクリーンデータを復元
し、そのクリーンデータと前記ライト対象のデータと第
2の閉塞単位に保持されている別のクリーンデータとの
間で排他的論理和をとった演算結果のデータ(複合デー
タ)を第2の閉塞単位に書き込み、第1の閉塞単位にラ
イト対象のデータを書き込むライト手段を具備したこと
を特徴とする記憶装置システムを提供する。上記第6の
観点による記憶装置システムでは、第1の閉塞単位に保
持されているダーティーデータに対するライト要求があ
った時に、ライト対象のデータを第1の閉塞単位のダー
ティーデータに上書きして保持し、そのダーティデータ
とペアになっている第2の閉塞単位の複合データは更新
して保持する。これにより、キャッシュを二重化してデ
ータの消失を防止すると共にキャッシュの利用効率を向
上させることが出来る。
【0012】第7の観点では、本発明は、上記構成の記
憶装置システムにおいて、上位装置からライト要求があ
った時に、ライト対象のデータと同じアドレスのデータ
が第1の閉塞単位に保持されているか否かを調べ、第1
の閉塞単位に保持されているならばその保持されている
データが複合データか否かを調べ、複合データならば第
2の閉塞単位に保持されており且つ前記複合データの元
になったダーティーデータと第1の閉塞単位に保持され
ているクリーンデータとの間で排他的論理和をとって複
合データを作成し、その複合データを第1の閉塞単位に
書き込み、第1の閉塞単位にライト対象のデータを書き
込み、そのライト対象のデータと第2の閉塞単位に保持
されているクリーンデータとの間で排他的論理和をとっ
た演算結果のデータ(複合データ)を第2の閉塞単位に
書き込むライト手段を具備したことを特徴とする記憶装
置システムを提供する。上記第7の観点による記憶装置
システムでは、第1の閉塞単位に保持されている複合デ
ータの元になったクリーンデータに対するライト要求が
あった時に、前記複合データの元になったダーティーデ
ータと第1の閉塞単位に保持している別のクリーンデー
タの間で新たな複合データを作成し、前記別のクリーン
データに上書きする。また、ライト対象のデータを第1
の閉塞単位にダーティーデータとして保持し、第2の閉
塞単位に複合データとして保持する。これにより、キャ
ッシュを二重化してデータの消失を防止すると共にキャ
ッシュの利用効率を向上させることが出来る。
【0013】第8の観点では、本発明は、上記構成の記
憶装置システムにおいて、上位装置からリード要求があ
った時に、リード対象のデータと同じアドレスのデータ
がいずれかの閉塞単位に保持されているか否かを調べ、
いずれかの閉塞単位に保持されているならばその保持さ
れているデータが複合データか否かを調べ、複合データ
ならば別の閉塞単位に保持されており且つ前記複合デー
タの元になったダーティーデータと前記複合データとの
間で排他的論理和をとってクリーンデータを復元し、そ
のクリーンデータを上位装置へ転送するリード手段を具
備したことを特徴とする記憶装置システムを提供する。
上記第8の観点による記憶装置システムでは、上位装置
から複合データの元になっているクリーンデータに対す
るリード要求があった時、複合データの元になっている
ダーティーデータと複合データとの間で排他的論理和を
とってクリーンデータを復元し、それを転送する。従っ
て、低速な記憶媒体をアクセスすることなく応答でき
る。
【0014】第9の観点では、本発明は、上記構成の記
憶装置システムにおいて、上位装置からリード要求があ
った時に、リード対象のデータと同じアドレスのデータ
がいずれかの閉塞単位に保持されているか否かを調べ、
いずれの閉塞単位にも保持されていないならば記憶媒体
からリード対象のデータを読み出し、そのデータを上位
装置へ転送し、前記読み出したデータと第1の閉塞単位
に保持されているダーティーデータとの間で排他的論理
和をとって複合データを作成し、その複合データを第1
の閉塞単位に書き込むリード手段を具備したことを特徴
とする記憶装置システムを提供する。上記第9の観点に
よる記憶装置システムでは、キャッシュに保持されてい
ないデータに対するリード要求があった時、そのデータ
を記憶媒体から読み出して転送すると共に、そのデータ
を第1の閉塞単位に複合データとして保持する。これに
より、新たな保持領域を消費することなく、新たなデー
タをキャッシュに保持でき、キャッシュの利用効率を向
上させることが出来る。
【0015】
【発明の実施の形態】図1は、本発明の一実施形態の記
憶装置システムの構成図である。この記憶装置システム
1000は、ホストコンピューター1090に接続され
ており、ディスクコントローラー1010およびディス
ク1100から構成される。ディスクコントローラー1
010は、ホストコンピューター1090と通信するホ
ストインターフェース1020と、ディスク1100と
通信するディスクインターフェース1030と、制御プ
ログラムを実行するMPU1040と、制御プログラム
を格納するROM1050と、キャッシュ管理テーブル
を保持するRAM1060と、2つの閉塞単位であるキ
ャッシュA1070およびキャッシュB1080からな
るキャッシュ1140とから構成される。
【0016】図2は、キャッシュA1070およびB1
080に保持しているデータの説明図である。クリーン
データA1400は、ディスク1100に反映済みのデ
ータであるため、キャッシュA1070およびB108
0の両方に保持する必要はなく、キャッシュA1070
にのみ保持する。キャッシュA1070が閉塞しても、
ディスク1100上にクリーンデータA1400が格納
されているため、記憶装置システム1000からクリー
ンデータA1400は消失しない。また、キャッシュB
1070が閉塞しても、クリーンデータA1400には
影響しない。
【0017】ダーティーデータB1410は、ディスク
1100に未反映のデータであるため、キャッシュA1
070およびB1080の両方にそのままの形で保持す
る。キャッシュA1070が閉塞しても、キャッシュB
1080にダーティデータB1410が保持されている
ため、記憶装置システム1000からダーティーデータ
B1410は消失しない。また、キャッシュB1080
が閉塞しても、キャッシュA1070にダーティデータ
B1410が保持されているため、記憶装置システム1
000からダーティーデータB1410は消失しない。
【0018】ダーティーデータC1420は、ディスク
1100に未反映のデータであり、キャッシュA107
0およびB1080に十分な余裕があれば、ダーティー
データB1410と同様に、そのままの形で二重化され
て保持される。しかし、キャッシュA1070およびB
1080に十分な余裕がなければ、キャッシュA107
0にはそのままの形で保持され、キャッシュB1080
にはクリーンデータD1450との排他的論理和をとっ
た演算結果である複合データE1430の形で保持され
る。キャッシュA1070が閉塞すると、ディスク11
00上に格納されているクリーンデータD1450とキ
ャッシュB1080に保持されている複合データE14
30との排他的論理和をとった演算結果がダーティーデ
ータC1420になるため、記憶装置システム1000
からダーティーデータC1420は消失しない。また、
キャッシュB1070が閉塞しても、ダーティーデータ
C1420には影響しない。ここで、クリーンデータD
に対するリード要求があった場合は、キャッシュA10
70のダーティーデータC1420とキャッシュB10
80の複合データE1430との排他的論理和をとった
演算結果がクリーンデータD1450になるため、ディ
スク1100にアクセスせずにクリーンデータD145
0を転送できる。
【0019】従って、キャッシュ1140を、クリーン
データA1400と,ダーティーデータB1410と,
ダーティーデータC1420と,クリーンデータD14
50とで利用できることとなり、利用効率を向上でき
る。
【0020】なお、キャッシュA1070とキャッシュ
B1080の間で利用効率の差が生じないようにするた
めに、次のようにするのが好ましい。 (1)ディスク1100の偶数アドレスのデータ格納単
位に格納するデータに対しては、クリーンデータおよび
主ダーティーデータ(リードライトに主に利用するダー
ティーデータ)をキャッシュA1070に置くように
し、副ダーティーデータ(バックアップ用のダーティー
データ)および複合データをキャッシュB1080に置
くようにする。主ダーティーデータを保持するキャッシ
ュを主キャッシュと呼び、副ダーティーデータを保持す
るキャッシュを副キャッシュと呼ぶ。従って、ディスク
1100の偶数アドレスに格納するデータから見れば、
キャッシュA1070が主キャッシュとなり、キャッシ
ュB1080が副キャッシュとなる。 (2)ディスク1100の奇数アドレスのデータ格納単
位に格納するデータに対しては、クリーンデータおよび
主ダーティーデータをキャッシュB1080に置くよう
にし、副ダーティーデータおよび複合データをキャッシ
ュA1070に置くようにする。従って、ディスク11
00の奇数アドレスに格納するデータから見れば、キャ
ッシュA1070が副キャッシュとなり、キャッシュB
1080が主キャッシュとなる。 (3)上記の(1)(2)より、複合データの作成に使
用するクリーンデータとダーティーデータの一方はディ
スク1100の偶数アドレスのデータ格納単位に格納す
るデータであり、他方はディスク1100の奇数アドレ
スのデータ格納単位に格納するデータである。
【0021】例えば、図2において、クリーンデータA
1400およびダーティーデータC1420は、ディス
ク1100上の偶数アドレスのデータ格納単位に格納す
るデータである。また、ダーティーデータB1410
は、ディスク1100上の偶数アドレスのデータ格納単
位に格納するデータなら、キャッシュA1070の方が
主ダーティーデータであり、キャッシュB1080の方
が副ダーティーデータである。一方、ディスク1100
上の奇数アドレスのデータ格納単位に格納するデータな
ら、キャッシュA1070の方が副ダーティーデータで
あり、キャッシュB1080の方が主ダーティーデータ
である。また、クリーンデータD1450は、ディスク
1100上の奇数アドレスのデータ格納単位に格納する
データである。
【0022】図3は、キャッシュA1070およびB1
080とそれらの管理情報との対応関係を示す説明図で
ある。キャッシュA1070およびB1080は、ディ
スク1100のデータ格納単位と同じサイズのスロット
という単位に分割して管理される。キャッシュA107
0およびB1080のスロット1200は、RAM10
60上のキャッシュ管理テーブル中のスロットテーブル
1210と一対一で対応している。スロットテーブル1
210は、スロット1200を管理するテーブルであ
る。スロットテーブル1210の構成は、図4を参照し
て後述する。キャッシュA1070のスロット1200
に対応するスロットテーブル1210は、スロットテー
ブル集合A1220を構成している。同様に、キャッシ
ュB1080のスロット1200に対応するスロットテ
ーブル1210は、スロットテーブル集合B1230を
構成している。
【0023】図4は、キャッシュ管理テーブルの構造図
である。キャッシュ管理テーブル中のキャッシュテーブ
ル1600は、ディスク1100上の全てのデータ格納
単位に対応するエントリを持っている。あるエントリに
対応するディスク1100上のデータがキャッシュ11
40上のあるスロット1200に保持されているとき
は、当該エントリにそのスロット1200の番号がセッ
トされている。一方、あるエントリに対応するディスク
1100上のデータがキャッシュ1140上に保持され
ていないときは、当該エントリに“−1”がセットされ
ている。図3を参照して説明したように、スロット12
00はスロットテーブル1210と一対一で対応してい
るから、あるエントリにスロット1200の番号がセッ
トされているとき、そのエントリはスロットテーブル1
210と一対一に応付している。
【0024】スロットテーブル1210は、論理アドレ
ス1610と、スロット状態1620と、ペアスロット
番号1630と、前方ポインタ1640と、後方ポイン
タ1650とから構成される。論理アドレス1610に
は、対応するスロット1200が保持しているデータの
ディスク1100上のアドレスを保持する。
【0025】スロット状態1620には、「空き」「ク
リーン」「ダーティー」「二重」「複合」のいずれかの
状態を保持する。「空き」は、対応するスロット120
0に有効なデータが入っていないことを意味する。この
時、当該スロット1200を空きスロットと呼ぶ。「ク
リーン」は、対応するスロット1200にクリーンデー
タを保持していることを意味する。この時、当該スロッ
ト1200をクリーンスロットと呼ぶ。「ダーティー」
は、対応するスロット1200に主ダーティーデータを
保持していることを意味する。この時、当該スロット1
200を主ダーティースロットと呼ぶ。「二重」は、対
応するスロット1200に副ダーティーデータを保持し
ていることを意味する。この時、当該スロット1200
を副ダーティースロットと呼ぶ。「複合」は、対応する
スロット1200に複合データを保持していることを意
味する。この時、当該スロット1200を複合スロット
と呼ぶ。
【0026】ペアスロット番号1630には、スロット
状態1620が「ダーティー」「二重」「複合」のいず
れかのとき、データの二重化のために、対応するスロッ
トとペアになっているスロット1200の番号を保持す
る。スロット状態1620が「空き」「クリーン」のと
きは、何が入っていてもよい。前方ポインタ1640お
よび後方ポインタ1650には、当該スロットテーブル
1210をキューにつなぐためのポインタ情報を保持す
る。キューは、必要な種類のスロット1200を高速に
捜し出すために構成される。
【0027】図5は、スロットテーブル1210のキュ
ーの説明図である。空きキューMRU(Most Recently
Used)ポインタA1800および空きキューLRU(L
east Recently Used)ポインタA1820は、キャッ
シュA1070に存在する空きスロットのスロットテー
ブル1210をつないだキューを構成する。空きキュー
MRUポインタB1830および空きキューLRUポイ
ンタB1840は、キャッシュB1080に存在する空
きスロットのスロットテーブル1210をつないだキュ
ーを構成する。クリーンキューMRUポインタA185
0およびクリーンキューLRUポインタA1860は、
キャッシュA1070に存在するクリーンスロットのス
ロットテーブル1210をつないだキューを構成する。
クリーンキューMRUポインタB1870およびクリー
ンキューLRUポインタB1880は、キャッシュB1
080に存在するクリーンスロットのスロットテーブル
1210をつないだキューを構成する。
【0028】図6は、スロットテーブル1210の別の
キューの説明図である。ダーティーキューMRUポイン
タA1900およびダーティーキューLRUポインタA
1910は、キャッシュA1070に存在する主ダーテ
ィースロットのスロットテーブル1210をつないだキ
ューを構成する。ダーティーキューMRUポインタB1
920およびダーティーキューLRUポインタB193
0は、キャッシュB1080に存在する主ダーティース
ロットのスロットテーブル1210をつないだキューを
構成する。二重化キューMRUポインタA1940およ
び二重化キューLRUポインタA1950は、キャッシ
ュA1070に存在する副ダーティースロットのスロッ
トテーブル1210をつないだキューを構成する。二重
化キューMRUポインタB1960および二重化キュー
LRUポインタB1970は、キャッシュB1080に
存在する副ダーティースロットのスロットテーブル12
10をつないだキューを構成する。
【0029】図7は、主ダーティスロットと副ダーティ
スロットからなるペアスロットの説明図である。データ
キャッシュテーブル1600の、ディスク1100上の
アドレスBのデータ格納単位に対応するエントリには、
当該データ格納単位に格納すべきデータを保持している
スロット1200のスロット番号が入っている。そのス
ロット1200に対応するスロットテーブル1210の
論理アドレス1610には、前記アドレスBが入ってい
る。また、スロット状態1620には、「ダーティー」
が入っている。従って、当該スロット1200は主ダー
ティスロットである。また、ペアスロット番号1630
には、副ダーティースロットになっているスロット12
00のスロット番号が入っている。前記副ダーティスロ
ットになっているスロット1200に対応するスロット
テーブル1210の論理アドレス1610には、前記ア
ドレスBが入っている。但し、使用しないから、何が入
っていてもよい。スロット状態1620には、「二重」
が入っている。従って、当該スロット1200は副ダー
ティスロットである。ペアスロット番号1630には、
主ダーティースロットになっているスロット1200の
スロット番号が入っている。
【0030】図8は、主ダーティスロットと複合スロッ
トからなるペアスロットの説明図である。データキャッ
シュテーブル1600の、ディスク1100上のアドレ
スCのデータ格納単位に対応するエントリには、当該デ
ータ格納単位に格納すべきデータを保持しているスロッ
ト1200のスロット番号が入っている。そのスロット
1200に対応するスロットテーブル1210の論理ア
ドレス1610には、前記アドレスCが入っている。ま
た、スロット状態1620には、「ダーティー」が入っ
ている。従って、当該スロット1200は主ダーティス
ロットである。また、ペアスロット番号1630には、
複合スロットになっているスロット1200のスロット
番号が入っている。前記複合スロットになっているスロ
ット1200に対応するスロットテーブル1210の論
理アドレス1610には、当該複合データの作成に使用
したクリーンデータを格納しているディスク1100の
アドレスEが入っている。スロット状態1620には、
「複合」が入っている。従って、当該スロット1200
は複合スロットである。ペアスロット番号1630に
は、主ダーティースロットになっているスロット120
0のスロット番号が入っている。
【0031】図9は、記憶装置システム1000におけ
るリード処理5000のフローチャートである。ステッ
プ5010では、ホストコンピューター1090からリ
ード要求のあったデータのアドレスからキャッシュテー
ブル1600のエントリを探し、対応するエントリに、
“−1”以外の値がセットされているかどうかを判定す
る。“−1”以外の値がセットされていればステップ5
400へ進み、“−1”の値がセットされていればステ
ップ5800へジャンプする。ステップ5400では、
図10のリードヒット処理を行なう。ステップ5800
では、図11のリードミス処理を行なう。
【0032】図10は、リードヒット処理(5400)
のフローチャートである。ステップ5410では、リー
ド対象のデータのアドレスに対応するキャッシュテーブ
ル1600のエントリに入っているスロット番号を得
る。このスロット番号のスロット1200をリード対象
スロットと呼ぶ。ステップ5420では、リード対象ス
ロットのスロットテーブル1210のスロット状態16
20が「複合」かどうかを判定し、「複合」であればス
テップ5430へ進み、「複合」でなければステップ5
470へジャンプする。ステップ5430では、リード
対象スロットのスロットテーブル1210のペアスロッ
ト番号1630に入っているスロット番号を得る。この
スロット番号のスロット1200をリード対象ペアスロ
ットと呼ぶ。ステップ5440では、リード対象スロッ
トのデータとリード対象ペアスロットのデータの排他的
論理和をとる。ステップ5450では、排他的論理和の
演算結果として得られたデータをホストコンピューター
1090に転送する。ステップ5460では、リード対
象スロットのスロットテーブル1210を、元々つなが
っていたキューのMRU位置に移動し、処理を終了す
る。
【0033】ステップ5470では、リード対象スロッ
ト1200に保持されているデータをホストコンピュー
ター1090に転送する。ステップ5480では、リー
ド対象スロットのスロットテーブル1210を、元々つ
ながっていたキューのMRU位置に移動し、処理を終了
する。
【0034】図11は、リードミス処理(5800)の
フローチャートである。ステップ5810では、主キャ
ッシュの空きキュー(図5)を捜して空きスロットがあ
るかどうかを判定し、なければステップ5820に進
み、あればステップ5920にジャンプする。ステップ
5820では、主キャッシュのクリーンキュー(図5)
を捜してクリーンスロットがあるかどうかを判定し、な
ければステップ5830へ進み、あればステップ593
0にジャンプする。ステップ5830では、主キャッシ
ュの二重化キュー(図6)を捜して副ダーティースロッ
トがあるかどうかを判定し、なければステップ9000
へ進み、あればステップ5840へジャンプする。ステ
ップ9000では、図19に示すライトバック処理を行
なう。そして、前記ステップ5810に戻る。
【0035】ステップ5840では、二重化キューのL
RU位置のスロット1200を得て、これをリード対象
スロットとする。ステップ5850では、リード対象の
データをディスク1100からRAM1060上に読み
だす。ステップ5860では、RAM1060上のリー
ド対象のデータをホストコンピューター1090に転送
する。ステップ5870では、RAM1060上のリー
ド対象のデータと前記リード対象スロットに格納されて
いたデータの排他的論理和をとり、複合データを作成す
る。ステップ5880では、得られた複合データをリー
ド対象スロットに書き込む。ステップ5890では、リ
ード対象スロットのスロットテーブル1210の論理ア
ドレス1610にはリード対象のデータのアドレスを入
れ、スロット状態1620には「複合」を入れる。ステ
ップ5900では、リード対象スロットのスロットテー
ブル1210を元々つながっていたキューから外し、主
キャッシュのクリーンキューのMRU位置につなぎかえ
る。ステップ5910では、リード対象のデータのアド
レスに対応する、キャッシュテーブル1600のエント
リに、リード対象スロットのスロット番号を入れる。そ
して、処理を終了する。
【0036】ステップ5920では、主キャッシュの空
きキューのLRU位置のスロットテーブル1210に対
応するスロット1200を得る。このスロット1200
をリード対象スロットとする。ステップ5940では、
リード対象のデータをディスク1100から前記リード
対象スロット1200上に読み出す。ステップ5950
では、リード対象スロット1200のデータをホストコ
ンピューター1090に転送する。そして、前記ステッ
プ5890に戻る。
【0037】ステップ5930では、主キャッシュのク
リーンキューのLRU位置のスロットテーブル1210
に対応するスロット1200を得る。このスロット12
00をリード対象スロットとする。そして、前記ステッ
プ5940に戻る。
【0038】図12は、記憶装置システム1000にお
けるライト処理6200のフローチャートである。ステ
ップ6210では、ホストコンピューター1090から
ライト要求のあったデータのアドレスからキャッシュテ
ーブル1600のエントリを探し、対応するエントリ
に、“−1”以外の値がセットされているかどうかを判
定する。“−1”以外の値がセットされていればステッ
プ6220へ進み、“−1”の値がセットされていれば
ステップ7000へジャンプする。ステップ6220で
は、ライト対象のデータのアドレスに対応するキャッシ
ュテーブル1600のエントリに入っているスロット番
号を得る。このスロット番号のスロット1200をライ
ト対象スロットと呼ぶ。ステップ6230では、ライト
対象スロットのスロットテーブル1210のスロット状
態1620を見て、「ダーティー」であるかどうかを判
定し、「ダーティー」でなければステップ6240へ進
み、「ダーティー」ならばステップ7400へジャンプ
する。ステップ6240では、ライト対象スロットのス
ロットテーブル1210のスロット状態1620を見
て、「複合」かどうかを判定し、「複合」でなければス
テップ6600へ進み、「複合」ならばステップ780
0へジャンプする。ステップ6600では、図13に示
すクリーンライト処理6600を行なう。そして、処理
を終了する。
【0039】ステップ7000では、図14に示す空き
ライト処理を行なう。そして、処理を終了する。
【0040】ステップ7400では、図15に示すダー
ティーライト処理を行なう。そして、処理を終了する。
【0041】ステップ7800では、図16に示す複合
ライト処理を行なう。そして、処理を終了する。
【0042】図13は、クリーンライト処理(660
0)のフローチャートである。ステップ6610では、
ライト対象スロットにホストコンピューター1090か
らのライトデータを上書きする。ステップ6620で
は、ライト対象スロットのスロットテーブル1210を
クリーンキューから外し、主キャッシュのダーティーキ
ューのMRU位置につなぎかえる。ステップ6630で
は、ライト対象スロットのスロットテーブル1210の
スロット状態1620を「ダーティー」にする。ステッ
プ6640では、副キャッシュの空きキューを調べて、
空きスロットがあるかどうかを判定し、なければステッ
プ6650へ進み、あればステップ6710へジャンプ
する。ステップ6650では、副キャッシュのクリーン
キューを調べて、クリーンスロットがあるかどうかを判
定し、なければステップ9000へ進み、あればステッ
プ6660へジャンプする。ステップ9000では、図
19に示すライトバック処理を行なう。そして、前記ス
テップ6640に戻る。
【0043】ステップ6660では、得られたクリーン
スロット1200を、二重化対象スロットとする。ステ
ップ6670では、二重化対象スロットに元々保持され
ていたデータとホストコンピューター1090からのラ
イトデータの間で排他的論理和をとり、複合データを作
成する。ステップ6680では、得られた複合データ
を、二重化対象スロットに書き込む。ステップ6690
では、二重化対象スロットを元々つながっていたクリー
ンキューのMRU位置に移動する。ステップ6700で
は、二重化対象スロットのスロットテーブル1210の
スロット状態1620を「複合」とし、ペアスロット番
号1630にライト対象スロットのスロット番号を入れ
る。また、ライト対象スロットのスロットテーブル12
10のペアスロット番号1630に二重化対象スロット
のスロット番号を入れる。そして、処理を終了する。
【0044】ステップ6710では、得られた空きスロ
ット1200を二重化対象スロットとする。ステップ6
720では、ホストコンピューター1090からのライ
トデータを二重化対象スロットに書き込む。ステップ6
730では、二重化対象スロットのスロットテーブル1
210を、副キャッシュの二重化キューのMRU位置に
移動する。ステップ6740では、二重化対象スロット
のスロットテーブル1210のスロット状態1620を
「二重」とし、ペアスロット番号1630にライト対象
スロットのスロット番号を入れる。また、ライト対象ス
ロットのスロットテーブル1210のペアスロット番号
1630に二重化対象スロットのスロット番号を入れ
る。そして、処理を終了する。
【0045】図14は、空きライト処理(7000)の
フローチャートである。ステップ7010では、主キャ
ッシュの空きキューを調べて、空きスロット1670が
あるかどうかを判定し、なければステップ7020へ進
み、あればステップ7070へジャンプする。ステップ
7020では、主キャッシュのクリーンキューを調べ
て、クリーンスロット1200があるかどうかを判定
し、なければステップ9000へ進み、あればステップ
7030へジャンプする。ステップ9000では、図1
9に示すライトバック処理を行なう。そして、前記ステ
ップ7010に戻る。
【0046】ステップ7030では、主キャッシュのク
リーンキューのLRU位置につながっているスロット1
200を、ライト対象スロットとする。ステップ704
0では、ライト対象スロットにホストコンピューター1
090からのライトデータを書き込む。ステップ705
0では、ライト対象スロットのスロットテーブル121
0の論理アドレス1610にライト対象のデータのアド
レスを書き込み、スロット状態1620を「ダーティ
ー」とする。ステップ7060では、ライト対象スロッ
トを現在つながっているキューから外して、主キャッシ
ュのダーティーキューのMRU位置に移動する。そし
て、図13の前記ステップ6640へジャンプする。
【0047】ステップ7070では、主キャッシュの空
きキューのLRU位置のスロット1200を、ライト対
象スロットとする。そして、前記ステップ7040へジ
ャンプする。
【0048】図15は、ダーティーライト処理(740
0)のフローチャートである。ステップ7410では、
ライト対象スロットのスロットテーブル1210のペア
スロット番号1630からスロット番号を得る。このス
ロット番号のスロット1200を二重化対象スロットと
する。ステップ7420では、二重化対象スロットのス
ロットテーブル1210のスロット状態1620を見て
「複合」かどうかを判定し、「複合」であればステップ
7430へ進み、「複合」でなければステップ7510
へジャンプする。ステップ7430では、二重化対象ス
ロットに保持されていたデータとライト対象スロットに
保持されていたデータとの間で排他的論理和をとり、ク
リーンデータを復元する。ステップ7440では、復元
したクリーンデータとホストコンピューター1090か
らのライトデータとの間で排他的論理和をとり、新たな
複合データを作成する。ステップ7450では、得られ
た複合データを、二重化対象スロット0に書き込む。ス
テップ7460では、二重化対象スロットを元々つなが
っていたクリーンキューのMRU位置に移動する。ステ
ップ7480では、ライト対象スロットにホストコンピ
ューター1090からのライトデータを上書きする。ス
テップ7490では、ライト対象スロットを元々つなが
っていたダーティーキューのMRU位置に移動する。そ
して、処理を終了する。
【0049】ステップ7510では、ホストコンピュー
ター1090からのライトデータを二重化対象スロット
に書き込む。ステップ7520では、二重化対象スロッ
トを元々つながっていた二重化キューのMRU位置に移
動する。そして、前記ステップ7480にジャンプす
る。
【0050】図16は、複合ライト処理(7800)の
フローチャートである。ステップ7810では、ホスト
コンピューター1090からのライトデータをライト対
象スロットに書き込む。ステップ7820では、ライト
対象スロットのスロットテーブル1210のスロット状
態1620を「ダーティー」とする。ステップ7830
では、ライト対象スロットを元々つながっていたダーテ
ィーキューのMRU位置につなぎかる。ステップ820
0では、図17に示す部分複合ライト処理Aを行なう。
ステップ8600では、図18に示す部分複合ライト処
理Bを行なう。そして、処理を終了する。
【0051】図17は、部分複合ライト処理A(820
0)のフローチャートである。ステップ8210では、
主キャッシュの空きキューを調べて、空きスロットがあ
るかどうかを判定し、なければステップ8220へ進
み、あればステップ8280へジャンプする。ステップ
8220では、主キャッシュのクリーンキューを調べ
て、クリーンスロットがあるかどうかを判定し、なけれ
ばステップ9000へ進み、あればステップ8230へ
ジャンプする。ステップ9000では、図19に示すラ
イトバック処理を行なう。そして、前記ステップ821
0に戻る。
【0052】ステップ8230では、主キャッシュのク
リーンキューのLRU位置のスロット1200を二重化
置き換えとする。ステップ8240では、ライト対象ス
ロットのスロットテーブル1210のペアスロット番号
1630からスロット番号を得て、そのスロット番号の
スロット1200を元ペアスロットとする。ステップ8
250では、二重化置き換えスロットに保持しているデ
ータと元ペアスロットに保持しているデータの間で排他
的論理和をとり、複合データを作成する。ステップ82
60では、作成した複合データを二重化置き換えスロッ
トに書き込む。ステップ8270では、二重化置き換え
スロットのスロットテーブル1210のスロット状態1
620を「複合」とする。そして、処理を終了する。
【0053】ステップ8280では、主キャッシュの空
きキューのLRU位置にあるスロット1200を二重化
置き換えスロットとする。ステップ8285では、ライ
ト対象スロットのスロットテーブル1210のペアスロ
ット番号1630からスロット番号を得て、そのスロッ
ト番号のスロット1200を元ペアスロットとする。ス
テップ8290では、元ペアスロットに保持されている
データを二重化置き換えスロットに書き込む。ステップ
8300では、元ペアスロットのスロットテーブル12
10のペアスロット番号1630に二重化置き換えスロ
ットのスロット番号を入れる。また、二重化置き換えス
ロットのスロットテーブル1210のスロット状態16
20を「二重」とし、ペアスロット番号1630に元ペ
アスロットのスロット番号を入れる。ステップ8310
では、二重化置き換えスロットを主キャッシュの二重化
キューのMRU位置につなぎかえる。そして、処理を終
了する。
【0054】図18は、部分複合ライト処理B(860
0)のフローチャートである。ステップ8610では、
副キャッシュの空きキューを調べて、空きスロットがあ
るかどうかを判定し、なければステップ8620へ進
み、あればステップ8670へジャンプする。ステップ
8620では、副キャッシュのクリーンキューを調べ
て、クリーンスロットがあるかどうかを判定し、なけれ
ばステップ9000へ進み、あればステップ8630へ
ジャンプする。ステップ9000では、図19に示すラ
イトバック処理を行なう。そして、前記ステップ861
0に戻る。
【0055】ステップ8630では、副キャッシュのク
リーンキューのLRU位置のスロット1200を二重化
対象スロットとする。ステップ8640では、二重化対
象スロットに保持されていたデータとホストコンピュー
ター1090からのライトデータとの間で排他的論理和
をとり、複合データを作成する。ステップ8650で
は、作成した複合データを二重化対象スロットに書き込
む。ステップ8660では、二重化対象スロットのスロ
ットテーブル1210のスロット状態1620を「複
合」とし、ペアスロット番号1630にライト対象スロ
ットのスロット番号を書き入れる。そして、処理を終了
する。
【0056】ステップ8670では、副キャッシュの空
きキューのLRU位置のスロット1200を二重化対象
スロットとする。ステップ8680では、二重化対象ス
ロットにホストコンピューター1090からのライトデ
ータを書き込む。ステップ8690では、二重化対象ス
ロットのスロットテーブル1210のスロット状態16
20を「複合」とし、ペアスロット番号1630にライ
ト対象スロットのスロット番号を書き入れる。また、ラ
イト対象スロットのスロットテーブル1210のスロッ
ト状態1620を「ダーティー」とし、ペアスロット番
号1630に二重化対象スロットのスロット番号を書き
入れる。ステップ8700では、二重化対象スロットを
副キャッシュの二重化キューのMRU位置につなぎ替え
る。そして、処理を終了する。
【0057】図19は、ライトバック処理(9000)
のフローチャートである。ライトバック処理(900
0)は、キャッシュA1070,B1080のどちらに
対して行なわれるかを指定して実行される。このため、
ライトバック処理(9000)においてキューについて
言及するときは、指定されたキャッシュのキューを指す
ものとする。ステップ9010では、ダーティーキュー
を調べて、ダーティースロットが存在するかどうかを判
定し、なければ処理を終了し、あればステップ9020
へ進む。ステップ9020では、ダーティーキューのL
RU位置のスロット1200を得て、ライトバック対象
スロットとする。ステップ9030では、ライトバック
対象スロットのスロットテーブル1210のペアスロッ
ト番号1630からスロット番号を得て、そのスロット
番号のスロット1200をライトバック対象ペアスロッ
トとする。ステップ9040では、ライトバック対象ス
ロットに保持されているデータをディスク1100に書
き出す。ステップ9050では、ライトバック対象スロ
ットのスロットテーブル1210のスロット状態162
0を「クリーン」にする。ステップ9060では、ライ
トバック対象スロットをクリーンキューのMRU位置に
移動する。ステップ9080では、ライトバック対象ペ
アスロットのスロットテーブル1210のスロット状態
1620が「複合」であるか否かを判定し、「複合」あ
ればステップ9090へ進み、「複合」でなければステ
ップ9130へジャンプする。ステップ9090では、
ライトバック対象スロットに保持されているデータとラ
イトバック対象ペアスロットに保持されているデータの
間で排他的論理和をとり、クリーンデータを復元する。
ステップ9100では、復元したクリーンデータをライ
トバック対象ペアスロットに書き込む。ステップ911
0では、ライトバック対象ペアスロットのスロットテー
ブル1210のスロット状態1620を「クリーン」に
する。そして、処理を終了する。
【0058】ステップ9130では、ライトバック対象
ペアスロットのスロットテーブル1210のスロット状
態1620を「空き」にする。ステップ9150では、
ライトバック対象ペアスロットを空きキューのMRU位
置につなぎ替える。そして、処理を終了する。
【0059】
【発明の効果】本発明のキャッシュ管理方法および記憶
装置システムによれば、記憶媒体に反映していないデー
タをキャッシュの異なる閉塞単位に二重に保持するた
め、障害時のデータの消失を防止できる。また、そのデ
ータの二重化にもかかわらず、冗長な保持領域を消費し
ないため、キャッシュの利用効率を向上させることが出
来る。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる記憶装置システム
の構成図である。
【図2】キャッシュ上のデータの保持状態の説明図であ
る。
【図3】キャッシュのスロットとスロットテーブルの対
応説明図である。
【図4】キャッシュテーブルとスロットテーブルの説明
図である。
【図5】空きキューおよびクリーンキューの説明図であ
る。
【図6】ダーティーキューおよび二重化キューの説明図
である。
【図7】ペアを構成する2つのダーティースロットの説
明図である。
【図8】ペアを構成するダーティースロットと複合スロ
ットの説明図である。
【図9】リード処理のフローチャートである。
【図10】リードヒット処理のフローチャートである。
【図11】リードミス処理のフローチャートである。
【図12】ライト処理のフローチャートである。
【図13】クリーンライト処理のフローチャートであ
る。
【図14】空きライト処理のフローチャートである。
【図15】ダーティーライト処理のフローチャートであ
る。
【図16】複合ライト処理のフローチャートである。
【図17】部分複合ライト処理Aのフローチャートであ
る。
【図18】部分複合ライト処理Bのフローチャートであ
る。
【図19】ライトバック処理のフローチャートである。
【符号の説明】
1000…記憶装置システム 1010…ディスクコントローラー 1040…MPU 1100…ディスク 1140…キャッシュ 1070…キャッシュA(一つの閉塞単位) 1080…キャッシュB(一つの閉塞単位)

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータを格納可能な記憶媒体と2
    つ以上の閉塞単位からなるキャッシュとを持つ記憶装置
    システムにおけるキャッシュ管理方法であって、2つの
    閉塞単位をペアにし、第1の閉塞単位には、記憶媒体に
    未だ書き込んでいないデータ(ダーティーデータ)を保
    持し、第2の閉塞単位には、前記ダーティーデータと記
    憶媒体に既に書き込んであるデータ(クリーンデータ)
    との間で排他的論理和をとった演算結果のデータ(複合
    データ)を保持することを特徴とするキャッシュ管理方
    法。
  2. 【請求項2】 請求項1に記載のキャッシュ管理方法に
    おいて、複合データの元になったクリーンデータに対す
    るリード要求があった場合には、第1の閉塞単位に保持
    しているダーティデータと第2の閉塞単位に保持してい
    る複合データの間で排他的論理和をとって前記クリーン
    データを復元することを特徴とするキャッシュ管理方
    法。
  3. 【請求項3】 請求項1に記載のキャッシュ管理方法に
    おいて、第1の閉塞単位が閉塞した場合には、複合デー
    タの元になったクリーンデータを記憶媒体から読み出
    し、そのクリーンデータと第2の閉塞単位に保持してい
    る複合データの間で排他的論理和をとって前記第1の閉
    塞単位に保持していたダーティーデータを復元すること
    を特徴とするキャッシュ管理方法。
  4. 【請求項4】 複数のデータを格納可能な記憶媒体と、
    2つ以上の閉塞単位からなるキャッシュとを持つ記憶装
    置システムにおいて、 上位装置からライト要求があった時に、ライト対象のデ
    ータと同じアドレスのデータが第1の閉塞単位に保持さ
    れているか否かを調べ、第1の閉塞単位に保持されてい
    るならばその保持されているデータが記憶媒体に既に書
    き込んであるデータ(クリーンデータ)か否かを調べ、
    クリーンデータならば第1の閉塞単位にライト対象のデ
    ータを書き込み、そのライト対象のデータと第2の閉塞
    単位に保持されている別のクリーンデータとの間で排他
    的論理和をとった演算結果のデータ(複合データ)を第
    2の閉塞単位に書き込むライト手段を具備したことを特
    徴とする記憶装置システム。
  5. 【請求項5】 複数のデータを格納可能な記憶媒体と、
    2つ以上の閉塞単位からなるキャッシュとを持つ記憶装
    置システムにおいて、 上位装置からライト要求があった時に、ライト対象のデ
    ータと同じアドレスのデータがいずれかの閉塞単位に保
    持されているか否かを調べ、いずれの閉塞単位にも保持
    されていないならば第1の閉塞単位にライト対象のデー
    タを書き込み、そのライト対象のデータと第2の閉塞単
    位に保持されており且つ記憶媒体に既に書き込んである
    データ(クリーンデータ)との間で排他的論理和をとっ
    た演算結果のデータ(複合データ)を第2の閉塞単位に
    書き込むライト手段を具備したことを特徴とする記憶装
    置システム。
  6. 【請求項6】 請求項4または請求項5のいずれかに記
    載の記憶装置システムにおいて、 上位装置からライト要求があった時に、ライト対象のデ
    ータと同じアドレスのデータが第1の閉塞単位に保持さ
    れているか否かを調べ、第1の閉塞単位に保持されてい
    るならばその保持されているデータが記憶媒体に未だ書
    き込んでいないデータ(ダーティーデータ)か否かを調
    べ、ダーティーデータならばそれを元にした複合データ
    が第2の閉塞単位に保持されているか否かを調べ、第2
    の閉塞単位に保持されているならばその保持されている
    データと前記ダーティーデータとの間で排他的論理和を
    とってクリーンデータを復元し、そのクリーンデータと
    前記ライト対象のデータと第2の閉塞単位に保持されて
    いる別のクリーンデータとの間で排他的論理和をとった
    演算結果のデータ(複合データ)を第2の閉塞単位に書
    き込み、第1の閉塞単位にライト対象のデータを書き込
    むライト手段を具備したことを特徴とする記憶装置シス
    テム。
  7. 【請求項7】 請求項4から請求項6のいずれかに記載
    の記憶装置システムにおいて、 上位装置からライト要求があった時に、ライト対象のデ
    ータと同じアドレスのデータが第1の閉塞単位に保持さ
    れているか否かを調べ、第1の閉塞単位に保持されてい
    るならばその保持されているデータが複合データか否か
    を調べ、複合データならば第2の閉塞単位に保持されて
    おり且つ前記複合データの元になったダーティーデータ
    と第1の閉塞単位に保持されているクリーンデータとの
    間で排他的論理和をとって複合データを作成し、その複
    合データを第1の閉塞単位に書き込み、第1の閉塞単位
    にライト対象のデータを書き込み、そのライト対象のデ
    ータと第2の閉塞単位に保持されているクリーンデータ
    との間で排他的論理和をとった演算結果のデータ(複合
    データ)を第2の閉塞単位に書き込むライト手段を具備
    したことを特徴とする記憶装置システム。
  8. 【請求項8】 請求項4から請求項7のいずれかに記載
    の記憶装置システムにおいて、 上位装置からリード要求があった時に、リード対象のデ
    ータと同じアドレスのデータがいずれかの閉塞単位に保
    持されているか否かを調べ、いずれかの閉塞単位に保持
    されているならばその保持されているデータが複合デー
    タか否かを調べ、複合データならば別の閉塞単位に保持
    されており且つ前記複合データの元になったダーティー
    データと前記複合データとの間で排他的論理和をとって
    クリーンデータを復元し、そのクリーンデータを上位装
    置へ転送するリード手段を具備したことを特徴とする記
    憶装置システム。
  9. 【請求項9】 請求項4から請求項8のいずれかに記載
    の記憶装置システムにおいて、 上位装置からリード要求があった時に、リード対象のデ
    ータと同じアドレスのデータがいずれかの閉塞単位に保
    持されているか否かを調べ、いずれの閉塞単位にも保持
    されていないならば記憶媒体からリード対象のデータを
    読み出し、そのデータを上位装置へ転送し、前記読み出
    したデータと第1の閉塞単位に保持されているダーティ
    ーデータとの間で排他的論理和をとって複合データを作
    成し、その複合データを第1の閉塞単位に書き込むリー
    ド手段を具備したことを特徴とする記憶装置システム。
JP8135258A 1996-05-29 1996-05-29 キャッシュ管理方法および記憶装置システム Pending JPH09319655A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8135258A JPH09319655A (ja) 1996-05-29 1996-05-29 キャッシュ管理方法および記憶装置システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8135258A JPH09319655A (ja) 1996-05-29 1996-05-29 キャッシュ管理方法および記憶装置システム

Publications (1)

Publication Number Publication Date
JPH09319655A true JPH09319655A (ja) 1997-12-12

Family

ID=15147507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8135258A Pending JPH09319655A (ja) 1996-05-29 1996-05-29 キャッシュ管理方法および記憶装置システム

Country Status (1)

Country Link
JP (1) JPH09319655A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269636A (ja) * 2008-06-03 2008-11-06 Hitachi Ltd ストレージサブシステム及びストレージサブシステムの制御方法
JP6009095B2 (ja) * 2013-10-09 2016-10-19 株式会社日立製作所 ストレージシステム及び記憶制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269636A (ja) * 2008-06-03 2008-11-06 Hitachi Ltd ストレージサブシステム及びストレージサブシステムの制御方法
JP6009095B2 (ja) * 2013-10-09 2016-10-19 株式会社日立製作所 ストレージシステム及び記憶制御方法

Similar Documents

Publication Publication Date Title
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US5459857A (en) Fault tolerant disk array data storage subsystem
US5124987A (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5636359A (en) Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US6557140B2 (en) Disk array system and its control method
JP2691120B2 (ja) 記憶管理サブシステムおよびブロックの高速書込みの方法
US5617530A (en) Storage device array architecture with copyback cache
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
US5884098A (en) RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems
US6009481A (en) Mass storage system using internal system-level mirroring
CN101291347B (zh) 一种网络存储系统
US4916605A (en) Fast write operations
US6006342A (en) Failover and failback system for a direct access storage device
US5410667A (en) Data record copy system for a disk drive array data storage subsystem
US5430855A (en) Disk drive array memory system using nonuniform disk drives
CA2044521C (en) Method and apparatus for recovering parity protected data
US6604171B1 (en) Managing a cache memory
US5581724A (en) Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
JP3239669B2 (ja) 記憶制御装置及びその制御方法
US6591335B1 (en) Fault tolerant dual cache system
US7228381B2 (en) Storage system using fast storage device for storing redundant data
US20050034013A1 (en) Method and apparatus for the takeover of primary volume in multiple volume mirroring
JP2000099282A (ja) ファイル管理システム
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
JP2001142778A (ja) キャッシュ・メモリを管理する方法、多重細分性キャッシュ・メモリ・システム、及び該システムを制御するメモリ媒体