JPH0695968A - 記憶管理サブシステムおよびブロックの高速書込みの方法 - Google Patents
記憶管理サブシステムおよびブロックの高速書込みの方法Info
- Publication number
- JPH0695968A JPH0695968A JP5100631A JP10063193A JPH0695968A JP H0695968 A JPH0695968 A JP H0695968A JP 5100631 A JP5100631 A JP 5100631A JP 10063193 A JP10063193 A JP 10063193A JP H0695968 A JPH0695968 A JP H0695968A
- Authority
- JP
- Japan
- Prior art keywords
- block
- cache
- parity
- blocks
- dasd
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 LRUキャッシュ指向DASDアレイへのブ
ロックの高速書込み、ならびにキャッシュ/DASDア
レイのデステージの際に所定数のハード及びソフト障害
が発生した場合の回復をし高速書込みを使用する方法及
び手段を提供すること。 【構成】 もっとも最近参照された(LRU)元のある
いは更新されたブロックのみと、同じ論理トラックを占
めており、かつ事前定義済みの下位LRU範囲に配列さ
れたすべての他の元のあるいは更新されたブロックをキ
ャッシュからデステージすることによって実現され、デ
ステージはキャッシュ・ミスに応じて開始される。デス
テージ・ステップはさまざまな信頼性の一連のデステー
ジ・ステップから選択可能である。
ロックの高速書込み、ならびにキャッシュ/DASDア
レイのデステージの際に所定数のハード及びソフト障害
が発生した場合の回復をし高速書込みを使用する方法及
び手段を提供すること。 【構成】 もっとも最近参照された(LRU)元のある
いは更新されたブロックのみと、同じ論理トラックを占
めており、かつ事前定義済みの下位LRU範囲に配列さ
れたすべての他の元のあるいは更新されたブロックをキ
ャッシュからデステージすることによって実現され、デ
ステージはキャッシュ・ミスに応じて開始される。デス
テージ・ステップはさまざまな信頼性の一連のデステー
ジ・ステップから選択可能である。
Description
【0001】
【産業上の利用分野】本発明は直接アクセス記憶装置
(DASD)アレイ、詳細にいえば、LRUキャッシュ
指向DASDアレイへのブロックの高速書込み、及びキ
ャッシュ/DASDアレイ・デステージ中に所定数のハ
ード及びソフト障害が生じた場合の回復のための方法及
び手段に関する。
(DASD)アレイ、詳細にいえば、LRUキャッシュ
指向DASDアレイへのブロックの高速書込み、及びキ
ャッシュ/DASDアレイ・デステージ中に所定数のハ
ード及びソフト障害が生じた場合の回復のための方法及
び手段に関する。
【0002】
【従来の技術】本明細書において、直接アクセス記憶装
置(DASD)とは、1つまたは複数のトラックの所定
位置へ物理的位置決め読み書き変換器によってアクセス
される回転トラック式磁気データ記録媒体などを意味す
るものとする。また、DASDのアレイとはデータ及び
冗長情報を格納する2つまたはそれ以上のDASD、な
らびにDASDの障害などによってこのデータへの経路
が利用できなくなった場合に、データを自動的に回復で
きるように作動する関連した制御ユニットを意味するも
のとする。
置(DASD)とは、1つまたは複数のトラックの所定
位置へ物理的位置決め読み書き変換器によってアクセス
される回転トラック式磁気データ記録媒体などを意味す
るものとする。また、DASDのアレイとはデータ及び
冗長情報を格納する2つまたはそれ以上のDASD、な
らびにDASDの障害などによってこのデータへの経路
が利用できなくなった場合に、データを自動的に回復で
きるように作動する関連した制御ユニットを意味するも
のとする。
【0003】RAIDアレイ分類及び冗長コード Patterson et al, "A Case for Redundant Arrays of I
nexpensive DASDs (RAID)", ACM SigMOD Conference, C
hicago, Illinois, June 1-3, 1988はRAID1からR
AID5までの段階的DASDアレイ構成を説明してい
る。
nexpensive DASDs (RAID)", ACM SigMOD Conference, C
hicago, Illinois, June 1-3, 1988はRAID1からR
AID5までの段階的DASDアレイ構成を説明してい
る。
【0004】RAID1はすべてのレコードまたはペー
ジが2重化されているDASDミラーリングを対象とす
るものである。効率上、RAID1ないし3は通常同期
読取りまたは書込み操作を含んでおり、RAID5は選
択的非同期アクセスをサポートしている。
ジが2重化されているDASDミラーリングを対象とす
るものである。効率上、RAID1ないし3は通常同期
読取りまたは書込み操作を含んでおり、RAID5は選
択的非同期アクセスをサポートしている。
【0005】RAID2は論理的及び物理的回復ドメイ
ンが共存している場合に、散在しているn個のハミング
冗長ビットとのm個のデータ・ビットの論理的関連をm
+n個のDASDのアレイに同期書込みすることを利用
している。ハミング・コードはDASD障害の独立した
指示なしに、修正機能を提供できる。
ンが共存している場合に、散在しているn個のハミング
冗長ビットとのm個のデータ・ビットの論理的関連をm
+n個のDASDのアレイに同期書込みすることを利用
している。ハミング・コードはDASD障害の独立した
指示なしに、修正機能を提供できる。
【0006】RAID3は論理的及び物理的回復ドメイ
ンが共存している場合の、m個のデータ・ブロックとn
個の冗長ブロック(回復または冗長ブロック)の論理的
関連のm+n個のDASDのアレイへの同期書込みを含
んでいる。RAID3は回復グループの残りのメンバに
対する回復処置を容易とするために、DASDの独立し
た障害指示に依存している。
ンが共存している場合の、m個のデータ・ブロックとn
個の冗長ブロック(回復または冗長ブロック)の論理的
関連のm+n個のDASDのアレイへの同期書込みを含
んでいる。RAID3は回復グループの残りのメンバに
対する回復処置を容易とするために、DASDの独立し
た障害指示に依存している。
【0007】RAID5はインターリーブ深さが可変で
あり、また冗長ブロックが2つ以上のDASDに分散し
ている場合に、m+n個のDASD未満の任意のサブセ
ットへのm個のデータとn個の冗長ブロックの論理的関
連の選択可能な非同期書込みを含んでいる。冗長ブロッ
クは単純なパリティなどのデータ・ブロックに対して計
算される。これらのブロックはリード・ソロモンあるい
はB−隣接コードなどの2つ以上のブロックを含んでい
る。後者の場合、冗長ブロックのいくつかには冗長ブロ
ックの他のものの計算が関係している。
あり、また冗長ブロックが2つ以上のDASDに分散し
ている場合に、m+n個のDASD未満の任意のサブセ
ットへのm個のデータとn個の冗長ブロックの論理的関
連の選択可能な非同期書込みを含んでいる。冗長ブロッ
クは単純なパリティなどのデータ・ブロックに対して計
算される。これらのブロックはリード・ソロモンあるい
はB−隣接コードなどの2つ以上のブロックを含んでい
る。後者の場合、冗長ブロックのいくつかには冗長ブロ
ックの他のものの計算が関係している。
【0008】パリティ・コード 単純なパリティ・コードがRAID3−5のアレイにお
ける単一のDASD障害からの回復のために選択された
コードであることを理解すべきである。このようなコー
ディングは論理的に関連しているデータ・ブロックに対
して単純な排他的論理和(XOR)を取ることによって
得られる。DASDアレイにこれを使用することは米国
特許第4092732号明細書で始めて述べられたもの
である。
ける単一のDASD障害からの回復のために選択された
コードであることを理解すべきである。このようなコー
ディングは論理的に関連しているデータ・ブロックに対
して単純な排他的論理和(XOR)を取ることによって
得られる。DASDアレイにこれを使用することは米国
特許第4092732号明細書で始めて述べられたもの
である。
【0009】パリティを各アクセス、特にキャッシュ内
にないブロックに対する書込み更新に対してテストする
必要があることは明らかである。また、このような更新
が少なくとも4つのアレイ・アクセス/更新を必要とす
ることも明かである。これは古いパリティ及び古いデー
タの読取り、新しいパリティの計算、ならびに新しいデ
ータ及び新しいパリティの書込みを含んでいる。書込み
更新のためのパリティの計算自体は古いデータ、新しい
データ、及び古いパリティの排他的論理和を取ることを
含んでいる(上記の文献及び米国特許第4092732
号明細書参照)。
にないブロックに対する書込み更新に対してテストする
必要があることは明らかである。また、このような更新
が少なくとも4つのアレイ・アクセス/更新を必要とす
ることも明かである。これは古いパリティ及び古いデー
タの読取り、新しいパリティの計算、ならびに新しいデ
ータ及び新しいパリティの書込みを含んでいる。書込み
更新のためのパリティの計算自体は古いデータ、新しい
データ、及び古いパリティの排他的論理和を取ることを
含んでいる(上記の文献及び米国特許第4092732
号明細書参照)。
【0010】読み書きキャッシュが媒介するDASDア
レイ透過性 データ読取り及び書込みキャッシングはホストCPUに
対してできるだけ透過な外部記憶装置のアクセスをもた
らす周知のバッファリング技法である。キャッシュはD
ASD記憶装置よりも数倍高速な電子的な(通常、半導
体)メモリで形成されている。理論上、CPUで実行さ
れる適用業務はアレイに格納されているデータの小さい
サブセットを何回も参照する。この参照されるサブセッ
トが高速なメモリに格納されている場合、入出力スルー
プットはCPU速度をより正確に近似し、他の処理への
CPUのタスク・スイッチングの量を削減するととも
に、速度の不一致が解消されない場合に必要に応じデー
タを待機する。
レイ透過性 データ読取り及び書込みキャッシングはホストCPUに
対してできるだけ透過な外部記憶装置のアクセスをもた
らす周知のバッファリング技法である。キャッシュはD
ASD記憶装置よりも数倍高速な電子的な(通常、半導
体)メモリで形成されている。理論上、CPUで実行さ
れる適用業務はアレイに格納されているデータの小さい
サブセットを何回も参照する。この参照されるサブセッ
トが高速なメモリに格納されている場合、入出力スルー
プットはCPU速度をより正確に近似し、他の処理への
CPUのタスク・スイッチングの量を削減するととも
に、速度の不一致が解消されない場合に必要に応じデー
タを待機する。
【0011】CPUアクセス要求とキャッシュにあるデ
ータとの間の整合を「ヒット」といい、整合が存在しな
いことを「ミス」という。ミスがあった場合、DASD
アレイにアクセスし、要求されたデータをキャッシュに
転送(ステージ)することが必要となる。キャッシュは
通常いっぱいになっているので、1つまたは複数のブロ
ックを上書きするか、キャッシュからアレイに転送(デ
ステージ)しなければならない。CPUによって参照さ
れるたびに、キャッシュ内のブロックにタイム・スタン
プがつけられるか、これらが再待ち行列化される場合、
LRU規則を呼び出して、最新のブロックをキャッシュ
に追加するためにスペースを利用できるようにするため
に、どのブロックに対してデステージまたは上書きのい
ずれかを行うかを決定することができる。
ータとの間の整合を「ヒット」といい、整合が存在しな
いことを「ミス」という。ミスがあった場合、DASD
アレイにアクセスし、要求されたデータをキャッシュに
転送(ステージ)することが必要となる。キャッシュは
通常いっぱいになっているので、1つまたは複数のブロ
ックを上書きするか、キャッシュからアレイに転送(デ
ステージ)しなければならない。CPUによって参照さ
れるたびに、キャッシュ内のブロックにタイム・スタン
プがつけられるか、これらが再待ち行列化される場合、
LRU規則を呼び出して、最新のブロックをキャッシュ
に追加するためにスペースを利用できるようにするため
に、どのブロックに対してデステージまたは上書きのい
ずれかを行うかを決定することができる。
【0012】RAID5のアレイの書込み、浮動パリテ
ィ、及びログ構造化ファイルのためのキャッシュ RAID5のDASDアレイはトランザクション処理シ
ステムにおいて充分な作動をするものであり、費用効果
の高い態様で高い可用性を達成する。しかしながら、こ
れらの主な欠点は書込み更新、特に単一ブロックの更新
を実行する際のパフォーマンスの低下が大きいことであ
る。このような更新はパリティ技法を使用していないサ
ブシステムに対してDASDサブシステムのパフォーマ
ンスの劣化をもたらすものである。
ィ、及びログ構造化ファイルのためのキャッシュ RAID5のDASDアレイはトランザクション処理シ
ステムにおいて充分な作動をするものであり、費用効果
の高い態様で高い可用性を達成する。しかしながら、こ
れらの主な欠点は書込み更新、特に単一ブロックの更新
を実行する際のパフォーマンスの低下が大きいことであ
る。このような更新はパリティ技法を使用していないサ
ブシステムに対してDASDサブシステムのパフォーマ
ンスの劣化をもたらすものである。
【0013】パリティ・ベースの冗長性を使用している
RAID5のDASDアレイは、従来技術で周知の方法
を使用して書込みパフォーマンスを改善することができ
る。これらには浮動パリティ、ログ構造化ファイル、及
び高速書込みがある。
RAID5のDASDアレイは、従来技術で周知の方法
を使用して書込みパフォーマンスを改善することができ
る。これらには浮動パリティ、ログ構造化ファイル、及
び高速書込みがある。
【0014】浮動パリティ 浮動パリティは1990年10月18日出願の米国係属
特許願第07/600034号明細書(特開平4−23
0512号)に記載されている。この出願はDASDの
記憶効率を犠牲にした浮動パリティ技法が、改変された
データ及びパリティ・ブロックをこれらの元の場所に書
き戻すという要件を緩和することによって書込みパフォ
ーマンスを改善できることを指摘している。
特許願第07/600034号明細書(特開平4−23
0512号)に記載されている。この出願はDASDの
記憶効率を犠牲にした浮動パリティ技法が、改変された
データ及びパリティ・ブロックをこれらの元の場所に書
き戻すという要件を緩和することによって書込みパフォ
ーマンスを改善できることを指摘している。
【0015】詳細にいえば、上記の出願の方法はまず1
つのトラックの分解で古いブロックと古いパリティを読
み取ることによって書込み更新を行う。次に、新しいパ
リティ(データ・ブロック及びグループ・パリティの古
い値と、新しいブロック値の排他的論理和)を計算す
る。データ・ブロックを含んでいるDASDの2回目の
分解の際に、新しいデータ・ブロックを定位置に書き込
む。パリティの新しい値は、パリティ・トラックの最初
に利用できるテーブルで制御された自由スペースにシャ
ドウ書込みされる。最後に、テーブルが修正され、古い
パリティ・ブロックのスペースが利用できることを示す
ようになる。
つのトラックの分解で古いブロックと古いパリティを読
み取ることによって書込み更新を行う。次に、新しいパ
リティ(データ・ブロック及びグループ・パリティの古
い値と、新しいブロック値の排他的論理和)を計算す
る。データ・ブロックを含んでいるDASDの2回目の
分解の際に、新しいデータ・ブロックを定位置に書き込
む。パリティの新しい値は、パリティ・トラックの最初
に利用できるテーブルで制御された自由スペースにシャ
ドウ書込みされる。最後に、テーブルが修正され、古い
パリティ・ブロックのスペースが利用できることを示す
ようになる。
【0016】重要なのは、この技法が更新を完了するた
めのDASDサービス時間を改善し、かつ4つのアクセ
スを3つに、場合によっては、2つに減らすことであ
る。
めのDASDサービス時間を改善し、かつ4つのアクセ
スを3つに、場合によっては、2つに減らすことであ
る。
【0017】ログ構造化ファイル 記憶装置外部で編成されたログ構造化ファイル(LS
F)はすべての更新をログの末尾に書込み、元のレコー
ドが占めていたスペースは直ちに再利用される。これに
よって、ファイルやレコードの断片化が回避される。し
たがって、ログの末尾には常に可変長のレコードのため
の余裕がある。ラップ・バックがあるが、ガーベジ・コ
レクション及び書直しは充分な頻度で発生し、常に充分
なスペースを確保する。
F)はすべての更新をログの末尾に書込み、元のレコー
ドが占めていたスペースは直ちに再利用される。これに
よって、ファイルやレコードの断片化が回避される。し
たがって、ログの末尾には常に可変長のレコードのため
の余裕がある。ラップ・バックがあるが、ガーベジ・コ
レクション及び書直しは充分な頻度で発生し、常に充分
なスペースを確保する。
【0018】LSF構成において、ステージング及びデ
ステージングのための手段は、パリティ・グループ内に
あるデータ・ブロックと少なくとも同数のデータ・ブロ
ックが大きな(多ブロックの)更新にある場合に、単一
ブロックの更新を大きな更新に変換する。この場合、パ
リティ・グループ全体を順次ストリームとして書き込む
ことができ、新しいパリティを書き込まれる新しいデー
タ・ブロックから直接計算できるので、古いデータ及び
古いパリティ・ブロックを読み取る必要がなくなる。
ステージングのための手段は、パリティ・グループ内に
あるデータ・ブロックと少なくとも同数のデータ・ブロ
ックが大きな(多ブロックの)更新にある場合に、単一
ブロックの更新を大きな更新に変換する。この場合、パ
リティ・グループ全体を順次ストリームとして書き込む
ことができ、新しいパリティを書き込まれる新しいデー
タ・ブロックから直接計算できるので、古いデータ及び
古いパリティ・ブロックを読み取る必要がなくなる。
【0019】高速書込み 米国特許第4916605号明細書はホストからのタイ
ム・スタンプ付きのデータをキャッシュと不揮発性記憶
装置(NVS)へ同時に格納し、完了信号をホストへ送
る。サブシステムは次いで非同期的に、ブロックをキャ
ッシュからDASDへデステージし、かつバッチ・ポス
ティング・ベースで、NVSからログへデステージす
る。後者は回復で使用するためのものである。
ム・スタンプ付きのデータをキャッシュと不揮発性記憶
装置(NVS)へ同時に格納し、完了信号をホストへ送
る。サブシステムは次いで非同期的に、ブロックをキャ
ッシュからDASDへデステージし、かつバッチ・ポス
ティング・ベースで、NVSからログへデステージす
る。後者は回復で使用するためのものである。
【0020】この特許は2重コピー方式で回復を処理す
るものであるが、支援記憶装置(DASDまたはDAS
Dアレイ)へのキャッシュ・ステージングの最適なチュ
ーニング、ならびにキャッシュとDASDアレイの間の
データの移動時に同時に発生するハード及びソフト両面
での障害からの回復については何ら示していないもので
ある。
るものであるが、支援記憶装置(DASDまたはDAS
Dアレイ)へのキャッシュ・ステージングの最適なチュ
ーニング、ならびにキャッシュとDASDアレイの間の
データの移動時に同時に発生するハード及びソフト両面
での障害からの回復については何ら示していないもので
ある。
【0021】
【発明が解決しようとする課題】したがって、本発明の
目的は、LRUキャッシュ指向DASDアレイへのブロ
ックの高速書込み、ならびにキャッシュ/DASDアレ
イのデステージの際に所定数のハード及びソフト障害が
発生した場合の回復のための方法及び手段を考案するこ
とである。
目的は、LRUキャッシュ指向DASDアレイへのブロ
ックの高速書込み、ならびにキャッシュ/DASDアレ
イのデステージの際に所定数のハード及びソフト障害が
発生した場合の回復のための方法及び手段を考案するこ
とである。
【0022】本発明の他の関連する目的は、このような
方法及び手段がDASDアレイ・サブシステムの障害か
らの回復能力を維持しながら、必須の冗長性のデステー
ジ及び処理を行うために必要なアクセスの数を最小限と
することである。
方法及び手段がDASDアレイ・サブシステムの障害か
らの回復能力を維持しながら、必須の冗長性のデステー
ジ及び処理を行うために必要なアクセスの数を最小限と
することである。
【0023】本発明のさらに他の目的は、このような方
法及び手段により高速書込みを用いることにあり、ホス
トから見た書込み応答からDASD時間を除去し、キャ
ッシュ内のすでに更新されているブロックに対してホス
トが後で書き込むことによって生じる上書きによるDA
SD書込みを除去し、多くのデステージをトラックまた
はシリンダに対して行えるようになるまでデステージが
延期されてDASDのシークを軽減している。
法及び手段により高速書込みを用いることにあり、ホス
トから見た書込み応答からDASD時間を除去し、キャ
ッシュ内のすでに更新されているブロックに対してホス
トが後で書き込むことによって生じる上書きによるDA
SD書込みを除去し、多くのデステージをトラックまた
はシリンダに対して行えるようになるまでデステージが
延期されてDASDのシークを軽減している。
【0024】
【課題を解決するための手段】キャッシュ・ミスに応じ
て、適格な変更または更新されたブロックが(1)LR
Uで変更されたブロック、ならびに(2)同一の論理ト
ラックを占めており、所定の低いLRU範囲に配列され
ている他のすべての変更されたブロックを含んでいる場
合、スペース及びデータのバックアップ両方のために1
度にキャッシュからアレイへデステージされるブロック
の数の間の最適なバランスが得られることが観察された
のは予期しないことであった。
て、適格な変更または更新されたブロックが(1)LR
Uで変更されたブロック、ならびに(2)同一の論理ト
ラックを占めており、所定の低いLRU範囲に配列され
ている他のすべての変更されたブロックを含んでいる場
合、スペース及びデータのバックアップ両方のために1
度にキャッシュからアレイへデステージされるブロック
の数の間の最適なバランスが得られることが観察された
のは予期しないことであった。
【0025】本発明は選択的にアクセス可能なDASD
のアレイ、該アレイを結合しているキャッシュ及び不揮
発性記憶装置(NVS)、キャッシュまたはNVSとD
ASDの選択可能なものとの間のブロック編成のデータ
またはその一部の論理トラックをステージング及びデス
テージングを行うために少なくとも1つの外部ソースか
らの読取り、書込み、及び書込み更新参照に応じる手段
とを有する記憶サブシステムで実現される。このサブシ
ステムにおいて、キャッシュ・ミスは少なくとも新規に
書き込まれたブロックまたは更新されたブロックのキャ
ッシュからのデステージを必要とする。
のアレイ、該アレイを結合しているキャッシュ及び不揮
発性記憶装置(NVS)、キャッシュまたはNVSとD
ASDの選択可能なものとの間のブロック編成のデータ
またはその一部の論理トラックをステージング及びデス
テージングを行うために少なくとも1つの外部ソースか
らの読取り、書込み、及び書込み更新参照に応じる手段
とを有する記憶サブシステムで実現される。このサブシ
ステムにおいて、キャッシュ・ミスは少なくとも新規に
書き込まれたブロックまたは更新されたブロックのキャ
ッシュからのデステージを必要とする。
【0026】ここで、LRUキャッシュは所定の記憶容
量を有しており、この容量に対して、少なくとも1つの
キャッシュ常駐ブロックが、このブロックに対する次の
ミス参照の際に、デステージされる。ブロック部分に対
して行われたデータの変更及びコピーはまずキャッシュ
及びNVSに書き込まれ、その後、デステージの際にの
みアレイにポストされる。
量を有しており、この容量に対して、少なくとも1つの
キャッシュ常駐ブロックが、このブロックに対する次の
ミス参照の際に、デステージされる。ブロック部分に対
して行われたデータの変更及びコピーはまずキャッシュ
及びNVSに書き込まれ、その後、デステージの際にの
みアレイにポストされる。
【0027】ブロックの高速書込みのための改善された
方法及び手段は、(a)キャッシュ内の各対象ブロック
ならびにNVS内のコピーを同時に記録することによっ
て各書込みまたは書込み更新参照に応じて、外部参照源
に対して完了指示を与え、かつ新規書込み、更新、及び
読取り専用ブロックをキャッシュ内でLRU順に維持す
るステップと、(b)キャッシュから選択的にアクセス
可能なDASDへ、LRUが新規に書き込んだあるいは
更新したブロックと同じ論理位置にある同数の他の新規
に書き込まれたあるいは更新されたブロックとを、これ
らの他の新規に書き込まれたあるいは更新されたブロッ
クがキャッシュ・ブロックのLRU順のLRU部分に配
置されていることを条件としてデステージすることによ
って、キャッシュ・ミスをもたらす各参照に応答するス
テップからなる。
方法及び手段は、(a)キャッシュ内の各対象ブロック
ならびにNVS内のコピーを同時に記録することによっ
て各書込みまたは書込み更新参照に応じて、外部参照源
に対して完了指示を与え、かつ新規書込み、更新、及び
読取り専用ブロックをキャッシュ内でLRU順に維持す
るステップと、(b)キャッシュから選択的にアクセス
可能なDASDへ、LRUが新規に書き込んだあるいは
更新したブロックと同じ論理位置にある同数の他の新規
に書き込まれたあるいは更新されたブロックとを、これ
らの他の新規に書き込まれたあるいは更新されたブロッ
クがキャッシュ・ブロックのLRU順のLRU部分に配
置されていることを条件としてデステージすることによ
って、キャッシュ・ミスをもたらす各参照に応答するス
テップからなる。
【0028】本発明の1態様によれば、上述のタイプの
記憶サブシステムにおいて、ブロックのグループ(d
1,d2,...dn)がパリティ・ブロック(P)を
含んでいる「ドメイン」と呼ばれる論理構造に関連づけ
られる。ドメイン(d1,d2,...dn,P)の少
なくとも1つのブロック(d1^)における変更は、ド
メイン・パリティ・ブロック(P)における変更も必要
とする。
記憶サブシステムにおいて、ブロックのグループ(d
1,d2,...dn)がパリティ・ブロック(P)を
含んでいる「ドメイン」と呼ばれる論理構造に関連づけ
られる。ドメイン(d1,d2,...dn,P)の少
なくとも1つのブロック(d1^)における変更は、ド
メイン・パリティ・ブロック(P)における変更も必要
とする。
【0029】本発明の他の態様によれば、デステージン
グ・ステップ(b)は信頼性の異なる一連のデステージ
ング・ステップから選択可能である。セットのうちもっ
とも信頼性の高いものは、(b1)変更されたブロック
(d1^)を他のキャッシュ位置(Y)へコピーし、元
のブロック(d1)がキャッシュ内に存在しているかど
うかを確認し、存在していない場合には、ブロック(d
1)をアレイからキャッシュへコピーし、前記の他のキ
ャッシュ位置(Y)内で元のブロックと変更されたブロ
ックを論理的に組み合わせる(d1 XOR d1^)
ステップと、(b2)関連するドメインのパリティ・ブ
ロック(P)をアレイからキャッシュ及びNVSへコピ
ーし、Pを前記の他の位置(Y)の内容と論理的に組み
合わせる(d1 XOR d1^ XOR P)ステッ
プと、(b3)キャッシュからアレイへ、変更されたブ
ロック(d1^)と前記の他のキャッシュ位置(P^)の
論理的に組み合わされた内容とを独立してデステージ
し、後者をドメインに対する新しいパリティとして作動
可能とするステップとを含んでいる。
グ・ステップ(b)は信頼性の異なる一連のデステージ
ング・ステップから選択可能である。セットのうちもっ
とも信頼性の高いものは、(b1)変更されたブロック
(d1^)を他のキャッシュ位置(Y)へコピーし、元
のブロック(d1)がキャッシュ内に存在しているかど
うかを確認し、存在していない場合には、ブロック(d
1)をアレイからキャッシュへコピーし、前記の他のキ
ャッシュ位置(Y)内で元のブロックと変更されたブロ
ックを論理的に組み合わせる(d1 XOR d1^)
ステップと、(b2)関連するドメインのパリティ・ブ
ロック(P)をアレイからキャッシュ及びNVSへコピ
ーし、Pを前記の他の位置(Y)の内容と論理的に組み
合わせる(d1 XOR d1^ XOR P)ステッ
プと、(b3)キャッシュからアレイへ、変更されたブ
ロック(d1^)と前記の他のキャッシュ位置(P^)の
論理的に組み合わされた内容とを独立してデステージ
し、後者をドメインに対する新しいパリティとして作動
可能とするステップとを含んでいる。
【0030】2つのハード・エラー及び一時エラーによ
って発生するデータ・ロスを回避するには、d1^及び
P^がDASDへ書き込まれる前に、d1及びPがDA
SDから読み取られ、位置YにおいてXORされるま
で、待機する必要がある。
って発生するデータ・ロスを回避するには、d1^及び
P^がDASDへ書き込まれる前に、d1及びPがDA
SDから読み取られ、位置YにおいてXORされるま
で、待機する必要がある。
【0031】本発明の1態様によれば、パリティ・グル
ープへのデステージはパリティ・グループ・ロックを使
用して逐次化される。パリティ・グループ・ロックはア
レイ制御ユニットがデータのDASD値及びパリティ・
グループのパリティ・ブロックを使用して、パリティ・
グループ内の不良ブロックを再構築することも防止す
る。すなわち、パリティ・グループがDASD上で一貫
していない限り、ブロックは再構築されない。新しいブ
ロックをアクセスしているCPUから受け取った場合、
パリティ・グループ・ロックを使用して、デステージが
進行中であるかどうかを判定し、受け取った新しいブロ
ックが以前のあるいは後続の修正のタイプであるかどう
かを判定することができる。
ープへのデステージはパリティ・グループ・ロックを使
用して逐次化される。パリティ・グループ・ロックはア
レイ制御ユニットがデータのDASD値及びパリティ・
グループのパリティ・ブロックを使用して、パリティ・
グループ内の不良ブロックを再構築することも防止す
る。すなわち、パリティ・グループがDASD上で一貫
していない限り、ブロックは再構築されない。新しいブ
ロックをアクセスしているCPUから受け取った場合、
パリティ・グループ・ロックを使用して、デステージが
進行中であるかどうかを判定し、受け取った新しいブロ
ックが以前のあるいは後続の修正のタイプであるかどう
かを判定することができる。
【0032】本発明のさらに他の態様によれば、キャッ
シュからアレイへのパリティ・グループ全体または該グ
ループの一部のいずれかをデステージすることも、ハー
ド及びソフト障害の組合せを緩和するために信頼性の高
いステップを必要とする。これらについては、好ましい
実施例の説明において詳細に解明する。
シュからアレイへのパリティ・グループ全体または該グ
ループの一部のいずれかをデステージすることも、ハー
ド及びソフト障害の組合せを緩和するために信頼性の高
いステップを必要とする。これらについては、好ましい
実施例の説明において詳細に解明する。
【0033】
DASD記憶サブシステムに対する従来技術の高速書込
み 図1には、従来技術によるキャッシュ指向DASD記憶
サブシステムが示されている。図示のように、CPU1
及び3の各々はパス5及び7または9及び11によっ
て、そのそれぞれの境界内の内部記憶装置(図示せず)
及び外部記憶装置6の両方にアクセスする。完全を期す
には、内部記憶装置がプロセッサ記憶装置及び拡張記憶
装置を含んでいることに留意すべきである。なお、プロ
セッサ記憶装置がバイト・アドレス可能なランダム・ア
クセス・ベースで作動するのに対し、拡張記憶装置はフ
ァイル/レコード/ページ・アドレス可能なランダム・
アクセス・ベースで作動する。
み 図1には、従来技術によるキャッシュ指向DASD記憶
サブシステムが示されている。図示のように、CPU1
及び3の各々はパス5及び7または9及び11によっ
て、そのそれぞれの境界内の内部記憶装置(図示せず)
及び外部記憶装置6の両方にアクセスする。完全を期す
には、内部記憶装置がプロセッサ記憶装置及び拡張記憶
装置を含んでいることに留意すべきである。なお、プロ
セッサ記憶装置がバイト・アドレス可能なランダム・ア
クセス・ベースで作動するのに対し、拡張記憶装置はフ
ァイル/レコード/ページ・アドレス可能なランダム・
アクセス・ベースで作動する。
【0034】外部記憶装置6は記憶装置制御ユニット1
3または15、DASDサブシステム・キャッシュ20
ならびに接続及びシーケンス・コントローラ論理回路2
7及び41または31及び39を含む、データ及び制御
パスによってアクセスされる1つまたは複数個のDAS
Dからなり、CPU1で実行される適用業務によって参
照される情報のファイル/レコード/ページを格納す
る。
3または15、DASDサブシステム・キャッシュ20
ならびに接続及びシーケンス・コントローラ論理回路2
7及び41または31及び39を含む、データ及び制御
パスによってアクセスされる1つまたは複数個のDAS
Dからなり、CPU1で実行される適用業務によって参
照される情報のファイル/レコード/ページを格納す
る。
【0035】従来技術においては、書込み要求をホスト
・プロセッサ1または3から受け入れ、書込み情報の2
つのコピーをキャッシュLRU RAM21及び不揮発
性(NV)バッファ22に保管し、キャッシュ及び不揮
発性記憶装置が正常に更新されしだい、書込み操作が完
了したことをホストに伝え、情報を後でDASD43、
45、47または49の1つに書き込んでいた。不揮発
性記憶装置の内容のコピーは不揮発性媒体に記録されて
いる循環ジャーナルの区画に定期的に転送し、デステー
ジされたレコードが除去された後、選択した項目をジャ
ーナル(図示せず)の各区画から他の区画へ定期的に転
送する。
・プロセッサ1または3から受け入れ、書込み情報の2
つのコピーをキャッシュLRU RAM21及び不揮発
性(NV)バッファ22に保管し、キャッシュ及び不揮
発性記憶装置が正常に更新されしだい、書込み操作が完
了したことをホストに伝え、情報を後でDASD43、
45、47または49の1つに書き込んでいた。不揮発
性記憶装置の内容のコピーは不揮発性媒体に記録されて
いる循環ジャーナルの区画に定期的に転送し、デステー
ジされたレコードが除去された後、選択した項目をジャ
ーナル(図示せず)の各区画から他の区画へ定期的に転
送する。
【0036】従来技術のシステムはすべての変更がジャ
ーナルまたはDASDのいずれかに記録されることを保
証するものであった。ジャーナルの長さが有限であるた
め、空きスペースが定常的に利用できた。従来のこのシ
ステムにおいては、DASDに対するデータのチェック
ポイントは必要なく、キャッシュをきわめて信頼性の高
い1次記憶装置に入れて必要なDASDアクセスの回数
を減らすことによってパフォーマンスを向上させること
ができた。
ーナルまたはDASDのいずれかに記録されることを保
証するものであった。ジャーナルの長さが有限であるた
め、空きスペースが定常的に利用できた。従来のこのシ
ステムにおいては、DASDに対するデータのチェック
ポイントは必要なく、キャッシュをきわめて信頼性の高
い1次記憶装置に入れて必要なDASDアクセスの回数
を減らすことによってパフォーマンスを向上させること
ができた。
【0037】本発明の高速書込み及び信頼性の高いデス
テージ・アーキテクチャ 図2には、パス202でDASDアレイ制御ユニット2
04にアクセスするCPU1が示されている。通常、こ
のようなパスは制御ユニット(CU)203によって解
釈される高水準アクセスまたはチャネル・コマンド言語
でホストがアクセス要求を示すデマンド/応答すなわち
ポーリング・インタフェースである。CUは制御パス2
15及びデータ・パス213によってキャッシュ205
のディレクトリにアクセスし、ファイル/レコード/ブ
ロックがキャッシュ常駐であるかどうかを確認する。フ
ァイル/レコード/ブロックが常駐でない場合、指定さ
れたブロックが制御パス211及びデータ・パス217
によってDASDアレイ(DASD1、..、DASD
n)にデステージされる。
テージ・アーキテクチャ 図2には、パス202でDASDアレイ制御ユニット2
04にアクセスするCPU1が示されている。通常、こ
のようなパスは制御ユニット(CU)203によって解
釈される高水準アクセスまたはチャネル・コマンド言語
でホストがアクセス要求を示すデマンド/応答すなわち
ポーリング・インタフェースである。CUは制御パス2
15及びデータ・パス213によってキャッシュ205
のディレクトリにアクセスし、ファイル/レコード/ブ
ロックがキャッシュ常駐であるかどうかを確認する。フ
ァイル/レコード/ブロックが常駐でない場合、指定さ
れたブロックが制御パス211及びデータ・パス217
によってDASDアレイ(DASD1、..、DASD
n)にデステージされる。
【0038】CU203がデータ・ブロックへの書込み
要求を受け取った場合には、一貫性を保つため対応する
パリティ・ブロックも更新しなければならない。D1を
変更する場合には、新しいP1の値が次のように計算さ
れる。
要求を受け取った場合には、一貫性を保つため対応する
パリティ・ブロックも更新しなければならない。D1を
変更する場合には、新しいP1の値が次のように計算さ
れる。
【数1】新しいP1=(古いD1 XOR 新しいD1
XOR 古いP1)
XOR 古いP1)
【0039】データが修正されるたびに、パリティを変
更しなければならないのであるから、これらのアレイは
データ・ブロックを書き込むために次の4つのDASD
アクセスを必要とする。 (1)古いデータを読み取る (2)古いパリティを読み取る (3)新しいデータを書き込む (4)新しいパリティを書き込む
更しなければならないのであるから、これらのアレイは
データ・ブロックを書き込むために次の4つのDASD
アクセスを必要とする。 (1)古いデータを読み取る (2)古いパリティを読み取る (3)新しいデータを書き込む (4)新しいパリティを書き込む
【0040】本発明の高速書込み及びデステージの概要 本発明において、「高速書込み」はキャッシュ205及
びNVS207のバッテリでバックアップされたシリコ
ンRAMメモリによって両方とも実現されていることが
好ましいキャッシュ及びバッファを使用して、ホスト応
答時間から書込みまでのDASD時間を排除する。ホス
ト・システムから受け取ったブロックはまずDASDア
レイ・コントローラのキャッシュ及びNVSに書き込ま
れる。すなわち、2つの障害に無関係な位置に書き込ま
れる。したがって、単一のメモリ障害あるいは停電があ
っても、データが失われることはない。この時点で、C
U203は書込みメッセージの正常な完了をパス202
によってCPU1に返す。キャッシュ205またはNV
S207からDASDアレイ209へのブロックの実際
のデステージは後で非同期的に行われる。
びNVS207のバッテリでバックアップされたシリコ
ンRAMメモリによって両方とも実現されていることが
好ましいキャッシュ及びバッファを使用して、ホスト応
答時間から書込みまでのDASD時間を排除する。ホス
ト・システムから受け取ったブロックはまずDASDア
レイ・コントローラのキャッシュ及びNVSに書き込ま
れる。すなわち、2つの障害に無関係な位置に書き込ま
れる。したがって、単一のメモリ障害あるいは停電があ
っても、データが失われることはない。この時点で、C
U203は書込みメッセージの正常な完了をパス202
によってCPU1に返す。キャッシュ205またはNV
S207からDASDアレイ209へのブロックの実際
のデステージは後で非同期的に行われる。
【0041】DASDへ書き込む必要のあるアレイ・コ
ントローラ・キャッシュ・メモリ内のDASDブロック
は、元のブロックないし最初に書き込まれたブロックを
構成するもの、何らかの方法で修正ないし変更されたも
のである。文献では場合によっては「ダーティ・ブロッ
ク」という語を使用して、最初に書き込まれたブロッ
ク、あるいは変更または修正されたブロックを表してい
る。このようなダーティ・ブロックは「デステージン
グ」と呼ばれるプロセスでDASDアレイ209に書き
込まれる。
ントローラ・キャッシュ・メモリ内のDASDブロック
は、元のブロックないし最初に書き込まれたブロックを
構成するもの、何らかの方法で修正ないし変更されたも
のである。文献では場合によっては「ダーティ・ブロッ
ク」という語を使用して、最初に書き込まれたブロッ
ク、あるいは変更または修正されたブロックを表してい
る。このようなダーティ・ブロックは「デステージン
グ」と呼ばれるプロセスでDASDアレイ209に書き
込まれる。
【0042】ブロックをDASDに対してデステージし
た場合、DASD上で、データ・ブロックに対するパリ
ティ・ブロックを更新することも必要となる。前述した
ように、これはアレイ・コントローラ203がパス21
7及びアクセス回路223によってアレイ209からキ
ャッシュ205へ常駐データ・ブロック及びパリティ・
ブロックの古い値をもたらし、これらをキャッシュ内の
データ・ブロックの新しい値とXORし、再度アクセス
回路223及び制御パス217によってデータ・ブロッ
クの新しい値及びパリティ・ブロックの新しい値をアレ
イ209に書き込むことを必要とする。アレイ・アクセ
スはアドレス及び制御パス211を介してCU203に
よって管理され、キャッシュ205及びNVS207は
アドレス及び制御パス215、データ・パス213なら
びにアクセス回路219及び221によって管理され
る。
た場合、DASD上で、データ・ブロックに対するパリ
ティ・ブロックを更新することも必要となる。前述した
ように、これはアレイ・コントローラ203がパス21
7及びアクセス回路223によってアレイ209からキ
ャッシュ205へ常駐データ・ブロック及びパリティ・
ブロックの古い値をもたらし、これらをキャッシュ内の
データ・ブロックの新しい値とXORし、再度アクセス
回路223及び制御パス217によってデータ・ブロッ
クの新しい値及びパリティ・ブロックの新しい値をアレ
イ209に書き込むことを必要とする。アレイ・アクセ
スはアドレス及び制御パス211を介してCU203に
よって管理され、キャッシュ205及びNVS207は
アドレス及び制御パス215、データ・パス213なら
びにアクセス回路219及び221によって管理され
る。
【0043】多くの適用業務がまずデータを読み取って
から、更新するのであるから、データ・ブロックの古い
値がすでに常駐している時間の大部分がキャッシュ20
5内にあると考えられる。したがって、より典型的なデ
ステージ操作には理論上のDASD読取り2回とDAS
D書込み2回ではなく、DASD読取り1回とDASD
書込み2回を必要とすると思われる。
から、更新するのであるから、データ・ブロックの古い
値がすでに常駐している時間の大部分がキャッシュ20
5内にあると考えられる。したがって、より典型的なデ
ステージ操作には理論上のDASD読取り2回とDAS
D書込み2回ではなく、DASD読取り1回とDASD
書込み2回を必要とすると思われる。
【0044】キャッシュの編成、LRU規則、及びデス
テージを行えるブロック 通常、キャッシュ205内のダーティ及びクリーン両方
のブロックはLRU形式で編成されている。新しいブロ
ックのためのスペースが必要になった場合、キャッシュ
内のLRUブロックを調べる。これがクリーンな場合に
は、そのLRUブロックが占めているスペースが直ちに
使用される。そのブロックが変更されている、すなわち
「ダーティ」である場合には、ブロックをデステージし
てから、キャッシュ・スペースに再書込みを行わなけれ
ばならない。
テージを行えるブロック 通常、キャッシュ205内のダーティ及びクリーン両方
のブロックはLRU形式で編成されている。新しいブロ
ックのためのスペースが必要になった場合、キャッシュ
内のLRUブロックを調べる。これがクリーンな場合に
は、そのLRUブロックが占めているスペースが直ちに
使用される。そのブロックが変更されている、すなわち
「ダーティ」である場合には、ブロックをデステージし
てから、キャッシュ・スペースに再書込みを行わなけれ
ばならない。
【0045】ダーティ・ブロックがキャッシュ内のLR
Uブロックになるまで、ダーティ・ブロックのデステー
ジを延期する必要はないが、これを行うための引き数は
不必要な作業を避けられるものである。特定のブロック
の値がdであるとする。ホストが後でブロックdに書込
みを行い、その値をd^に変更した場合、ダーティ・ブ
ロック(d^)は後でデステージしなければならないキ
ャッシュに常駐するようになる。しかしながら、ホスト
がこのブロックに再度書込みを行い、d^がLRUにな
り、デステージされる前に、その値をd”に変更した場
合、d^をデステージする必要がまったくなくなる。そ
れ故、いくつかの作業が回避される。
Uブロックになるまで、ダーティ・ブロックのデステー
ジを延期する必要はないが、これを行うための引き数は
不必要な作業を避けられるものである。特定のブロック
の値がdであるとする。ホストが後でブロックdに書込
みを行い、その値をd^に変更した場合、ダーティ・ブ
ロック(d^)は後でデステージしなければならないキ
ャッシュに常駐するようになる。しかしながら、ホスト
がこのブロックに再度書込みを行い、d^がLRUにな
り、デステージされる前に、その値をd”に変更した場
合、d^をデステージする必要がまったくなくなる。そ
れ故、いくつかの作業が回避される。
【0046】ブロックをデステージする準備ができた場
合、CU203は同じトラックないし同じシリンダに書
き込む必要のあるキャッシュ内の他のダーティ・ブロッ
クをデステージする容量を持つ。これは多くのデステー
ジを同じDASDアーム位置にまとめてクラスタするこ
とによって、DASDのアームの運動を最小限とするの
を助ける。しかしながら、これは若干のダーティ・ブロ
ックがデステージされてから、キャッシュ205内のL
RUブロックとなることも意味する。これらの後者のブ
ロックは、LRUとなり、同じトラックないしシリンダ
上におかれることとなった他の若干のダーティ・ブロッ
クと同時にデステージされることになる。それ故、デス
テージ・ステップはダーティ・ブロックの上書きを待機
することによって生じるデステージの削減と、複数のブ
ロックを同一のトラックまたはシリンダ位置へ一緒にデ
ステージすることによって達成できるDASDシークの
削減のトレードオフでなければならない。
合、CU203は同じトラックないし同じシリンダに書
き込む必要のあるキャッシュ内の他のダーティ・ブロッ
クをデステージする容量を持つ。これは多くのデステー
ジを同じDASDアーム位置にまとめてクラスタするこ
とによって、DASDのアームの運動を最小限とするの
を助ける。しかしながら、これは若干のダーティ・ブロ
ックがデステージされてから、キャッシュ205内のL
RUブロックとなることも意味する。これらの後者のブ
ロックは、LRUとなり、同じトラックないしシリンダ
上におかれることとなった他の若干のダーティ・ブロッ
クと同時にデステージされることになる。それ故、デス
テージ・ステップはダーティ・ブロックの上書きを待機
することによって生じるデステージの削減と、複数のブ
ロックを同一のトラックまたはシリンダ位置へ一緒にデ
ステージすることによって達成できるDASDシークの
削減のトレードオフでなければならない。
【0047】重要なのは、ダーティ・ブロックがLRU
になった場合に、本発明がキャッシュからDASDアレ
イへのデステージを行うことである。同一のトラック
(シリンダ)上の他のすべてのダーティ・ブロックがキ
ャッシュされたDASDブロックのLRUチェーンのL
RU半部にある限り、これらの他のブロックもデステー
ジされる。
になった場合に、本発明がキャッシュからDASDアレ
イへのデステージを行うことである。同一のトラック
(シリンダ)上の他のすべてのダーティ・ブロックがキ
ャッシュされたDASDブロックのLRUチェーンのL
RU半部にある限り、これらの他のブロックもデステー
ジされる。
【0048】前節での明白な制限はダーティ・ブロック
がLRUになるまで、デステージが始まらないというこ
とである。キャッシュ・スペースを必要とする要求(キ
ャッシュでミスとなったホスト書込みなどの)が、キャ
ッシュ内のスペースを見つけだすためにデステージが完
了するのを待つ必要がないように、LRUリストのLR
U末尾近傍のダーティ・ブロック(ならびに同一のトラ
ックないしシリンダ上にある他のブロック)を連続的に
デステージするバックグラウンド・デステージ・プロセ
スの呼出しが、修正点の1つである。
がLRUになるまで、デステージが始まらないというこ
とである。キャッシュ・スペースを必要とする要求(キ
ャッシュでミスとなったホスト書込みなどの)が、キャ
ッシュ内のスペースを見つけだすためにデステージが完
了するのを待つ必要がないように、LRUリストのLR
U末尾近傍のダーティ・ブロック(ならびに同一のトラ
ックないしシリンダ上にある他のブロック)を連続的に
デステージするバックグラウンド・デステージ・プロセ
スの呼出しが、修正点の1つである。
【0049】アレイ・キャッシュ内のデータの管理 図3ないし図6のそれぞれには、キャッシュとして使用
される障害に無関係なデータ・メモリの4つの論理エリ
ア、及び論理エリア内で発生する典型的な書込み操作で
のデータの移動が示されている。詳細にいえば、アレイ
制御ユニット204内のデータ・メモリ205及び20
7は4つの論理領域に分割されている。これらを空きプ
ール、データ・キャッシュ、パリティ・キャッシュ及び
バッファ・プールと呼ぶ。
される障害に無関係なデータ・メモリの4つの論理エリ
ア、及び論理エリア内で発生する典型的な書込み操作で
のデータの移動が示されている。詳細にいえば、アレイ
制御ユニット204内のデータ・メモリ205及び20
7は4つの論理領域に分割されている。これらを空きプ
ール、データ・キャッシュ、パリティ・キャッシュ及び
バッファ・プールと呼ぶ。
【0050】図4ないし図6には、ホストからの典型的
な書込み要求の実行中のこれら4つのメモリ領域の使い
方が示されている。これらの図面において、点線が2つ
の異なる電力または障害に無関係な境界を分離してい
る。ブロックをホストが書き込んだ場合、これはホスト
・インタフェース(図示せず)によって、2つの独立し
た電力境界内のバッファ・プールにおかれる。その後、
2つのデータ・ブロックがデータ・キャッシュへ移動さ
れる。(これは論理移動であって、物理的な移動ではな
い。すなわち、キャッシュ・ディレクトリが更新され、
ブロックがキャッシュ内にあることを反映する。)デー
タ・キャッシュへのブロックのこの論理移動の後、CU
203は書込み操作を開始したホスト・システムに「終
了」を戻す。若干後に、ブロックDがDASDにデステ
ージされる。
な書込み要求の実行中のこれら4つのメモリ領域の使い
方が示されている。これらの図面において、点線が2つ
の異なる電力または障害に無関係な境界を分離してい
る。ブロックをホストが書き込んだ場合、これはホスト
・インタフェース(図示せず)によって、2つの独立し
た電力境界内のバッファ・プールにおかれる。その後、
2つのデータ・ブロックがデータ・キャッシュへ移動さ
れる。(これは論理移動であって、物理的な移動ではな
い。すなわち、キャッシュ・ディレクトリが更新され、
ブロックがキャッシュ内にあることを反映する。)デー
タ・キャッシュへのブロックのこの論理移動の後、CU
203は書込み操作を開始したホスト・システムに「終
了」を戻す。若干後に、ブロックDがDASDにデステ
ージされる。
【0051】キャッシュからDASDアレイへの信頼性
を変更するいくつかのデステージ方法 逐次化(Serialization)とロッキング 前述したように、パリティ・グループはDASDアレイ
の一貫性の単位である。ダーティなDASDブロックを
DASDへデステージした場合、一貫性を保持するた
め、対応するパリティ・ブロックを計算し、書き込むこ
とも必要となる。パリティ・グループからのブロックを
キャッシュからデステージしなければならない場合、パ
リティ・グループはデステージの期間中ロックされる。
パリティ・グループのロックが解除されるのは、データ
・ブロックとパリティ・ブロックの両方がアレイ209
内の対応するDASDに書き込まれ、一貫性が確認され
てからだけである。同一のパリティ・グループに対する
同時デステージをパリティ・ブロックpで逐次化しなけ
ればならないことに留意されたい。本発明において、パ
リティ・グループに対するデステージは、パリティ・グ
ループ・ロックを使用して逐次化される。パリティ・グ
ループ・ロックはCU203がデータのDASD値及び
パリティ・グループのパリティ・ブロックを使用して、
パリティ・グループ内の不良ブロックを再構築すること
も防止する。すなわち、パリティ・グループがDASD
上で一貫していない限り、ブロックは再構築されない。
新しいブロックをCPU1から受け取った場合、パリテ
ィ・グループ・ロックを使用して、デステージが進行中
であるかどうかを判断し、次いで受け取った新しいブロ
ックがタイプd^またはd”であるかどうかを判断する
ことができる。
を変更するいくつかのデステージ方法 逐次化(Serialization)とロッキング 前述したように、パリティ・グループはDASDアレイ
の一貫性の単位である。ダーティなDASDブロックを
DASDへデステージした場合、一貫性を保持するた
め、対応するパリティ・ブロックを計算し、書き込むこ
とも必要となる。パリティ・グループからのブロックを
キャッシュからデステージしなければならない場合、パ
リティ・グループはデステージの期間中ロックされる。
パリティ・グループのロックが解除されるのは、データ
・ブロックとパリティ・ブロックの両方がアレイ209
内の対応するDASDに書き込まれ、一貫性が確認され
てからだけである。同一のパリティ・グループに対する
同時デステージをパリティ・ブロックpで逐次化しなけ
ればならないことに留意されたい。本発明において、パ
リティ・グループに対するデステージは、パリティ・グ
ループ・ロックを使用して逐次化される。パリティ・グ
ループ・ロックはCU203がデータのDASD値及び
パリティ・グループのパリティ・ブロックを使用して、
パリティ・グループ内の不良ブロックを再構築すること
も防止する。すなわち、パリティ・グループがDASD
上で一貫していない限り、ブロックは再構築されない。
新しいブロックをCPU1から受け取った場合、パリテ
ィ・グループ・ロックを使用して、デステージが進行中
であるかどうかを判断し、次いで受け取った新しいブロ
ックがタイプd^またはd”であるかどうかを判断する
ことができる。
【0052】要約すると、パリティ・グループ・ロック
が意識する必要のある3つのプロセスは、デステージ・
プロセス、再構築プロセス及び新しいブロックをキャッ
シュへ移動するプロセスである。特に、パリティ・グル
ープ・ロックはDASD読取りブロックがCPUへ送ら
れるのを防止しないことに留意されたい。
が意識する必要のある3つのプロセスは、デステージ・
プロセス、再構築プロセス及び新しいブロックをキャッ
シュへ移動するプロセスである。特に、パリティ・グル
ープ・ロックはDASD読取りブロックがCPUへ送ら
れるのを防止しないことに留意されたい。
【0053】パリティ・ロック・テーブルはCU203
の内部メモリ(図示せず)の制御記憶部分に維持され
る。すべてのロック・テーブル項目には各電力境界に1
つの2つのコピーがあり、ロックへのアクセスが失われ
ないようにしている。パリティ・グループ・ロック・テ
ーブルのサイズを小さくし、これをパリティ・グループ
の数、それ故、DASDの数と無関係なものにするため
に、ハッシュされた構造を使用して、ロックされたパリ
ティ・グループに対する項目だけを維持する。以下のデ
ステージ方法では明示的に触れられていないが、パリテ
ィ・グループはデステージが始まる前にロックされ、デ
ステージが完了してからロック解除される。
の内部メモリ(図示せず)の制御記憶部分に維持され
る。すべてのロック・テーブル項目には各電力境界に1
つの2つのコピーがあり、ロックへのアクセスが失われ
ないようにしている。パリティ・グループ・ロック・テ
ーブルのサイズを小さくし、これをパリティ・グループ
の数、それ故、DASDの数と無関係なものにするため
に、ハッシュされた構造を使用して、ロックされたパリ
ティ・グループに対する項目だけを維持する。以下のデ
ステージ方法では明示的に触れられていないが、パリテ
ィ・グループはデステージが始まる前にロックされ、デ
ステージが完了してからロック解除される。
【0054】キャッシュからDASDアレイへのデステ
ージ法1 図7には、もっとも単純なデステージ法が示されてい
る。この図において、破線はアレイ・コントローラの2
つの異なる電力(パワー)境界を分離している。したが
って、修正されたブロックD1^の2つのコピーが2つ
の異なる電力境界におかれることになる。また、水平の
実線はアレイ・コントローラCUをDASDドライブ自
体から分離している。この図は6つの異なるDASD上
にある6つのデータ・ブロックD1、D2、...D
6、及び7番目のDASDドライブ上にある7番目のパ
リティDASDブロックPも示している(図2のアレイ
209参照)。7番目の異なるDASD上のこれらの7
番目のDASDブロックは対象となるパリティ・グルー
プを構成する。D1^はブロックD1の更新された値で
あり、DASDへデステージされる。
ージ法1 図7には、もっとも単純なデステージ法が示されてい
る。この図において、破線はアレイ・コントローラの2
つの異なる電力(パワー)境界を分離している。したが
って、修正されたブロックD1^の2つのコピーが2つ
の異なる電力境界におかれることになる。また、水平の
実線はアレイ・コントローラCUをDASDドライブ自
体から分離している。この図は6つの異なるDASD上
にある6つのデータ・ブロックD1、D2、...D
6、及び7番目のDASDドライブ上にある7番目のパ
リティDASDブロックPも示している(図2のアレイ
209参照)。7番目の異なるDASD上のこれらの7
番目のDASDブロックは対象となるパリティ・グルー
プを構成する。D1^はブロックD1の更新された値で
あり、DASDへデステージされる。
【0055】このオプションにおいて、ブロックD1及
びブロックPは両方ともDASDから読み取られ、コン
トローラ・メモリの2つのD1^位置の一方へ直接XO
Rされる。これには、上述したデータ・メモリの格納及
びXOR機能が使用される。
びブロックPは両方ともDASDから読み取られ、コン
トローラ・メモリの2つのD1^位置の一方へ直接XO
Rされる。これには、上述したデータ・メモリの格納及
びXOR機能が使用される。
【0056】D1及びPがすでにキャッシュ内にある場
合には、ブロックをDASDから読み取る必要がないこ
とに留意されたい。また、XOR操作が交換可能である
ため、D1のXOR及びPのXORがどの順序で発生し
てもかまわない。作動実施形態の1つは2つの異なるD
ASDの作動が並列に開始され、2つの異なるDASD
における2つの異なるDASDシークを逐次化する必要
のないものである。D1を読み取り、XORした後いつ
でも、D1^をDASDに書き込むことができる。D1
とPの両方が読み取られ、D1^の2つのコピーの一方
に対してXORされた場合、この位置はPの新しい値で
あるP^を含むようになり、これをDASDに書き込む
ことができるようになる。これによって、RAID5の
作動が可能となる。
合には、ブロックをDASDから読み取る必要がないこ
とに留意されたい。また、XOR操作が交換可能である
ため、D1のXOR及びPのXORがどの順序で発生し
てもかまわない。作動実施形態の1つは2つの異なるD
ASDの作動が並列に開始され、2つの異なるDASD
における2つの異なるDASDシークを逐次化する必要
のないものである。D1を読み取り、XORした後いつ
でも、D1^をDASDに書き込むことができる。D1
とPの両方が読み取られ、D1^の2つのコピーの一方
に対してXORされた場合、この位置はPの新しい値で
あるP^を含むようになり、これをDASDに書き込む
ことができるようになる。これによって、RAID5の
作動が可能となる。
【0057】第1の方法の信頼性 図7に示す方法はシステムのいずれかの部分における単
一のエラーが、システムの障害を引き起こさないという
点で信頼性がある。しかしながら、データの喪失をもた
らす多くの障害があるので、多くの状況で信頼性がある
とはみなすことができない。たとえば、2つのD1^位
置の1つへのD1のXORの際の過渡エラーは、ハード
・エラーまたはD1^の他方のコピーの喪失と相俟っ
て、D1^がアレイ・コントローラによって失われてし
まう(コピーが両方とも損傷を受ける)という状況をも
たらす。アレイ・コントローラがすでにホスト・システ
ムに対して、D1^の書込みを高速書込み操作の一部と
して完了していると保証しているのであるから、D1^
のこの喪失は受け入れられない。上記の場合に、データ
を利用できないことはソフト障害1つ及びハード障害1
つによって引き起こされた。ソフト障害ないし過渡障害
はハード障害よりも1桁大きな頻度で発生する。
一のエラーが、システムの障害を引き起こさないという
点で信頼性がある。しかしながら、データの喪失をもた
らす多くの障害があるので、多くの状況で信頼性がある
とはみなすことができない。たとえば、2つのD1^位
置の1つへのD1のXORの際の過渡エラーは、ハード
・エラーまたはD1^の他方のコピーの喪失と相俟っ
て、D1^がアレイ・コントローラによって失われてし
まう(コピーが両方とも損傷を受ける)という状況をも
たらす。アレイ・コントローラがすでにホスト・システ
ムに対して、D1^の書込みを高速書込み操作の一部と
して完了していると保証しているのであるから、D1^
のこの喪失は受け入れられない。上記の場合に、データ
を利用できないことはソフト障害1つ及びハード障害1
つによって引き起こされた。ソフト障害ないし過渡障害
はハード障害よりも1桁大きな頻度で発生する。
【0058】さらに、これら2つの障害の発生は時間的
にかなり離れたもののことがある。たとえば、D1のコ
ピーの一方のハード障害(ECCエラー)はD1^をホ
ストから受け取ってからすぐに発生したが、長い間発見
されずにいたということもある。過渡エラーはずっと遅
く、デステージ中に、D1がD1^の他のコピーに対し
てXORされたときに発生している。過渡エラーが発生
してから始めて、D1^の他方のコピーを試し、読み取
って、これがハード(ECC)エラーのために読み取れ
なくなっていることに気づく、そのときには、遅すぎ
て、データが失われることとなる。
にかなり離れたもののことがある。たとえば、D1のコ
ピーの一方のハード障害(ECCエラー)はD1^をホ
ストから受け取ってからすぐに発生したが、長い間発見
されずにいたということもある。過渡エラーはずっと遅
く、デステージ中に、D1がD1^の他のコピーに対し
てXORされたときに発生している。過渡エラーが発生
してから始めて、D1^の他方のコピーを試し、読み取
って、これがハード(ECC)エラーのために読み取れ
なくなっていることに気づく、そのときには、遅すぎ
て、データが失われることとなる。
【0059】キャッシュからDASDアレイへのデステ
ージ法2 図8に、方法1よりも信頼性の高い方法を示す。最初の
ステップはD1^の3番目のコピーを作成するメモリ間
コピー操作である。方法2の他のステップは方法1と同
じである。新しいパリティがD1^の3番目のコピーを
作成した場所(位置Y)に作成されることに留意された
い。
ージ法2 図8に、方法1よりも信頼性の高い方法を示す。最初の
ステップはD1^の3番目のコピーを作成するメモリ間
コピー操作である。方法2の他のステップは方法1と同
じである。新しいパリティがD1^の3番目のコピーを
作成した場所(位置Y)に作成されることに留意された
い。
【0060】2番目の方法の信頼性 2番目の方法はほとんどの状況で充分な信頼性のあるも
のである。しかしながら、以下の理由から、ミラーリン
グを行うDASDコントローラほど信頼性のあるもので
はない。ミラーリングを行っているDASDコントロー
ラはデステージを開始したときに、DASDブロックの
一方のコピーを一方のDASDに書込み、DASDブロ
ックの他方のコピーをミラーDASDに書き込む。デス
テージに関与している2つ以外のDASDが障害を起こ
し、また電力境界の1つにおけるメモリ障害が同時に発
生しても、デステージを完了することができる。換言す
れば、2つのハード障害があっても、デステージは存続
する。
のである。しかしながら、以下の理由から、ミラーリン
グを行うDASDコントローラほど信頼性のあるもので
はない。ミラーリングを行っているDASDコントロー
ラはデステージを開始したときに、DASDブロックの
一方のコピーを一方のDASDに書込み、DASDブロ
ックの他方のコピーをミラーDASDに書き込む。デス
テージに関与している2つ以外のDASDが障害を起こ
し、また電力境界の1つにおけるメモリ障害が同時に発
生しても、デステージを完了することができる。換言す
れば、2つのハード障害があっても、デステージは存続
する。
【0061】図2に示したDASDアレイ・コントロー
ラに対して、同じセットの障害を考える。CU203が
D1^の書込みを完了したところであり、かつ新しいP^
を書き込むメモリ位置(位置Y)にハード・エラーがあ
るときに、新しいP^の書込みを開始したものと想定す
る。したがって、新しいP^を含むことになっていた位
置及びデータは利用できない。キャッシュすなわちNV
S位置はPの古い値を使用されていたが、現在では、P
もP^も含んでいないようになっている。
ラに対して、同じセットの障害を考える。CU203が
D1^の書込みを完了したところであり、かつ新しいP^
を書き込むメモリ位置(位置Y)にハード・エラーがあ
るときに、新しいP^の書込みを開始したものと想定す
る。したがって、新しいP^を含むことになっていた位
置及びデータは利用できない。キャッシュすなわちNV
S位置はPの古い値を使用されていたが、現在では、P
もP^も含んでいないようになっている。
【0062】デステージを適正に完了するためには、P
^を再計算し、適切なDASD位置に書き込む必要があ
る。D1^がすでにDASDに書き込まれているのであ
るから、P^を同じ方法で再計算することはできない。
以前のパリティの計算がD1を読み取り、P^を計算す
るためにD1を使用することを含んでいたことを想起さ
れたい。D2、D3、...、D6を読み取り、これら
をすべてD1^とともにXORすることによって、P^を
再計算しなければならない。D2、D3、...、D6
を含んでいるDASDの1つも障害を起こしている場
合、新しいP^を決定することができない。
^を再計算し、適切なDASD位置に書き込む必要があ
る。D1^がすでにDASDに書き込まれているのであ
るから、P^を同じ方法で再計算することはできない。
以前のパリティの計算がD1を読み取り、P^を計算す
るためにD1を使用することを含んでいたことを想起さ
れたい。D2、D3、...、D6を読み取り、これら
をすべてD1^とともにXORすることによって、P^を
再計算しなければならない。D2、D3、...、D6
を含んでいるDASDの1つも障害を起こしている場
合、新しいP^を決定することができない。
【0063】キャッシュからDASDアレイへのデステ
ージ法3−最高の信頼性 図9には、もっとも信頼性の高いデステージ方法が示さ
れている。そのステップは次のものからなっている。
ージ法3−最高の信頼性 図9には、もっとも信頼性の高いデステージ方法が示さ
れている。そのステップは次のものからなっている。
【0064】(a)位置YにD1^の第3のコピーを作
成する (b)任意の順序で、DASDからD1を読み取り、こ
れをYに対してXORし、かつ他の電力境界にD1のコ
ピーを作成する (c)DASDからPを読み取り、これをYに対してX
ORし、かつ他の電力境界にPのコピーを作成する (d)すべての読取り及びXORを完了した後、D1^
及び新しいP^を(位置Yから)DASDへ任意の順序
で書き込む。
成する (b)任意の順序で、DASDからD1を読み取り、こ
れをYに対してXORし、かつ他の電力境界にD1のコ
ピーを作成する (c)DASDからPを読み取り、これをYに対してX
ORし、かつ他の電力境界にPのコピーを作成する (d)すべての読取り及びXORを完了した後、D1^
及び新しいP^を(位置Yから)DASDへ任意の順序
で書き込む。
【0065】何らかの書込みを開始する前に、すべての
読取り及びXOR操作が完了するのを待つことによっ
て、この方法は3つの障害の組合せ、すなわち2つのメ
モリ・カードの一方の障害、D2、D3、...、D6
を含んでいるDASDの1つの障害、ならびにD1また
はPの読取り及びXOR中の過渡障害の組合せに対して
信頼性の高いものとなる。この信頼性を達成する鍵とな
るのは、D1及びPの古い値を、D1^の3番目のコピ
ーを含んでいる位置Yとは異なる電力境界に読み込むこ
とである。これは実際には、DASDへの書込みを開始
する前に、新しいパリティの2つのコピー、すなわち位
置Yにあるものと、D1^、D1及びPをXORするこ
とによって他の電力境界に作成されるものがキャッシュ
に存在していることを意味する。
読取り及びXOR操作が完了するのを待つことによっ
て、この方法は3つの障害の組合せ、すなわち2つのメ
モリ・カードの一方の障害、D2、D3、...、D6
を含んでいるDASDの1つの障害、ならびにD1また
はPの読取り及びXOR中の過渡障害の組合せに対して
信頼性の高いものとなる。この信頼性を達成する鍵とな
るのは、D1及びPの古い値を、D1^の3番目のコピ
ーを含んでいる位置Yとは異なる電力境界に読み込むこ
とである。これは実際には、DASDへの書込みを開始
する前に、新しいパリティの2つのコピー、すなわち位
置Yにあるものと、D1^、D1及びPをXORするこ
とによって他の電力境界に作成されるものがキャッシュ
に存在していることを意味する。
【0066】その他のデステージの場合 図10を参照して、本発明の完全な作動に関して発生す
る可能性のある4つのデステージ状況の1つを説明す
る。図示のように、該当するデステージの場合はパリテ
ィ・グループのデータ・ブロックをいくつデステージし
なければならないのか、またこれらの内のいくつがキャ
ッシュに存在している(定義上、デステージされるすべ
てのブロックはキャッシュ内の2つの別の位置にある)
のかによって決定される。図10において、キャッシュ
内にあるダーティなすべてのブロックをD1^とする。
これらがデステージされるブロックである。4つの場合
は次の通りである。
る可能性のある4つのデステージ状況の1つを説明す
る。図示のように、該当するデステージの場合はパリテ
ィ・グループのデータ・ブロックをいくつデステージし
なければならないのか、またこれらの内のいくつがキャ
ッシュに存在している(定義上、デステージされるすべ
てのブロックはキャッシュ内の2つの別の位置にある)
のかによって決定される。図10において、キャッシュ
内にあるダーティなすべてのブロックをD1^とする。
これらがデステージされるブロックである。4つの場合
は次の通りである。
【0067】(1)パリティ・グループ全体をデステー
ジする (2)全体がキャッシュ内にあるパリティ・グループの
一部をデステージする (3)パリティ・グループの一部をデステージし、パリ
ティ・グループの残りのメンバを読み取って、新しいパ
リティを作成する (4)パリティ・グループの一部をデステージし、デー
タ及びパリティの古い値を読み取って、新しいパリティ
を作成する
ジする (2)全体がキャッシュ内にあるパリティ・グループの
一部をデステージする (3)パリティ・グループの一部をデステージし、パリ
ティ・グループの残りのメンバを読み取って、新しいパ
リティを作成する (4)パリティ・グループの一部をデステージし、デー
タ及びパリティの古い値を読み取って、新しいパリティ
を作成する
【0068】キャッシュからDASDアレイへデステー
ジする信頼性の高い方法を、各場合(1)−(4)に関
して説明するが、これについては図10を参照された
い。
ジする信頼性の高い方法を、各場合(1)−(4)に関
して説明するが、これについては図10を参照された
い。
【0069】パリティ・グループ全体をデステージする
方法 パリティ・グループ全体をアレイ・キャッシュからDA
SDアレイにデステージする方法は、次のステップから
なっている。
方法 パリティ・グループ全体をアレイ・キャッシュからDA
SDアレイにデステージする方法は、次のステップから
なっている。
【0070】(a)パリティを保持するためのバッファ
(P1)を割り振り、該バッファの内容をゼロに初期化
し、パリティ・グループ内の各ブロックをDASDに書
き込み、各ブロックを同時にP1とXORし、(b)デ
ータ・ブロックがすべてデステージされてから、P1の
内容(新しいパリティ)をDASDに書き込む。
(P1)を割り振り、該バッファの内容をゼロに初期化
し、パリティ・グループ内の各ブロックをDASDに書
き込み、各ブロックを同時にP1とXORし、(b)デ
ータ・ブロックがすべてデステージされてから、P1の
内容(新しいパリティ)をDASDに書き込む。
【0071】これらのステップを組み合わせることによ
って、データ・ブロックをCU203メモリから読み取
る必要があるのが1回だけとなるので、サブシステム資
源は保存される。あるいは、これらのステップを別々に
実行した場合、ブロックをキャッシュ・メモリから2回
読み取らなければならなくなる。すなわち、まず、XO
Rを行い、後で、DASDへのダーティ・ブロックの書
き込みを行うこととなる。
って、データ・ブロックをCU203メモリから読み取
る必要があるのが1回だけとなるので、サブシステム資
源は保存される。あるいは、これらのステップを別々に
実行した場合、ブロックをキャッシュ・メモリから2回
読み取らなければならなくなる。すなわち、まず、XO
Rを行い、後で、DASDへのダーティ・ブロックの書
き込みを行うこととなる。
【0072】高速障害回復を行う場合、新しいパリティ
・ブロックがDASDへ正常に書き込まれるまで、ダー
ティ・ブロックのキャッシュ内でのデステージを維持す
ることが望ましい。したがって、パリティ・ブロックの
書き込みで障害が生じた場合、データ・ブロックをDA
SDから読み取る必要なく、新しいパリティを再生成で
きる。
・ブロックがDASDへ正常に書き込まれるまで、ダー
ティ・ブロックのキャッシュ内でのデステージを維持す
ることが望ましい。したがって、パリティ・ブロックの
書き込みで障害が生じた場合、データ・ブロックをDA
SDから読み取る必要なく、新しいパリティを再生成で
きる。
【0073】パリティ・グループ全体がキャッシュ内に
ある場合に、パリティ・グループの一部をデステージす
る方法 この方法は次のステップからなる。
ある場合に、パリティ・グループの一部をデステージす
る方法 この方法は次のステップからなる。
【0074】(a)位置P1にデステージする必要のな
いパリティ・グループ内のデータ・ブロックの1つをコ
ピーし、パリティ・グループ内の各ダーティ・ブロック
をDASDへ書き込み、DASDへ書き込まなければな
らない新しいパリティを最終的に含むP1と各ダーティ
・ブロックを同時にXORし、(b)パリティ・グルー
プの他のブロックがP1とXORされた後、P1をDA
SDへ書き込む。
いパリティ・グループ内のデータ・ブロックの1つをコ
ピーし、パリティ・グループ内の各ダーティ・ブロック
をDASDへ書き込み、DASDへ書き込まなければな
らない新しいパリティを最終的に含むP1と各ダーティ
・ブロックを同時にXORし、(b)パリティ・グルー
プの他のブロックがP1とXORされた後、P1をDA
SDへ書き込む。
【0075】このデステージ方法の信頼性に、CU20
3が1つまたは複数のダーティ・ブロックのDASDに
対する書き込みを完了しているが、P1に新しいパリテ
ィを生成するのをまだ完了していない場合の傾向、なら
びにP1に新しいパリティを形成するためにXORされ
ようとしていたクリーン・データ・ブロックが利用でき
なくなる場合の傾向を示している。後者の例はクリーン
・ブロックを含んでいるキャッシュ・メモリ位置のメモ
リ・カードが障害を起こした場合に発生する。この場合
には、このブロックをDASDから読み取ることが必要
である。
3が1つまたは複数のダーティ・ブロックのDASDに
対する書き込みを完了しているが、P1に新しいパリテ
ィを生成するのをまだ完了していない場合の傾向、なら
びにP1に新しいパリティを形成するためにXORされ
ようとしていたクリーン・データ・ブロックが利用でき
なくなる場合の傾向を示している。後者の例はクリーン
・ブロックを含んでいるキャッシュ・メモリ位置のメモ
リ・カードが障害を起こした場合に発生する。この場合
には、このブロックをDASDから読み取ることが必要
である。
【0076】上述の制限のない別方法は次のステップか
らなる。
らなる。
【0077】(a)位置P1にデステージする必要のな
いパリティ・グループ内のデータ・ブロックの1つのコ
ピーを作成し、パリティ・グループの非ダーティ・デー
タ・ブロックをすべてP1に対してXORし、P1内の
結果のコピーをP2にある障害と無関係なNVS内の位
置に作成し、(b)P1と各ダーティ・ブロックを同時
にXORしながら、各ダーティ・データ・ブロックをD
ASDに書き込み、(c)すべてのXORが完了した
後、P1(新しいパリティを含んでいる)をDASDに
書き込む。
いパリティ・グループ内のデータ・ブロックの1つのコ
ピーを作成し、パリティ・グループの非ダーティ・デー
タ・ブロックをすべてP1に対してXORし、P1内の
結果のコピーをP2にある障害と無関係なNVS内の位
置に作成し、(b)P1と各ダーティ・ブロックを同時
にXORしながら、各ダーティ・データ・ブロックをD
ASDに書き込み、(c)すべてのXORが完了した
後、P1(新しいパリティを含んでいる)をDASDに
書き込む。
【0078】別方法において、デステージ中のキャッシ
ュからのクリーン・データの喪失があった場合、P2に
保管されているコピーを使用できるので、DASDに格
納されているブロックを読み取る必要なく、新しいパリ
ティの生成を行うことができる。
ュからのクリーン・データの喪失があった場合、P2に
保管されているコピーを使用できるので、DASDに格
納されているブロックを読み取る必要なく、新しいパリ
ティの生成を行うことができる。
【0079】キャッシュ内にないメンバをDASDから
読み取って、パリティ・グループの一部をデステージす
る方法 ここでは、キャッシュ内にないパリティ・グループのブ
ロックがごくわずかだけであるため、新しいパリティを
生成するために失われたメンバを読み取る方が、デステ
ージされるブロックの古い値を読み取るよりも高速であ
ると想定する。関連する方法は次のステップからなって
いる。
読み取って、パリティ・グループの一部をデステージす
る方法 ここでは、キャッシュ内にないパリティ・グループのブ
ロックがごくわずかだけであるため、新しいパリティを
生成するために失われたメンバを読み取る方が、デステ
ージされるブロックの古い値を読み取るよりも高速であ
ると想定する。関連する方法は次のステップからなって
いる。
【0080】(a)キャッシュ・バッファP1を割り振
り、ゼロにし、(b)キャッシュ内で失われているパリ
ティ・グループのすべてのデータ・ブロックをDASD
から読み取り、すべての該データ・ブロックを位置P1
の内容によって、該位置に対してXORし、(c)パリ
ティ・グループのDASD内の各ダーティ・ブロックを
書き込み、すべての読取りが完了した後、これをP1に
よって同時にXORし、ダーティでもなく、当初キャッ
シュ内で失われていないものでもないが、DASDに書
き込まれていないパリティの他のブロックをP1によっ
てXORし、(d)P1内の新しいパリティをDASD
に書き込む。
り、ゼロにし、(b)キャッシュ内で失われているパリ
ティ・グループのすべてのデータ・ブロックをDASD
から読み取り、すべての該データ・ブロックを位置P1
の内容によって、該位置に対してXORし、(c)パリ
ティ・グループのDASD内の各ダーティ・ブロックを
書き込み、すべての読取りが完了した後、これをP1に
よって同時にXORし、ダーティでもなく、当初キャッ
シュ内で失われていないものでもないが、DASDに書
き込まれていないパリティの他のブロックをP1によっ
てXORし、(d)P1内の新しいパリティをDASD
に書き込む。
【0081】キャッシュ内で失われているデータ・ブロ
ックの読取りをまず完了してから、書込みを行わせるよ
うにする理由は、すべてのこのような失われたデータ・
ブロックが読取り可能であることを確認するためであ
る。これらのデータ・ブロックの1つが読取り不能であ
る場合には、異なる方法(次に説明するもの)がデステ
ージに使用される。
ックの読取りをまず完了してから、書込みを行わせるよ
うにする理由は、すべてのこのような失われたデータ・
ブロックが読取り可能であることを確認するためであ
る。これらのデータ・ブロックの1つが読取り不能であ
る場合には、異なる方法(次に説明するもの)がデステ
ージに使用される。
【0082】データ及びパリティの古い値の読取りが必
要な場合に、パリティ・グループの一部をデステージす
る方法 この方法は次のステップからなる。
要な場合に、パリティ・グループの一部をデステージす
る方法 この方法は次のステップからなる。
【0083】(a)キャッシュ内の(たとえば、位置C
における)デステージされるデータ・ブロックの1つ
(たとえば、D)の3番目のコピーを作成し、DASD
へデステージされるすべてのデータ・ブロックの古い値
をDASDから障害と無関係なNVSの位置へ読み取
り、すべてのデータ・ブロックの古い値を位置Cへ同時
にXORし、(b)パリティの古い値をDASDからN
VS内の位置へ読み出し、パリティの古い値を位置Cの
内容によって同時にXORし、(c)ブロックの古い値
を読み取った後、ブロックの新しい値をDASDに書き
込み、すべてのデータ・ブロックが書き込まれ、古いパ
リティ・ブロックが読み取られた後、新しい値を含んで
いるCをDASDへ書き込む。
における)デステージされるデータ・ブロックの1つ
(たとえば、D)の3番目のコピーを作成し、DASD
へデステージされるすべてのデータ・ブロックの古い値
をDASDから障害と無関係なNVSの位置へ読み取
り、すべてのデータ・ブロックの古い値を位置Cへ同時
にXORし、(b)パリティの古い値をDASDからN
VS内の位置へ読み出し、パリティの古い値を位置Cの
内容によって同時にXORし、(c)ブロックの古い値
を読み取った後、ブロックの新しい値をDASDに書き
込み、すべてのデータ・ブロックが書き込まれ、古いパ
リティ・ブロックが読み取られた後、新しい値を含んで
いるCをDASDへ書き込む。
【0084】この方法においては、新しいブロックをD
ASDへ書き込む前に、すべての古い値及びパリティ・
ブロックがDASDから読み取られ、Cに対してXOR
されるまで待つ必要がある。この制限がない場合、2つ
のハード・エラー及び過渡エラーが発生すると、データ
の喪失が生じる。これはDの新しい値のDASDへの書
込みによってもたらされ(DASD上のDの古い値はも
はや利用できない)、Dの古い値を含んでいるキャッシ
ュ・メモリ位置の喪失、ならびに古いパリティへの読み
出しの過渡エラーは位置Cに対する損傷を引き起こす
(Cに対してXORされたDの古い値はもはや利用でき
ない)。これ以降、CU203はDASDからデータ・
ブロック(デステージされるもの以外のもの)を読み取
ることができなくなる(このようなブロックは新しいパ
リティに対しては、新しいパリティを計算する必要があ
る)。
ASDへ書き込む前に、すべての古い値及びパリティ・
ブロックがDASDから読み取られ、Cに対してXOR
されるまで待つ必要がある。この制限がない場合、2つ
のハード・エラー及び過渡エラーが発生すると、データ
の喪失が生じる。これはDの新しい値のDASDへの書
込みによってもたらされ(DASD上のDの古い値はも
はや利用できない)、Dの古い値を含んでいるキャッシ
ュ・メモリ位置の喪失、ならびに古いパリティへの読み
出しの過渡エラーは位置Cに対する損傷を引き起こす
(Cに対してXORされたDの古い値はもはや利用でき
ない)。これ以降、CU203はDASDからデータ・
ブロック(デステージされるもの以外のもの)を読み取
ることができなくなる(このようなブロックは新しいパ
リティに対しては、新しいパリティを計算する必要があ
る)。
【0085】拡張 本発明のこれら及びその他の拡張を特許請求の範囲記載
の本発明の精神及び範囲から逸脱することなく行うこと
ができる。
の本発明の精神及び範囲から逸脱することなく行うこと
ができる。
【図1】従来技術による2重ポートDASD及びRAM
キャッシュ、ならびに不揮発性記憶装置(NVS)を示
す図面である。
キャッシュ、ならびに不揮発性記憶装置(NVS)を示
す図面である。
【図2】本発明による高速書込み及び信頼性の高いデス
テージングをサポートするキャッシュ指向DASDアレ
イ・アーキテクチャを示す図面である。
テージングをサポートするキャッシュ指向DASDアレ
イ・アーキテクチャを示す図面である。
【図3】典型的な書込み操作においてキャッシュ及びデ
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
【図4】典型的な書込み操作においてキャッシュ及びデ
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
【図5】典型的な書込み操作においてキャッシュ及びデ
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
【図6】典型的な書込み操作においてキャッシュ及びデ
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
ータの移動として使用される障害に無関係なデータ・メ
モリの4つの論理エリアを示す図面である。
【図7】信頼性が増加していくブロック・デステージ・
ステップを示す図面である。
ステップを示す図面である。
【図8】信頼性が増加していくブロック・デステージ・
ステップを示す図面である。
ステップを示す図面である。
【図9】信頼性が増加していくブロック・デステージ・
ステップを示す図面である。
ステップを示す図面である。
【図10】複数ブロック・パリティ・グループのステッ
プを示す図面である。
プを示す図面である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイシャンカー・ムーセダス・メモン アメリカ合衆国95120、カリフォルニア州 サンノゼ、モントーロ・ドライブ 6017
Claims (14)
- 【請求項1】選択的にアクセス可能なDASDのアレイ
と、該アレイを結合するキャッシュ及び不揮発性記憶装
置(NVS)と、キャッシュまたはNVSとDASDの
選択可能なものとの間でブロック編成のデータまたはそ
の一部の論理トラックをステージ及びデステージするた
めの少なくとも1つの外部ソースからの読取り、書込
み、及び書込み更新参照に応答する手段とを有してお
り、キャッシュ・ミスが少なくとも新たに書き込まれた
ブロックまたは更新されたブロックのキャッシュからの
デステージを必要とする記憶サブシステムにおいて、
(a)各書込みまたは書込み更新参照に応じて、各対象
ブロックをキャッシュに、またコピーをNVSに同時に
記録し、完了の指示を外部参照元にもたらし、新たに書
き込まれたブロック、更新されたブロック及び読取り専
用ブロックをLRU順でキャッシュ内に維持し、(b)
キャッシュ・ミスをもたらす各参照に応じて、キャッシ
ュから選択的にアクセス可能なDASDのいずれかに、
LRUで新たに書き込まれたあるいは更新されたブロッ
クならびに同数のその他の新たに書き込まれたあるいは
更新されたブロックを、キャッシュされたブロックのL
RU順の所定のLRU位置に配置される該その他の新た
に書き込まれたあるいは更新されたブロックによって条
件づけられた同一の論理トラックにデステージするステ
ップからなるブロックの高速書込みの方法。 - 【請求項2】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、ステップ(b)が(b1)更新され
たブロック(d1^)を他のキャッシュ位置(Y)にコ
ピーし、対応する新たに書き込まれたブロック(d1)
がキャッシュ内に存在しているかどうかを確認し、存在
していない場合には、新たに書き込まれたブロック(d
1)を選択的にアクセス可能なDASDの少なくとも1
つからキャッシュにコピーし、新たに書き込まれ、さら
に更新されたブロックを前記の他のキャッシュ位置
(Y)に論理的に組み合わせ(d1 XOR d1
^)、(b2)関連づけられたドメインのパリティ・ブ
ロック(P)を選択的にアクセス可能なDASDの少な
くとも1つからキャッシュにコピーし、これを前記の他
の位置の内容と論理的に組み合わせ(d1 XOR d
1^ XOR P)、(b3)キャッシュから選択的に
アクセス可能なDASDの少なくとも1つに、更新され
たブロックと前記の他のキャッシュ位置(Y)の論理的
に組み合わされた内容を独立してデステージし、該内容
がドメインに対する新しいパリティとして作動可能であ
るステップを含んでいる請求項1記載の方法。 - 【請求項3】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、ステップ(a)及び(b)とともに
さらに、(c)キャッシュからデステージされるパリテ
ィ・グループからのブロックに応じて、デステージの期
間中、該パリティ・グループをロックし、データ・ブロ
ックとパリティ・ブロックの両方が選択的にアクセス可
能なDASDの少なくとも1つに書き込まれ、これらの
一貫性が確認されてからのみ、該パリティ・グループを
ロック解除するステップを含んでいる請求項1記載の方
法。 - 【請求項4】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、さらにステップ(b)が(b1)ブ
ロックd1及びPを選択的にアクセス可能なDASDの
少なくとも1つから読み取り、該ブロックを位置D1の
NVSへ直接XORし、更新されたブロックd1が当初
キャッシュへ、また外部ソースからの書込み参照の時点
で位置D1にコピーされており、(b2)d1^をキャ
ッシュから書き込み、位置D1の内容を選択的にアクセ
ス可能なDASDの少なくとも1つに対してXORする
ステップを含んでいる請求項1記載の方法。 - 【請求項5】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、さらにステップ(b)が(b1)キ
ャッシュからNVSの第2の位置Yへの更新されたブロ
ックd1^のコピーを作成し、更新されたブロックd1
が当初キャッシュへ、また外部ソースからの書込み参照
の時点でNVSの位置D1にコピーされており、(b
2)ブロックd1及びPを選択的にアクセス可能なDA
SDの少なくとも1つから読み取り、該ブロックを位置
YのNVSへ直接XORし、(b3)d1^をキャッシ
ュから書き込み、位置Yの内容を選択的にアクセス可能
なDASDの少なくとも1つに対してXORするステッ
プを含んでいる請求項1記載の方法。 - 【請求項6】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロックにおける更新が
ドメイン・パリティ・ブロック(P)における変更を必
要とし、方法ステップ(b)を修正して、パリティ・グ
ループ全体をキャッシュからDASDの選択的にアクセ
ス可能なものへデステージすることを含むようにし、
(a)パリティを保持するためにキャッシュにバッファ
(P1)を割り振り、該バッファの内容をゼロに初期化
し、パリティ・グループ内の各ブロックを選択可能なD
ASDへ書き込み、同時に各ブロックをP1によってX
ORし、(b)すべてのデータ・ブロックがデステージ
された後、P1(新しいパリティ)の内容を選択可能な
DASDへ書き込むステップからなる請求項1記載の方
法。 - 【請求項7】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、方法ステップ(b)を修正して、パ
リティ・グループ全体がキャッシュ内にある場合に、パ
リティ・グループの一部をDASDの選択的にアクセス
可能なものへデステージすることを含むようにし、
(a)デステージされないパリティ・グループ内のデー
タ・ブロックの1つを位置P1にコピーし、パリティ・
グループ内の更新されたブロックをDASDの選択可能
なものへ書き込み、同時に各更新されたブロックをP1
によってXORし、P1が最終的にDASDへ書き込ま
れる新しいパリティを含み、(b)パリティ・グループ
の他のブロックがP1によってXORされた後、P1を
DASDへ書き込むステップからなる請求項1記載の方
法。 - 【請求項8】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、方法ステップ(b)を修正して、パ
リティ・グループ全体がキャッシュ内にある場合に、パ
リティ・グループの一部をDASDの選択的にアクセス
可能なものへデステージすることを含むようにし、
(a)デステージされないパリティ・グループ内のデー
タ・ブロックの1つのコピーを位置P1に作成し、パリ
ティ・グループのすべての非ダーティ・データ・ブロッ
クのすべてをP1に対してXORし、結果のコピーをP
2にある障害に無関係なNVS内の位置に作成し、
(b)各更新されたブロックをDASDの選択可能なも
のへ書き込むとともに、同時に、各ダーティ・ブロック
をP1によってXORし、(c)すべてのXORが完了
した後、位置P1の内容をDASDの選択可能なものへ
書き込むステップからなる請求項1記載の方法。 - 【請求項9】ブロックのグループ(d1、d2、...
dn)がパリティ・ブロック(P)を含んでいる「ドメ
イン」に関連づけられ、ドメイン(d1、d2、...
dn、P)の少なくとも1つのブロック(d1^)にお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、方法ステップ(b)を修正して、パ
リティ・グループの少数のブロックがキャッシュ内にな
い場合に、該パリティ・ブロックの一部をデステージす
ることを含むようにし、(b1)キャッシュ・バッファ
P1を割り振り、ゼロにし、(b2)DASDの選択可
能なものから、キャッシュ内で失われているパリティ・
グループのすべてのブロックを読み取り、該すべてのブ
ロックを位置P1の内容によって、位置P1に対してX
ORし、(b3)パリティ・グループ内の各更新された
ブロックをDASDに書き込み、同時にステップ(b
2)の完了後に、これらのブロックをP1によってXO
Rし、かつキャッシュ内で当初更新も、失われてもいな
かったが、DASDの選択可能なものへ書き込まれてい
ないパリティ・グループの他のブロックをP1によって
XORし、(b4)P1内の新しいパリティをDASD
の少なくとも選択可能な1つに書き込むステップからな
る請求項1記載の方法。 - 【請求項10】ブロックのグループ(d1、d
2、...dn)がパリティ・ブロック(P)を含んで
いる「ドメイン」に関連づけられ、ドメイン(d1、d
2、...dn、P)の少なくとも1つのブロック(d
1^)における更新がドメイン・パリティ・ブロック
(P)における変更を必要とし、方法ステップ(b)を
修正して、元のブロック及びパリティの読取りが必要な
場合に、パリティ・グループの一部をデステージするこ
とを含むようにし、(a)キャッシュ内のデステージさ
れるブロックdi^、dj^各々の付加的なコピーを位置
Ci及びCjに作成し、DASDの選択可能なものか
ら、DASDの選択可能なものへデステージされるすべ
てのブロックdi及びdjの元の値を障害に無関係なN
VSの位置へ読み込み、同時にデステージされるすべて
のブロックdi及びdjの元の値を位置Ci及びCjに
対してXORし、(b)DASDの選択可能なものか
ら、パリティPの元の値をNVSの位置へ読取り、同時
にパリティPの元の値を位置Ci及びCjの内容によっ
てXORし、(c)ブロックの元の値di及びdjが読
み取られた後、ブロックdi^及びdj^の新しい値をD
ASDの選択可能なものへ書き込み、すべてのブロック
di^及びdj^が書き込まれ、元のパリティ・ブロック
が読み取られた後、新しいパリティを含んでいるCをD
ASDに書き込むステップからなる請求項1記載の方
法。 - 【請求項11】選択的にアクセス可能なDASDのアレ
イと、これに通信可能に接続されたキャッシュ及び不揮
発性記憶装置(NVS)と、前記アレイと前記キャッシ
ュの間でデータまたはブロック化されたその一部(セク
タ)のアドレスされた論理トラックをステージ及びデス
テージするための外部ソースからの読取り、書込み、ま
たは書込み更新参照に応答する手段を含んでいる記憶管
理サブシステム(SMS)において、SMSに対する各
読取り、書込み、または書込み更新が、アクセスによっ
て参照されたブロックがキャッシュ内にある場合にはヒ
ットを、また参照されたブロックがキャッシュ内にない
場合にはミスをもたらし、キャッシュが所定の容量を有
しており、このキャッシュに対して、該キャッシュに対
する次のミス参照が合った場合に、キャッシュ常駐の少
なくとも1つのブロックがデステージされ、データの変
更及びコピーが当初キャッシュ及びNVSに書き込ま
れ、その後、デステージの場合にのみ、前記アレイに送
られるブロック化された部分に対して行われ、(a)各
書込み参照に応答し、同時に、キャッシュ内の各変更さ
れたブロック及びNVS内のコピーを記録し、各参照元
に完了指示を与え、キャッシュ内のブロックをLRU順
に維持するための手段と、(b)キャッシュ・ミスをも
たらすSMSの各参照に応じて、キャッシュからDAS
Dアレイへ、LRUの変更されたブロック、及び同数の
他の変更されたブロックがキャッシュされたブロックの
LRU順の所定のLRU部分に配置されている場合に、
これらの他の変更されたブロックを同じ論理トラックへ
デステージするための手段とからなるブロックの高速書
込みのための記憶管理サブシステム。 - 【請求項12】ブロックのグループ(d1、d
2、...dn)がパリティ・ブロック(P)を含んで
いる「ドメイン」に関連づけられ、ドメイン(d1、d
2、...dn、P)の少なくとも1つのブロックにお
ける更新がドメイン・パリティ・ブロック(P)におけ
る変更を必要とし、さらにデステージ手段が変更された
ブロック(d1^)を他のキャッシュ位置Yへコピー
し、元のブロック(d1)がキャッシュ内に存在してい
るかどうか確認し、存在していない場合には、ブロック
(d1)をアレイからキャッシュへコピーし、かつ前記
の他のキャッシュ位置(Y)に、元のブロックと変更さ
れたブロックを論理的に組み合わせる(d1 XOR
d1^)ための手段と、 関連するドメインのパリティ・ブロック(P)をアレイ
からキャッシュへコピーし、これを前記の他の位置の内
容と倫理的に組み合わせる(d1 XOR d1^ X
OR P)ための手段と、 キャッシュからアレイへ、変更されたブロックと前記の
他のキャッシュ位置の論理的に組み合わされた内容を独
立してデステージするための手段とからなり、前記内容
がドメインに対する新しいパリティとして作動可能であ
る請求項11記載の記憶管理サブシステム。 - 【請求項13】外部ソースからのアクセス・コマンドな
どに応答する、ブロック編成のデータの論理トラックの
記憶装置のサブシステムにおいて、(a)複数個のDA
SDと、(b)キャッシュと、(c)不揮発性記憶装置
(NVS)と、(d)前記アクセス・コマンドに応答し
て、同一または異なる論理トラックの1つまたは複数の
ブロックを前記キャッシュから読み取り、同一または異
なる論理トラックの1つまたは複数のブロックをキャッ
シュに、また該1つまたは複数の書き込まれたブロック
のコピーをNVSに書き込み、書込み完了指示を前記外
部ソースに与えるための手段と、(e)前記キャッシュ
内に、前記ソースによって読み取られるブロック、新た
に書き込まれたブロック及び更新されたブロックをLR
U順に維持するための手段と、(f)キャッシュ・ミス
をもたらす各アクセス・コマンドなどに応答して、アク
セス・コマンドによって指定されたブロックを前記複数
個のDASDの選択可能なものから前記キャッシュへス
テージし、前記キャッシュから前記複数個のDASDの
選択可能なものへ、LRUの新たに書き込まれたあるい
は更新されたブロック、ならびに他の新たに書き込まれ
たあるいは更新されたブロックがキャッシュされたブロ
ックのLRU順の所定のLRU位置に配置されているこ
とを条件として、同数のこれらの新たに書き込まれたあ
るいは更新された他のブロックをデステージするための
手段とからなるサブシステム。 - 【請求項14】前記ステージング及びデステージング手
段がこれらの新たに書き込まれたデータ及びパリティ・
ブロックを充分なコピー数で複数個のDASDの選択可
能なものからコピーし、パリティを決定するために使用
されるキャッシュ内の最大2つの位置が不良データまた
は不良パリティのいずれかを含んでいる場合に、データ
またはパリティの再構築を可能とする手段を含んでいる
請求項13記載のサブシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/878,810 US5418921A (en) | 1992-05-05 | 1992-05-05 | Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes |
US878810 | 1992-05-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0695968A true JPH0695968A (ja) | 1994-04-08 |
JP2691120B2 JP2691120B2 (ja) | 1997-12-17 |
Family
ID=25372891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5100631A Expired - Fee Related JP2691120B2 (ja) | 1992-05-05 | 1993-04-27 | 記憶管理サブシステムおよびブロックの高速書込みの方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5418921A (ja) |
EP (1) | EP0569212A1 (ja) |
JP (1) | JP2691120B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
JP2010514038A (ja) * | 2006-12-20 | 2010-04-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 書き戻しキャッシュ・ユニットを用いてデータを管理するためのシステム、方法、及びコンピュータ・プログラム |
JP2014507717A (ja) * | 2011-01-18 | 2014-03-27 | エルエスアイ コーポレーション | より高いレベルの冗長な情報の計算 |
JP2014519650A (ja) * | 2011-05-23 | 2014-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
JPH0659952A (ja) * | 1992-08-07 | 1994-03-04 | Toshiba Corp | 磁気ディスク装置 |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
JP3258117B2 (ja) * | 1993-03-08 | 2002-02-18 | 株式会社日立製作所 | 記憶装置サブシステム |
US6138126A (en) * | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
US5550998A (en) * | 1993-06-14 | 1996-08-27 | Storage Technology Corporation | Pre-seeking process for enhancing reading and writing performance in a mass storage system having multiple individual disk drives |
US5748985A (en) * | 1993-06-15 | 1998-05-05 | Hitachi, Ltd. | Cache control method and cache controller |
US5583876A (en) * | 1993-10-05 | 1996-12-10 | Hitachi, Ltd. | Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations |
US5542066A (en) * | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5588129A (en) * | 1994-02-09 | 1996-12-24 | Ballard; Clinton L. | Cache for optical storage device and method for implementing same |
US5829051A (en) * | 1994-04-04 | 1998-10-27 | Digital Equipment Corporation | Apparatus and method for intelligent multiple-probe cache allocation |
US5596708A (en) * | 1994-04-04 | 1997-01-21 | At&T Global Information Solutions Company | Method and apparatus for the protection of write data in a disk array |
US5537588A (en) * | 1994-05-11 | 1996-07-16 | International Business Machines Corporation | Partitioned log-structured file system and methods for operating the same |
US5634109A (en) * | 1994-06-20 | 1997-05-27 | International Business Machines Corporation | Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache |
EP0707267A3 (en) * | 1994-10-12 | 1996-07-03 | Ibm | Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring |
US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
EP0717358B1 (en) * | 1994-12-15 | 2001-10-10 | Hewlett-Packard Company, A Delaware Corporation | Failure detection system for a mirrored memory dual controller disk storage system |
US5533190A (en) * | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
EP0721162A2 (en) * | 1995-01-06 | 1996-07-10 | Hewlett-Packard Company | Mirrored memory dual controller disk storage system |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
JP3597247B2 (ja) * | 1995-03-15 | 2004-12-02 | 富士通株式会社 | 可換媒体型記憶装置及び光ディスク装置及びデータ転送制御方法 |
US5671390A (en) * | 1995-05-23 | 1997-09-23 | International Business Machines Corporation | Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media |
US5684944A (en) * | 1995-08-14 | 1997-11-04 | Lubbers; Clark E. | Atomic update of EDC protected data |
US6098128A (en) | 1995-09-18 | 2000-08-01 | Cyberstorage Systems Corporation | Universal storage management system |
US5812753A (en) * | 1995-10-13 | 1998-09-22 | Eccs, Inc. | Method for initializing or reconstructing data consistency within an array of storage elements |
US6067635A (en) * | 1995-10-27 | 2000-05-23 | Lsi Logic Corporation | Preservation of data integrity in a raid storage device |
US5687390A (en) * | 1995-11-14 | 1997-11-11 | Eccs, Inc. | Hierarchical queues within a storage array (RAID) controller |
US5734861A (en) * | 1995-12-12 | 1998-03-31 | International Business Machines Corporation | Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity |
US5778430A (en) * | 1996-04-19 | 1998-07-07 | Eccs, Inc. | Method and apparatus for computer disk cache management |
US5787466A (en) * | 1996-05-01 | 1998-07-28 | Sun Microsystems, Inc. | Multi-tier cache and method for implementing such a system |
US5799324A (en) * | 1996-05-10 | 1998-08-25 | International Business Machines Corporation | System and method for management of persistent data in a log-structured disk array |
US5732238A (en) * | 1996-06-12 | 1998-03-24 | Storage Computer Corporation | Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system |
US5809548A (en) * | 1996-08-30 | 1998-09-15 | International Business Machines Corporation | System and method for zeroing pages with cache line invalidate instructions in an LRU system having data cache with time tags |
KR100208801B1 (ko) | 1996-09-16 | 1999-07-15 | 윤종용 | 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법 |
US6065100A (en) * | 1996-11-12 | 2000-05-16 | Micro-Design International | Caching apparatus and method for enhancing retrieval of data from an optical storage device |
US5949970A (en) * | 1997-01-07 | 1999-09-07 | Unisys Corporation | Dual XPCS for disaster recovery |
US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
US5930807A (en) * | 1997-04-23 | 1999-07-27 | Sun Microsystems | Apparatus and method for fast filtering read and write barrier operations in garbage collection system |
US6148368A (en) * | 1997-07-31 | 2000-11-14 | Lsi Logic Corporation | Method for accelerating disk array write operations using segmented cache memory and data logging |
US6567889B1 (en) | 1997-12-19 | 2003-05-20 | Lsi Logic Corporation | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller |
JPH11203056A (ja) | 1998-01-19 | 1999-07-30 | Fujitsu Ltd | 入出力制御装置及びアレイディスク装置 |
US6098153A (en) * | 1998-01-30 | 2000-08-01 | International Business Machines Corporation | Method and a system for determining an appropriate amount of data to cache |
US6192450B1 (en) * | 1998-02-03 | 2001-02-20 | International Business Machines Corporation | Destage of data for write cache |
JP3279253B2 (ja) * | 1998-05-27 | 2002-04-30 | 日本電気株式会社 | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
US6256705B1 (en) | 1998-06-05 | 2001-07-03 | International Business Machines Corporation | System and method for organizing data stored in a log structured array |
US6243827B1 (en) * | 1998-06-30 | 2001-06-05 | Digi-Data Corporation | Multiple-channel failure detection in raid systems |
US6470359B1 (en) | 1998-09-24 | 2002-10-22 | International Business Machines Corporation | Fast technique for recovering an index on an auxiliary table |
US6366902B1 (en) | 1998-09-24 | 2002-04-02 | International Business Machines Corp. | Using an epoch number to optimize access with rowid columns and direct row access |
US6343286B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Efficient technique to defer large object access with intermediate results |
US6144970A (en) * | 1998-09-24 | 2000-11-07 | International Business Machines Corporation | Technique for inplace reorganization of a LOB table space |
US6343293B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Storing the uncompressed data length in a LOB map to speed substring access within a LOB value |
US6363389B1 (en) | 1998-09-24 | 2002-03-26 | International Business Machines Corporation | Technique for creating a unique quasi-random row identifier |
US6606617B1 (en) | 1998-09-24 | 2003-08-12 | International Business Machines Corporation | Optimized technique for prefetching LOB table space pages |
US6694340B1 (en) | 1998-09-24 | 2004-02-17 | International Business Machines Corporation | Technique for determining the age of the oldest reading transaction with a database object |
US6185638B1 (en) * | 1998-10-07 | 2001-02-06 | International Business Machines Corporation | Method and system for dynamically assigning addresses to an input/output device |
US6170023B1 (en) * | 1998-10-07 | 2001-01-02 | International Business Machines Corporation | System for accessing an input/output device using multiple addresses |
US6463503B1 (en) | 1999-05-12 | 2002-10-08 | International Business Machines Corporation | Method and system for increasing concurrency during staging and destaging in a log structured array |
US6490664B1 (en) | 1999-06-14 | 2002-12-03 | International Business Machines Corporation | Method and system for handling destage requests during shut-down in a log-structured array |
US6493809B1 (en) * | 2000-01-28 | 2002-12-10 | International Business Machines Corporation | Maintaining order of write operations in a multiprocessor for memory consistency |
JP4078010B2 (ja) * | 2000-03-03 | 2008-04-23 | 株式会社日立グローバルストレージテクノロジーズ | 磁気ディスク装置及び情報記録方法 |
US6802023B2 (en) | 2001-03-15 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having hot insertion system and method |
US6708285B2 (en) | 2001-03-15 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having system and method for handling controller resets |
US6715101B2 (en) | 2001-03-15 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having an on-line controller removal system and method |
US6922833B2 (en) * | 2001-10-11 | 2005-07-26 | International Business Machines Corporation | Adaptive fast write cache for storage devices |
US6889302B2 (en) * | 2002-08-29 | 2005-05-03 | International Business Machines Corporation | Apparatus and method to maintain information in one or more virtual volume aggregates comprising a plurality of virtual volumes |
US6895466B2 (en) * | 2002-08-29 | 2005-05-17 | International Business Machines Corporation | Apparatus and method to assign pseudotime attributes to one or more logical volumes |
US7073029B2 (en) * | 2003-01-27 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Storage system using fast storage and log-structured storage |
GB0315157D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Safe write to multiply-redundant storage |
JP2005157622A (ja) * | 2003-11-25 | 2005-06-16 | Hitachi Ltd | アイドルシークのためのディスクアレイ装置 |
US7536593B2 (en) * | 2004-03-05 | 2009-05-19 | International Business Machines Corporation | Apparatus, system, and method for emergency backup |
US7370163B2 (en) * | 2004-05-03 | 2008-05-06 | Gemini Storage | Adaptive cache engine for storage area network including systems and methods related thereto |
US7457980B2 (en) * | 2004-08-13 | 2008-11-25 | Ken Qing Yang | Data replication method over a limited bandwidth network by mirroring parities |
US20060036904A1 (en) * | 2004-08-13 | 2006-02-16 | Gemini Storage | Data replication method over a limited bandwidth network by mirroring parities |
JP2006107311A (ja) * | 2004-10-08 | 2006-04-20 | Hitachi Ltd | ディスクアレイ装置およびその制御方法 |
US7516293B2 (en) * | 2006-09-08 | 2009-04-07 | International Business Machines Corporation | Increased performance using mixed memory types |
US7890795B1 (en) * | 2008-06-02 | 2011-02-15 | Emc Corporation | Auto-adapting cache memory system and memory |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US9053809B2 (en) * | 2011-11-09 | 2015-06-09 | Apple Inc. | Data protection from write failures in nonvolatile memory |
US20140351532A1 (en) * | 2013-05-23 | 2014-11-27 | International Business Machines Corporation | Minimizing destaging conflicts |
US9286238B1 (en) * | 2013-12-31 | 2016-03-15 | Emc Corporation | System, apparatus, and method of cache management |
US10339000B2 (en) * | 2016-09-13 | 2019-07-02 | Sandisk Technologies Llc | Storage system and method for reducing XOR recovery time by excluding invalid data from XOR parity |
US10936412B1 (en) * | 2017-04-17 | 2021-03-02 | EMC IP Holding Company LLC | Method and system for accessing data stored in data cache with fault tolerance |
US10891227B2 (en) * | 2018-11-29 | 2021-01-12 | International Business Machines Corporation | Determining modified tracks to destage during a cache scan |
US11645174B2 (en) * | 2019-10-28 | 2023-05-09 | Dell Products L.P. | Recovery flow with reduced address lock contention in a content addressable storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6155755A (ja) * | 1984-08-27 | 1986-03-20 | Mitsubishi Electric Corp | メモリ制御装置 |
JPS63168547U (ja) * | 1987-04-21 | 1988-11-02 | ||
JPS6476346A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
JPS6476344A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4636946A (en) * | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
US4916605A (en) * | 1984-03-27 | 1990-04-10 | International Business Machines Corporation | Fast write operations |
US4875155A (en) * | 1985-06-28 | 1989-10-17 | International Business Machines Corporation | Peripheral subsystem having read/write cache with record access |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5263145A (en) * | 1990-05-24 | 1993-11-16 | International Business Machines Corporation | Method and means for accessing DASD arrays with tuned data transfer rate and concurrency |
US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
US5301297A (en) * | 1991-07-03 | 1994-04-05 | Ibm Corp. (International Business Machines Corp.) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof |
US5283884A (en) * | 1991-12-30 | 1994-02-01 | International Business Machines Corporation | CKD channel with predictive track table |
-
1992
- 1992-05-05 US US07/878,810 patent/US5418921A/en not_active Expired - Lifetime
-
1993
- 1993-04-27 JP JP5100631A patent/JP2691120B2/ja not_active Expired - Fee Related
- 1993-05-04 EP EP93303451A patent/EP0569212A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6155755A (ja) * | 1984-08-27 | 1986-03-20 | Mitsubishi Electric Corp | メモリ制御装置 |
JPS63168547U (ja) * | 1987-04-21 | 1988-11-02 | ||
JPS6476346A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
JPS6476344A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
JP2014507717A (ja) * | 2011-01-18 | 2014-03-27 | エルエスアイ コーポレーション | より高いレベルの冗長な情報の計算 |
JP2014519650A (ja) * | 2011-05-23 | 2014-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージのためのトラックのキャッシュ管理するプログラム、システム、および方法 |
Also Published As
Publication number | Publication date |
---|---|
US5418921A (en) | 1995-05-23 |
EP0569212A1 (en) | 1993-11-10 |
JP2691120B2 (ja) | 1997-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2691120B2 (ja) | 記憶管理サブシステムおよびブロックの高速書込みの方法 | |
Menon et al. | The architecture of a fault-tolerant cached RAID controller | |
EP0462917B1 (en) | Method and apparatus for recovering parity protected data | |
US7421535B2 (en) | Method for demoting tracks from cache | |
US5617530A (en) | Storage device array architecture with copyback cache | |
JP2902970B2 (ja) | ディスク・アレイにデータを書き込むためのシステムおよび関連する方法 | |
US5586291A (en) | Disk controller with volatile and non-volatile cache memories | |
US6567889B1 (en) | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller | |
JP3505093B2 (ja) | ファイル管理システム | |
US6021463A (en) | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem | |
US6243795B1 (en) | Redundant, asymmetrically parallel disk cache for a data storage system | |
US7010645B2 (en) | System and method for sequentially staging received data to a write cache in advance of storing the received data | |
US6604171B1 (en) | Managing a cache memory | |
US20030236944A1 (en) | System and method for reorganizing data in a raid storage system | |
US6591335B1 (en) | Fault tolerant dual cache system | |
EP1128267A1 (en) | Disk storage system having redundant solid state data storage devices | |
JPH0642193B2 (ja) | Dasdアレイのための更新記録方法及び装置 | |
JPH10105467A (ja) | 冗長キャッシュを備えているraidコントローラにおけるキャッシュのコンシステンシーを維持するための方法および装置 | |
JP2810593B2 (ja) | 記憶装置 | |
JPH0644218B2 (ja) | ミラー化された記憶装置の管理方法および装置 | |
JP2540008B2 (ja) | デ―タ処理システム及びメモリ手段内のデ―タ・レコ―ド・イメ―ジを有効化する方法 | |
JPH0358145A (ja) | Smsのマツプ管理方法 | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
US7062611B2 (en) | Dirty data protection for cache memories | |
JP3008801B2 (ja) | 記憶装置システムおよびディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |