JPS62293355A - データ保護装置 - Google Patents
データ保護装置Info
- Publication number
- JPS62293355A JPS62293355A JP62110902A JP11090287A JPS62293355A JP S62293355 A JPS62293355 A JP S62293355A JP 62110902 A JP62110902 A JP 62110902A JP 11090287 A JP11090287 A JP 11090287A JP S62293355 A JPS62293355 A JP S62293355A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- record
- data
- storage
- unit
- 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
- 230000007246 mechanism Effects 0.000 title claims description 18
- 230000008859 change Effects 0.000 description 9
- 238000011084 recovery Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007480 spreading Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/104—Metadata, i.e. metadata associated with RAID systems with parity
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
3、発明の詳細な説明
A、産業上の利用分野
本発明は、複数のデータ・ブロック」二でのパリティ情
報の維持に関し、具体的には、こうしたパリティ情報の
記憶に関する。
報の維持に関し、具体的には、こうしたパリティ情報の
記憶に関する。
B、従来技術
米国特許第4.092732号には、記憶サブシステム
と中央演算処理装置の間でシステム・レコード・セグメ
ン1−の転送中に、システム・レコードのセグメン1〜
から検査合計セグメントを生成する検査合計ジェネレー
タが記載されている。検査合計セグメントとは、実際に
はシステム・レコード・セグメントの同じ位置にあるピ
ッI−から生成される一連のパリティ・ピッ1−である
。言い換えれば、各ビット、たとえば検査合計セグメン
トの第1ピツ]・は、それぞれ複数のレコード・セグメ
ントの第1ピツ1へのグループのパリティである。
と中央演算処理装置の間でシステム・レコード・セグメ
ン1−の転送中に、システム・レコードのセグメン1〜
から検査合計セグメントを生成する検査合計ジェネレー
タが記載されている。検査合計セグメントとは、実際に
はシステム・レコード・セグメントの同じ位置にあるピ
ッI−から生成される一連のパリティ・ピッ1−である
。言い換えれば、各ビット、たとえば検査合計セグメン
トの第1ピツ]・は、それぞれ複数のレコード・セグメ
ントの第1ピツ1へのグループのパリティである。
あるレコード・セグメントを含む記憶機構に障害が発生
すると、そのレコード・セグメン1−が検査合計セグメ
ン1−と残りのシステム・セグメントから再生される。
すると、そのレコード・セグメン1−が検査合計セグメ
ン1−と残りのシステム・セグメントから再生される。
1つの記憶装置が選択されて、それに複数のレコード記
憶装置に対する検査合計セグメントが、すべて含められ
る。
憶装置に対する検査合計セグメントが、すべて含められ
る。
前記米国特許では、検査合計セグメントは、それがカバ
ーするすべてのレコード・セグメントを読み取ることに
よって常に生成される。1つのレコード・セグメンが変
化すると、それによってカバーされるすべてのレコード
・セグメントが読み取られ、検査合計セグメントが生成
される。1981年7月発行のIBMテクニカル・ディ
スクロージャ・プリテン(TBM Technical
DjsclosureBulletin) 、 Vo
l、 24、Na 2、pp、986−987の[高効
率大容量記憶パリティ回復機構(Effj、cient
Mass Storage Parj、ty Rec
overy −MechanismJは、変更され
る前のレコード・セグメントをコピーすることによって
検査合計セグメント、またはパリティ・セグメントが生
成されるように改良されている。その後、レコード・セ
グメントのコピーが変更済みのレコード・セグメントと
排他的ORされ、変更マスクが作成される。次いで、パ
リティ・セグメントが読み取られ、変更マスクと排他的
ORされて、新しいパリティ・セグメン1〜が生成され
、記憶装置に書き戻される。
ーするすべてのレコード・セグメントを読み取ることに
よって常に生成される。1つのレコード・セグメンが変
化すると、それによってカバーされるすべてのレコード
・セグメントが読み取られ、検査合計セグメントが生成
される。1981年7月発行のIBMテクニカル・ディ
スクロージャ・プリテン(TBM Technical
DjsclosureBulletin) 、 Vo
l、 24、Na 2、pp、986−987の[高効
率大容量記憶パリティ回復機構(Effj、cient
Mass Storage Parj、ty Rec
overy −MechanismJは、変更され
る前のレコード・セグメントをコピーすることによって
検査合計セグメント、またはパリティ・セグメントが生
成されるように改良されている。その後、レコード・セ
グメントのコピーが変更済みのレコード・セグメントと
排他的ORされ、変更マスクが作成される。次いで、パ
リティ・セグメントが読み取られ、変更マスクと排他的
ORされて、新しいパリティ・セグメン1〜が生成され
、記憶装置に書き戻される。
C0発明が解決しようとする問題点
従来技術では、未変更のレコード・セグメントの多数回
読取りが回避されるものの、複数の記憶装置の複数のレ
コード・セグメントのパリティ・セグメントを記憶する
のに、単一の記憶装置が使用される。単一の記憶装置上
のパリティ・レコードによってカバーされる複数の記憶
装置のいずれかでレコードが変更されるたびに、単一記
憶装置での読取りと書込みが行なわれる。したがって、
単一記憶装置は、記憶装置の操作のネックとなっている
。というのは、時間単位当り行なえるレコード変更の数
は、複数の記憶装置の並列操作によってもたらされるよ
り速いアクセス速度ではなくて、単一記憶装置の遅いア
クセス速度の関数になるからである。
読取りが回避されるものの、複数の記憶装置の複数のレ
コード・セグメントのパリティ・セグメントを記憶する
のに、単一の記憶装置が使用される。単一の記憶装置上
のパリティ・レコードによってカバーされる複数の記憶
装置のいずれかでレコードが変更されるたびに、単一記
憶装置での読取りと書込みが行なわれる。したがって、
単一記憶装置は、記憶装置の操作のネックとなっている
。というのは、時間単位当り行なえるレコード変更の数
は、複数の記憶装置の並列操作によってもたらされるよ
り速いアクセス速度ではなくて、単一記憶装置の遅いア
クセス速度の関数になるからである。
失われたレコードが回復されるかどうかは、パリティ・
Iノコードとそれによってカバーされる各データ・レコ
ードとの同期によって決まる。持久記憶装置など特別の
ハードウェアおよび記憶装置への追加書込み操作なしで
は、システムが異常終了した場合にデータ・レコードと
パリティ・レコードが整合する状態に更新されることを
保証するのは難しい。データとそれに関連するパリティ
を更新するには、2回の入出力操作が必要なので、シス
テムの終了後にどんな入出力操作が完了したかを判定す
るのは困難である。
Iノコードとそれによってカバーされる各データ・レコ
ードとの同期によって決まる。持久記憶装置など特別の
ハードウェアおよび記憶装置への追加書込み操作なしで
は、システムが異常終了した場合にデータ・レコードと
パリティ・レコードが整合する状態に更新されることを
保証するのは難しい。データとそれに関連するパリティ
を更新するには、2回の入出力操作が必要なので、シス
テムの終了後にどんな入出力操作が完了したかを判定す
るのは困難である。
D6問題点を解決するための手段
記憶管理機構は、1組の記憶装置の間にぼぼ均等にパリ
ティ情報を分配する。1組のN個の記憶装置は、ブロッ
クと呼ばれる同じ寸法の複数のアドレス領域に分割され
る。各記憶装置は、同数のブロックを含む。同じ装置ア
ドレス範囲をもつ1組の各記憶装置内のブロックは、ス
トライプと呼ばれる。各ス!−ライブは、N−1個のデ
ータ・ブロックと、ストライプの残りの部分に対するパ
リ゛ティを含む1つの記憶装置」二の1個のパリティ・
ブロックを備えている。更に、ストライプは、それぞれ
1個のパリティ・ブロックを有し、そのパリティ・ブロ
ックは異なる記憶装置上に分配される。したがって、1
セツト中のあらゆるデータ修正に関連するパリティ更新
活動が、異なる記憶装置に分配される。単一の装置が、
あらゆるパリティ更新活動を引き受けることはない。
ティ情報を分配する。1組のN個の記憶装置は、ブロッ
クと呼ばれる同じ寸法の複数のアドレス領域に分割され
る。各記憶装置は、同数のブロックを含む。同じ装置ア
ドレス範囲をもつ1組の各記憶装置内のブロックは、ス
トライプと呼ばれる。各ス!−ライブは、N−1個のデ
ータ・ブロックと、ストライプの残りの部分に対するパ
リ゛ティを含む1つの記憶装置」二の1個のパリティ・
ブロックを備えている。更に、ストライプは、それぞれ
1個のパリティ・ブロックを有し、そのパリティ・ブロ
ックは異なる記憶装置上に分配される。したがって、1
セツト中のあらゆるデータ修正に関連するパリティ更新
活動が、異なる記憶装置に分配される。単一の装置が、
あらゆるパリティ更新活動を引き受けることはない。
好ましい実施例では、1組に含まれる各記憶装置は、同
じ寸法である。このため、ストライプの定義を単純化で
きる。各記憶装置が同じ寸法なので、どの記憶装置にも
、個別に取り扱わなければならない領域は残されない。
じ寸法である。このため、ストライプの定義を単純化で
きる。各記憶装置が同じ寸法なので、どの記憶装置にも
、個別に取り扱わなければならない領域は残されない。
1組中の記憶装置の数は3個以]二であるのが好ましい
。2個だけだと、記憶保護は、ミラー操作と同様になり
、データの正確なコピーを2つ維持することが必要にな
る。3個より多いと、記憶保護専用に供される記憶容量
の比率が減少する。3個の場合、目的の記憶保護を獲得
するのに必要な記憶容量の比率は、約33パーセントで
ある。8個の場合、記憶容量の12.5パ一セント強が
記憶保護に使用される。
。2個だけだと、記憶保護は、ミラー操作と同様になり
、データの正確なコピーを2つ維持することが必要にな
る。3個より多いと、記憶保護専用に供される記憶容量
の比率が減少する。3個の場合、目的の記憶保護を獲得
するのに必要な記憶容量の比率は、約33パーセントで
ある。8個の場合、記憶容量の12.5パ一セント強が
記憶保護に使用される。
別の好ましい実施例では、同じアドレス範囲を有する1
組の記憶装置内のN−1個のデータ・レコード(510
バイト)と]、つのパリティ・レコードが、スライスと
呼ばれる。スライス中の各データ・レコードは、レコー
ドのバージョンを示すバージョン標識を含む。各パリテ
ィ・レコードのヘッダは、複数のバージョン標識を含み
、各標識は、それぞれスライス中の各データ・レコード
に対応する。データ・レコードが更新されるたびに、そ
のバージョン標識が増分され、そのデータ・レコードに
対応するパリティ・レコード・バージョン標識も増分さ
れる。レコード更新と新パリティ更新の両方が完了する
と、バージョン標識は同一になる。失われたレコードの
回復中レコードとパリティの同期を確認するために、バ
ージョン番号が検査される。有効な同期をとらすに強制
的に回復を行なうと、予測できないデータが生成される
ことになる。
組の記憶装置内のN−1個のデータ・レコード(510
バイト)と]、つのパリティ・レコードが、スライスと
呼ばれる。スライス中の各データ・レコードは、レコー
ドのバージョンを示すバージョン標識を含む。各パリテ
ィ・レコードのヘッダは、複数のバージョン標識を含み
、各標識は、それぞれスライス中の各データ・レコード
に対応する。データ・レコードが更新されるたびに、そ
のバージョン標識が増分され、そのデータ・レコードに
対応するパリティ・レコード・バージョン標識も増分さ
れる。レコード更新と新パリティ更新の両方が完了する
と、バージョン標識は同一になる。失われたレコードの
回復中レコードとパリティの同期を確認するために、バ
ージョン番号が検査される。有効な同期をとらすに強制
的に回復を行なうと、予測できないデータが生成される
ことになる。
各データ・レコードには、他のあらゆるチータレコード
とは無関係のバージョン番号がついているので、同一の
パリティ・レコードでカバーされる異なるデータ・レコ
ードの更新に、直列化は必要ではない。また、直列化を
回避するには、データ・レコード書込み操作をスケジュ
ール化し、パリティ更新要求を待ち行列化する前に、記
憶装置からパリティ・レコードを読み取る必要もない。
とは無関係のバージョン番号がついているので、同一の
パリティ・レコードでカバーされる異なるデータ・レコ
ードの更新に、直列化は必要ではない。また、直列化を
回避するには、データ・レコード書込み操作をスケジュ
ール化し、パリティ更新要求を待ち行列化する前に、記
憶装置からパリティ・レコードを読み取る必要もない。
もう一つの好ましい実施例では、パリティ・グループで
カバーする必要のないデータ・レコードのために、記憶
保護されていないストライプが、設けられる。記憶保護
されていないストライプは、記憶保護されたストライプ
と同じサイズでなくてもよく、記憶装置のサイズが同一
でない場合には、記憶装置上で可変サイズの領域を含む
。このようなストライプ化によって、記憶装置を記憶保
護された記憶域と記憶保護されてない記憶域に分離する
便利な方法がもたらされるが、それは、各記憶装置の同
じアドレス区域が記憶保護されるからである。記憶装置
」二に記憶されたすべてのレコードを記憶保護する必要
がない場合は性能」二の利益が実現されるが、それは、
記憶保護されてないストアー ライブ中のレコードが変更された後では、パリティ更新
が必要ではないからである。
カバーする必要のないデータ・レコードのために、記憶
保護されていないストライプが、設けられる。記憶保護
されていないストライプは、記憶保護されたストライプ
と同じサイズでなくてもよく、記憶装置のサイズが同一
でない場合には、記憶装置上で可変サイズの領域を含む
。このようなストライプ化によって、記憶装置を記憶保
護された記憶域と記憶保護されてない記憶域に分離する
便利な方法がもたらされるが、それは、各記憶装置の同
じアドレス区域が記憶保護されるからである。記憶装置
」二に記憶されたすべてのレコードを記憶保護する必要
がない場合は性能」二の利益が実現されるが、それは、
記憶保護されてないストアー ライブ中のレコードが変更された後では、パリティ更新
が必要ではないからである。
E、実施例
ブロック・パリティの拡散を実現するコンピュータ・シ
ステムを、第1図では一般的に10で示す。システム1
0は、接続されたマイクロ命令に迅速にアクセスする制
御記憶機構に結合されたデータ処理機構12を含む。処
理機構12は、チャネル・アダプタ16と高速チャネル
18を介して複数の入出力装置と通信する。処理機構1
2と入出力装置は、主記憶装置アレイ20にアクセスで
きる。主記憶装[20へのアクセスは、仮想アドレス変
換機構22によって行なわれる。主記憶装置20のアド
レス変換テーブルと、変換索引緩衝機構は、仮想主記憶
アドレスから実主記憶アドレスへのマツピングを行なう
。
ステムを、第1図では一般的に10で示す。システム1
0は、接続されたマイクロ命令に迅速にアクセスする制
御記憶機構に結合されたデータ処理機構12を含む。処
理機構12は、チャネル・アダプタ16と高速チャネル
18を介して複数の入出力装置と通信する。処理機構1
2と入出力装置は、主記憶装置アレイ20にアクセスで
きる。主記憶装[20へのアクセスは、仮想アドレス変
換機構22によって行なわれる。主記憶装置20のアド
レス変換テーブルと、変換索引緩衝機構は、仮想主記憶
アドレスから実主記憶アドレスへのマツピングを行なう
。
磁気ディスク装置30.32.34.36.38など各
入出力装置は、これらの磁気ディスク装置に対する磁気
ディスク制御機構40などの制御機構を介して接続され
る。入出力制御機構42は、磁気テープ装置44と46
を制御する。更に入出力制御機構48.50.52は、
プリンタ、ワークステーション、キーボード、表示装置
、通信端末などの入出力装置を制御する。通常、磁気デ
ィスク制御機構は複数個あり、それぞれが複数の磁気デ
ィスク装置を制御する。
入出力装置は、これらの磁気ディスク装置に対する磁気
ディスク制御機構40などの制御機構を介して接続され
る。入出力制御機構42は、磁気テープ装置44と46
を制御する。更に入出力制御機構48.50.52は、
プリンタ、ワークステーション、キーボード、表示装置
、通信端末などの入出力装置を制御する。通常、磁気デ
ィスク制御機構は複数個あり、それぞれが複数の磁気デ
ィスク装置を制御する。
システム10のデータは、512バイ1−のデータ・ペ
ージと8バイトのヘッダから成るレコードの形で取り扱
われる。好ましい実施例のIBMシステム738では、
レコードが、チャネル18を介して磁気ディスク装置と
主記憶装置の間で伝達される。主記憶制御機構60は、
主記憶装置20へのアクセスとそのページングを制御す
る。チャネル18と主記憶制御機構60の間の破線62
は、チャネルに接続された入出力装置による主記憶装置
20への直接メモリ・アクセスを示す。システム10の
一般的動作のより詳細な説明は、IBMシステム138
技術開発(IBM System/ 38Technj
cal Development’s)、インターナシ
ョナル・ビジネス・マシーンズ・コーポレーション、1
978年に出ている。
ージと8バイトのヘッダから成るレコードの形で取り扱
われる。好ましい実施例のIBMシステム738では、
レコードが、チャネル18を介して磁気ディスク装置と
主記憶装置の間で伝達される。主記憶制御機構60は、
主記憶装置20へのアクセスとそのページングを制御す
る。チャネル18と主記憶制御機構60の間の破線62
は、チャネルに接続された入出力装置による主記憶装置
20への直接メモリ・アクセスを示す。システム10の
一般的動作のより詳細な説明は、IBMシステム138
技術開発(IBM System/ 38Technj
cal Development’s)、インターナシ
ョナル・ビジネス・マシーンズ・コーポレーション、1
978年に出ている。
磁気ディスク装置30ないし38上のデータの記憶保護
は、各装置上のデータ・レコードを排他的ORL、、排
他的ORによって得られたパリティ・レコードを記憶装
置の1つに記憶することによって実現される。第2図で
は、各記憶装置30ないし38は、データのブロックと
パリティのブロックに分割される。ブロックとは、記憶
装置上の物理空間を表わす。システム10は、最高16
メガバイトまでのデータ(割当て可能なディスク空間の
連続部分)のエクステントをもたらすので、各ブロック
は16メガバイトであるのが好ましい。
は、各装置上のデータ・レコードを排他的ORL、、排
他的ORによって得られたパリティ・レコードを記憶装
置の1つに記憶することによって実現される。第2図で
は、各記憶装置30ないし38は、データのブロックと
パリティのブロックに分割される。ブロックとは、記憶
装置上の物理空間を表わす。システム10は、最高16
メガバイトまでのデータ(割当て可能なディスク空間の
連続部分)のエクステントをもたらすので、各ブロック
は16メガバイトであるのが好ましい。
各記憶装置上のブロック70.72.74,76.78
は、同じ物理アドレス範囲を有するのが好ましく、スト
ライプと呼ばれる。第2図には、9つのストライプが示
されている。記憶保護されたストライプは、それぞれス
トライプ中の他のブロックの排他的ORを含む、それに
関連するパリティ・ブロックを有する。第1のストライ
プでは、ブロック70が、残りのブロック72.74.
76.78のパリティを含む。記憶装置32」二のブロ
ック80は、第2のストライプ上の残りのブロックのパ
リティを含む。記憶装置34上のブロック82は、第3
のストライプのパリティを含む。
は、同じ物理アドレス範囲を有するのが好ましく、スト
ライプと呼ばれる。第2図には、9つのストライプが示
されている。記憶保護されたストライプは、それぞれス
トライプ中の他のブロックの排他的ORを含む、それに
関連するパリティ・ブロックを有する。第1のストライ
プでは、ブロック70が、残りのブロック72.74.
76.78のパリティを含む。記憶装置32」二のブロ
ック80は、第2のストライプ上の残りのブロックのパ
リティを含む。記憶装置34上のブロック82は、第3
のストライプのパリティを含む。
ブロック84と86は、それぞれ第4のストライプと第
5のストライプのパリティを含む。ストライプ6.7.
8に対するブロック88.90.92を含むパリティ・
ブロックは、複数の記憶装置にわたって拡散、すなわち
分配されている。第9のストライプは、記憶保護されて
ない領域であり、そのストライプに関連するパリティ・
ブロックを有さない。このストライプは、記憶保護する
必要のないデータを記憶するのに使用される。
5のストライプのパリティを含む。ストライプ6.7.
8に対するブロック88.90.92を含むパリティ・
ブロックは、複数の記憶装置にわたって拡散、すなわち
分配されている。第9のストライプは、記憶保護されて
ない領域であり、そのストライプに関連するパリティ・
ブロックを有さない。このストライプは、記憶保護する
必要のないデータを記憶するのに使用される。
パリティ情報の拡散により、異なるストライプ上のデー
タ・レコードの更新に続くパリティ・レコードの書込み
中に、特定のある記憶装置が他の記憶装置よりずっと頻
繁にアクセスされることがなくなる。ブロックに記憶さ
れたレコードが変更されると、変更されたレコードを含
むストライプのパリティ・ブロックも変更しなければな
らない。
タ・レコードの更新に続くパリティ・レコードの書込み
中に、特定のある記憶装置が他の記憶装置よりずっと頻
繁にアクセスされることがなくなる。ブロックに記憶さ
れたレコードが変更されると、変更されたレコードを含
むストライプのパリティ・ブロックも変更しなければな
らない。
ストライプのパリティ・ブロックは2つ以上の記憶装置
にわたって拡散されるので、パリティの更新が1つの装
置に集中されることはない。したがって、入出力活動は
、すべての記憶装置上により均等に拡散される。
にわたって拡散されるので、パリティの更新が1つの装
置に集中されることはない。したがって、入出力活動は
、すべての記憶装置上により均等に拡散される。
第3図で、装置テーブル310は、パリティ記憶保護に
係わる各記憶装置の情報を含む。装置番号とセクタ、ま
たはページ番号から成る物理アドレスが、目的のデータ
の位置を識別するのに使用される。次いで、装置テーブ
ルを使って、パリティ制御ブロック314.316.3
18が識別される。ユニット1〜8は、制御ブロック3
1.4に関連する第1のパリティ・メンバーである。ユ
ニット9〜13は、制御ブロック316に関連する第2
のパリティ・セットのメンバーであり、ユニットN〜2
からNは、制御ブロック318に関連する1番目のパリ
ティ・セラ1−のメンバーである。
係わる各記憶装置の情報を含む。装置番号とセクタ、ま
たはページ番号から成る物理アドレスが、目的のデータ
の位置を識別するのに使用される。次いで、装置テーブ
ルを使って、パリティ制御ブロック314.316.3
18が識別される。ユニット1〜8は、制御ブロック3
1.4に関連する第1のパリティ・メンバーである。ユ
ニット9〜13は、制御ブロック316に関連する第2
のパリティ・セットのメンバーであり、ユニットN〜2
からNは、制御ブロック318に関連する1番目のパリ
ティ・セラ1−のメンバーである。
装置テーブルの各項目は、その項目をメンバーとする記
憶装置のセットに関連する制御ブロックを指示する。制
御ブロックは、セットのどの記憶装置が各ストライプの
パリティ・ブロックを含むかを識別する。制御ブロック
314では、第1の]6メガバイl〜の記憶域を含むス
1−ライブは、そのパリティ情報が装置番号1の第1の
16メガバイトの記憶域に記憶されている。ユニット1
〜8を含むス1〜ライブの第2の16メガバイト記憶域
は、ユニット番号2の第2の1−6メガバイトに含まれ
ている。パリティ・ブロックの割当ては、ユニット3〜
8がそれぞれ連鎖式に続き、次の6つのストライプのパ
リティを有する。第1パリテイ・セット中の第9のスト
ライプは、そのパリティがユニット番号1の16メガバ
イトの第9のブロックに記憶されている。このセット中
の8つのユニットの1つであるユニットJに割当てられ
た最後のストライプは、ユニットのアドレス可能記憶域
が1.6メガバイトで割り切れるかどうかに応じて、完
全な16メガバイトを含まないこともある。
憶装置のセットに関連する制御ブロックを指示する。制
御ブロックは、セットのどの記憶装置が各ストライプの
パリティ・ブロックを含むかを識別する。制御ブロック
314では、第1の]6メガバイl〜の記憶域を含むス
1−ライブは、そのパリティ情報が装置番号1の第1の
16メガバイトの記憶域に記憶されている。ユニット1
〜8を含むス1〜ライブの第2の16メガバイト記憶域
は、ユニット番号2の第2の1−6メガバイトに含まれ
ている。パリティ・ブロックの割当ては、ユニット3〜
8がそれぞれ連鎖式に続き、次の6つのストライプのパ
リティを有する。第1パリテイ・セット中の第9のスト
ライプは、そのパリティがユニット番号1の16メガバ
イトの第9のブロックに記憶されている。このセット中
の8つのユニットの1つであるユニットJに割当てられ
た最後のストライプは、ユニットのアドレス可能記憶域
が1.6メガバイトで割り切れるかどうかに応じて、完
全な16メガバイトを含まないこともある。
各パリティ制御ブロックのヘッダは、どのユニットがセ
ットにあるかを記述し、また、あるパリティ・グループ
によって記憶保護されない各ユ二ットに共通なアドレス
範囲を識別する。記憶保護されてない各ユニットに共通
な範囲を設けると、パリティ記憶保護体系が簡単になる
。各記憶装置」二の同一の物理アドレスが排他的ORさ
れて、パリティ情報が決定されるので、情報とパリティ
を相関させるのに、第3図に示したちの以外の特別のテ
ーブルは必要ではない。記憶保護されてない共通のアド
レス範囲は、その識別が制御ブロック中にあり、各ユニ
ットごとに共通なので、特別な考慮を払う必要はない。
ットにあるかを記述し、また、あるパリティ・グループ
によって記憶保護されない各ユ二ットに共通なアドレス
範囲を識別する。記憶保護されてない各ユニットに共通
な範囲を設けると、パリティ記憶保護体系が簡単になる
。各記憶装置」二の同一の物理アドレスが排他的ORさ
れて、パリティ情報が決定されるので、情報とパリティ
を相関させるのに、第3図に示したちの以外の特別のテ
ーブルは必要ではない。記憶保護されてない共通のアド
レス範囲は、その識別が制御ブロック中にあり、各ユニ
ットごとに共通なので、特別な考慮を払う必要はない。
パリティ制御ブロック316は、第3図の記憶装置9〜
13のセットに相当する。この5つのユニットは、第2
図の記憶装置30〜38と考えることができる。パリテ
ィ・グループの記憶装置への割当ては、連鎖式に行なわ
れる。連続する16メガバイトの各記憶域は、そのパリ
ティ・グループがユニット30、すなわち第3図のユニ
ット番号9から始まる連続する記憶装置に記憶されてい
る。ユニット番号9は、記憶装w9〜13(30〜38
)に対するストライプの80〜96メガバイI〜の範囲
に対するパリティ・グループをも含む。
13のセットに相当する。この5つのユニットは、第2
図の記憶装置30〜38と考えることができる。パリテ
ィ・グループの記憶装置への割当ては、連鎖式に行なわ
れる。連続する16メガバイトの各記憶域は、そのパリ
ティ・グループがユニット30、すなわち第3図のユニ
ット番号9から始まる連続する記憶装置に記憶されてい
る。ユニット番号9は、記憶装w9〜13(30〜38
)に対するストライプの80〜96メガバイI〜の範囲
に対するパリティ・グループをも含む。
そのセラ1〜の最後のス1−ライブは、そのパリティか
に番目のユニツ1−に記憶されている。ただし、Kはパ
リティ・ブロックの割当てが終わるユニットである。と
いうのは、記憶保護されたストライプはこれ以上ないか
らである。
に番目のユニツ1−に記憶されている。ただし、Kはパ
リティ・ブロックの割当てが終わるユニットである。と
いうのは、記憶保護されたストライプはこれ以上ないか
らである。
制御ブロック318は、記憶装置の1番目のセット中の
N−2ないしNの記憶装置のセットに相当する。パリテ
ィ・ブロックが割り当てられた最後のユニットは、Lと
記され、そのセット中のストライプの数に応じてそのセ
ラ1〜中の3つのユニツ1〜のうちの1.つに相当する
。1番目のセラI〜は。
N−2ないしNの記憶装置のセットに相当する。パリテ
ィ・ブロックが割り当てられた最後のユニットは、Lと
記され、そのセット中のストライプの数に応じてそのセ
ラ1〜中の3つのユニツ1〜のうちの1.つに相当する
。1番目のセラI〜は。
最小数、すなわち、3つの記憶装置を含み、パリティ記
憶保護を実現するために望ましいと考えられる。2つの
ユニットの使用も可能だが、ミラー操作と同様であり、
排他的ORステップが1つ余分に含まれる。以下で論じ
るシステムの特定の制約条件のために、好ましい実施例
では1セツ1−に8ユニットを最大値として選択した。
憶保護を実現するために望ましいと考えられる。2つの
ユニットの使用も可能だが、ミラー操作と同様であり、
排他的ORステップが1つ余分に含まれる。以下で論じ
るシステムの特定の制約条件のために、好ましい実施例
では1セツ1−に8ユニットを最大値として選択した。
ナツト中に9つ以上のユニツ)〜を使っても、記憶保護
は失な=15− ねれない。
は失な=15− ねれない。
1セツト中に非常に多数のユニットがある場合、各ユニ
ットを読み取らなければならないため1つのユニットに
障害が発生したときに失われるデータの再構成にかかる
時間が長くなる。また、同時に2ユニット以上が失なわ
れる可能性が増大する。
ットを読み取らなければならないため1つのユニットに
障害が発生したときに失われるデータの再構成にかかる
時間が長くなる。また、同時に2ユニット以上が失なわ
れる可能性が増大する。
この事態が発生した場合、上能の単一パリティを使って
、失われたユニットのどちらかからデータを再構成する
ことが不可能になる。本発明は、パリティと同じように
記憶でき、2台以上の記憶装置に障害が発生した場合に
多重ビツト訂正が行なえる、より複雑なデータ保護コー
ドをカバーするのに充分な広さがあると考えられる。I
BM TDB Vo]、、24、&2(7)pp、
986〜987IC記載されているように、セラ1〜
を多次元にして、少なくとも2つの障害の発生したユニ
ツl−からデータを再構成できるようにすることもでき
る。別の実施例では、パテリイ自体を均等に拡散させる
のではなくて、入出力活動を均等に拡散させるために、
データ更新を頻度に基づいてパリティ情報=16− を拡散させる。
、失われたユニットのどちらかからデータを再構成する
ことが不可能になる。本発明は、パリティと同じように
記憶でき、2台以上の記憶装置に障害が発生した場合に
多重ビツト訂正が行なえる、より複雑なデータ保護コー
ドをカバーするのに充分な広さがあると考えられる。I
BM TDB Vo]、、24、&2(7)pp、
986〜987IC記載されているように、セラ1〜
を多次元にして、少なくとも2つの障害の発生したユニ
ツl−からデータを再構成できるようにすることもでき
る。別の実施例では、パテリイ自体を均等に拡散させる
のではなくて、入出力活動を均等に拡散させるために、
データ更新を頻度に基づいてパリティ情報=16− を拡散させる。
各データ・レコードは、バージョン番号を含む1つのパ
リティ・レコードによってカバーされる複数のデータ・
レコードの更新が行なわれることがあるので、パリティ
・ブロック内の各レコードは、そのパリティ・ブロック
がカバーするスライス中の各レコードに対応するバージ
ョン標識も含む。フライスとは、データ・レコードとそ
れに対応するパリティ・レコードのセットである。バー
ジョン標識は、パリティ記憶保護体系でカバーされない
。第4図では、4つのデータ・レコード410.412
.414および416は、それぞれ418.420、/
I22および424で示されたレコード・バージョン番
号をもつヘッダを有する。
リティ・レコードによってカバーされる複数のデータ・
レコードの更新が行なわれることがあるので、パリティ
・ブロック内の各レコードは、そのパリティ・ブロック
がカバーするスライス中の各レコードに対応するバージ
ョン標識も含む。フライスとは、データ・レコードとそ
れに対応するパリティ・レコードのセットである。バー
ジョン標識は、パリティ記憶保護体系でカバーされない
。第4図では、4つのデータ・レコード410.412
.414および416は、それぞれ418.420、/
I22および424で示されたレコード・バージョン番
号をもつヘッダを有する。
パリティ・レコード426は、データ・レコード中のバ
ージョン番号に相当する4つのバージョン番号428,
430,432,434をもつヘッダを有する。バージ
ョン番号または標識は、レコード・ヘッド内で利用でき
るビット数と整合する任意の長さである。他のビン1−
が利用できないため、1ビツト長を選択している。デー
タ・レコードが変更されるたびに、そのバージョン番号
が増分される。パリティ・レコード中の対応するバージ
ョン番号も増分され、したがって両者は同じ値をとる。
ージョン番号に相当する4つのバージョン番号428,
430,432,434をもつヘッダを有する。バージ
ョン番号または標識は、レコード・ヘッド内で利用でき
るビット数と整合する任意の長さである。他のビン1−
が利用できないため、1ビツト長を選択している。デー
タ・レコードが変更されるたびに、そのバージョン番号
が増分される。パリティ・レコード中の対応するバージ
ョン番号も増分され、したがって両者は同じ値をとる。
バージョン番号は、データが失われた際にパリティ・レ
コードとスライス中の各データ・レコードの同期を検査
するのに使用される。数個のデータ・レコードに変更が
行なわれると、パリティ・レコードが変更マスクによっ
て更新される以前または以後にデータ・レコードが磁気
ディスク装置に書き込まれる。変更マスクは、パリティ
・レコードへの組込みのため待ち行列化される。バージ
ョン番号を各パリティとデータ・レコードに関連させる
と、磁気ディスク装置に書き込まれた所定のデータ・レ
コードに対するパリティ・レコードの更新をデータ・レ
コードの更新と同じ順序で行なわれなければならないと
いう制約条件が加わる。
コードとスライス中の各データ・レコードの同期を検査
するのに使用される。数個のデータ・レコードに変更が
行なわれると、パリティ・レコードが変更マスクによっ
て更新される以前または以後にデータ・レコードが磁気
ディスク装置に書き込まれる。変更マスクは、パリティ
・レコードへの組込みのため待ち行列化される。バージ
ョン番号を各パリティとデータ・レコードに関連させる
と、磁気ディスク装置に書き込まれた所定のデータ・レ
コードに対するパリティ・レコードの更新をデータ・レ
コードの更新と同じ順序で行なわれなければならないと
いう制約条件が加わる。
そうしなければ、バージョン番号が不正確になる。
先入れ先出し待ち行列は変更マスクを保持するので、そ
れらのマスクは、それらが生成された順序で大容量記憶
装置上のパリティ・レコードに組み込まれる。
れらのマスクは、それらが生成された順序で大容量記憶
装置上のパリティ・レコードに組み込まれる。
ヘッダ中のビットの可用度が限られているため、バージ
ョン番号は特に注意される。各データ・レコードのバー
ジョン番号は、各レコードの6番目のバイトの最初のピ
ット位置に記憶される。パリティ・レコード中の対応す
るバージョン番号は、ヘッダの6番目のバイトの最初4
ビツトの位置および8番目のバイトの最初3ビツトの位
置に含まれる。パリティ・レコードのヘッダのバージョ
ン番号のピット位置を、上述の順序に対応してビット1
〜7と呼ぶこととする。1セツト中のユニットに、セッ
トのパリティ制御ブロック中でのユニットの順序に対応
して1〜nの番号が付けている。
ョン番号は特に注意される。各データ・レコードのバー
ジョン番号は、各レコードの6番目のバイトの最初のピ
ット位置に記憶される。パリティ・レコード中の対応す
るバージョン番号は、ヘッダの6番目のバイトの最初4
ビツトの位置および8番目のバイトの最初3ビツトの位
置に含まれる。パリティ・レコードのヘッダのバージョ
ン番号のピット位置を、上述の順序に対応してビット1
〜7と呼ぶこととする。1セツト中のユニットに、セッ
トのパリティ制御ブロック中でのユニットの順序に対応
して1〜nの番号が付けている。
バージョン番号は、パリティ・レコード・ヘッダ中のユ
ニット番号にもとづいて昇順に記憶され、パリティ・ユ
ニットを飛び越す。3番目のユニットがパリティ・ユニ
ットの場合、最初2つのユニットに相当するバージョン
番号が、ビット位置1と2に記憶される。4番目のユニ
ットに相当するバージョン番号は、ピット位置3に記憶
される。
ニット番号にもとづいて昇順に記憶され、パリティ・ユ
ニットを飛び越す。3番目のユニットがパリティ・ユニ
ットの場合、最初2つのユニットに相当するバージョン
番号が、ビット位置1と2に記憶される。4番目のユニ
ットに相当するバージョン番号は、ピット位置3に記憶
される。
n番目のユニットのバージョン番号は、パリティ・レコ
ードのヘッダ中の位11n−1にある。このようにして
バージョン番号を記憶すると、記憶容量の制限を考慮し
た上で可能な最大のセットが実現可能である。余分な記
憶域を用いると、セットのサイズを、システムの他の考
慮点に応じて最適化できる。パリティ・ヘッダ中のバー
ジョン番号の位置決めを行なえば、ユニット番号とピッ
ト位置の直線的対応関係書が得られる。
ードのヘッダ中の位11n−1にある。このようにして
バージョン番号を記憶すると、記憶容量の制限を考慮し
た上で可能な最大のセットが実現可能である。余分な記
憶域を用いると、セットのサイズを、システムの他の考
慮点に応じて最適化できる。パリティ・ヘッダ中のバー
ジョン番号の位置決めを行なえば、ユニット番号とピッ
ト位置の直線的対応関係書が得られる。
各データ・レコードは、他のいかなるデータ・レコード
とも無関係なバージョン番号をもつので、同じパリティ
・レコードによってカバーされる異なるデータ・レコー
ドの更新に直列化は必要でない。主記憶装置との間での
レコードの転送は、処理速度を向上させるためのシステ
ム・スループット上の他の考慮点にもとづいて行なわれ
ることもある。この分離されたバージョン番号を使うと
、データ・レコード書込み操作をスケジュール化し、パ
リティ更新要求を待ち行列化する前に、大容量記憶装置
からパリティ・レコードを読み取る必要もなくなる。
とも無関係なバージョン番号をもつので、同じパリティ
・レコードによってカバーされる異なるデータ・レコー
ドの更新に直列化は必要でない。主記憶装置との間での
レコードの転送は、処理速度を向上させるためのシステ
ム・スループット上の他の考慮点にもとづいて行なわれ
ることもある。この分離されたバージョン番号を使うと
、データ・レコード書込み操作をスケジュール化し、パ
リティ更新要求を待ち行列化する前に、大容量記憶装置
からパリティ・レコードを読み取る必要もなくなる。
バージョン番号が占める記憶域を制限するために、最大
値から最小値へ循環することが誤りなく許される。こう
すると、バージョン番号が再使用できる。1ビツトのバ
ージョン番号を使用する場合、そのバージョン番号は、
1とOの間を循環する。すなわち、そのバージョン番号
は2つの値をとる。ビット数のより高いバージョン番号
は、より多くの値をとる。データ・レコードとパリティ
・レコードの更新は非同期なので、更新されたバージョ
ン番号が現存のバージョン番号と混同される恐れがある
場合、データ・レコードの更新は保持される。こうした
混同が発生するのは、更新に関連するバージョン番号と
同じバージョン番号が大容量記憶装置上のデータ・レコ
ードまたはパリティ・レコード上に存在する場合である
。考慮すべき時間枠は、新しいパリティ更新會求が先入
れ先出しくF I FO)待ち行列に置かれた時からそ
の要求が完了される時までである。データ・レコードも
、更新要求が完了したと思われる前に更新されなければ
ならない。
値から最小値へ循環することが誤りなく許される。こう
すると、バージョン番号が再使用できる。1ビツトのバ
ージョン番号を使用する場合、そのバージョン番号は、
1とOの間を循環する。すなわち、そのバージョン番号
は2つの値をとる。ビット数のより高いバージョン番号
は、より多くの値をとる。データ・レコードとパリティ
・レコードの更新は非同期なので、更新されたバージョ
ン番号が現存のバージョン番号と混同される恐れがある
場合、データ・レコードの更新は保持される。こうした
混同が発生するのは、更新に関連するバージョン番号と
同じバージョン番号が大容量記憶装置上のデータ・レコ
ードまたはパリティ・レコード上に存在する場合である
。考慮すべき時間枠は、新しいパリティ更新會求が先入
れ先出しくF I FO)待ち行列に置かれた時からそ
の要求が完了される時までである。データ・レコードも
、更新要求が完了したと思われる前に更新されなければ
ならない。
新しい更新要求が完了する前にディスク上に存在するバ
ージョン番号は、すべて待ち行列にある以前の更新要求
のすべての値と待ち行列中で最初の(最古の)要求要素
に先行する値とを含む。更新要求が完了するまでに待ち
行列から除去されない場合、同じデータ・レコードに対
する待ち行列上に他の要求がある場合に新しい更新が待
つことだけが必要で、新しいデータ・レコードに対する
増分されたバージョン番号が、依然待ち行列中にある最
初の要求要素に先行するバージョン番号と一致する。
ージョン番号は、すべて待ち行列にある以前の更新要求
のすべての値と待ち行列中で最初の(最古の)要求要素
に先行する値とを含む。更新要求が完了するまでに待ち
行列から除去されない場合、同じデータ・レコードに対
する待ち行列上に他の要求がある場合に新しい更新が待
つことだけが必要で、新しいデータ・レコードに対する
増分されたバージョン番号が、依然待ち行列中にある最
初の要求要素に先行するバージョン番号と一致する。
待ち行列中の更新要求の数が小さい間は、更新をスケジ
ュール化する前に待ち行列を探索するためのパフォーマ
ンス費用は大したものではない。
ュール化する前に待ち行列を探索するためのパフォーマ
ンス費用は大したものではない。
待ち行列に使用される記憶域へのアクセスの速さが妥当
であっても、パフォーマンス費用が減少する。主記憶装
置は待ち行列に適切な記憶域をもたらす。待ち行列中の
更新要求の数を小さくすることは、どの要求も待時間が
長くなりすぎないようにするのにも重要である。
であっても、パフォーマンス費用が減少する。主記憶装
置は待ち行列に適切な記憶域をもたらす。待ち行列中の
更新要求の数を小さくすることは、どの要求も待時間が
長くなりすぎないようにするのにも重要である。
好ましい実施例の場合のようにバージョン番号が単一ピ
ッ1〜・フラッフとして実現されるときは、新しい更新
を待たなければならないかどうかを決定するために、同
じデータ・レコードに対する以前の更新要求の待ち行列
を探索するだけでよい。
ッ1〜・フラッフとして実現されるときは、新しい更新
を待たなければならないかどうかを決定するために、同
じデータ・レコードに対する以前の更新要求の待ち行列
を探索するだけでよい。
同じデータ・ブロックに対する待ち行列中に不完全な要
求がある場合、新しい要求を常に待たなければならない
ので、バージョン番号の値を検査する必要はない。
求がある場合、新しい要求を常に待たなければならない
ので、バージョン番号の値を検査する必要はない。
好ましい実施例では、レコード・ヘッダは本発明を実現
するのに利用できる7つの未使用ビットを含む。このた
め、」、セットに含まれるユニッ1−の数が制限される
。7つのバージョン番号だけがパリティ・レコード中に
保持されており、したがって合計最高8つまでのユニッ
1へがパリティ記憶保護セラl〜に含まれる。前述のよ
うに、もつと多くのユニツ]〜または最低3つのユニッ
トの場合でも本発明を効率的に利用できる。
するのに利用できる7つの未使用ビットを含む。このた
め、」、セットに含まれるユニッ1−の数が制限される
。7つのバージョン番号だけがパリティ・レコード中に
保持されており、したがって合計最高8つまでのユニッ
1へがパリティ記憶保護セラl〜に含まれる。前述のよ
うに、もつと多くのユニツ]〜または最低3つのユニッ
トの場合でも本発明を効率的に利用できる。
パリティ保護システムの構成
データのパリティ保護システムの構成は、ユーザによっ
て第5図の流れ図の510から開始される。プロセッサ
12上でセットアツプ・タスクにより、流れ図のブロッ
ク512で、パリティ制御ブロック314〜318が構
築される。このタスクは、構成ユニット・テーブル31
2中の情報を使用して、システムに接続された記憶装置
を識別する。IBM3370などの記憶装置は、独立に
アクセス可能なアームなど複数の独立ユニットを内部に
含んでいるが、任意の特定のセットに対して記憶装置か
ら1つのユニツ1−だけ選択される。
て第5図の流れ図の510から開始される。プロセッサ
12上でセットアツプ・タスクにより、流れ図のブロッ
ク512で、パリティ制御ブロック314〜318が構
築される。このタスクは、構成ユニット・テーブル31
2中の情報を使用して、システムに接続された記憶装置
を識別する。IBM3370などの記憶装置は、独立に
アクセス可能なアームなど複数の独立ユニットを内部に
含んでいるが、任意の特定のセットに対して記憶装置か
ら1つのユニツ1−だけ選択される。
ユニット選択の別の基準は、1セツト中にできるだけ多
くのディスク制御機構を使用することを含んでいる。こ
うした基準は、障害モードが1セツトの中の2つのユニ
ットに影響を及ぼさないようにするために使用する。セ
ットアツプ・タスクは、1セツトの中のユニツI−数を
最大にすることによって使用可能容量も最大にする。
くのディスク制御機構を使用することを含んでいる。こ
うした基準は、障害モードが1セツトの中の2つのユニ
ットに影響を及ぼさないようにするために使用する。セ
ットアツプ・タスクは、1セツトの中のユニツI−数を
最大にすることによって使用可能容量も最大にする。
制御ブロックが構築された後に、514で制御ブロック
中のス]−ライブ・アレイが構築される。
中のス]−ライブ・アレイが構築される。
上述のように、スI・ライブ・アレイは連鎖方式でパリ
ティ・ブロックを各セット中のメンバー・ユニットに割
り当てる。ストライブ・アレイは、各ユニツl〜の16
メガバイ1〜・ブロックを含む連続ス1−ライブに対す
るパリティ・ブロックをどのユニットが含むかを示すよ
うに形成される。ユーザが、保護されいない記憶域のサ
イズを希望するように定義することもできる。保護され
てないストライブのアドレス範囲の定義が、制御ブロッ
クのヘッダに入力される。セットアツプ・タスクは、保
護されてないストライブからのブロックをパリティ・ブ
ロックと定義することはないので、保護されてないスト
ライブ全体がデータ・レコード用に使用できる。
ティ・ブロックを各セット中のメンバー・ユニットに割
り当てる。ストライブ・アレイは、各ユニツl〜の16
メガバイ1〜・ブロックを含む連続ス1−ライブに対す
るパリティ・ブロックをどのユニットが含むかを示すよ
うに形成される。ユーザが、保護されいない記憶域のサ
イズを希望するように定義することもできる。保護され
てないストライブのアドレス範囲の定義が、制御ブロッ
クのヘッダに入力される。セットアツプ・タスクは、保
護されてないストライブからのブロックをパリティ・ブ
ロックと定義することはないので、保護されてないスト
ライブ全体がデータ・レコード用に使用できる。
次に、516でセラ1−アップ・タスクは、制御ブロッ
クが対応する各セットの複数のメンバー・ユニツ1へに
、制御ブロックを書き込む。制御ブロックは、回復中に
セットのメンバーを識別するために使用される。すなわ
ち、制御ブロックは、パリティの回復なしに使用可能で
なければならない。
クが対応する各セットの複数のメンバー・ユニツ1へに
、制御ブロックを書き込む。制御ブロックは、回復中に
セットのメンバーを識別するために使用される。すなわ
ち、制御ブロックは、パリティの回復なしに使用可能で
なければならない。
それを含むメンバー・ユニットの1つに障害が発生する
場合、それらの制御ブロックが、各セット中の複数のメ
ンバー・ユニットに書き込まれる。
場合、それらの制御ブロックが、各セット中の複数のメ
ンバー・ユニットに書き込まれる。
保護体系によって複数のユニットが障害から保護される
場合、制御ブロックが、回復されるユニットの数よりも
少なくとも1つ多くのユニットに書き込まれる。好まし
い実施例では、制御ブロックはセットの各メンバーに書
き込まれるので、どのユニットが制御ブロックを含むか
を決定するのにユニットを検索する必要はない。セット
が識別され制御ブロックが構築されると、セットアツプ
・タスクのブロック518で、バージョン番号を含むパ
リティ・ブロックの妥当性検索が行なわれる。
場合、制御ブロックが、回復されるユニットの数よりも
少なくとも1つ多くのユニットに書き込まれる。好まし
い実施例では、制御ブロックはセットの各メンバーに書
き込まれるので、どのユニットが制御ブロックを含むか
を決定するのにユニットを検索する必要はない。セット
が識別され制御ブロックが構築されると、セットアツプ
・タスクのブロック518で、バージョン番号を含むパ
リティ・ブロックの妥当性検索が行なわれる。
好ましい実施例では、これを、すべてのユニット上のす
べてのデータをゼロにすることによって行なわれる。偶
数パリティがパリティ記憶保護に使用されるので、結果
はすべてのデータに有効なパリティとなる。バージョン
番号もゼロから始まる。
べてのデータをゼロにすることによって行なわれる。偶
数パリティがパリティ記憶保護に使用されるので、結果
はすべてのデータに有効なパリティとなる。バージョン
番号もゼロから始まる。
次いで、このシステムは、520で初期プログラム・ロ
ードを実行することによって標準のやり方で初期設定さ
れる。
ードを実行することによって標準のやり方で初期設定さ
れる。
ユニットの最高数にまだ到ってないセットにメンバーを
加えることも可能である。新しいメンバーは、ゼロにし
てユニット・テーブルに加えるのが好ましい。次に、セ
ットのパリティ・ブロックが、新しいユニットを含むよ
うに再分配される。
加えることも可能である。新しいメンバーは、ゼロにし
てユニット・テーブルに加えるのが好ましい。次に、セ
ットのパリティ・ブロックが、新しいユニットを含むよ
うに再分配される。
そのセットの制御ブロックが審査され、新しいユニット
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでおり、そのストライプに対するパリティ・グ
ループの妥当性検索を行なう。
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでおり、そのストライプに対するパリティ・グ
ループの妥当性検索を行なう。
好ましい実施例では、制御ブロックは、新しいユニット
の追加によってセラ1−の変更が行なわれることを示す
ように、一時的に改訂される。パリティ・ブロックの再
分配中に障害が発生した場合、一時的変更が行なわれる
。次いで、既存のセットのパリティ・ブロックが、新し
いユニットを含むように再分配される。新しいユニット
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでいた。再分配が完了すると、制御ブロックの
変更は永続的となる。
の追加によってセラ1−の変更が行なわれることを示す
ように、一時的に改訂される。パリティ・ブロックの再
分配中に障害が発生した場合、一時的変更が行なわれる
。次いで、既存のセットのパリティ・ブロックが、新し
いユニットを含むように再分配される。新しいユニット
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでいた。再分配が完了すると、制御ブロックの
変更は永続的となる。
パリティ・ブロックを転送しないで新しいユニットを追
加することもできる。パリティ・ブロックの転送を行な
わないと、新しいユニットを追加することによって可能
になるそのセットのアクセス速度の増加を利用できない
ことになる。しかし、新しいユニットは既存のパリティ
・ブロックによって記憶保護される。
加することもできる。パリティ・ブロックの転送を行な
わないと、新しいユニットを追加することによって可能
になるそのセットのアクセス速度の増加を利用できない
ことになる。しかし、新しいユニットは既存のパリティ
・ブロックによって記憶保護される。
スライス中のレコードとパリティの更新第6図には、デ
ータ・レコードとそれに対応するパリティ・レコードの
変更が示されている。こうした変更は、データ・ベース
中のデータを変更しようとする人、または様々な理由で
変更を要求する機械処理によって呼び出される。610
で、処理装置12上で動くユーザ・タスクが、変更すべ
きデータ・レコードを読み取る。ユーザ・タスクは、ま
ず612でデータ・レコードの追加コピーをつくり、次
いで従来の方式でデータ・レコードの変更を行なう。
ータ・レコードとそれに対応するパリティ・レコードの
変更が示されている。こうした変更は、データ・ベース
中のデータを変更しようとする人、または様々な理由で
変更を要求する機械処理によって呼び出される。610
で、処理装置12上で動くユーザ・タスクが、変更すべ
きデータ・レコードを読み取る。ユーザ・タスクは、ま
ず612でデータ・レコードの追加コピーをつくり、次
いで従来の方式でデータ・レコードの変更を行なう。
その後、ユーザ・タスクは、614で変更されたデータ
・レコードとデータ・レコードの追加コピーを排他的O
Rすることによって変更マスクを生成する。変更された
データの最初のビットを追加コピーと排他的ORして、
変更マスクの最初のビットを形成する。変更データの連
続する各ビットを同様に追加コピーの対応するビットと
排他的ORL、て、変更マスクの他のビットを形成する
。
・レコードとデータ・レコードの追加コピーを排他的O
Rすることによって変更マスクを生成する。変更された
データの最初のビットを追加コピーと排他的ORして、
変更マスクの最初のビットを形成する。変更データの連
続する各ビットを同様に追加コピーの対応するビットと
排他的ORL、て、変更マスクの他のビットを形成する
。
既存の機械語命令が変更レコードのヘッダとコピーされ
たレコードのヘッダの排他的ORを実行する。他の2つ
の排他的OR機械語命令が、256バイトのブロック中
のページの排他的ORを実行する。次いで、パリティ・
レコード中のバージョン番号に対応するヘッダの位置が
、変更マスク中でゼロにされ、したがってそれらの位置
がパリティ・レコードのバージョン番号に影響を及ぼす
ことはない。
たレコードのヘッダの排他的ORを実行する。他の2つ
の排他的OR機械語命令が、256バイトのブロック中
のページの排他的ORを実行する。次いで、パリティ・
レコード中のバージョン番号に対応するヘッダの位置が
、変更マスク中でゼロにされ、したがってそれらの位置
がパリティ・レコードのバージョン番号に影響を及ぼす
ことはない。
ブロック616で、ユーザ・タスクはデータ・レコード
・ヘッダ中のバージョン番号を増分する。
・ヘッダ中のバージョン番号を増分する。
次いで、617で、ユーザ・タスクは、新しいデータの
物理アドレスから得られるユニット番号にもとづいてユ
ニット・テーブル312を検索することにより、どのユ
ニツ1−が当該のパリティ・レコードを含むかを決定す
る。ユニット・テーブルは、制御ブロック314〜31
8のどれを使用して特定のデータ・レコードに対するパ
リティ・レコードを含むユニツ1−を識別するかを指示
する。
物理アドレスから得られるユニット番号にもとづいてユ
ニット・テーブル312を検索することにより、どのユ
ニツ1−が当該のパリティ・レコードを含むかを決定す
る。ユニット・テーブルは、制御ブロック314〜31
8のどれを使用して特定のデータ・レコードに対するパ
リティ・レコードを含むユニツ1−を識別するかを指示
する。
この場合も、新しいデータ・レコードのアドレスを使っ
て、目的のストライプが識別される。そのスl〜ライブ
に対するパリティ・レコードを含むユニツ]〜が識別さ
れると、タスク617は、当該のユニットに対する待ち
行列624上にレコード・アドレスと変更マスクを含む
更新要求を出す。この更新要求は、データ・レコードが
まだ書き込まれていないことも指示する。タスク612
は更新要求を待ち行列624に置く前に、待ち行列62
4を検索して、」二連したようなバージョン番号との混
同がないことを確認する。混同があり得る場合、ユーザ
・タスクは、混同がなくなるまで待ってから先に進む。
て、目的のストライプが識別される。そのスl〜ライブ
に対するパリティ・レコードを含むユニツ]〜が識別さ
れると、タスク617は、当該のユニットに対する待ち
行列624上にレコード・アドレスと変更マスクを含む
更新要求を出す。この更新要求は、データ・レコードが
まだ書き込まれていないことも指示する。タスク612
は更新要求を待ち行列624に置く前に、待ち行列62
4を検索して、」二連したようなバージョン番号との混
同がないことを確認する。混同があり得る場合、ユーザ
・タスクは、混同がなくなるまで待ってから先に進む。
パリティ・レコードのアドレスは、新しいデータのアド
レスと同じであることがわかっている。
レスと同じであることがわかっている。
ただしアドレスのあるユニットは異なる。618で、新
しいデータの書込み要求が出され、待ち行列620に送
られる。データ・レコードが記憶機構622に書き込ま
れると、625でそのことを示す標識が待ち行列624
上の更新要求に送られる。次いで、流れは戻り、次のデ
ータ・レコード変更を待つ。
しいデータの書込み要求が出され、待ち行列620に送
られる。データ・レコードが記憶機構622に書き込ま
れると、625でそのことを示す標識が待ち行列624
上の更新要求に送られる。次いで、流れは戻り、次のデ
ータ・レコード変更を待つ。
パリティ更新タスクは、627で待ち行列624から次
のパリティ更新要求を獲得することによって始まる。更
新要求中で識別されたパリティ・レコードが626で読
み取られると、628で変更マスクが、パリティ・レコ
ードと排他的ORされる。変更マスクはバージョン番号
に対応するビット位置にゼロを含むため、バージョン番
号は排他的ORによって変更されない。排他的ORは、
ユーザ・タスクのブロック614で使用するのと同じ排
他的○R機械語命令によって実行される。
のパリティ更新要求を獲得することによって始まる。更
新要求中で識別されたパリティ・レコードが626で読
み取られると、628で変更マスクが、パリティ・レコ
ードと排他的ORされる。変更マスクはバージョン番号
に対応するビット位置にゼロを含むため、バージョン番
号は排他的ORによって変更されない。排他的ORは、
ユーザ・タスクのブロック614で使用するのと同じ排
他的○R機械語命令によって実行される。
次に、630で、データ・レコードに対応するパリティ
・レコードのバージョン番号が増分され、632で、パ
リティ・レコードに対する書込み要求が出される。その
後、パリティ更新タスクは、627で、次のパリティ更
新要求を獲得する。
・レコードのバージョン番号が増分され、632で、パ
リティ・レコードに対する書込み要求が出される。その
後、パリティ更新タスクは、627で、次のパリティ更
新要求を獲得する。
待ち行列634は、記憶装置に対するパリティ・レコー
ド書込み要求を記憶する。この場合、記憶装置636は
、特定の書込み要求を記憶するよう指示される。記憶ユ
ニット636はユニット622とは異なっているが、そ
れは、データ・レコードとパリティ・レコードが同じユ
ニットに書き込まれないからである。パリティ・レコー
ドの書込みが完了すると、637で待ち行列624」二
の更新要求が通知される。データの書込みとパリティの
書込み両方が完了すると、その項目が待ち行列624か
ら取り除かれ、もはやバージョン番号との混同が起こる
可能性がないことを示す。
ド書込み要求を記憶する。この場合、記憶装置636は
、特定の書込み要求を記憶するよう指示される。記憶ユ
ニット636はユニット622とは異なっているが、そ
れは、データ・レコードとパリティ・レコードが同じユ
ニットに書き込まれないからである。パリティ・レコー
ドの書込みが完了すると、637で待ち行列624」二
の更新要求が通知される。データの書込みとパリティの
書込み両方が完了すると、その項目が待ち行列624か
ら取り除かれ、もはやバージョン番号との混同が起こる
可能性がないことを示す。
レコードの回復
回復が実行されるのは、システムの平常操作中単一のレ
コード読取りエラーにぶつかったとき、またはユニット
全体に障害が発生したときである。
コード読取りエラーにぶつかったとき、またはユニット
全体に障害が発生したときである。
ユニットに障害が発生すると、そのユニット上の失われ
たデータが、そのセット中の複数のメンバーに記憶され
ている制御ブロック中で示されるように、そのセットの
残りのユニットから再構成される。障害の発生したユニ
ツ1−は交換または修復される。新しいユニットに対す
るデータは、そのセットの残りのメンバーからレコード
ごとに再構成される。パリティ・レコードを再構成する
には、そのセラ1〜中のデータ・レコードを読み取り、
パリティを再生するだけでよい。パリティ・レコード中
のバージョン番号は、データ・レコード中の対応するバ
ージョン番号と等しくなるように設定される。
たデータが、そのセット中の複数のメンバーに記憶され
ている制御ブロック中で示されるように、そのセットの
残りのユニットから再構成される。障害の発生したユニ
ツ1−は交換または修復される。新しいユニットに対す
るデータは、そのセットの残りのメンバーからレコード
ごとに再構成される。パリティ・レコードを再構成する
には、そのセラ1〜中のデータ・レコードを読み取り、
パリティを再生するだけでよい。パリティ・レコード中
のバージョン番号は、データ・レコード中の対応するバ
ージョン番号と等しくなるように設定される。
データ・レコードを再生するとき、まず各データ・レコ
ードで検査が行なわれ、それらのバージョン番号がその
スライスに対するパリティ・レコ−ド中のバージョン番
号と一致しているかどうか判定する。そのスライス中の
バージョン番号に一致しないものがある場合、失なわれ
たデータ標識が失われたレコードのヘッダに書き込まれ
る。バージョン番号が一致している場合、そのスライス
中のレコードが新しいレコードとルコードごとに排他的
ORされる。次いで、当該のバージョン番号がパリティ
・レコードから新しいレコード・ヘッダにコピーされる
。
ードで検査が行なわれ、それらのバージョン番号がその
スライスに対するパリティ・レコ−ド中のバージョン番
号と一致しているかどうか判定する。そのスライス中の
バージョン番号に一致しないものがある場合、失なわれ
たデータ標識が失われたレコードのヘッダに書き込まれ
る。バージョン番号が一致している場合、そのスライス
中のレコードが新しいレコードとルコードごとに排他的
ORされる。次いで、当該のバージョン番号がパリティ
・レコードから新しいレコード・ヘッダにコピーされる
。
データ・レコードまたはパリティ・レコード上で読取り
エラーにぶつかった場合、障害のあるレコードの内容が
、全ユニットの回復について上述したのと同じメカニズ
ムで再構成される。この場合、回復が進行中に障害のあ
るレコードを含むスライス上のすべての変更活動を保持
する必要がある。
エラーにぶつかった場合、障害のあるレコードの内容が
、全ユニットの回復について上述したのと同じメカニズ
ムで再構成される。この場合、回復が進行中に障害のあ
るレコードを含むスライス上のすべての変更活動を保持
する必要がある。
再構成に続いて、システムの平常操作が続行する。失わ
れる唯一のデータは、データまたはパリティの更新が行
われ、対応するパリティまたはデータ・レコードが書き
込まれる前にユニットに障害が起こったものである。す
なわち、障害が生じたユニット上の大半のデータは、ミ
ラー操作によるユニットの冗長オーバーヘッドなしで回
復された。1つの装置をパリティ情報と結びつけるので
はなく、パリティ情報をそのセットのメンバーに分配す
ることによって、記憶装置の並列操作を利用して、最大
のアクセス速度がもたらされる。
れる唯一のデータは、データまたはパリティの更新が行
われ、対応するパリティまたはデータ・レコードが書き
込まれる前にユニットに障害が起こったものである。す
なわち、障害が生じたユニット上の大半のデータは、ミ
ラー操作によるユニットの冗長オーバーヘッドなしで回
復された。1つの装置をパリティ情報と結びつけるので
はなく、パリティ情報をそのセットのメンバーに分配す
ることによって、記憶装置の並列操作を利用して、最大
のアクセス速度がもたらされる。
第1図は、本発明のパリティ・ブロック記憶保護分配を
組み込んだシステムの構成図、第2図は、複数の記憶装
置」二での第1図のパリティ・ブロックの分配の構成図
、 第3図は、パリティ・グループとデータ・レコードを相
関させるのに使用される論理テーブルの構成図、 第4図は、同期のためにバージョン標識を利用した記憶
ストライプ中のレコードの構成図、第5図は、パリティ
・ブロック記憶保護用の記憶装置の初期設定の流れ図、 第6図は、データ・レコードとそれに対応するパリティ
・レコードの更新に含まれるステップの流れ図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 岡 1) 次 生(外1名)
組み込んだシステムの構成図、第2図は、複数の記憶装
置」二での第1図のパリティ・ブロックの分配の構成図
、 第3図は、パリティ・グループとデータ・レコードを相
関させるのに使用される論理テーブルの構成図、 第4図は、同期のためにバージョン標識を利用した記憶
ストライプ中のレコードの構成図、第5図は、パリティ
・ブロック記憶保護用の記憶装置の初期設定の流れ図、 第6図は、データ・レコードとそれに対応するパリティ
・レコードの更新に含まれるステップの流れ図である。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 岡 1) 次 生(外1名)
Claims (1)
- 【特許請求の範囲】 データ・ブロックを記憶する複数の独立してアクセス可
能な記憶装置を有するコンピュータ・システムのための
データ保護機構であって、 複数の組のデータ・ブロックの関数として複数のパリテ
ィ・ブロックを発生するための発生手段にして、1つの
パリティ・ブロックに対応する組における複数のデータ
・ブロックがそれぞれ異なる記憶装置に記憶されるもの
であることと、記憶装置へのデータ・ブロック及びパリ
ティ・ブロックの記憶を管理するための記憶管理手段と
、すべての組のデータ・ブロックに対するパリティ・ブ
ロックを1つの記憶装置が持つことのないよう、各パリ
ティ・ブロックが記憶されるべき記憶装置を記憶管理手
段に知らせるための手段と、より成るデータ保護機構。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US873249 | 1986-06-12 | ||
US06873249 US4761785B1 (en) | 1986-06-12 | 1986-06-12 | Parity spreading to enhance storage access |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62293355A true JPS62293355A (ja) | 1987-12-19 |
JPH0547857B2 JPH0547857B2 (ja) | 1993-07-19 |
Family
ID=25361257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62110902A Granted JPS62293355A (ja) | 1986-06-12 | 1987-05-08 | データ保護装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4761785B1 (ja) |
EP (1) | EP0249091B1 (ja) |
JP (1) | JPS62293355A (ja) |
CA (1) | CA1270333A (ja) |
DE (1) | DE3750790T2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02194457A (ja) * | 1988-11-30 | 1990-08-01 | Internatl Business Mach Corp <Ibm> | コンピユータのためのメモリ装置及びメモリ構成方法 |
JPH05505050A (ja) * | 1990-03-27 | 1993-07-29 | サン・マイクロシステムズ・インコーポレーテッド | 変更ファイルから情報を検索するためにデータベースコンポーネントファイルを探索する方法及び装置 |
JPH05197579A (ja) * | 1991-08-29 | 1993-08-06 | Internatl Business Mach Corp <Ibm> | データ列を訂正する方法及び装置 |
JPH06131121A (ja) * | 1990-12-21 | 1994-05-13 | Array Technol Corp | 冗長アレイ・システムの冗長情報のオンライン復元方法 |
JPH06231049A (ja) * | 1993-02-03 | 1994-08-19 | Nec Corp | 半導体ディスク装置 |
US5555389A (en) * | 1993-07-07 | 1996-09-10 | Hitachi, Ltd. | Storage controller for performing dump processing |
WO1996042083A1 (fr) * | 1995-06-08 | 1996-12-27 | Ibm Japan Ltd. | Methode de reconstruction de donnees et systeme de stockage de donnees |
US5740465A (en) * | 1992-04-08 | 1998-04-14 | Hitachi, Ltd. | Array disk controller for grouping host commands into a single virtual host command |
EP0947987A3 (de) * | 1998-03-13 | 1999-10-13 | Grau Software GmbH | Verfahren zum Speichern von Daten |
JP2017004514A (ja) * | 2015-06-04 | 2017-01-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ記憶方法、データ回復方法、関係する装置及びシステム |
Families Citing this family (304)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949326A (en) * | 1986-12-10 | 1990-08-14 | Matsushita Electric Industrial Co., Ltd. | Optical information recording and reproducing system using optical disks having an error correction function |
USRE34100E (en) * | 1987-01-12 | 1992-10-13 | Seagate Technology, Inc. | Data error correction system |
US4942579A (en) * | 1987-06-02 | 1990-07-17 | Cab-Tek, Inc. | High-speed, high-capacity, fault-tolerant error-correcting storage system |
US5257367A (en) * | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4993030A (en) * | 1988-04-22 | 1991-02-12 | Amdahl Corporation | File system for a plurality of storage classes |
US4989206A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5077736A (en) * | 1988-06-28 | 1991-12-31 | Storage Technology Corporation | Disk drive memory |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
US5218689A (en) * | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
JP2718708B2 (ja) * | 1988-08-26 | 1998-02-25 | 株式会社日立製作所 | 記憶制御システムの制御方法および記憶制御システムならびに記憶制御装置 |
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5008886A (en) * | 1989-01-27 | 1991-04-16 | Digital Equipment Corporation | Read-modify-write operation |
US5185746A (en) * | 1989-04-14 | 1993-02-09 | Mitsubishi Denki Kabushiki Kaisha | Optical recording system with error correction and data recording distributed across multiple disk drives |
US5146574A (en) * | 1989-06-27 | 1992-09-08 | Sf2 Corporation | Method and circuit for programmable selecting a variable sequence of element using write-back |
US5072378A (en) * | 1989-12-18 | 1991-12-10 | Storage Technology Corporation | Direct access storage device with independently stored parity |
US5402428A (en) * | 1989-12-25 | 1995-03-28 | Hitachi, Ltd. | Array disk subsystem |
JPH03216751A (ja) * | 1990-01-05 | 1991-09-24 | Internatl Business Mach Corp <Ibm> | フアイル転送方法 |
US5315708A (en) * | 1990-02-28 | 1994-05-24 | Micro Technology, Inc. | Method and apparatus for transferring data through a staging memory |
US5134619A (en) * | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5140592A (en) * | 1990-03-02 | 1992-08-18 | Sf2 Corporation | Disk array system |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5233618A (en) * | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
US5388243A (en) * | 1990-03-09 | 1995-02-07 | Mti Technology Corporation | Multi-sort mass storage device announcing its active paths without deactivating its ports in a network architecture |
US5325497A (en) * | 1990-03-29 | 1994-06-28 | Micro Technology, Inc. | Method and apparatus for assigning signatures to identify members of a set of mass of storage devices |
US5202856A (en) * | 1990-04-05 | 1993-04-13 | Micro Technology, Inc. | Method and apparatus for simultaneous, interleaved access of multiple memories by multiple ports |
US5414818A (en) * | 1990-04-06 | 1995-05-09 | Mti Technology Corporation | Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol |
US5233692A (en) * | 1990-04-06 | 1993-08-03 | Micro Technology, Inc. | Enhanced interface permitting multiple-byte parallel transfers of control information and data on a small computer system interface (SCSI) communication bus and a mass storage system incorporating the enhanced interface |
US5956524A (en) * | 1990-04-06 | 1999-09-21 | Micro Technology Inc. | System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources |
US5214778A (en) * | 1990-04-06 | 1993-05-25 | Micro Technology, Inc. | Resource management in a multiple resource system |
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
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 |
JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
US5220569A (en) * | 1990-07-09 | 1993-06-15 | Seagate Technology, Inc. | Disk array with error type indication and selection of error correction method |
US5265098A (en) * | 1990-08-03 | 1993-11-23 | International Business Machines Corporation | Method and means for managing DASD array accesses when operating in degraded mode |
US5375128A (en) * | 1990-10-18 | 1994-12-20 | Ibm Corporation (International Business Machines Corporation) | Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders |
EP0481735A3 (en) * | 1990-10-19 | 1993-01-13 | Array Technology Corporation | Address protection circuit |
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
EP0485110B1 (en) * | 1990-11-09 | 1999-08-25 | Emc Corporation | Logical partitioning of a redundant array storage system |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US6874101B2 (en) * | 1991-01-31 | 2005-03-29 | Hitachi, Ltd. | Storage unit subsystem |
JP3409859B2 (ja) | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
US5239640A (en) * | 1991-02-01 | 1993-08-24 | International Business Machines Corporation | Data storage system and method including data and checksum write staging storage |
US5303244A (en) * | 1991-03-01 | 1994-04-12 | Teradata | Fault tolerant disk drive matrix |
US5257362A (en) * | 1991-03-08 | 1993-10-26 | International Business Machines Corporation | Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array |
US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
US5506979A (en) * | 1991-04-02 | 1996-04-09 | International Business Machines Corporation | Method and means for execution of commands accessing variable length records stored on fixed block formatted DASDS of an N+2 DASD synchronous array |
JP2743606B2 (ja) * | 1991-04-11 | 1998-04-22 | 三菱電機株式会社 | アレイ型記録装置 |
JP3187525B2 (ja) * | 1991-05-17 | 2001-07-11 | ヒュンダイ エレクトロニクス アメリカ | バス接続装置 |
US5278838A (en) * | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
US5499337A (en) | 1991-09-27 | 1996-03-12 | Emc Corporation | Storage device array architecture with solid-state redundancy unit |
US5636358A (en) * | 1991-09-27 | 1997-06-03 | Emc Corporation | Method and apparatus for transferring data in a storage device including a dual-port buffer |
US5237658A (en) * | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
US5379417A (en) * | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
CA2126754A1 (en) * | 1991-12-27 | 1993-07-08 | E. David Neufeld | Method for performing disk array operations using a nonuniform stripe size mapping scheme |
US5333305A (en) * | 1991-12-27 | 1994-07-26 | Compaq Computer Corporation | Method for improving partial stripe write performance in disk array subsystems |
DE69231873T2 (de) * | 1992-01-08 | 2002-04-04 | Emc Corp | Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
EP0559488B1 (en) * | 1992-03-06 | 1998-08-19 | Data General Corporation | Handling data in a system having a processor for controlling access to a plurality of data storage disks |
US5371743A (en) * | 1992-03-06 | 1994-12-06 | Data General Corporation | On-line module replacement in a multiple module data processing system |
US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
US5469566A (en) * | 1992-03-12 | 1995-11-21 | Emc Corporation | Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units |
WO1993018456A1 (en) * | 1992-03-13 | 1993-09-16 | Emc Corporation | Multiple controller sharing in a redundant storage array |
US5418921A (en) * | 1992-05-05 | 1995-05-23 | International Business Machines Corporation | Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
JP2888401B2 (ja) * | 1992-08-03 | 1999-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 冗長ディスクドライブアレイに対する同期方法 |
US5913926A (en) * | 1992-08-20 | 1999-06-22 | Farrington Investments Ltd. | Expandable modular data storage system having parity storage capability |
US6640235B1 (en) | 1992-08-20 | 2003-10-28 | Intel Corporation | Expandable mass disk drive storage system |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
JP3181398B2 (ja) * | 1992-10-06 | 2001-07-03 | 三菱電機株式会社 | アレイ型記録装置 |
EP0600137A1 (en) * | 1992-11-30 | 1994-06-08 | International Business Machines Corporation | Method and apparatus for correcting errors in a memory |
US5579474A (en) * | 1992-12-28 | 1996-11-26 | Hitachi, Ltd. | Disk array system and its control method |
JP3176157B2 (ja) * | 1992-12-28 | 2001-06-11 | 株式会社日立製作所 | ディスクアレイ装置及びそのデータ更新方法 |
JP3258117B2 (ja) * | 1993-03-08 | 2002-02-18 | 株式会社日立製作所 | 記憶装置サブシステム |
US5649162A (en) * | 1993-05-24 | 1997-07-15 | Micron Electronics, Inc. | Local bus interface |
US5867640A (en) * | 1993-06-01 | 1999-02-02 | Mti Technology Corp. | Apparatus and method for improving write-throughput in a redundant array of mass storage devices |
ATE222384T1 (de) * | 1993-06-03 | 2002-08-15 | Network Appliance Inc | Verfahren und dateisystem zur zuordnung von datei-blöcken zu speicherplatz in einem raid- plattensystem |
US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
DE69425658T2 (de) * | 1993-06-03 | 2001-04-19 | Network Appliance Inc | Anordnung eines dateisystems zum beschreiben beliebiger bereiche |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
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 |
DE69434381T2 (de) * | 1993-06-04 | 2006-01-19 | Network Appliance, Inc., Sunnyvale | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
US5987622A (en) * | 1993-12-10 | 1999-11-16 | Tm Patents, Lp | Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem |
US5396620A (en) * | 1993-12-21 | 1995-03-07 | Storage Technology Corporation | Method for writing specific values last into data storage groups containing redundancy |
US20030088611A1 (en) * | 1994-01-19 | 2003-05-08 | Mti Technology Corporation | Systems and methods for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources |
US5911150A (en) * | 1994-01-25 | 1999-06-08 | Data General Corporation | Data storage tape back-up for data processing systems using a single driver interface unit |
US5446855A (en) * | 1994-02-07 | 1995-08-29 | Buslogic, Inc. | System and method for disk array data transfer |
US5537567A (en) * | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
JP2981711B2 (ja) * | 1994-06-16 | 1999-11-22 | 日本アイ・ビー・エム株式会社 | ディスク記憶装置 |
US5467361A (en) * | 1994-06-20 | 1995-11-14 | International Business Machines Corporation | Method and system for separate data and media maintenance within direct access storage devices |
US5657439A (en) * | 1994-08-23 | 1997-08-12 | International Business Machines Corporation | Distributed subsystem sparing |
US5412668A (en) * | 1994-09-22 | 1995-05-02 | International Business Machines Corporation | Parity striping feature for optical disks |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
GB2293912A (en) * | 1994-10-05 | 1996-04-10 | Ibm | Disk storage device for disk array |
US5497457A (en) * | 1994-10-17 | 1996-03-05 | International Business Machines Corporation | Redundant arrays of independent libraries of dismountable media with parity logging |
US5488701A (en) * | 1994-11-17 | 1996-01-30 | International Business Machines Corporation | In log sparing for log structured arrays |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
US5848230A (en) | 1995-05-25 | 1998-12-08 | Tandem Computers Incorporated | Continuously available computer memory systems |
US5657468A (en) * | 1995-08-17 | 1997-08-12 | Ambex Technologies, Inc. | Method and apparatus for improving performance in a reduntant array of independent disks |
US5875456A (en) * | 1995-08-17 | 1999-02-23 | Nstor Corporation | Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array |
WO1997011426A1 (en) | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5799200A (en) * | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US5941994A (en) * | 1995-12-22 | 1999-08-24 | Lsi Logic Corporation | Technique for sharing hot spare drives among multiple subsystems |
US5838892A (en) * | 1995-12-29 | 1998-11-17 | Emc Corporation | Method and apparatus for calculating an error detecting code block in a disk drive controller |
US6055577A (en) * | 1996-05-06 | 2000-04-25 | Oracle Corporation | System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth |
US5790774A (en) * | 1996-05-21 | 1998-08-04 | Storage Computer Corporation | Data storage system with dedicated allocation of parity storage and parity reads and writes only on operations requiring parity information |
US5856989A (en) * | 1996-08-13 | 1999-01-05 | Hewlett-Packard Company | Method and apparatus for parity block generation |
US6041423A (en) * | 1996-11-08 | 2000-03-21 | Oracle Corporation | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment |
US6161165A (en) * | 1996-11-14 | 2000-12-12 | Emc Corporation | High performance data path with XOR on the fly |
KR100223186B1 (ko) * | 1997-01-29 | 1999-10-15 | 윤종용 | Dvd-ram에서 고속의 데이타기록방법 |
JPH10254642A (ja) * | 1997-03-14 | 1998-09-25 | Hitachi Ltd | 記憶装置システム |
JP4499193B2 (ja) * | 1997-04-07 | 2010-07-07 | ソニー株式会社 | 記録再生装置及び記録再生方法 |
US5974503A (en) * | 1997-04-25 | 1999-10-26 | Emc Corporation | Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names |
US5968182A (en) * | 1997-05-12 | 1999-10-19 | International Business Machines Corporation | Method and means for utilizing device long busy response for resolving detected anomalies at the lowest level in a hierarchical, demand/response storage management subsystem |
US6016552A (en) * | 1997-06-06 | 2000-01-18 | The Chinese University Of Hong Kong | Object striping focusing on data object |
US5991894A (en) * | 1997-06-06 | 1999-11-23 | The Chinese University Of Hong Kong | Progressive redundancy transmission |
US6112277A (en) * | 1997-09-25 | 2000-08-29 | International Business Machines Corporation | Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format |
CN1281560A (zh) | 1997-10-08 | 2001-01-24 | 西加特技术有限责任公司 | 混合数据存储和重建系统以及用于数据存储装置的方法 |
US6112255A (en) * | 1997-11-13 | 2000-08-29 | International Business Machines Corporation | Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations |
US6101624A (en) * | 1998-01-21 | 2000-08-08 | International Business Machines Corporation | Method and apparatus for detecting and correcting anomalies in field-programmable gate arrays using CRCs for anomaly detection and parity for anomaly correction |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6219751B1 (en) | 1998-04-28 | 2001-04-17 | International Business Machines Corporation | Device level coordination of access operations among multiple raid control units |
US6704837B2 (en) | 1998-06-29 | 2004-03-09 | International Business Machines Corporation | Method and apparatus for increasing RAID write performance by maintaining a full track write counter |
US6427212B1 (en) | 1998-11-13 | 2002-07-30 | Tricord Systems, Inc. | Data fault tolerance software apparatus and method |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6530036B1 (en) | 1999-08-17 | 2003-03-04 | Tricord Systems, Inc. | Self-healing computer system storage |
US6725392B1 (en) | 1999-03-03 | 2004-04-20 | Adaptec, Inc. | Controller fault recovery system for a distributed file system |
US6449731B1 (en) | 1999-03-03 | 2002-09-10 | Tricord Systems, Inc. | Self-healing computer system storage |
US6970450B1 (en) * | 1999-10-29 | 2005-11-29 | Array Telecom Corporation | System, method and computer program product for point-to-point bandwidth conservation in an IP network |
JP2001166887A (ja) * | 1999-12-08 | 2001-06-22 | Sony Corp | データ記録再生装置及びデータ記録再生方法 |
US6704730B2 (en) | 2000-02-18 | 2004-03-09 | Avamar Technologies, Inc. | Hash file system and method for use in a commonality factoring system |
US7062648B2 (en) * | 2000-02-18 | 2006-06-13 | Avamar Technologies, Inc. | System and method for redundant array network storage |
US7509420B2 (en) | 2000-02-18 | 2009-03-24 | Emc Corporation | System and method for intelligent, globally distributed network storage |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US7194504B2 (en) * | 2000-02-18 | 2007-03-20 | Avamar Technologies, Inc. | System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques |
US6820088B1 (en) * | 2000-04-10 | 2004-11-16 | Research In Motion Limited | System and method for synchronizing data records between multiple databases |
US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6865650B1 (en) | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
US6507890B1 (en) | 2000-09-29 | 2003-01-14 | Emc Corporation | System and method for expanding a log structure in a disk array |
US6611852B1 (en) | 2000-09-29 | 2003-08-26 | Emc Corporation | System and method for cleaning a log structure |
US6654912B1 (en) * | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US6952797B1 (en) | 2000-10-25 | 2005-10-04 | Andy Kahn | Block-appended checksums |
US6810398B2 (en) * | 2000-11-06 | 2004-10-26 | Avamar Technologies, Inc. | System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences |
US6650601B1 (en) | 2001-04-26 | 2003-11-18 | International Business Machines Corporation | Hard disk drive picking device and method |
US6600703B1 (en) | 2001-04-26 | 2003-07-29 | International Business Machines Corporation | Magazine for a plurality of removable hard disk drives |
US6754768B2 (en) | 2001-04-26 | 2004-06-22 | International Business Machines Corporation | Library of hard disk drives with transparent emulating interface |
US6512962B2 (en) | 2001-04-26 | 2003-01-28 | International Business Machines Corporation | Cabling picker in a library of stationary memory devices |
US6941260B2 (en) * | 2001-04-26 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for emulating a fiber channel port |
US6871263B2 (en) * | 2001-08-28 | 2005-03-22 | Sedna Patent Services, Llc | Method and apparatus for striping data onto a plurality of disk drives |
US6851082B1 (en) | 2001-11-13 | 2005-02-01 | Network Appliance, Inc. | Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array |
US7346831B1 (en) | 2001-11-13 | 2008-03-18 | Network Appliance, Inc. | Parity assignment technique for parity declustering in a parity array of a storage system |
US6978283B1 (en) * | 2001-12-21 | 2005-12-20 | Network Appliance, Inc. | File system defragmentation technique via write allocation |
US7640484B2 (en) * | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US6993701B2 (en) * | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7613984B2 (en) * | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
US8402346B2 (en) * | 2001-12-28 | 2013-03-19 | Netapp, Inc. | N-way parity technique for enabling recovery from up to N storage device failures |
US7073115B2 (en) | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US7007220B2 (en) * | 2002-03-01 | 2006-02-28 | Broadlogic Network Technologies, Inc. | Error correction coding across multiple channels in content distribution systems |
US7080278B1 (en) | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
US6993539B2 (en) | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7254813B2 (en) * | 2002-03-21 | 2007-08-07 | Network Appliance, Inc. | Method and apparatus for resource allocation in a raid system |
US7437727B2 (en) * | 2002-03-21 | 2008-10-14 | Network Appliance, Inc. | Method and apparatus for runtime resource deadlock avoidance in a raid system |
US7200715B2 (en) | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks in a raid system |
US6976146B1 (en) | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7873700B2 (en) * | 2002-08-09 | 2011-01-18 | Netapp, Inc. | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US7340486B1 (en) * | 2002-10-10 | 2008-03-04 | Network Appliance, Inc. | System and method for file system snapshot of a virtual logical disk |
US7085953B1 (en) | 2002-11-01 | 2006-08-01 | International Business Machines Corporation | Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array |
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US7185144B2 (en) * | 2003-11-24 | 2007-02-27 | Network Appliance, Inc. | Semi-static distribution technique |
US7111147B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Location-independent RAID group virtual block management |
US7424637B1 (en) | 2003-03-21 | 2008-09-09 | Networks Appliance, Inc. | Technique for managing addition of disks to a volume of a storage system |
US7143235B1 (en) | 2003-03-21 | 2006-11-28 | Network Appliance, Inc. | Proposed configuration management behaviors in a raid subsystem |
US7664913B2 (en) * | 2003-03-21 | 2010-02-16 | Netapp, Inc. | Query-based spares management technique |
US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
US7171606B2 (en) * | 2003-03-25 | 2007-01-30 | Wegener Communications, Inc. | Software download control system, apparatus and method |
US7275179B1 (en) | 2003-04-24 | 2007-09-25 | Network Appliance, Inc. | System and method for reducing unrecoverable media errors in a disk subsystem |
US7437523B1 (en) | 2003-04-25 | 2008-10-14 | Network Appliance, Inc. | System and method for on-the-fly file folding in a replicated storage system |
US7174476B2 (en) * | 2003-04-28 | 2007-02-06 | Lsi Logic Corporation | Methods and structure for improved fault tolerance during initialization of a RAID logical unit |
US20040250028A1 (en) * | 2003-06-09 | 2004-12-09 | Daniels Rodger D. | Method and apparatus for data version checking |
US7206411B2 (en) | 2003-06-25 | 2007-04-17 | Wegener Communications, Inc. | Rapid decryption of data by key synchronization and indexing |
US7146461B1 (en) | 2003-07-01 | 2006-12-05 | Veritas Operating Corporation | Automated recovery from data corruption of data volumes in parity RAID storage systems |
US7047379B2 (en) * | 2003-07-11 | 2006-05-16 | International Business Machines Corporation | Autonomic link optimization through elimination of unnecessary transfers |
US7328305B2 (en) * | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
US7783611B1 (en) | 2003-11-10 | 2010-08-24 | Netapp, Inc. | System and method for managing file metadata during consistency points |
US7401093B1 (en) | 2003-11-10 | 2008-07-15 | Network Appliance, Inc. | System and method for managing file data during consistency points |
US7721062B1 (en) | 2003-11-10 | 2010-05-18 | Netapp, Inc. | Method for detecting leaked buffer writes across file system consistency points |
US7428691B2 (en) * | 2003-11-12 | 2008-09-23 | Norman Ken Ouchi | Data recovery from multiple failed data blocks and storage units |
US7263629B2 (en) * | 2003-11-24 | 2007-08-28 | Network Appliance, Inc. | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array |
US7366837B2 (en) * | 2003-11-24 | 2008-04-29 | Network Appliance, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
JP5166735B2 (ja) | 2003-12-19 | 2013-03-21 | ネットアップ,インコーポレイテッド | 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法 |
US7478101B1 (en) | 2003-12-23 | 2009-01-13 | Networks Appliance, Inc. | System-independent data format in a mirrored storage system environment and method for using the same |
WO2005065347A2 (en) * | 2003-12-29 | 2005-07-21 | Sherwood Information Partners, Inc. | System and method for mass storage using multiple-hard-disk-drive enclosure |
US8041888B2 (en) * | 2004-02-05 | 2011-10-18 | Netapp, Inc. | System and method for LUN cloning |
US7334094B2 (en) * | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Online clone volume splitting technique |
US7334095B1 (en) | 2004-04-30 | 2008-02-19 | Network Appliance, Inc. | Writable clone of read-only volume |
US7409494B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Extension of write anywhere file system layout |
US7430571B2 (en) | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
US7409511B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Cloning technique for efficiently creating a copy of a volume in a storage system |
US7509329B1 (en) | 2004-06-01 | 2009-03-24 | Network Appliance, Inc. | Technique for accelerating file deletion by preloading indirect blocks |
US7519628B1 (en) | 2004-06-01 | 2009-04-14 | Network Appliance, Inc. | Technique for accelerating log replay with partial cache flush |
US8726129B1 (en) * | 2004-07-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Methods of writing and recovering erasure coded data |
US7243207B1 (en) | 2004-09-27 | 2007-07-10 | Network Appliance, Inc. | Technique for translating a pure virtual file system data stream into a hybrid virtual volume |
US7194595B1 (en) | 2004-09-27 | 2007-03-20 | Network Appliance, Inc. | Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream |
US20060075281A1 (en) * | 2004-09-27 | 2006-04-06 | Kimmel Jeffrey S | Use of application-level context information to detect corrupted data in a storage system |
US7260678B1 (en) | 2004-10-13 | 2007-08-21 | Network Appliance, Inc. | System and method for determining disk ownership model |
US7603532B2 (en) | 2004-10-15 | 2009-10-13 | Netapp, Inc. | System and method for reclaiming unused space from a thinly provisioned data container |
US7730277B1 (en) | 2004-10-25 | 2010-06-01 | Netapp, Inc. | System and method for using pvbn placeholders in a flexible volume of a storage system |
US7636744B1 (en) | 2004-11-17 | 2009-12-22 | Netapp, Inc. | System and method for flexible space reservations in a file system supporting persistent consistency point images |
US7523286B2 (en) * | 2004-11-19 | 2009-04-21 | Network Appliance, Inc. | System and method for real-time balancing of user workload across multiple storage systems with shared back end storage |
US7707165B1 (en) | 2004-12-09 | 2010-04-27 | Netapp, Inc. | System and method for managing data versions in a file system |
US7506111B1 (en) | 2004-12-20 | 2009-03-17 | Network Appliance, Inc. | System and method for determining a number of overwitten blocks between data containers |
US8180855B2 (en) * | 2005-01-27 | 2012-05-15 | Netapp, Inc. | Coordinated shared storage architecture |
US7424497B1 (en) | 2005-01-27 | 2008-09-09 | Network Appliance, Inc. | Technique for accelerating the creation of a point in time prepresentation of a virtual file system |
US8019842B1 (en) | 2005-01-27 | 2011-09-13 | Netapp, Inc. | System and method for distributing enclosure services data to coordinate shared storage |
US7398460B1 (en) | 2005-01-31 | 2008-07-08 | Network Appliance, Inc. | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array |
US7574464B2 (en) * | 2005-02-14 | 2009-08-11 | Netapp, Inc. | System and method for enabling a storage system to support multiple volume formats simultaneously |
US7757056B1 (en) | 2005-03-16 | 2010-07-13 | Netapp, Inc. | System and method for efficiently calculating storage required to split a clone volume |
US7689609B2 (en) * | 2005-04-25 | 2010-03-30 | Netapp, Inc. | Architecture for supporting sparse volumes |
JP4824085B2 (ja) | 2005-04-25 | 2011-11-24 | ネットアップ,インコーポレイテッド | ネットワークファイルシステムをキャッシュするシステム、及び方法 |
US7468117B2 (en) * | 2005-04-29 | 2008-12-23 | Kimberly-Clark Worldwide, Inc. | Method of transferring a wet tissue web to a three-dimensional fabric |
US7617370B2 (en) | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
US7370261B2 (en) | 2005-05-09 | 2008-05-06 | International Business Machines Corporation | Convolution-encoded raid with trellis-decode-rebuild |
US7401253B2 (en) * | 2005-05-09 | 2008-07-15 | International Business Machines Corporation | Convolution-encoded data storage on a redundant array of independent devices |
US7634760B1 (en) | 2005-05-23 | 2009-12-15 | Netapp, Inc. | System and method for remote execution of a debugging utility using a remote management module |
US7739318B2 (en) * | 2005-06-20 | 2010-06-15 | Netapp, Inc. | System and method for maintaining mappings from data containers to their parent directories |
US7653682B2 (en) * | 2005-07-22 | 2010-01-26 | Netapp, Inc. | Client failure fencing mechanism for fencing network file system data in a host-cluster environment |
US7516285B1 (en) | 2005-07-22 | 2009-04-07 | Network Appliance, Inc. | Server side API for fencing cluster hosts via export access rights |
US7650366B1 (en) | 2005-09-09 | 2010-01-19 | Netapp, Inc. | System and method for generating a crash consistent persistent consistency point image set |
US20070088917A1 (en) * | 2005-10-14 | 2007-04-19 | Ranaweera Samantha L | System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems |
US7467276B1 (en) | 2005-10-25 | 2008-12-16 | Network Appliance, Inc. | System and method for automatic root volume creation |
US7376796B2 (en) | 2005-11-01 | 2008-05-20 | Network Appliance, Inc. | Lightweight coherency control protocol for clustered storage system |
US7653829B2 (en) * | 2005-12-08 | 2010-01-26 | Electronics And Telecommunications Research Institute | Method of data placement and control in block-divided distributed parity disk array |
US7693864B1 (en) | 2006-01-03 | 2010-04-06 | Netapp, Inc. | System and method for quickly determining changed metadata using persistent consistency point image differencing |
US7734603B1 (en) | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US8560503B1 (en) | 2006-01-26 | 2013-10-15 | Netapp, Inc. | Content addressable storage system |
US8285817B1 (en) | 2006-03-20 | 2012-10-09 | Netapp, Inc. | Migration engine for use in a logical namespace of a storage system environment |
US7590660B1 (en) | 2006-03-21 | 2009-09-15 | Network Appliance, Inc. | Method and system for efficient database cloning |
US20070233868A1 (en) * | 2006-03-31 | 2007-10-04 | Tyrrell John C | System and method for intelligent provisioning of storage across a plurality of storage systems |
US8260831B2 (en) * | 2006-03-31 | 2012-09-04 | Netapp, Inc. | System and method for implementing a flexible storage manager with threshold control |
US7769723B2 (en) * | 2006-04-28 | 2010-08-03 | Netapp, Inc. | System and method for providing continuous data protection |
WO2007131190A2 (en) | 2006-05-05 | 2007-11-15 | Hybir Inc. | Group based complete and incremental computer file backup system, process and apparatus |
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 |
US8019940B2 (en) | 2006-12-06 | 2011-09-13 | Fusion-Io, Inc. | Apparatus, system, and method for a front-end, distributed raid |
US8301673B2 (en) * | 2006-12-29 | 2012-10-30 | Netapp, Inc. | System and method for performing distributed consistency verification of a clustered file system |
US8219821B2 (en) | 2007-03-27 | 2012-07-10 | Netapp, Inc. | System and method for signature based data container recognition |
US8312214B1 (en) | 2007-03-28 | 2012-11-13 | Netapp, Inc. | System and method for pausing disk drives in an aggregate |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US8898536B2 (en) * | 2007-04-27 | 2014-11-25 | Netapp, Inc. | Multi-core engine for detecting bit errors |
US8219749B2 (en) * | 2007-04-27 | 2012-07-10 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
US7882304B2 (en) * | 2007-04-27 | 2011-02-01 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
US7827350B1 (en) | 2007-04-27 | 2010-11-02 | Netapp, Inc. | Method and system for promoting a snapshot in a distributed file system |
US7840837B2 (en) * | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US7752489B2 (en) | 2007-05-10 | 2010-07-06 | International Business Machines Corporation | Data integrity validation in storage systems |
US7836331B1 (en) | 2007-05-15 | 2010-11-16 | Netapp, Inc. | System and method for protecting the contents of memory during error conditions |
US7975102B1 (en) | 2007-08-06 | 2011-07-05 | Netapp, Inc. | Technique to avoid cascaded hot spotting |
US7873878B2 (en) * | 2007-09-24 | 2011-01-18 | International Business Machines Corporation | Data integrity validation in storage systems |
US7873803B2 (en) | 2007-09-25 | 2011-01-18 | Sandisk Corporation | Nonvolatile memory with self recovery |
US7996636B1 (en) | 2007-11-06 | 2011-08-09 | Netapp, Inc. | Uniquely identifying block context signatures in a storage volume hierarchy |
US7984259B1 (en) | 2007-12-17 | 2011-07-19 | Netapp, Inc. | Reducing load imbalance in a storage system |
US8380674B1 (en) | 2008-01-09 | 2013-02-19 | Netapp, Inc. | System and method for migrating lun data between data containers |
US8725986B1 (en) | 2008-04-18 | 2014-05-13 | Netapp, Inc. | System and method for volume block number to disk block number mapping |
US8621154B1 (en) | 2008-04-18 | 2013-12-31 | Netapp, Inc. | Flow based reply cache |
US8161236B1 (en) | 2008-04-23 | 2012-04-17 | Netapp, Inc. | Persistent reply cache integrated with file system |
US8006128B2 (en) * | 2008-07-31 | 2011-08-23 | Datadirect Networks, Inc. | Prioritized rebuilding of a storage device |
WO2010049928A1 (en) * | 2008-10-27 | 2010-05-06 | Kaminario Tehnologies Ltd. | System and methods for raid writing and asynchronous parity computation |
US9158579B1 (en) | 2008-11-10 | 2015-10-13 | Netapp, Inc. | System having operation queues corresponding to operation execution time |
US8392682B2 (en) | 2008-12-17 | 2013-03-05 | Unisys Corporation | Storage security using cryptographic splitting |
US8135980B2 (en) | 2008-12-23 | 2012-03-13 | Unisys Corporation | Storage availability using cryptographic splitting |
AU2009313741A1 (en) * | 2008-11-17 | 2011-07-07 | Unisys Corporation | Data recovery using error strip identifiers |
US8386798B2 (en) | 2008-12-23 | 2013-02-26 | Unisys Corporation | Block-level data storage using an outstanding write list |
US8495417B2 (en) * | 2009-01-09 | 2013-07-23 | Netapp, Inc. | System and method for redundancy-protected aggregates |
US8171227B1 (en) | 2009-03-11 | 2012-05-01 | Netapp, Inc. | System and method for managing a flow based reply cache |
US8433685B2 (en) * | 2010-08-18 | 2013-04-30 | Hewlett-Packard Development Company, L.P. | Method and system for parity-page distribution among nodes of a multi-node data-storage system |
US8849877B2 (en) | 2010-08-31 | 2014-09-30 | Datadirect Networks, Inc. | Object file system |
US8572441B2 (en) * | 2011-08-05 | 2013-10-29 | Oracle International Corporation | Maximizing encodings of version control bits for memory corruption detection |
US8756582B2 (en) * | 2011-08-22 | 2014-06-17 | International Business Machines Corporation | Tracking a programs calling context using a hybrid code signature |
US20130198585A1 (en) * | 2012-02-01 | 2013-08-01 | Xyratex Technology Limited | Method of, and apparatus for, improved data integrity |
US8874956B2 (en) | 2012-09-18 | 2014-10-28 | Datadirect Networks, Inc. | Data re-protection in a distributed replicated data storage system |
US9043559B2 (en) | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
US9367394B2 (en) | 2012-12-07 | 2016-06-14 | Netapp, Inc. | Decoupled reliability groups |
US8843447B2 (en) | 2012-12-14 | 2014-09-23 | Datadirect Networks, Inc. | Resilient distributed replicated data storage system |
US9020893B2 (en) | 2013-03-01 | 2015-04-28 | Datadirect Networks, Inc. | Asynchronous namespace maintenance |
US10482009B1 (en) * | 2013-03-15 | 2019-11-19 | Google Llc | Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device |
US9619499B2 (en) | 2013-08-07 | 2017-04-11 | International Business Machines Corporation | Hardware implementation of a tournament tree sort algorithm |
US9830354B2 (en) | 2013-08-07 | 2017-11-28 | International Business Machines Corporation | Accelerating multiple query processing operations |
US9672298B2 (en) | 2014-05-01 | 2017-06-06 | Oracle International Corporation | Precise excecution of versioned store instructions |
US9563509B2 (en) | 2014-07-15 | 2017-02-07 | Nimble Storage, Inc. | Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system |
US9195593B1 (en) | 2014-09-27 | 2015-11-24 | Oracle International Corporation | Hardware assisted object memory migration |
US10310813B2 (en) | 2014-12-29 | 2019-06-04 | International Business Machines Corporation | Hardware implementation of a tournament tree sort algorithm using an external memory |
US10528546B1 (en) | 2015-09-11 | 2020-01-07 | Cohesity, Inc. | File system consistency in a distributed system using version vectors |
US11016848B2 (en) | 2017-11-02 | 2021-05-25 | Seagate Technology Llc | Distributed data storage system with initialization-less parity |
US11593237B2 (en) | 2021-05-28 | 2023-02-28 | International Business Machines Corporation | Fast recovery with enhanced raid protection |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3387261A (en) * | 1965-02-05 | 1968-06-04 | Honeywell Inc | Circuit arrangement for detection and correction of errors occurring in the transmission of digital data |
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
NL7804674A (nl) * | 1978-05-02 | 1979-11-06 | Philips Nv | Geheugen met detektie en korrektie van fouten. |
US4433388A (en) * | 1980-10-06 | 1984-02-21 | Ncr Corporation | Longitudinal parity |
EP0145805B1 (de) * | 1983-12-19 | 1989-02-08 | Deutsche ITT Industries GmbH | Korrekturverfahren für Fehler in Zeichensignalen von Video/Teletextsignalen |
US4842262A (en) * | 1984-02-22 | 1989-06-27 | Delphax Systems | Document inverter |
-
1986
- 1986-06-12 US US06873249 patent/US4761785B1/en not_active Expired - Lifetime
-
1987
- 1987-04-27 CA CA000535598A patent/CA1270333A/en not_active Expired - Lifetime
- 1987-05-08 JP JP62110902A patent/JPS62293355A/ja active Granted
- 1987-05-26 EP EP87107666A patent/EP0249091B1/en not_active Expired - Lifetime
- 1987-05-26 DE DE3750790T patent/DE3750790T2/de not_active Expired - Lifetime
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02194457A (ja) * | 1988-11-30 | 1990-08-01 | Internatl Business Mach Corp <Ibm> | コンピユータのためのメモリ装置及びメモリ構成方法 |
JPH05505050A (ja) * | 1990-03-27 | 1993-07-29 | サン・マイクロシステムズ・インコーポレーテッド | 変更ファイルから情報を検索するためにデータベースコンポーネントファイルを探索する方法及び装置 |
JPH06131121A (ja) * | 1990-12-21 | 1994-05-13 | Array Technol Corp | 冗長アレイ・システムの冗長情報のオンライン復元方法 |
JPH05197579A (ja) * | 1991-08-29 | 1993-08-06 | Internatl Business Mach Corp <Ibm> | データ列を訂正する方法及び装置 |
US5740465A (en) * | 1992-04-08 | 1998-04-14 | Hitachi, Ltd. | Array disk controller for grouping host commands into a single virtual host command |
JPH06231049A (ja) * | 1993-02-03 | 1994-08-19 | Nec Corp | 半導体ディスク装置 |
US5555389A (en) * | 1993-07-07 | 1996-09-10 | Hitachi, Ltd. | Storage controller for performing dump processing |
WO1996042083A1 (fr) * | 1995-06-08 | 1996-12-27 | Ibm Japan Ltd. | Methode de reconstruction de donnees et systeme de stockage de donnees |
EP0947987A3 (de) * | 1998-03-13 | 1999-10-13 | Grau Software GmbH | Verfahren zum Speichern von Daten |
JP2017004514A (ja) * | 2015-06-04 | 2017-01-05 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ記憶方法、データ回復方法、関係する装置及びシステム |
US9823970B2 (en) | 2015-06-04 | 2017-11-21 | Huawei Technologies Co., Ltd. | Data storage method, data recovery method, related apparatus, and system |
US10133633B2 (en) | 2015-06-04 | 2018-11-20 | Huawei Technologies Co., Ltd. | Data storage method, data recovery method, related apparatus, and system |
Also Published As
Publication number | Publication date |
---|---|
US4761785B1 (en) | 1996-03-12 |
US4761785A (en) | 1988-08-02 |
DE3750790D1 (de) | 1995-01-12 |
EP0249091A2 (en) | 1987-12-16 |
DE3750790T2 (de) | 1995-05-24 |
CA1270333A (en) | 1990-06-12 |
EP0249091A3 (en) | 1990-04-25 |
JPH0547857B2 (ja) | 1993-07-19 |
EP0249091B1 (en) | 1994-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62293355A (ja) | データ保護装置 | |
US10140041B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object | |
US5524204A (en) | Method and apparatus for dynamically expanding a redundant array of disk drives | |
US5403639A (en) | File server having snapshot application data groups | |
US10146447B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with drive extents allocated to individual RAID extents from individual sub-groups of storage made up of ranges of logical block addresses defined across a group of hard disk drives | |
US5889795A (en) | Disk array system and method for storing data | |
US5265098A (en) | Method and means for managing DASD array accesses when operating in degraded mode | |
US7594075B2 (en) | Metadata for a grid based data storage system | |
CA1321845C (en) | File system for a plurality of storage classes | |
US5809516A (en) | Allocation method of physical regions of a disc array to a plurality of logically-sequential data, adapted for increased parallel access to data | |
US5155835A (en) | Multilevel, hierarchical, dynamically mapped data storage subsystem | |
US5881311A (en) | Data storage subsystem with block based data management | |
US7155569B2 (en) | Method for raid striped I/O request generation using a shared scatter gather list | |
US5537567A (en) | Parity block configuration in an array of storage devices | |
US9495110B2 (en) | LUN management with distributed RAID controllers | |
US7321955B2 (en) | Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices | |
US5650969A (en) | Disk array system and method for storing data | |
KR20100077156A (ko) | 씬 프로비저닝 이송 및 스크러빙 방법 | |
US10678470B2 (en) | Computer system,control method for physical storage device,and recording medium | |
US6427212B1 (en) | Data fault tolerance software apparatus and method | |
US6684231B1 (en) | Migration of friendly volumes | |
JP2002278707A (ja) | ディスクコントローラ | |
US10977130B2 (en) | Method, apparatus and computer program product for managing raid storage in data storage systems | |
EP0347032A2 (en) | Record format emulation | |
US8370717B1 (en) | Method and apparatus for flexible buffers in an XOR engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070719 Year of fee payment: 14 |