JPH0642193B2 - Dasdアレイのための更新記録方法及び装置 - Google Patents

Dasdアレイのための更新記録方法及び装置

Info

Publication number
JPH0642193B2
JPH0642193B2 JP3199910A JP19991091A JPH0642193B2 JP H0642193 B2 JPH0642193 B2 JP H0642193B2 JP 3199910 A JP3199910 A JP 3199910A JP 19991091 A JP19991091 A JP 19991091A JP H0642193 B2 JPH0642193 B2 JP H0642193B2
Authority
JP
Japan
Prior art keywords
parity
block
data
track
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.)
Expired - Lifetime
Application number
JP3199910A
Other languages
English (en)
Other versions
JPH04230512A (ja
Inventor
ジャイシャンカー・ムーセダス・ミノン
ジェイムズ・マシューズ・カーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04230512A publication Critical patent/JPH04230512A/ja
Publication of JPH0642193B2 publication Critical patent/JPH0642193B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、直接アクセス記憶装
置(DASD)のアレイに関し、特にデータ・ブロック
の修正書き込み若しくは更新記録を行い、少なくともい
くつかのDASDに分散し変更されたブロックを含むデ
ータ・ブロックのグループの明示的パリティを変更する
ときに必要なトラック回転数を少なくする方法及び手段
に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】高速コ
ンピュータはストレージ・サブシステムの一部としてD
ASDアレイを含む。アレイのアーキテクチャ、及びデ
ータの構成と分散は、動作性能、フォールト・トレラン
ス(耐障害性)、及びフォールトが発生した後のデータ
の再生速度に影響を与える。従来の技術では、アレイの
効率を高めると、アレイ操作の細かい調整が起動され
る。
【0003】“ストレージ・サブシステム”は、そのI
/O境界に、ブロードバンドのデータ/制御パスを通し
てプロセサまたはプロセサ・アレイをつなぐ。サブシス
テムは、自体のデバイス・アダプタを通して個別にアク
セスされる単体のマルチトラック磁気データ循環記憶装
置(DASD)、共通の制御ユニットで終端する数個の
DASD(“ストリング”という)、またはDASDア
レイ・コントローラ(DAC)によって接続されたDA
SDアレイである。
【0004】“DASDアレイ”は、論理的に関連づけ
られ、共通のモードまたは手段によって動作するDAS
Dの集合であり、同期をとって選択され操作されるDA
SDの集合を含む。これらのDASDは、高速プロセサ
と外部記憶装置との間でデータが高速に交換される場合
に用いられる。所定のサイズで分けられたデータ(バイ
ト、ワード、ブロック)をシリアルからパラレルへマッ
プすることによってデータの高速転送が維持される。同
期動作の場合、N個のDASDを同じ回転数(RPM)
で回転させ、同じオフセット角を持たせ、同じ方法で同
時にアクセスする必要がある。この方法はデータの転送
速度を最大にするが、並行性(コンカレンシ)は最小に
なる。
【0005】上記とは別のタイプのDASDアレイは、
1個のDASDの障害によって使用できなくなったデー
タは、障害の影響を受けなかったDASDに格納された
パリティなどの冗長性によって復元できるという事実に
よって関連づけられたDASDの集合より成る。このよ
うなアレイは必ずしも同期をとって動作させる必要はな
い。
【0006】“アレイ”は、数学的には添え字つき変数
であり、添え字は、変数の各インスタンスの相対位置、
つまり論理トラック内の各ブロックの位置を示す。添え
字の要素はアレイの大きさも定義する。したがって、ア
レイA(i、j)は、相対位置が、閉じた2つの整数範
囲(1、1<(i、j)<N、K)にマップされる変数
“A”を指定する。
【0007】アレイの大きさは相互に排他的にすること
ができる。したがって、閉じた整数範囲1<i<Nと1
<j<Kによって表わされる大きさは、各々類似のデバ
イスと時間の順序づけ(インデクシング)を示し、Nと
Kは整数の上限になる。規約では、列のオーダは、ある
アレイの大きさを、行のオーダは別のアレイの大きさを
示す。その場合、NはDASDの個数、Kは各DASD
の各トラックのブロック数である。
【0008】同期をとってアクセスされるN個のDAS
Dを物理的に配置したものがDASDアレイになる。ス
トアとしてのアレイのフォーマット設定とその後のアク
セスは、行または列を基準にして連続した位置に値を挿
入していくことによって進行する。列の方向に操作を行
う場合、操作は“列主オーダ”で実行される。同様に行
の方向では、“行主オーダ”で操作が実行される。
【0009】ストレージ・サブシステムはフォールトや
エラーに陥ることがある。このようなシステムを、シス
テム・フォールトが生じた直前のデータ整合(コンシス
テンシ)ポイントにまで回復する次のような方法があ
る。(1)既知のチェックポイントからトランザクショ
ン・ログを処理する、(2)ストレージ内容全体の2重
化とバックアップ切り替え、(3)専用コード及び格納
されたデータの一部だけを用いたデータの再構成、
【0010】第1の方法は、ログをベースにした回復に
よるもので、イベント履歴の再生に重点を置いている。
しかし、終了までは現在の処理が禁止される。
【0011】第2の方法は、DASDのすべての内容を
2重化する方法では、現在の操作を中断する必要はない
が、2重化(ミラーリングともいう)では、使用できな
くなったデータがわずかであっても、ストレージ資源/
コストがかなり大きくなる。
【0012】データ・コードを用い、追加されるストレ
ージを最小にする第3の方法では、計算資源及び複雑な
ストレージ・モデルが必要である。“パリティ”と呼ば
れる専用データ・コードは、データとともにDASDに
格納され、冗長である。“パリティ”は、この発明で
は、使用できない部分を回復する使用可能なデータの部
分とともに計算に用いられる冗長性と定義される。パリ
ティは、単純パリティ、ハミング符号、リードソロモン
符号、ECC符号等を含むことができる。
【0013】文献では、“フォールト・トレランス”と
“縮退モード”での動作が区別される。また“フォール
ト”、“エラー”、及び“消去”も区別される。“トレ
ランス”は、この発明では、システムの動作を継続する
ために、使用できないようにすることのできるDASD
の個数である。“縮退モード”はフォールト発生後のシ
ステムの継続動作をいう。“フォールト”は永続的障害
の発生である。“エラー”は、しばしばノイズによって
データ・シーケンスに生じる偽の値の発生または、ソフ
トウェアやハードウェアのランダムな障害や間欠的な障
害の発生である。また“消去”は、データ・シーケンス
内の1個以上の位置にデータが存在しないことをいう。
【0014】James N. Grayは、“Notes on Database O
perating Systems”(Operating Systems - An Advance
d Course、copyright 1979 Springer Verlag)、393-481
ページで、履歴の再生にポインタを要するデータベース
とトランザクションの管理システムを、ログをベースに
回復することについて述べている。このシステムは、既
知の、前の整合ポイント(チェックポイント)までロー
ルバックさせる必要がある。ロールバックの後、ログに
よってトランザクションのリドゥが起動される。
【0015】Pattersonらによる“A Case for Redundan
t Arrays of Inexpensive Disks(RAID)”(ACM SIGMO
D Conference、Chicago、IL、June 1-3、1988)、及びBr
adyらによる米国特許出願第528999号明細書(90
年5月24日出願)“Method and Means for Accessing DA
SD Arrays with Tuned Data Transfer Rate and Concur
rency”は、ストレージ管理レベルでの回復を扱ってい
る。
【0016】Patterson らは、DASDアレイ上のデー
タの2重化または“ミラーリング”とパリティ・コード
化について述べている。この点に関して、N個のDAS
Dアレイに格納されたデータのミラーイングでは、少な
くとも2N個のDASDが必要がある。Patterson、Bra
dy両者が指摘しているように、データの一部のパリティ
・コード化と、ストレージ更新ごとのアクセス回数の増
加を組み合わせれば、DASDは2N個よりも少なくな
る。
【0017】Brady らはまた、N*K個のデータとパリ
ティのブロック(各DASDの各トラックにブロックが
K個)の順次ファイルを、トラックが回転しているとき
に対応するコントローラを通してN個のDASDを同期
をとってアクセスすることによって、2次元アレイ(1
つはスペース的大きさ、1つは一時的大きさ)にマップ
することについて述べている。
【0018】パリティをコード化すると、格納されたデ
ータの一部を使うだけでデータを再生することができ
る。2重化で用いられる量と比べるとストレージが節約
され、ログ・ベースの回復に比べると時間も節約され
る。アップデート・ライトごとのアクセス回数の増加に
より、効率は低下する。フォールト・トレランスと回復
を補助するために、データとパリティのブロックを、同
じ論理ファイルから、接続されたDASDに分散するこ
とに最初に言及したのはOuchiとClarkである。
【0019】Ouchiによる米国特許第4092732号
明細書“System For Recovering Data Stored In A Fai
led Memory Unit”(1978年5月30日発行)は、同じ論理
ファイルからのデータ・ブロックを、障害について関連
性のないN−1個のDASDストリングに分散し、N番
目のDASD上のパリティ・ブロックを回復することに
ついて述べている。Ouchi によると、パリティ・ブロッ
クは、他のN−1個のブロックの内容であるバイナリ・
コードのXORをとること(モジュロ2加算)である。
アクセスのできない1個のDASDからの内容は、アク
セスのできる残りのN−2個のDASDに格納されたブ
ロックでパリティ・ブロックのXORをとることによっ
て回復することができる。これと同じような結果は、パ
リティ・ブロックが使用できない場合に得られる。
【0020】Clarkらによる米国特許第4761785
号明細書“Parity Spreading toEnhance Storage Acces
s”(1988年8月2日発行)は、特に縮退モードにおける
動作で1個のDASDが欠けていることによって、すべ
てのパリティ・ブロックが使用できなくなるのを避ける
ために、パリティ・ブロックをDASDに分散させるこ
とによってOuchi の特許に変更を加えている。この点、
Ouchi、Clarkの特許では、DASD障害を1つまでは克
服でき、データを再生した後に動作を継続することがで
きる。
【0021】Patterson は数種類のアレイ・アーキテク
チャについて述べている。データとDASDの構成につ
いての説明と、それらを“レベル”に分類することは事
実上のトポロジとなっている。すなわち、与えられたア
レイがRAIDレベル1ないしレベル5とされる。
【0022】Patterson のレベル1、2は、DASDの
ストリングに関係し、各々データ・ミラーイング(デー
タ2重化)とハミング符号を利用する。
【0023】Patterson のレベル3は、N個のDASD
に対して読み出しと書き込みの動作が同期をとって行わ
れるレベルである。その場合、N−1個のDASDはデ
ータを、1個のDASDは他のデータDASDに及ぶパ
リティを格納する。すなわちこのグループには1個のチ
ェック用DASDが与えられる。障害のあったDASD
の内容はOuchiの方法で再生することができる。Ouchiの
場合、論理レコードから物理トラックへのマッピング
と、DASDアレイへの列主オーダのアクセスが行わ
れ、大小いずれのアクセス要求にも対応する。
【0024】レベル4では、小さい読み出し、書き込み
アクセスについて効率が高められる。これは、第1タイ
ム・スロット(DASDセクタ1)ではブロック1ない
しNが各々DASD1ないしNに格納され、第2タイム
・スロット(DASDセクタ2)ではブロックN+1な
いし2Nが格納されなど、列に沿ってブロックを格納す
ることによって達成される。K個目のタイム・スロット
(DASDセクタK)ではブロック[(K−1)]*N
+1ないしKNが対応するデバイスに格納される。
【0025】Patterson の最後のレベル、レベル5で
は、データとパリティのブロックがすべてのDASDア
レイに分散され、トランザクション処理に関わる小さい
読み出しと書き込み及び数値演算の多い処理に関わる大
きい読み出しと書き込みが促進される。
【0026】RAIDレベル3ないし5では、DASD
アレイ1個に障害のあった場合に備えて別にDASDを
少なくとも1個は使用することができる。この点につい
てはDunphyによる米国特許第4914656号明細書
“Disk Drive Memory” (1990年4月3日発行)が参考に
なろう。
【0027】更新記録(書き込み) RAIDタイプ4のDASDアレイにおいて、あるファ
イルのブロックD1、D2、D3、及びD4は、任意の
順序で4個のDASDに配置され、これらと対をなすパ
リティ・ブロックP1ないしP4が、パリティDASD
に書き込まれているとする。ブロック配置は表1のよう
になる。
【0028】 DASD1 D1 D2 D3 D4 DASD2 D1 D2 D3 D4 DASD3 D1 D2 D3 D4 DASD4 D1 D2 D3 D4 DASD5 P1 P2 P3 P4 表1
【0029】P1はDASD1ないしDASD4に対す
るD1のモジュロ2加算(XOR)である。P2、P
3、及びP4は各々D2、D3、及びD4をカバーす
る。DASD1に障害が発生した場合、その内容は、D
ASD2ないしDASD5の内容のXORをとることに
よって、スペアDASD上で再生することができる。
【0030】ストレージ・サブシステム(DASDアレ
イ・コントローラ)は、データ・ブロックの書き込み要
求を受け取るとき、整合性を保つために対応するパリテ
ィ・ブロックも更新しなければならない。D1に変更を
加える場合、次のように、P1の再計算が必要である。 新しいP1 : = (古いD1) XOR (新しいD1) XOR (古いP1)
【0031】この場合、データ・ブロックを更新記録す
るために、4回のDASDアレイ・アクセスが必要にな
る。すなわち(1)古いデータの読み出し、(2)古い
パリティの読み出し、(3)新しいデータの書き込み、
及び(4)新しいパリティの書き込みである。その場合
ストレージ・サブシステム(アレイ・コントローラ)
は、新しいデータとパリティを古いデータ及びパリティ
が存在するのと同じDASDロケーションに書込み。こ
れを“所定位置への書き込む”という。
【0032】DASDロケーションは、読み出された直
後にはディスク1回転離れたところにくることになる。
これまでのストレージ・サブシステムは、古いデータを
読み出してから新しいデータを書き込むまでのディスク
回転時間に、DASDと、プロセサからDASDへのパ
スの両方を予約する。代表的なストレージ・サブシステ
ムでは、プロセサから32個または64個のDASDア
レイへのパスが4つ設けられる。古いデータの読み出し
と更新記録との間でパスを予約すると、パスの並行性
(コンカレンシ)がかなり抑えられる。ただし、更新記
録が試行されるときにパスは使用できないとも言える。
【0033】この発明の目的は、RAIDタイプ4また
は5のDASDアレイで形成され、情報が、データとパ
リティのブロックとして格納され、明示的なパリティ・
グループの中に配置されたストレージ・サブシステムの
使用率を高めることにある。
【0034】この発明の目的には、データ・ブロックを
更新記録し、変更されてDASDアレイ内の少なくとも
いくつかのDASDに分散されたデータ・ブロックを含
むデータ・ブロックのグループの明示的パリティに変更
を加えるのに必要なトラック回転数を少なくする方法を
提供することも含まれる。
【0035】この発明の目的には、データ・パスの占有
率と並行性の両方をストレージ・サブシステムを通して
最適化することも含まれる。
【0036】
【課題を解決するための手段】上記の目的は、DASD
ディスク・スペースを利用して、パリティまたはデータ
または両方をブロック、トラック、またはシリンダのレ
ベルでシャドー・ライトする方法によって達成される。
所定位置への書き込みではなくシャドー・ライトを行う
ことによって、スピードが上がるとともに、容量に余裕
のあるアレイを管理することによって、シャドー・ライ
トを行うときに空きブロックをほぼ即座に広げる可能性
が高まる。この方法の変形としては、(1)ダブル・パ
リティ方式、(2)浮動パリティ・トラック方式、
(3)浮動データ/パリティ・トラック方式、及び
(4)浮動データ/パリティ・ブロック方式がある。
【0037】ダブル・パリティ方式では、障害について
関連性のないN−2個の異なるDASDからの、アクセ
スされたディスク・トラックN−2個と、別のDASD
からのパリティ・トラック2個を想定する。この方式で
は、各DASDトラックがトラック当たりK個のブロッ
クをサポートする。各パリティ・トラックは、N−2個
のデータ・ブロックで定義されたK個のパリティ・ブロ
ックを列主オーダで格納する。また、2K個のパリティ
・ブロック(パリティ・トラック当たりK個)が置か
れ、そのうち一度に用いられるのはK個だけであり、K
個は空き状態である。
【0038】この方式では、最初に古いブロックと古い
パリティをトラック1回転で読み出すことによって更新
記録が行われる。次に、新しいパリティ(データ・ブロ
ックとパリティ・グループの古い値と新しいデータ・ブ
ロック値のXOR)が計算される。データ・ブロックを
含むDASDの2回目の回転のとき、新しいデータ・ブ
ロックが所定位置に書き込まれる。新しいパリティ値
は、パリティ・トラック上の、テーブルで制御される最
初に使用可能な空きスペースにシャドー・ライトされ
る。最後に、テーブルが変更され、古いパリティ・ブロ
ック・スペースが使用できることが示される。
【0039】空きパリティ・ブロックの占有率をp=
0.5とした場合、1ブロック時間で検出できる空きパ
リティ・ブロックの可用性は次のようになる。 1−p^2=1−(0.5)^2=0.75
【0040】浮動パリティ・トラック方式は、ダブル・
パリティ方式を拡張したもので、ストレージは、トラッ
ク当たりKブロックで、各シリンダのトラック数がT−
1個の、障害について関連性のないN個のDASDから
のN個のデータ・シリンダとしてモデル化される。パリ
ティはパリティ・トラックのシリンダとして構成され
る。トラック(T−1)は各々、これと対をなす、N個
の各データ・シリンダからのデータ・トラックの垂直パ
リティをKブロック記録する。K個のブロックのうち1
パリティ・トラックは空いたままにされる。
【0041】浮動パリティ方式では、更新記録のため
に、データ・ブロックを含むDASDのトラック2回転
が必要である。1回目に古いデータが読み出され、2回
目に新しいデータが所定位置に書き込まれる。また、古
いパリティを読み出すために数分の1の回転が必要で、
パリティ・シリンダ内の最初に使用できる部分に新しい
パリティをシャドー・ライトするのに数分の1の回転が
必要である。
【0042】浮動データ/パリティ・トラック方式は、
データとパリティの両方をシャドー・ライトすることに
よって、パリティ・トラック方式を拡張したものであ
る。この方式は、ストレージを、トラック当たりMデー
タ・ブロックの同期トラックN個と、Mブロックのパリ
ティ・トラックとのシリンダとしてモデル化する。トラ
ックはすべて、障害の影響を受けないN+1個のDAS
Dからアクセスされる。
【0043】そして浮動データ/パリティ・ブロック方
式は、データとパリティの両方をシャドー・ライトする
ことによって、浮動パリティ方式を拡張している。この
方式のストレージ・モデルは、障害について関連性のな
いN+1個のDASDの各々に対応するN+1個のデー
タとパリティのシリンダである。各シリンダのトラック
はT個で、トラック当たりのブロック数はKである。K
個のブロックのうち1トラックは、N+1個の各シリン
ダで空き状態のままである。K個の空きブロックは、テ
ーブルで管理され、シリンダのどこにでも置くことがで
きる。各シリンダの残りのT−1個のトラックまたはK
*(T−1)個のブロックには、データまたはパリティ
を格納するすることができる。
【0044】
【実施例】代表的なDASDアレイとそのアクセス環境 図1は、外部ストレージとして同期DASDアレイ3を
接続したプロセサのアレイ1を含むシステムを示す。プ
ロセサ5、7、9としては様々な高性能プロセサが考え
られる。DASDアレイ3の形で付加される外部ストレ
ージは、アダプタ15によってアレイ1に接続される。
ローカル・エリア・ネットワーク、プリンタ、ディスプ
レイ等、他のデータ処理ソースまたはシンクも、対応す
るアダプタ17を通して同じように接続される。
【0045】DASDアレイ3は、たとえばPatterson
やBradyらの文献に説明されているように、RAIDタ
イプ4または5のDASDとDASDアレイ・コントロ
ーラ(DAC)23で構成するのが望ましい。
【0046】図1のアレイ・コントローラ(要素19な
いし31)は、チャネル・アダプタ15によってホスト
・バス11につながる。このパスは、メモリ(RAM)
13、グローバル・レジスタを含めたすべてのシステム
資源へのアクセスを提供する。アダプタ15は、対をな
すシンプレクス・メガバイト・レートの送受信インタフ
ェース19(レシーバ)、21(トランスミッタ)を通
してDASDに接続するのが望ましい。このインタフェ
ースには、ANSI規格草案X3T9/88−127第
6.8版(8/29/1989)のOEMIまたは高性
能パラレル・インタフェース(HIPPI)が考えられ
る。
【0047】ホスト/DASD方向のデータの移動は、
内部メモリ13からスタートし、バス11、アダプタ1
5、レシーバ19を通って、データ・ブロック(バッフ
ァ)24に至る。制御ロジックによって、古いデータと
古いパリティを含むデバイスとブロックの番号がテーブ
ル・メモリ25から判定される。次にこれらのブロック
が、制御ロジックによって、ECC回路27、29、及
び31を介して読み出される。各ブロックは、エラーの
検出・訂正用ECCバイトをブロック相互間をベースに
付加することによって保護される。次にパリティ・ロジ
ックがパリティの新しい値を計算する。新しいデータと
パリティを書き込むDASDロケーションは、この発明
の4種類の方式の1つに従って、テーブル・メモリ25
を使って検出され、新しいデータとパリティのブロック
がそこに書き込まれる。最後にテーブル・メモリ25が
更新され、データとパリティの新しいロケーションが反
映される。DASD/プロセサ(ホスト)方向のデータ
移動は、DASD33、35、37からスタートし、E
CC回路27、29、31を通ってデータ・バッファ2
4に至る。データはそこでバッファからトランスミッタ
を経てアダプタ15、バス11を通り、プロセサ(ホス
ト)の内部メモリ13へ転送される。
【0048】用語 実施例を説明する便宜上、次の用語を用いる。 T 各シリンダのトラック数 C 各DASDのシリンダ数 m 各トラックのブロック数 B ブロック・サイズ(バイト) d アレイのDASD数 n 列サイズ(各列のデータ・トラック数) TS DASDコントローラに必要なテーブルのサイズ
【0049】また次の計算量を用いる。 ストレージ効率 := 1/(1+1/n) テーブルのオーバヘッド := TS/(DASD上のデータのサイズ)
【0050】“パリティ・グループ”は、整合性と回復
の単位であることに注意されたい。パリティ・グループ
は、所定個数のデータ・ブロックが、障害について関連
性ののない複数のDASD上に定義されたものである。
また、異なるDASDからのパリティ・ブロックを含む
こともできる。パリティ・グループ内のパリティ・ブロ
ックは、パリティ・グループ内の全データ・ブロックの
パリティを含む。パリティ・グループからブロックの読
み出しができなくなった場合、そのブロックは、グルー
プ内の残りのブロックから再生することができる。以下
に述べる浮動/データ・ブロック方式では、“列”は
“単一パリティ・グループ”と同義であるが、他の変形
方式の場合、“列”は“K個のパリティ・グループ”と
同義である。
【0051】ダブル・パリティ方式 この方式では、2つのパリティ・トラックがDASD上
に予約されて、他のDASDからのn個のデータ・トラ
ックが保護されるが、パリティ・トラック内のブロック
は常に2分の1しか用いられない。ここで、ストレージ
効率が1/(1+2/n)の場合、パリティが占めるス
ペースはデータの2/n倍である。DASDが5個で、
各々5トラックのシリンダを持ち、トラック当たり1ブ
ロック、列サイズが3の表2に示した例を考える。
【0052】 DASD1 D1 P3 P3 D4 D5 DASD2 D1 D2 P4 P4 D5 DASD3 D1 D2 D3 P5 P5 DASD4 P1 P1 D2 D3 D4 DASD5 P2 P2 D3 D4 D5 表2
【0053】DASD4上の2つのパリティ・トラック
(P1)は、DASD1、2、3上の3つのトラック
(D1)上のデータを保護する。この例ではパリティ
が、アレイ内の5個のDASDに分散されるが、5個の
DASDのうち2個をパリティの格納に充てることもで
きる。例では、3個のデータ・トラックを保護する2個
のパリティ・トラックが同じDASDに格納されるが
(DASD5上のP2トラック2個等)、列の2個のパ
リティ・トラックは2個の別個のDASD上にも置け
る。列の2個のパリティ・トラックを両方とも同じDA
SDに置けば性能が上がる。
【0054】ダブル・パリティ方式の場合、パリティが
分散され、列の両方のパリティ・トラックが同じDAS
Dに置かれるが、T*C(各DASDのトラック数)が
n+2の整数倍で、列数がDASD数の整数倍であれ
ば、コントローラは、全DASD上の全トラックを使用
することができる。
【0055】ダブル・パリティ方式の動作 ダブル・パリティ方式がどのように働くかを理解するた
めに、ここで、表3に示すように、各トラックにブロッ
クが4個で、データ・トラックが3個、パリティ・トラ
ックが2個の単一列を考える。
【0056】 B1 B2 B3 B4 B5 B6 B7 B8 3データ・トラック(3個のDASD上) B9 B10 B11 B12 P1 P2 P3 P4 P5 P6 P7 P8 2パリティ・トラック(同じDASD上) 表3
【0057】最初、ブロックB1、B5、B9のパリテ
ィがP1に、ブロックB2、B6、B10のパリティが
P3に、ブロックB3、B7、B11のパリティがP5
に、及びB4、B8、B12のパリティがP7に格納さ
れる。ブロックB1、B5、B9とパリティ・ブロック
P1は“パリティ・グループ”を形成し、表3の例では
各列のグループが4つになる。
【0058】ブロックP2、P4、P6、及びP8は空
であり、使用できるので、DACには、どのパリティ・
ブロックが用いられ、どれが使用できるかを知るための
手段が必要である。そのためDACは、“空きスペース
・テーブル”というビットマップを、アレイの各列に対
して維持する。表3の例では、各ビットマップが8ビッ
トを占め、各々列内の各パリティ・ブロックに対応し、
どのブロックが空で、どのブロックが使用できるかが指
示される。システムが初期化されたとき、ビットマップ
は次のようになる。
【0059】DACは、パリティのストレージ・ロケー
ションを覚えておくために、各列の“パリティ・アドレ
ス・テーブル”を格納する。上記のビットマップに対応
するパリティ・アドレス・テーブルは次のようになる。
【0060】これは、ブロックの第1グループのパリテ
ィがP1にあり、第2グループのパリティがP3に、第
3グループのパリティがP5に、第4グループのパリテ
ィがP7にあることを示す。
【0061】パリティ・アドレス・テーブルが存在する
場合、空きスペース・テーブルには冗長なデータが含ま
れる。それでも、空きブロックを探すとき、サーチは高
速である。
【0062】ブロックB7への更新を考える。DACは
最初、ブロックが属する列を判定する。これで、どのパ
リティ・アドレス・テーブル、空きスペース・テーブル
をアクセスすべきかが分かる。次にブロックB7がグル
ープ3の一部であると判定し、パリティ・アドレス・テ
ーブルの第3項目にアクセスする。この項目は5であ
る。そこで、ブロックB7のパリティが現在P5にある
ことが分かる。DACは次に、空きスペース・テーブル
を調べ、新しいパリティ値を書き込める最も近い空きブ
ロックを探す。最も近い空きブロックは2つのパリティ
・トラックのいずれかにあると考えられる。DACは、
空きスペース・テーブルから、現在はP2とP6が両方
とも空いており、いずれかのロケーションを使えば、第
3グループのパリティの新しい値を格納することができ
ると判定する。現在のロケーションP5に隣接するのは
P6なのでDACはP6を選択する。
【0063】DACの次の処理は以下のようになる。 (1)ブロックB7から古い値を読み出す。 (2)B7の新しい値を適当なところに書き込む。 (3)P5の古い値を読み出す。 (4)P5とP6の間のギャップで、P5とP7の古い
値と、B7に書き込むべき新しい値との排他的ORをと
る。 (5)その結果をP6に書き込む。
【0064】P5の読み出しとP6の書き込みは、更新
された列のパリティ・トラックを含むディスクへの1回
のアクセスで行われる。データB7を含むディスクに対
してはまだ2回のアクセスが必要である(1回は古い値
の読み出し、1回は新しい値の書き戻し)。DACは、
パリティを変更した後、空きスペース・テーブルを次の
ように更新し、 そしてパリティ・アドレス・テーブルを次のように更新
し、 グループ3のパリティがP6になり、P5が使用できる
ようになったことを指示する。
【0065】ダブル・パリティ方式の効率 ダブル・パリティ方式による効率向上には2つの面があ
る。第1に、パリティの読み出しと書き込みのサービス
時間を、DASDディスクのほぼ1回転分短縮する。第
2に、DASDが他の場合よりも1回転分速く開放され
るか、または書き込みの前にDASDを開放することに
よってDASDアームの往復運動がなくなるので、DA
SDの使用率が低下する。もしDAC23が、パリティ
の読み出しと書き込みの間のパスを他の方法で予約した
場合には、パスの使用率も低下する。これらのファクタ
を組み合わせた場合は、かなりの効果が得られよう。
【0066】多くのシステムでそうだが、データの読み
出しと書き込みの間の1回転についてDACからデータ
DASDへのパスを予約することは現実的でない。この
パスは多数のDASDによって共有されるからである。
したがって、その場合には古いデータ・ブロックの読み
出しと新しいデータ・ブロックの書き込みが2回のDA
SDアクセスで実行される。ただしDASDアレイ・コ
ントローラDAC23は、古いパリティの読み出しと新
しいパリティの書き込みにかかる時間が、平均アクセス
に比べて短い場合は、これら2つのイベントを1回のア
クセスで行える。以下の計算から、これにあたるケース
を示す。
【0067】ある時点で、列内のパリティ・ブロックの
1/2が空いているとする。上記の例では、P2とP6
が両方とも占有されている場合、DAC23はP3かま
たはP7が使用できるかどうかを判定する。システム
は、列のパリティ・トラックが両方とも同じ物理シリン
ダ内に置かれるように構成するのが望ましい。ここでは
DASDが専用サーボを使用するものとする。DASD
にサーボが内蔵されている場合、ヘッド切り替え時間は
かなり長くなり、実際にパリティを書き込めるロケーシ
ョンはP6とP7だけになる。
【0068】列のパリティ・トラックが両方とも同じ物
理シリンダに置かれるようにする方法はいくつかある。
1つは、パリティ・シリンダとデータ・シリンダを分離
し、T(各シリンダのトラック数)が2の倍数であるD
ASDを使用することである。コントローラDAC23
はその場合、新しいパリティを書き込めるブロックを見
つけるまでこのプロシジャを繰り返す。
【0069】空いているパリティ・ブロックが1ブロッ
ク時間で見つかる可能性は次のようになる。 1−(0.5)^2=0.75
【0070】m(各トラックのブロック数)が無限に大
きく、xを、空きブロックが1ブロック離れたところで
見つかる可能性とすると、空いているパリティ・ブロッ
クまでに予測されるブロック数は次のようになる。 x+2x(1−x)+ 3x((1−x)^2)+4x((1−x)^3)+... これは1/xである。ダブル・パリティ方式の場合、x
=0.75で、サーチ対象と予測されるブロック数は
1.33である。
【0071】浮動パリティ・トラック方式 浮動パリティ・トラック方式は、ダブル・パリティ方式
よりもストレージ効率が高い。浮動パリティ・トラック
方式では、アレイのどのDASDでも、全シリンダが、
パリティ・トラックしか含まないパリティ・シリンダ、
またはデータ・トラックしか含まないデータ・シリンダ
と指定される。どのパリティ・シリンダも、T−1個の
列(Tは各シリンダのトラック数)のパリティ・データ
を含む。各列は、n個の異なるDASDからのn個のデ
ータ・トラックと、それらとは別のDASD上の(m個
のブロックの)パリティ・トラックとから成る。パリテ
ィ・トラックのm個のブロックをすべて物理的に同じト
ラック上に置く必要はない(後述)。通常、パリティ・
シリンダ内のスペースには、T個の列のパリティ・デー
タを格納することができる。浮動パリティ・トラック方
式では、m個の空きブロックがパリティ・シリンダに残
り、それらは効率を高めるために用いられる。
【0072】図2は、浮動パリティ・トラック方式によ
るDASDアレイ上のデータ/パリティ・ブロックのシ
リンダ及びトラックのレイアウトを示す。図2の例で
は、d=5のDASDが用いられ、各DASDにC=4
のシリンダ、各シリンダにT=4のトラック、各トラッ
クにm=1のブロックがある。列サイズはn=4になっ
ている。
【0073】上述のように、DASD上のPiは、他の
4つの各DASDからのDiを保護する。DASD1で
は、第2シリンダが唯一のパリティ・シリンダとして機
能する。DAC23は、各パリティ・シリンダ上の3つ
のパリティ・トラックしか格納せず、4番目のトラック
は空いたままである。例では、浮動パリティ・トラック
のアレイがパリティを分散した形でインプリメントされ
ている。アレイの各DASDには、TC/(1+(T/
(n*(T−1))))個のデータ・トラックと、TC
−(TC/(1+(T/(n*(T−1))))) 個
のパリティ・トラックが必要である。
【0074】全DASD上の全トラックを使用するに
は、データ・トラック数とパリティ・トラック数は両方
ともTの倍数でなければならない。
【0075】浮動パリティ方式の動作 3つの列を考える。各列はn=3のデータ・トラックと
1パリティ・トラックを持つ。列番号と、列を格納する
ための配置アルゴリズムの知識が分かっている場合は、
パリティ・トラックのロケーションを生成することがで
きる。表4に、各シリンダのトラックがT=4、各トラ
ックのブロックがm=4のDASDを使った例を示す。
パリティが同じパリティ・シリンダに格納される3つの
列をすべて示している。
【0076】 B1 B2 B3 B4 B13 B14 B15 B16 B25 B26 B27 B28 B5 B6 B7 B8 B17 B18 B19 B20 B29 B30 B31 B32 B9 B10 B11 B12 B21 B22 B23 B24 B33 B34 B35 B36 これらは、9データ・トラックである。 これは4トラック(3つはパリティ有り、1つは未使
用)のパリティ・シリンダである
【0077】表4の例では、B1ないしB12及びP1
ないしP4が第1列、B13ないしB24及びP5ない
しP8が第2列、B25ないしB36及びP9ないしP
12が第3列を表わす。まず、ブロックB1、B5、B
9のパリティがP1に格納され、ブロックB2、B6、
B10のパリティがP2に、ブロックB3、B7、B1
1のパリティがP3に、B4、B8、B12のパリティ
がP4に格納される。ブロックP5ないしP8は、デー
タ・ブロックB13ないしB24のパリティを格納す
る。これらのブロックはすべて同じ列にある(P5はB
13、B17、B21のパリティ等)。また、P9ない
しP12は、データ・ブロックB25ないしB36の列
のパリティである。P13ないしP16は最初は空いて
いる。DAC23は、各DASD上の各パリティ・シリ
ンダに対して、16ビットの空きスペース・テーブル
(1ビットはパリティ・シリンダ内の各ブロックに対
応)を使用して、どのブロックが空いていて、どれが使
用できるかを示す。DAC23がアレイを初期化する
と、1シリンダの空きスペース・テーブルは次のように
なる。
【0078】DAC23はまた、次のように、DASD
アレイのパリティ・シリンダごとにパリティ・アドレス
・テーブルを格納する。 1、2、3、4、5、6、7、8、9、10、11、12
【0079】パリティ・アドレス・テーブルはm(T−
1)個の項目を含み、各項目は、パリティがパリティ・
シリンダに格納された各列の各ブロック・グループに対
応する。表4の例では、DAC23が、同じパリティ・
シリンダにある異なる3つの列のパリティを格納し、こ
れら3つの列の各々にブロックのグループが4つあるの
で、パリティ・アドレス・テーブルには12項目必要で
ある。
【0080】パリティ・アドレス・テーブルは、3つの
列の最初の列からの第1ブロック・グループがP1にあ
り、3つの列の第1列からの第2ブロック・グループの
パリティがP2にあること(以下同様)を指示する。最
後の項目は、3番目の列のブロックの最後のグループの
パリティがP12にあることを示す。
【0081】ブロックB7への更新を考える。DAC2
3は最初、ブロックが属する列を判定する。そこで、ど
のパリティ・シリンダがブロックB7のパリティ・デー
タを含むかが分かる。つまり、どのパリティ・アドレス
・テーブル、どの空きスペース・テーブルをアクセスす
べきかが分かる。また、対象となる列が、パリティがそ
のパリティ・シリンダにマップされた3つの列の最初の
列であることを判定する。次に、B7がグループ3の一
部であることを判定し、パリティ・アドレス・テーブル
の第3の項目にアクセスする。この項目は3である。そ
こで、B7のパリティが現在P3にあることが分かる。
DAC23は、空きスペース・テーブルから、P4、P
8、P12、P16のどれが空いているかを確かめ、P
16が空いていると判定する。したがって、パリティ・
データの新しいストレージ・ロケーションとしてP16
を選択する。これら4つのブロックのいずれも空いてい
ない場合、DAC23は次に、P1、P5、P9、P1
3のどれが空いているかを調べる。以下同様である。
【0082】DAC23は次のように処理を進める。 (1)ブロックB7から古い値を読み出す。 (2)B7の新しい値を適当なところに書き込む。 (3)P3の古い値を読み出す。 (4)P3とP16の間のギャップで、P3とB7の古
い値と、B7に書き込むべき新しい値との排他的ORを
とる。 (5)その結果をP16に書き込む。
【0083】DAC23は、P3の読み出しとP16の
書き込みを、更新された列のパリティ・トラックを含む
DASDへの1回のアクセスで行う。データB7を含む
DASDに対してはまだ2回のアクセスが必要である
(1回は古い値の読み出し、1回は新しい値の書き戻
し)。DAC23は、パリティの更新を終えた後、空き
スペース・テーブルを次のように更新し、 そしてパリティ・アドレス・テーブルを次のように更新
し、 1、2、16、4、5、6、7、8、9、10、11、12 最初の列の第3グループのパリティがP16になり、P
3が使用できるようになったことを指示する。
【0084】浮動パリティ・トラック方式の効率 上述のように、古いデータ・ブロックの読み出しと、新
しいデータ・ブロックの書き込みには2回のDASDア
クセスが必要である。ただしDAC23は、古いパリテ
ィの読み出しと新しいパリティの書き込みを1回のアク
セスで行える。下記の計算に示すように、これら2つの
イベントの間の待ち時間が短いからである。
【0085】ある時点で、パリティ・シリンダの空きブ
ロックがmであり、1ブロックが空いている可能性はm
/mTまたは1/Tである。ここでまたP3の更新を考
える。パリティの新しい値は、P4、P8、P12、ま
たはP16が空いていれば1ブロック離れたところに書
き込める。DAC23は、次のTブロックのいずれかが
空いていれば新しいパリティを1ブロック離れたところ
に書き込める。この可能性は次のようになる。 1−((T−1)/T)^T
【0086】T=16とすると、この可能性は0.64
4である。先に示したとおり、空きブロックが見つかる
までサーチされる予想ブロック数は1/0.644また
は1.55である。
【0087】浮動データ/パリティ・トラック方式 浮動パリティ・トラック方式の基本は、パリティ・トラ
ックのほかデータ・トラックも含まれるように拡張する
ことができる。この方式を一般化する方法としては、各
シリンダでトラック(mブロック)を空き状態にしてお
くことが考えられる(シリンダはこれでデータ・トラッ
クとパリティ・トラックの両方を含む)。各列は、異な
るn個のDASDからのnデータ・トラック(mブロッ
ク)と、これとは別のDASD上のパリティ・トラック
(mブロック)とから成る。トラックのmブロックはす
べてが物理的に同じトラックにある必要はない(後
述)。
【0088】図3は浮動データ/パリティ・トラック方
式によるデータ/パリティ・ブロックのシリンダとトラ
ックのレイアウトを示す。図3の例では5つのDASD
が用いられ、各DASDはC=5シリンダを含み、各シ
リンダにT=3トラック、各トラックにm=1ブロック
がある。列サイズはn=4となっている。
【0089】上述のように、DASD上のPiは他の4
つの各DASDからのDiを保護する。各シリンダから
の1トラックは空いているので、各DASDから使用で
きるトラックは(T−1)*Cだけである。そのうち、 C*(T−1)/(1+(1/n)) はデータ・トラックであり、残りはパリティ・トラック
である。説明の便宜上、各DASD上のCの未使用トラ
ックを、ストレージ効率を下げるオーバヘッド・トラッ
クとしてカウントする。全DASD上の全トラックを使
用するには、データ・トラック数とパリティ・トラック
数は両方ともT−1の倍数でなければならない。
【0090】浮動データ/パリティ・ブロック方式 最後に、各シリンダでブロックが空き状態になる方式に
ついて考える。この変形方式では、列は、トラックでは
なくブロックに基づいて定義される−−nの異なるDA
SDからのnデータ・ブロックと別のDASD上のパリ
ティ・ブロック。
【0091】図4に、浮動データ/パリティ・ブロック
方式によるDASDアレイ上のデータ/パリティ・ブロ
ックのシリンダとトラックのレイアウトを示す。図4の
例では、列サイズがn=3で、4つのDASDが用いら
れ、各DASDがC=1シリンダを含み、各シリンダは
T=3トラック、各トラックはm=3ブロックである。
【0092】先にも述べたとおり、DASD上のPiは
他の3つの各DASDからのDiを保護するが、シリン
ダの1ブロックは空き状態にされる。各DASDから使
用できるブロックはC(mT−1)だけである。このう
ち、 C*(mT−1)/(1+(1/n)) はデータ・ブロック、残りはパリティ・ブロックであ
る。各DASD上のCの未使用ブロックは、オーバヘッ
ド・ブロックとしてカウントされ、この方式のオーバヘ
ッドを判定するために、パリティ・ブロック数に追加さ
れる。全DASD上の全ブロックを使用するには、デー
タ・ブロック数とパリティ・ブロック数は両方ともmT
−1の倍数でなければならない。
【0093】浮動データ/パリティ・ブロック方式の動
作 表5の例を考える。この例では4個のDASDが用いら
れ、各DASDに、シリンダ当たりT=4トラック、ト
ラック当たりm=4ブロックがある。列サイズはn=3
になっている。 データ、パリティ、及び1空きブロックを含むシリンダ データ、パリティ、及び1空きブロックを含むシリンダ データ、パリティ、及び1空きブロックを含むシリンダ データ、パリティ、及び1空きブロックを含むシリン
【0094】異なる4つのDASDからの4シリンダを
示している。DAC23は、A1、B1、C1のパリテ
ィをD1に、A2、B2、C2のパリティをD2に、以
下同様に格納する。A15、B15、C15のパリティ
はD15に置かれ、A16、B16、C16、D16は
空いたままである。各DASD上の各シリンダに対して
空きスペース・テーブルがあり、各空きスペース・テー
ブルの1項目は、シリンダ内の空きブロックのロケーシ
ョンを示す。初期化時に空きスペース・テーブルは次の
ようになる。
【0095】DAC23はまた、DASDアレイの各シ
リンダに対してパリティ・アドレス・テーブルを格納す
る。パリティ・アドレス・テーブルはこの例の4つのシ
リンダでは次のようになる。 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15
【0096】パリティ・アドレス・テーブルは、データ
またはパリティを含むシリンダ内の15ブロックについ
て、それが格納されたシリンダ内の現在のブロックを示
す。
【0097】ここで、4つのシリンダのうち最初のシリ
ンダ内の第3ブロックへの更新について考える。DAC
23は、このシリンダのパリティ・アドレス・テーブル
から、このブロックがA3に格納されていると判定し、
そのブロックのパリティ・データを含むシリンダを更新
することを決定する。DAC23は次に、このシリンダ
のパリティ・アドレス・テーブルにアクセスし、そのパ
リティがD3に格納されていると判定する。DAC23
は、対応する空きスペース・テーブルから、第1シリン
ダ上のA16と最後のシリンダ上のD16が空いている
と判定する。第1シリンダを含むDASD上では、1回
のアクセスで、A3からデータを読み出し、新しいデー
タをA16に書き込む。A3の値を得た後、DAC23
は別のアクセスで、D3を読み出し、新しいパリティを
計算して、それをD16に書き込む。
【0098】空きスペース・テーブルの値は最終的に次
のようになる。 パリティ・アドレス・テーブルは次のようになる。 1、2、16、4、5、6、7、8、9、10、11、12、13、14、15 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15 1、2、16、4、5、6、7、8、9、10、11、12、13、14、15
【0099】浮動データ/パリティ・ブロック方式の効
率 シリンダの空きブロックはどこにでも置けるので、デー
タまたはパリティの読み出しと書き込みの間の遅れは、
平均で半回転になる。読み出しと書き込みが1回のアク
セスで行えるかどうかは議論の余地がある。半回転の間
にDASDとDAC23の間のパスを維持するのは依然
許容できないと思われるからである。
【0100】この方式による効率向上は、従来のパリテ
ィ方式に比べて、サービス時間が1/2回転であること
と、DASDが、1回転待つ必要がなく、1/2回転で
開放されることによるDASD使用率の低下である。D
ASDとDAC23との間のパスが、読み出しと書き込
みの間に開放されれば、従来のパリティ方式に必要なア
クセス回数は少なくならない。
【0101】ここで、デバイスのキュー配置がないと
き、I/Oレートが低い場合にのみ有効なサービス時間
を下記のように分析してみる。従来のパリティ方式で
は、読み出してからブロックをDASDに書き込むまで
の時間は、 平均シーク+遅れ(0.5回転)+1回転+1ブロック
書き込み であり、これは浮動データ/パリティ・ブロック方式で
は、 平均シーク+遅れ(0.5回転)+0.5回転+1ブロ
ック書き込み である。平均シーク時間を3msecs、DASD回転
時間を16msecs、ブロック書き込み時間を1ms
ecとすると、ブロックの読み出しと書き込みにかかる
時間は28msecから20msecになる。
【0102】拡張 浮動パリティ・トラック方式は、各パリティ・シリンダ
のトラックが2個以上空くように拡張することができ
る。浮動データ/パリティ・トラック方式は、各シリン
ダのトラックが2個以上空くように拡張することができ
る。そして浮動データ/パリティ・ブロック方式は、各
シリンダのブロックが2個以上空くように拡張すること
ができる。
【0103】4つの変形方式のうち浮動パリティ・トラ
ック方式は、パリティのオーバヘッドが少なく、テーブ
ル(空きスペース・マップ、パリティ・アドレス・テー
ブル)のオーバヘッドも少なく、最大の効率を示す。2
つの変形方式(浮動パリティ・トラック、浮動データ/
パリティ・トラック)は、ヘッド切り替えが高速なDA
SDアレイには適している。他の方式(ダブル・パリテ
ィ、浮動データ/パリティ・ブロック)は、ヘッド切り
替えが遅いDASDアレイで利用することができる。
【0104】
【発明の効果】DASDアレイにおいて、データ・ブロ
ック及びパリティ・ブロックを迅速に更新することがで
きる。即ち、必要なトラック・サイクル若しくはアクセ
ス回数を少なくすることができる。
【図面の簡単な説明】
【図1】プロセサ・アレイと、DASDアレイで形成さ
れた外部ストレージ・サブシステムとの間のデータの流
れ図である。
【図2】浮動パリティ・トラック方式によるDASDア
レイ上のデータとパリティのブロックのシリンダ及びト
ラックのレイアウトを示す図である。
【図3】浮動データ/パリティ・トラック方式によるデ
ータとパリティのブロックのシリンダ及びトラックのレ
イアウトを示す図である。
【図4】浮動データ/パリティ・ブロック方式によるD
ASDアレイ上のデータとパリティのブロックのシリン
ダ及びトラックのレイアウトを示す図である。
【符号の説明】
1・・・プロセサ・アレイ 3・・・DASDアレイ 5、7、9・・・プロセサ 15・・・チャネル・アダプタ 19・・・レシーバ 21・・・トランスミッタ 23・・・DASDアレイ・コントローラ 24・・・データ・バッファ 25・・・テーブル・メモリ 27、29、31・・・ECC回路 33、35、37・・・DASD D1、D2等・・・データ・ブロック P1、P2等・・・パリティ・ブロック

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】データ・ブロックと明示的パリティ・ブロ
    ックより成るパリティ・グループを、少ないDASDト
    ラック・サイクルでDASDアレイに更新記録する方法
    であって、(a)各パリティ・グループのデータ・ブロ
    ックとパリティ・ブロックを、障害について関連性のな
    い形式で複数のDASDに分散し、且つ未使用DASD
    スペースを予約するステップと、(b)第1トラック・
    サイクルの間に上記パリティ・グループの選択された古
    いデータ・ブロック及びパリティ・ブロックを読み出す
    ことによって、該データ・ブロックを修正し、且つ新し
    いパリティ・ブロックを計算し、少なくとも該新しいパ
    リティ・ブロックを予約された未使用スペースにシャド
    ー・ライトし、該修正されたデータ・ブロックを第1ト
    ラック・サイクルの後続部分において該予約された未使
    用スペースにシャドー・ライトするか、又は該修正され
    たデータ・ブロックを第2サイクルの間に所定位置に書
    き込むステップとを含む、更新記録方法。
  2. 【請求項2】新しいパリティを計算する上記ステップ
    が、上記古いデータ・ブロックと、上記修正されたデー
    タ・ブロックと上記古いパリティ・ブロックとのモジュ
    ロ2加算を行うステップを含む、請求項1に記載の更新
    記録方法。
  3. 【請求項3】マルチトラックの循環記憶メディアを構成
    するアレイの所定個数のDASDに書き込まれたデータ
    ・ブロックとこれに対応する明示的パリティ・ブロック
    で形成されたパリティ・グループを更新する方法であっ
    て、(a)ブロック、トラック、またはシリンダより成
    る集合から選択され、上記パリティ・ブロックが定義さ
    れた上記パリティ・グループの障害について関連性のな
    いパターンで上記アレイにおいて上記パリティ・グルー
    プをフォーマットし、且つ対応する空きパリティのブロ
    ック、トラック、またはシリンダのスペースを、グルー
    プ数を超える個数だけ、上記アレイにおいて予約し分散
    させるステップと、(b)第1トラック・サイクルの間
    に、上記アレイ内の対応する選択されフォーマットされ
    たブロック、トラック、またはシリンダからデータ・ブ
    ロックとこれに対応するパリティ・ブロックを読み出す
    ことによって、あるデータ・ブロックを修正し、第2ト
    ラック・サイクルの間に、新しいパリティ・ブロックを
    計算し、修正されたデータ・ブロックを書き込み、該新
    しいパリティ・ブロックを元のパリティ・ブロックが再
    現する前に検出される使用可能な空きスペースにシャド
    ー・ライトするステップとを含む、パリティ・グループ
    更新方法。
  4. 【請求項4】第2トラック・サイクルの間に、上記修正
    されたデータ・ブロックが所定位置に書き込まれる、請
    求項3に記載のパリティ・グループ更新方法。
  5. 【請求項5】上記第2トラック・サイクルの間に、上記
    修正されたデータ・ブロックが、上記第1サイクルの後
    続部分において元のデータ・ブロックが再現する前に検
    出されるパリティに予約されていない使用可能な空きス
    ペースにシャドー・ライトされる、請求項3に記載のパ
    リティ・グループ更新方法。
  6. 【請求項6】上記ステップ(b)が、シャドー・ライト
    されたデータ・ブロックとパリティ・ブロックに予約さ
    れたDASDアレイ・スペースのロケーションと占有状
    態を管理するテーブルを用いることを含む、請求項5に
    記載のパリティ・グループ更新方法。
  7. 【請求項7】マルチトラックの循環記憶メディアを構成
    するN個のDASDのアレイに書き込まれたデータ・ブ
    ロックと明示的パリティ・ブロックで形成されたパリテ
    ィ・グループを修正するのに必要なアクセスの回数を最
    小にする方法であって、 (a)上記パリティ・ブロックが定義された上記パリテ
    ィ・グループの障害について関連性のないパターンで上
    記DASDアレイにおいて上記パリティ・グループをフ
    ォーマットし、空きパリティ・ブロック・スペースが、
    各パリティ・ブロックに1個のパリティ・グループを置
    くのに必要なスペースを超えるように、該空きパリティ
    ・ブロック・スペースを該アレイにおいて予約し分散さ
    せるステップと、(b)第1トラック・サイクルの間
    に、上記アレイ内の選択されたDASDトラックから上
    記データ・ブロックとこれに対応する上記パリティ・ブ
    ロックを読み出すことによって、あるデータ・ブロック
    を修正し、新しいパリティ・ブロックを計算し、修正さ
    れたデータ・ブロックを所定位置に書き込み、該第1サ
    イクルの後続部分において、元のパリティ・ブロックが
    再現する前に、該新しいパリティ・ブロックを最初に使
    用可能な空きスペースにシャドー・ライトするステップ
    とを含む、アクセス回数低減方法。
  8. 【請求項8】上記明示的パリティ・ブロックが各々、障
    害ついて関連性のないトラック上に列主オーダで配置さ
    れたデータ・ブロックの所定個数のグループに関して定
    義される、請求項7に記載のアクセス回数低減方法。
  9. 【請求項9】上記フォーマット・ステップが、上記明示
    的パリティ・ブロックと予約された空きパリティ・ブロ
    ック・スペースを、上記グループの障害について関連性
    のないフォーマットで予め選択されていたトラックまた
    はシリンダに配置し、且つ、どのパリティ・ブロック・
    スペースが使用できるかを示すテーブルと、修正対象の
    データ・ブロックを含むグループをカバーする該パリテ
    ィ・ブロックのアドレスを示すテーブルとを維持するス
    テップを含む、請求項7に記載のアクセス回数低減方
    法。
  10. 【請求項10】上記修正ステップが、上記テーブルを通
    して、修正されたパリティ・ブロックの書き込みに使用
    できる次の空きスペースを確認するステップを含む、請
    求項9に記載のアクセス回数低減方法。
  11. 【請求項11】マルチトラックの循環記憶メディアを構
    成するN個のDASDのアレイに書き込まれたデータ・
    ブロックと明示的パリティ・ブロックで形成されたパリ
    ティ・グループの修正に必要なアクセス回数を最小にす
    る方法であって、(a)上記パリティ・グループを、上
    記パリティ・ブロックが定義された該グループの障害に
    ついて関連性のないパターンで、上記DASDアレイに
    おける専用のデータ・シリンダ及びパリティ・シリンダ
    にフォーマットし、空きパリティ・ブロック・スペース
    が、各パリティ・グループに1個のパリティ・ブロック
    を置くのに必要なスペースを超えるように、該空きパリ
    ティ・ブロック・スペースを該パリティ・シリンダに分
    散させるステップと、(b)第1トラック・サイクルの
    間に、上記データ・ブロックを読み出し、修正されたデ
    ータ・ブロックを所定位置に書き込むことによって、あ
    るデータ・ブロックを修正し、対応するパリティ・ブロ
    ックを読み出し、新しいパリティ・ブロックを計算し
    て、該第1トラック・サイクルの後続部分において元の
    パリティ・ブロックが再現する前に、該新しいパリティ
    ・ブロックをパリティ・シリンダ上の最初に使用可能な
    予約された空きスペースにシャドー・ライトするステッ
    プとを含む、アクセス回数低減方法。
  12. 【請求項12】T個のトラックを持ち、T−1個の列の
    パリティを含み、該T−1個のパリティ・トラックの各
    々が、障害について関連性のないn−1個のDASDシ
    リンダ上のn個のデータ・トラックのモジュロ2加算で
    ある、少なくとも1個のパリティ・シリンダが含まれる
    ように、上記アレイ内の上記n個のDASDの各々がフ
    ォーマットされる、請求項11に記載のアクセス回数低
    減方法。
  13. 【請求項13】上記フォーマット・ステップが、上記明
    示的パリティ・ブロック及び予約された空きパリティ・
    ブロック・スペースを、上記グループの障害について関
    連性のないフォーマットで予め選択されていたトラック
    またはシリンダに配置し、且つ、どのパリティ・ブロッ
    ク・スペースが使用できるかを示すテーブルと、修正対
    象のデータ・ブロックを含む該グループをカバーする該
    パリティ・ブロックのアドレスを示すテーブルとを維持
    するステップを含む、請求項11に記載のアクセス回数
    低減方法。
  14. 【請求項14】上記空きデータ・ブロック・スペースが
    すべてのシリンダ上に予約されるように上記フォーマッ
    ト・ステップが変更され、上記修正されたデータ・ブロ
    ックが任意のシリンダ上の最初に使用できる空きスペー
    スにシャドー・ライトされるように、上記修正ステップ
    が変更される、請求項11に記載のアクセス回数低減方
    法。
  15. 【請求項15】マルチトラックの循環記憶メディアを構
    成するN個のDASDのアレイに書き込まれたデータ・
    ブロックと明示的パリティ・ブロックで形成されたパリ
    ティ・グループを修正するのに必要なアクセス回数を最
    小にする方法であって、(a)上記パリティ・ブロック
    が定義された上記パリティ・グループの障害について関
    連性のないパターンで、且つ各シリンダに、データ・ブ
    ロックとパリティ・ブロック及び少なくとも1個の予約
    された空きブロック・スペースが含まれるように、上記
    パリティ・グループを上記DASDアレイにおけるシリ
    ンダにフォーマットするステップと、(b)第1トラッ
    ク・サイクルの間に、或るデータ・ブロックを読み出
    し、修正されたデータ・ブロックを古いデータ・ブロッ
    クが再現する前に検出される最初に使用可能な空きスペ
    ースにシャドー・ライトすることによって、該データ・
    ブロックを修正し、対応するパリティ・ブロックを読み
    出し、新しいパリティ・ブロックを計算して、古いパリ
    ティ・ブロックが再現する前に検出される2番目に使用
    可能な空きスペースに該新しいパリティ・ブロックをシ
    ャドー・ライトするステップとを含む、アクセス回数低
    減方法。
  16. 【請求項16】上記フォーマット・ステップが、スペー
    スのロケーションと占有状態に関するテーブルの形でス
    ペース管理手段を生成するステップを含む、請求項15
    に記載のアクセス回数低減方法。
  17. 【請求項17】パリティ判定手段と、データ・ブロック
    及び明示的パリティ・ブロックから成るパリティ・グル
    ープの読み出しと書き込みをDASDの対応するトラッ
    クに対して行う手段とを含み、論理的に関連づけられ、
    障害について関連性のないN個の該DASDのアレイで
    あって、該書き込み手段が、(a)各パリティ・グルー
    プの上記データ・ブロックとパリティ・ブロックを、障
    害について関連性のない形式で上記アレイの上記DAS
    Dに分散させ、且つ未使用DASDスペースを予約する
    手段と、(b)第1トラック・サイクルの間に、上記パ
    リティ・グループの選択された古いデータ・ブロック及
    びパリティ・ブロックを読み出すことによって、該デー
    タ・ブロックを修正し、新しいパリティ・ブロックを計
    算し、予約された未使用スペースに少なくとも該新しい
    パリティ・ブロックをシャドー・ライトし、且つ、該第
    1トラック・サイクルの後続部分において、該予約され
    た未使用スペースに該修正されたデータ・ブロックをシ
    ャドー・ライトするか又は第2サイクルの間に、修正さ
    れたデータ・ブロックを所定位置に書き込む手段とを含
    む、DASDアレイ。
JP3199910A 1990-10-18 1991-07-16 Dasdアレイのための更新記録方法及び装置 Expired - Lifetime JPH0642193B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US600034 1990-10-18
US07/600,034 US5375128A (en) 1990-10-18 1990-10-18 Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders

Publications (2)

Publication Number Publication Date
JPH04230512A JPH04230512A (ja) 1992-08-19
JPH0642193B2 true JPH0642193B2 (ja) 1994-06-01

Family

ID=24402103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3199910A Expired - Lifetime JPH0642193B2 (ja) 1990-10-18 1991-07-16 Dasdアレイのための更新記録方法及び装置

Country Status (3)

Country Link
US (1) US5375128A (ja)
EP (1) EP0481759A3 (ja)
JP (1) JPH0642193B2 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5636356A (en) * 1992-09-09 1997-06-03 Hitachi, Ltd. Disk array with original data stored in one disk drive and duplexed data distributed and stored in different disk drives
US5819109A (en) * 1992-12-07 1998-10-06 Digital Equipment Corporation System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
US5416915A (en) * 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
JP3176157B2 (ja) * 1992-12-28 2001-06-11 株式会社日立製作所 ディスクアレイ装置及びそのデータ更新方法
US5579474A (en) 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
EP0702302B1 (en) * 1994-09-16 2001-12-05 International Computers Limited Disk array for data storage
US5533190A (en) * 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array
US5748885A (en) * 1994-12-23 1998-05-05 Emc Corporation Method and apparatus for reduction of I/O operations in persistent storage system
US5537534A (en) * 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
US5574882A (en) * 1995-03-03 1996-11-12 International Business Machines Corporation System and method for identifying inconsistent parity in an array of storage
US5649093A (en) * 1995-05-22 1997-07-15 Sun Microsystems, Inc. Server disk error recovery system
US5720029A (en) * 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5684944A (en) * 1995-08-14 1997-11-04 Lubbers; Clark E. Atomic update of EDC protected data
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
JP3713788B2 (ja) * 1996-02-28 2005-11-09 株式会社日立製作所 記憶装置および記憶装置システム
US5857203A (en) * 1996-07-29 1999-01-05 International Business Machines Corporation Method and apparatus for dividing, mapping and storing large digital objects in a client/server library system
US5864655A (en) * 1996-09-09 1999-01-26 International Business Machines Corporation Managing removable media in raid and rail environments
KR100223186B1 (ko) * 1997-01-29 1999-10-15 윤종용 Dvd-ram에서 고속의 데이타기록방법
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management 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
US6332197B1 (en) * 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446237B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6272662B1 (en) 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6128762A (en) * 1998-08-04 2000-10-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system with request forwarding
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6769088B1 (en) * 1999-06-30 2004-07-27 Maxtor Corporation Sector-coding technique for reduced read-after-write operations
KR100390853B1 (ko) * 2000-06-07 2003-07-10 차상균 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디퍼런셜 로깅 방법 및 장치
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US7062644B2 (en) * 2001-05-30 2006-06-13 International Business Machines Corporation Method, system, and program for initializing a storage device comprising multiple storage units through a storage controller
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US8402346B2 (en) 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
KR100463841B1 (ko) * 2002-02-25 2004-12-29 한국전자통신연구원 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
US7328305B2 (en) * 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US20080183988A1 (en) * 2007-01-30 2008-07-31 Yanling Qi Application Integrated Storage System Volume Copy and Remote Volume Mirror
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US8132088B2 (en) * 2007-08-14 2012-03-06 Hewlett-Packard Development Company, L.P. Data formatting in data storage
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
JP5598124B2 (ja) * 2010-07-09 2014-10-01 日本電気株式会社 データ記録再生装置、データ記録方法、及び、データ記録プログラム
US8566673B2 (en) * 2011-08-04 2013-10-22 Lsi Corporation Method for improving performance in RAID systems
US11579797B2 (en) * 2021-04-29 2023-02-14 Micron Technology, Inc. Memory sub-system refresh

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092732A (en) * 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
JPS5637883A (en) * 1979-09-04 1981-04-11 Fanuc Ltd Information rewrite system
US4375100A (en) * 1979-10-24 1983-02-22 Matsushita Electric Industrial Company, Limited Method and apparatus for encoding low redundancy check words from source data
JPS60142418A (ja) * 1983-12-28 1985-07-27 Hitachi Ltd 入出力エラ−回復方式
FR2591015B1 (fr) * 1985-11-29 1989-05-12 Picard Michel Procede d'ecriture avec mise a jour et de lecture d'informations sur un support non effacable organise en secteurs
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
JPS63117369A (ja) * 1986-11-04 1988-05-21 Nec Corp 光デイスク装置
US4989205A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5130992A (en) * 1990-04-16 1992-07-14 International Business Machines Corporaiton File-based redundant parity protection in a parallel computing system

Also Published As

Publication number Publication date
JPH04230512A (ja) 1992-08-19
EP0481759A3 (en) 1993-08-18
EP0481759A2 (en) 1992-04-22
US5375128A (en) 1994-12-20

Similar Documents

Publication Publication Date Title
JPH0642193B2 (ja) Dasdアレイのための更新記録方法及び装置
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
JP2902970B2 (ja) ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US7281089B2 (en) System and method for reorganizing data in a raid storage system
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
US8112679B2 (en) Data reliability bit storage qualifier and logical unit metadata
US5632012A (en) Disk scrubbing system
JP3129732B2 (ja) コピーバックキャッシュを有する記憶装置アレイ
US6718436B2 (en) Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same
US5416915A (en) Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5974544A (en) Method and controller for defect tracking in a redundant array
US9104342B2 (en) Two stage checksummed raid storage model
JP2000511318A (ja) 階層記憶管理システムのための変換式raid
JPH04232557A (ja) Dasd制御方法及び装置
JPH10149262A (ja) ディスクアレイ装置およびその制御方法
KR20070120731A (ko) 행렬 스트라이프 캐쉬를 이용한 raid 시스템의 입출력성능 향상 방법
JPH0769873B2 (ja) コンピユータのためのメモリ装置及びメモリ構成方法
CN111857540B (zh) 数据存取方法、装置和计算机程序产品
JPH10105344A (ja) データ記録装置システム及びそのデータ書込方法
JPH0863298A (ja) ディスクアレイ装置
US20060053287A1 (en) Storage apparatus, system and method using a plurality of object-based storage devices
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
Thomasian RAID Organizations for Improved Reliability and Performance: A Not Entirely Unbiased Tutorial
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
US20240354246A1 (en) Method and Apparatus for Generating Chunk Group and Device