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
Application number
JP62110902A
Other languages
English (en)
Other versions
JPH0547857B2 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25361257&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPS62293355(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62293355A publication Critical patent/JPS62293355A/ja
Publication of JPH0547857B2 publication Critical patent/JPH0547857B2/ja
Granted 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/14Error detection or correction of the data by redundancy in operation
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, 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−と残りのシステム・セグメントから再生される。
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回の入出力操作が必要なので、シス
テムの終了後にどんな入出力操作が完了したかを判定す
るのは困難である。
D6問題点を解決するための手段 記憶管理機構は、1組の記憶装置の間にぼぼ均等にパリ
ティ情報を分配する。1組のN個の記憶装置は、ブロッ
クと呼ばれる同じ寸法の複数のアドレス領域に分割され
る。各記憶装置は、同数のブロックを含む。同じ装置ア
ドレス範囲をもつ1組の各記憶装置内のブロックは、ス
トライプと呼ばれる。各ス!−ライブは、N−1個のデ
ータ・ブロックと、ストライプの残りの部分に対するパ
リ゛ティを含む1つの記憶装置」二の1個のパリティ・
ブロックを備えている。更に、ストライプは、それぞれ
1個のパリティ・ブロックを有し、そのパリティ・ブロ
ックは異なる記憶装置上に分配される。したがって、1
セツト中のあらゆるデータ修正に関連するパリティ更新
活動が、異なる記憶装置に分配される。単一の装置が、
あらゆるパリティ更新活動を引き受けることはない。
好ましい実施例では、1組に含まれる各記憶装置は、同
じ寸法である。このため、ストライプの定義を単純化で
きる。各記憶装置が同じ寸法なので、どの記憶装置にも
、個別に取り扱わなければならない領域は残されない。
1組中の記憶装置の数は3個以]二であるのが好ましい
。2個だけだと、記憶保護は、ミラー操作と同様になり
、データの正確なコピーを2つ維持することが必要にな
る。3個より多いと、記憶保護専用に供される記憶容量
の比率が減少する。3個の場合、目的の記憶保護を獲得
するのに必要な記憶容量の比率は、約33パーセントで
ある。8個の場合、記憶容量の12.5パ一セント強が
記憶保護に使用される。
別の好ましい実施例では、同じアドレス範囲を有する1
組の記憶装置内のN−1個のデータ・レコード(510
バイト)と]、つのパリティ・レコードが、スライスと
呼ばれる。スライス中の各データ・レコードは、レコー
ドのバージョンを示すバージョン標識を含む。各パリテ
ィ・レコードのヘッダは、複数のバージョン標識を含み
、各標識は、それぞれスライス中の各データ・レコード
に対応する。データ・レコードが更新されるたびに、そ
のバージョン標識が増分され、そのデータ・レコードに
対応するパリティ・レコード・バージョン標識も増分さ
れる。レコード更新と新パリティ更新の両方が完了する
と、バージョン標識は同一になる。失われたレコードの
回復中レコードとパリティの同期を確認するために、バ
ージョン番号が検査される。有効な同期をとらすに強制
的に回復を行なうと、予測できないデータが生成される
ことになる。
各データ・レコードには、他のあらゆるチータレコード
とは無関係のバージョン番号がついているので、同一の
パリティ・レコードでカバーされる異なるデータ・レコ
ードの更新に、直列化は必要ではない。また、直列化を
回避するには、データ・レコード書込み操作をスケジュ
ール化し、パリティ更新要求を待ち行列化する前に、記
憶装置からパリティ・レコードを読み取る必要もない。
もう一つの好ましい実施例では、パリティ・グループで
カバーする必要のないデータ・レコードのために、記憶
保護されていないストライプが、設けられる。記憶保護
されていないストライプは、記憶保護されたストライプ
と同じサイズでなくてもよく、記憶装置のサイズが同一
でない場合には、記憶装置上で可変サイズの領域を含む
。このようなストライプ化によって、記憶装置を記憶保
護された記憶域と記憶保護されてない記憶域に分離する
便利な方法がもたらされるが、それは、各記憶装置の同
じアドレス区域が記憶保護されるからである。記憶装置
」二に記憶されたすべてのレコードを記憶保護する必要
がない場合は性能」二の利益が実現されるが、それは、
記憶保護されてないストアー ライブ中のレコードが変更された後では、パリティ更新
が必要ではないからである。
E、実施例 ブロック・パリティの拡散を実現するコンピュータ・シ
ステムを、第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は、
プリンタ、ワークステーション、キーボード、表示装置
、通信端末などの入出力装置を制御する。通常、磁気デ
ィスク制御機構は複数個あり、それぞれが複数の磁気デ
ィスク装置を制御する。
システム10のデータは、512バイ1−のデータ・ペ
ージと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メガバイトであるのが好ましい。
各記憶装置上のブロック70.72.74,76.78
は、同じ物理アドレス範囲を有するのが好ましく、スト
ライプと呼ばれる。第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のストライプは、記憶保護されて
ない領域であり、そのストライプに関連するパリティ・
ブロックを有さない。このストライプは、記憶保護する
必要のないデータを記憶するのに使用される。
パリティ情報の拡散により、異なるストライプ上のデー
タ・レコードの更新に続くパリティ・レコードの書込み
中に、特定のある記憶装置が他の記憶装置よりずっと頻
繁にアクセスされることがなくなる。ブロックに記憶さ
れたレコードが変更されると、変更されたレコードを含
むストライプのパリティ・ブロックも変更しなければな
らない。
ストライプのパリティ・ブロックは2つ以上の記憶装置
にわたって拡散されるので、パリティの更新が1つの装
置に集中されることはない。したがって、入出力活動は
、すべての記憶装置上により均等に拡散される。
第3図で、装置テーブル310は、パリティ記憶保護に
係わる各記憶装置の情報を含む。装置番号とセクタ、ま
たはページ番号から成る物理アドレスが、目的のデータ
の位置を識別するのに使用される。次いで、装置テーブ
ルを使って、パリティ制御ブロック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メガバイトを含まないこともある。
各パリティ制御ブロックのヘッダは、どのユニットがセ
ットにあるかを記述し、また、あるパリティ・グループ
によって記憶保護されない各ユ二ットに共通なアドレス
範囲を識別する。記憶保護されてない各ユニットに共通
な範囲を設けると、パリティ記憶保護体系が簡単になる
。各記憶装置」二の同一の物理アドレスが排他的ORさ
れて、パリティ情報が決定されるので、情報とパリティ
を相関させるのに、第3図に示したちの以外の特別のテ
ーブルは必要ではない。記憶保護されてない共通のアド
レス範囲は、その識別が制御ブロック中にあり、各ユニ
ットごとに共通なので、特別な考慮を払う必要はない。
パリティ制御ブロック316は、第3図の記憶装置9〜
13のセットに相当する。この5つのユニットは、第2
図の記憶装置30〜38と考えることができる。パリテ
ィ・グループの記憶装置への割当ては、連鎖式に行なわ
れる。連続する16メガバイトの各記憶域は、そのパリ
ティ・グループがユニット30、すなわち第3図のユニ
ット番号9から始まる連続する記憶装置に記憶されてい
る。ユニット番号9は、記憶装w9〜13(30〜38
)に対するストライプの80〜96メガバイI〜の範囲
に対するパリティ・グループをも含む。
そのセラ1〜の最後のス1−ライブは、そのパリティか
に番目のユニツ1−に記憶されている。ただし、Kはパ
リティ・ブロックの割当てが終わるユニットである。と
いうのは、記憶保護されたストライプはこれ以上ないか
らである。
制御ブロック318は、記憶装置の1番目のセット中の
N−2ないしNの記憶装置のセットに相当する。パリテ
ィ・ブロックが割り当てられた最後のユニットは、Lと
記され、そのセット中のストライプの数に応じてそのセ
ラ1〜中の3つのユニツ1〜のうちの1.つに相当する
。1番目のセラI〜は。
最小数、すなわち、3つの記憶装置を含み、パリティ記
憶保護を実現するために望ましいと考えられる。2つの
ユニットの使用も可能だが、ミラー操作と同様であり、
排他的ORステップが1つ余分に含まれる。以下で論じ
るシステムの特定の制約条件のために、好ましい実施例
では1セツ1−に8ユニットを最大値として選択した。
ナツト中に9つ以上のユニツ)〜を使っても、記憶保護
は失な=15− ねれない。
1セツト中に非常に多数のユニットがある場合、各ユニ
ットを読み取らなければならないため1つのユニットに
障害が発生したときに失われるデータの再構成にかかる
時間が長くなる。また、同時に2ユニット以上が失なわ
れる可能性が増大する。
この事態が発生した場合、上能の単一パリティを使って
、失われたユニットのどちらかからデータを再構成する
ことが不可能になる。本発明は、パリティと同じように
記憶でき、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で示されたレコード・バージョン番
号をもつヘッダを有する。
パリティ・レコード426は、データ・レコード中のバ
ージョン番号に相当する4つのバージョン番号428,
430,432,434をもつヘッダを有する。バージ
ョン番号または標識は、レコード・ヘッド内で利用でき
るビット数と整合する任意の長さである。他のビン1−
が利用できないため、1ビツト長を選択している。デー
タ・レコードが変更されるたびに、そのバージョン番号
が増分される。パリティ・レコード中の対応するバージ
ョン番号も増分され、したがって両者は同じ値をとる。
バージョン番号は、データが失われた際にパリティ・レ
コードとスライス中の各データ・レコードの同期を検査
するのに使用される。数個のデータ・レコードに変更が
行なわれると、パリティ・レコードが変更マスクによっ
て更新される以前または以後にデータ・レコードが磁気
ディスク装置に書き込まれる。変更マスクは、パリティ
・レコードへの組込みのため待ち行列化される。バージ
ョン番号を各パリティとデータ・レコードに関連させる
と、磁気ディスク装置に書き込まれた所定のデータ・レ
コードに対するパリティ・レコードの更新をデータ・レ
コードの更新と同じ順序で行なわれなければならないと
いう制約条件が加わる。
そうしなければ、バージョン番号が不正確になる。
先入れ先出し待ち行列は変更マスクを保持するので、そ
れらのマスクは、それらが生成された順序で大容量記憶
装置上のパリティ・レコードに組み込まれる。
ヘッダ中のビットの可用度が限られているため、バージ
ョン番号は特に注意される。各データ・レコードのバー
ジョン番号は、各レコードの6番目のバイトの最初のピ
ット位置に記憶される。パリティ・レコード中の対応す
るバージョン番号は、ヘッダの6番目のバイトの最初4
ビツトの位置および8番目のバイトの最初3ビツトの位
置に含まれる。パリティ・レコードのヘッダのバージョ
ン番号のピット位置を、上述の順序に対応してビット1
〜7と呼ぶこととする。1セツト中のユニットに、セッ
トのパリティ制御ブロック中でのユニットの順序に対応
して1〜nの番号が付けている。
バージョン番号は、パリティ・レコード・ヘッダ中のユ
ニット番号にもとづいて昇順に記憶され、パリティ・ユ
ニットを飛び越す。3番目のユニットがパリティ・ユニ
ットの場合、最初2つのユニットに相当するバージョン
番号が、ビット位置1と2に記憶される。4番目のユニ
ットに相当するバージョン番号は、ピット位置3に記憶
される。
n番目のユニットのバージョン番号は、パリティ・レコ
ードのヘッダ中の位11n−1にある。このようにして
バージョン番号を記憶すると、記憶容量の制限を考慮し
た上で可能な最大のセットが実現可能である。余分な記
憶域を用いると、セットのサイズを、システムの他の考
慮点に応じて最適化できる。パリティ・ヘッダ中のバー
ジョン番号の位置決めを行なえば、ユニット番号とピッ
ト位置の直線的対応関係書が得られる。
各データ・レコードは、他のいかなるデータ・レコード
とも無関係なバージョン番号をもつので、同じパリティ
・レコードによってカバーされる異なるデータ・レコー
ドの更新に直列化は必要でない。主記憶装置との間での
レコードの転送は、処理速度を向上させるためのシステ
ム・スループット上の他の考慮点にもとづいて行なわれ
ることもある。この分離されたバージョン番号を使うと
、データ・レコード書込み操作をスケジュール化し、パ
リティ更新要求を待ち行列化する前に、大容量記憶装置
からパリティ・レコードを読み取る必要もなくなる。
バージョン番号が占める記憶域を制限するために、最大
値から最小値へ循環することが誤りなく許される。こう
すると、バージョン番号が再使用できる。1ビツトのバ
ージョン番号を使用する場合、そのバージョン番号は、
1とOの間を循環する。すなわち、そのバージョン番号
は2つの値をとる。ビット数のより高いバージョン番号
は、より多くの値をとる。データ・レコードとパリティ
・レコードの更新は非同期なので、更新されたバージョ
ン番号が現存のバージョン番号と混同される恐れがある
場合、データ・レコードの更新は保持される。こうした
混同が発生するのは、更新に関連するバージョン番号と
同じバージョン番号が大容量記憶装置上のデータ・レコ
ードまたはパリティ・レコード上に存在する場合である
。考慮すべき時間枠は、新しいパリティ更新會求が先入
れ先出しくF I FO)待ち行列に置かれた時からそ
の要求が完了される時までである。データ・レコードも
、更新要求が完了したと思われる前に更新されなければ
ならない。
新しい更新要求が完了する前にディスク上に存在するバ
ージョン番号は、すべて待ち行列にある以前の更新要求
のすべての値と待ち行列中で最初の(最古の)要求要素
に先行する値とを含む。更新要求が完了するまでに待ち
行列から除去されない場合、同じデータ・レコードに対
する待ち行列上に他の要求がある場合に新しい更新が待
つことだけが必要で、新しいデータ・レコードに対する
増分されたバージョン番号が、依然待ち行列中にある最
初の要求要素に先行するバージョン番号と一致する。
待ち行列中の更新要求の数が小さい間は、更新をスケジ
ュール化する前に待ち行列を探索するためのパフォーマ
ンス費用は大したものではない。
待ち行列に使用される記憶域へのアクセスの速さが妥当
であっても、パフォーマンス費用が減少する。主記憶装
置は待ち行列に適切な記憶域をもたらす。待ち行列中の
更新要求の数を小さくすることは、どの要求も待時間が
長くなりすぎないようにするのにも重要である。
好ましい実施例の場合のようにバージョン番号が単一ピ
ッ1〜・フラッフとして実現されるときは、新しい更新
を待たなければならないかどうかを決定するために、同
じデータ・レコードに対する以前の更新要求の待ち行列
を探索するだけでよい。
同じデータ・ブロックに対する待ち行列中に不完全な要
求がある場合、新しい要求を常に待たなければならない
ので、バージョン番号の値を検査する必要はない。
好ましい実施例では、レコード・ヘッダは本発明を実現
するのに利用できる7つの未使用ビットを含む。このた
め、」、セットに含まれるユニッ1−の数が制限される
。7つのバージョン番号だけがパリティ・レコード中に
保持されており、したがって合計最高8つまでのユニッ
1へがパリティ記憶保護セラl〜に含まれる。前述のよ
うに、もつと多くのユニツ]〜または最低3つのユニッ
トの場合でも本発明を効率的に利用できる。
パリティ保護システムの構成 データのパリティ保護システムの構成は、ユーザによっ
て第5図の流れ図の510から開始される。プロセッサ
12上でセットアツプ・タスクにより、流れ図のブロッ
ク512で、パリティ制御ブロック314〜318が構
築される。このタスクは、構成ユニット・テーブル31
2中の情報を使用して、システムに接続された記憶装置
を識別する。IBM3370などの記憶装置は、独立に
アクセス可能なアームなど複数の独立ユニットを内部に
含んでいるが、任意の特定のセットに対して記憶装置か
ら1つのユニツ1−だけ選択される。
ユニット選択の別の基準は、1セツト中にできるだけ多
くのディスク制御機構を使用することを含んでいる。こ
うした基準は、障害モードが1セツトの中の2つのユニ
ットに影響を及ぼさないようにするために使用する。セ
ットアツプ・タスクは、1セツトの中のユニツI−数を
最大にすることによって使用可能容量も最大にする。
制御ブロックが構築された後に、514で制御ブロック
中のス]−ライブ・アレイが構築される。
上述のように、スI・ライブ・アレイは連鎖方式でパリ
ティ・ブロックを各セット中のメンバー・ユニットに割
り当てる。ストライブ・アレイは、各ユニツl〜の16
メガバイ1〜・ブロックを含む連続ス1−ライブに対す
るパリティ・ブロックをどのユニットが含むかを示すよ
うに形成される。ユーザが、保護されいない記憶域のサ
イズを希望するように定義することもできる。保護され
てないストライブのアドレス範囲の定義が、制御ブロッ
クのヘッダに入力される。セットアツプ・タスクは、保
護されてないストライブからのブロックをパリティ・ブ
ロックと定義することはないので、保護されてないスト
ライブ全体がデータ・レコード用に使用できる。
次に、516でセラ1−アップ・タスクは、制御ブロッ
クが対応する各セットの複数のメンバー・ユニツ1へに
、制御ブロックを書き込む。制御ブロックは、回復中に
セットのメンバーを識別するために使用される。すなわ
ち、制御ブロックは、パリティの回復なしに使用可能で
なければならない。
それを含むメンバー・ユニットの1つに障害が発生する
場合、それらの制御ブロックが、各セット中の複数のメ
ンバー・ユニットに書き込まれる。
保護体系によって複数のユニットが障害から保護される
場合、制御ブロックが、回復されるユニットの数よりも
少なくとも1つ多くのユニットに書き込まれる。好まし
い実施例では、制御ブロックはセットの各メンバーに書
き込まれるので、どのユニットが制御ブロックを含むか
を決定するのにユニットを検索する必要はない。セット
が識別され制御ブロックが構築されると、セットアツプ
・タスクのブロック518で、バージョン番号を含むパ
リティ・ブロックの妥当性検索が行なわれる。
好ましい実施例では、これを、すべてのユニット上のす
べてのデータをゼロにすることによって行なわれる。偶
数パリティがパリティ記憶保護に使用されるので、結果
はすべてのデータに有効なパリティとなる。バージョン
番号もゼロから始まる。
次いで、このシステムは、520で初期プログラム・ロ
ードを実行することによって標準のやり方で初期設定さ
れる。
ユニットの最高数にまだ到ってないセットにメンバーを
加えることも可能である。新しいメンバーは、ゼロにし
てユニット・テーブルに加えるのが好ましい。次に、セ
ットのパリティ・ブロックが、新しいユニットを含むよ
うに再分配される。
そのセットの制御ブロックが審査され、新しいユニット
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでおり、そのストライプに対するパリティ・グ
ループの妥当性検索を行なう。
好ましい実施例では、制御ブロックは、新しいユニット
の追加によってセラ1−の変更が行なわれることを示す
ように、一時的に改訂される。パリティ・ブロックの再
分配中に障害が発生した場合、一時的変更が行なわれる
。次いで、既存のセットのパリティ・ブロックが、新し
いユニットを含むように再分配される。新しいユニット
に転送されたパリティ・ブロックを含んでいたユニット
は、そのアドレス範囲がゼロになったパリティ・ブロッ
クを含んでいた。再分配が完了すると、制御ブロックの
変更は永続的となる。
パリティ・ブロックを転送しないで新しいユニットを追
加することもできる。パリティ・ブロックの転送を行な
わないと、新しいユニットを追加することによって可能
になるそのセットのアクセス速度の増加を利用できない
ことになる。しかし、新しいユニットは既存のパリティ
・ブロックによって記憶保護される。
スライス中のレコードとパリティの更新第6図には、デ
ータ・レコードとそれに対応するパリティ・レコードの
変更が示されている。こうした変更は、データ・ベース
中のデータを変更しようとする人、または様々な理由で
変更を要求する機械処理によって呼び出される。610
で、処理装置12上で動くユーザ・タスクが、変更すべ
きデータ・レコードを読み取る。ユーザ・タスクは、ま
ず612でデータ・レコードの追加コピーをつくり、次
いで従来の方式でデータ・レコードの変更を行なう。
その後、ユーザ・タスクは、614で変更されたデータ
・レコードとデータ・レコードの追加コピーを排他的O
Rすることによって変更マスクを生成する。変更された
データの最初のビットを追加コピーと排他的ORして、
変更マスクの最初のビットを形成する。変更データの連
続する各ビットを同様に追加コピーの対応するビットと
排他的ORL、て、変更マスクの他のビットを形成する
既存の機械語命令が変更レコードのヘッダとコピーされ
たレコードのヘッダの排他的ORを実行する。他の2つ
の排他的OR機械語命令が、256バイトのブロック中
のページの排他的ORを実行する。次いで、パリティ・
レコード中のバージョン番号に対応するヘッダの位置が
、変更マスク中でゼロにされ、したがってそれらの位置
がパリティ・レコードのバージョン番号に影響を及ぼす
ことはない。
ブロック616で、ユーザ・タスクはデータ・レコード
・ヘッダ中のバージョン番号を増分する。
次いで、617で、ユーザ・タスクは、新しいデータの
物理アドレスから得られるユニット番号にもとづいてユ
ニット・テーブル312を検索することにより、どのユ
ニツ1−が当該のパリティ・レコードを含むかを決定す
る。ユニット・テーブルは、制御ブロック314〜31
8のどれを使用して特定のデータ・レコードに対するパ
リティ・レコードを含むユニツ1−を識別するかを指示
する。
この場合も、新しいデータ・レコードのアドレスを使っ
て、目的のストライプが識別される。そのスl〜ライブ
に対するパリティ・レコードを含むユニツ]〜が識別さ
れると、タスク617は、当該のユニットに対する待ち
行列624上にレコード・アドレスと変更マスクを含む
更新要求を出す。この更新要求は、データ・レコードが
まだ書き込まれていないことも指示する。タスク612
は更新要求を待ち行列624に置く前に、待ち行列62
4を検索して、」二連したようなバージョン番号との混
同がないことを確認する。混同があり得る場合、ユーザ
・タスクは、混同がなくなるまで待ってから先に進む。
パリティ・レコードのアドレスは、新しいデータのアド
レスと同じであることがわかっている。
ただしアドレスのあるユニットは異なる。618で、新
しいデータの書込み要求が出され、待ち行列620に送
られる。データ・レコードが記憶機構622に書き込ま
れると、625でそのことを示す標識が待ち行列624
上の更新要求に送られる。次いで、流れは戻り、次のデ
ータ・レコード変更を待つ。
パリティ更新タスクは、627で待ち行列624から次
のパリティ更新要求を獲得することによって始まる。更
新要求中で識別されたパリティ・レコードが626で読
み取られると、628で変更マスクが、パリティ・レコ
ードと排他的ORされる。変更マスクはバージョン番号
に対応するビット位置にゼロを含むため、バージョン番
号は排他的ORによって変更されない。排他的ORは、
ユーザ・タスクのブロック614で使用するのと同じ排
他的○R機械語命令によって実行される。
次に、630で、データ・レコードに対応するパリティ
・レコードのバージョン番号が増分され、632で、パ
リティ・レコードに対する書込み要求が出される。その
後、パリティ更新タスクは、627で、次のパリティ更
新要求を獲得する。
待ち行列634は、記憶装置に対するパリティ・レコー
ド書込み要求を記憶する。この場合、記憶装置636は
、特定の書込み要求を記憶するよう指示される。記憶ユ
ニット636はユニット622とは異なっているが、そ
れは、データ・レコードとパリティ・レコードが同じユ
ニットに書き込まれないからである。パリティ・レコー
ドの書込みが完了すると、637で待ち行列624」二
の更新要求が通知される。データの書込みとパリティの
書込み両方が完了すると、その項目が待ち行列624か
ら取り除かれ、もはやバージョン番号との混同が起こる
可能性がないことを示す。
レコードの回復 回復が実行されるのは、システムの平常操作中単一のレ
コード読取りエラーにぶつかったとき、またはユニット
全体に障害が発生したときである。
ユニットに障害が発生すると、そのユニット上の失われ
たデータが、そのセット中の複数のメンバーに記憶され
ている制御ブロック中で示されるように、そのセットの
残りのユニットから再構成される。障害の発生したユニ
ツ1−は交換または修復される。新しいユニットに対す
るデータは、そのセットの残りのメンバーからレコード
ごとに再構成される。パリティ・レコードを再構成する
には、そのセラ1〜中のデータ・レコードを読み取り、
パリティを再生するだけでよい。パリティ・レコード中
のバージョン番号は、データ・レコード中の対応するバ
ージョン番号と等しくなるように設定される。
データ・レコードを再生するとき、まず各データ・レコ
ードで検査が行なわれ、それらのバージョン番号がその
スライスに対するパリティ・レコ−ド中のバージョン番
号と一致しているかどうか判定する。そのスライス中の
バージョン番号に一致しないものがある場合、失なわれ
たデータ標識が失われたレコードのヘッダに書き込まれ
る。バージョン番号が一致している場合、そのスライス
中のレコードが新しいレコードとルコードごとに排他的
ORされる。次いで、当該のバージョン番号がパリティ
・レコードから新しいレコード・ヘッダにコピーされる
データ・レコードまたはパリティ・レコード上で読取り
エラーにぶつかった場合、障害のあるレコードの内容が
、全ユニットの回復について上述したのと同じメカニズ
ムで再構成される。この場合、回復が進行中に障害のあ
るレコードを含むスライス上のすべての変更活動を保持
する必要がある。
再構成に続いて、システムの平常操作が続行する。失わ
れる唯一のデータは、データまたはパリティの更新が行
われ、対応するパリティまたはデータ・レコードが書き
込まれる前にユニットに障害が起こったものである。す
なわち、障害が生じたユニット上の大半のデータは、ミ
ラー操作によるユニットの冗長オーバーヘッドなしで回
復された。1つの装置をパリティ情報と結びつけるので
はなく、パリティ情報をそのセットのメンバーに分配す
ることによって、記憶装置の並列操作を利用して、最大
のアクセス速度がもたらされる。
【図面の簡単な説明】
第1図は、本発明のパリティ・ブロック記憶保護分配を
組み込んだシステムの構成図、第2図は、複数の記憶装
置」二での第1図のパリティ・ブロックの分配の構成図
、 第3図は、パリティ・グループとデータ・レコードを相
関させるのに使用される論理テーブルの構成図、 第4図は、同期のためにバージョン標識を利用した記憶
ストライプ中のレコードの構成図、第5図は、パリティ
・ブロック記憶保護用の記憶装置の初期設定の流れ図、 第6図は、データ・レコードとそれに対応するパリティ
・レコードの更新に含まれるステップの流れ図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  岡  1) 次  生(外1名)

Claims (1)

  1. 【特許請求の範囲】 データ・ブロックを記憶する複数の独立してアクセス可
    能な記憶装置を有するコンピュータ・システムのための
    データ保護機構であって、 複数の組のデータ・ブロックの関数として複数のパリテ
    ィ・ブロックを発生するための発生手段にして、1つの
    パリティ・ブロックに対応する組における複数のデータ
    ・ブロックがそれぞれ異なる記憶装置に記憶されるもの
    であることと、記憶装置へのデータ・ブロック及びパリ
    ティ・ブロックの記憶を管理するための記憶管理手段と
    、すべての組のデータ・ブロックに対するパリティ・ブ
    ロックを1つの記憶装置が持つことのないよう、各パリ
    ティ・ブロックが記憶されるべき記憶装置を記憶管理手
    段に知らせるための手段と、より成るデータ保護機構。
JP62110902A 1986-06-12 1987-05-08 データ保護装置 Granted JPS62293355A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (12)

* Cited by examiner, † Cited by third party
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