JPH0547857B2 - - Google Patents

Info

Publication number
JPH0547857B2
JPH0547857B2 JP62110902A JP11090287A JPH0547857B2 JP H0547857 B2 JPH0547857 B2 JP H0547857B2 JP 62110902 A JP62110902 A JP 62110902A JP 11090287 A JP11090287 A JP 11090287A JP H0547857 B2 JPH0547857 B2 JP H0547857B2
Authority
JP
Japan
Prior art keywords
parity
record
data
storage
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62110902A
Other languages
English (en)
Other versions
JPS62293355A (ja
Inventor
Erudoritsuji Kuraaku Buraian
Danieru Rooraa Furanshisu
Eritsuku Shumitsutoosut Waanaa
Jeemuzu Suchuwaato Tarensu
Deebitsudo Teimusu Junia Jooji
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=JPH0547857(B2) "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

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明は、複数のデータ・ブロツク上でのパリ
テイ情報の維持に関し、具体的には、こうしたパ
リテイ情報の記憶に関する。
B 従来技術 米国特許第4092732号には、記憶サブシステム
と中央演算処理装置の間でシステム・レコード・
セグメントの転送中に、システム・レコード・セ
グメントから検査合計セグメントを生成する検査
合計ジエネレータが記載されている。検査合計セ
グメントとは、実際にはシステム・レコードセグ
メントの同じ位置にあるビツトから生成される一
連のパリテイ・ビツトである。言い換えれば、各
ビツト、たとえば検査合計セグメントの第1ビツ
トは、それぞれ複数のレコード・セグメントの第
1ビツトのグループのパリテイである。あるレコ
ード・セグメントを含む記憶装置に障害が発生す
ると、そのレコード・セグメントが検査合計セグ
メントと残りのシステム・セグメントから再生さ
れる。1つの記憶装置が選択されて、それに複数
のレコード記憶装置に対する検査合計セグメント
が、すべて含められる。
前記米国特許では、検査合計セグメントは、そ
れがカバーするすべてのレコード・セグメントを
読み取ることによつて常に生成される。1つのレ
コード・セグメントが変化すると、それによつて
カバーされるすべてのレコード・セグメントが読
み取られ、検査合計セグメントが生成される。
1981年7月発行のIBMテクニカル・デイスクロ
ージヤ・ブリデン(IBM Technical Disclosure
Bulletin)、Vol.24、No.2、pp.986〜987の「高効
率大容量記憶パリテイ回復装置(Efficient Mass
Storage Parity Recovery Mechanism」は、変
更される前のレコード・セグメントをコピーする
ことによつて検査合計セグメント、またはパリテ
イ・セグメントが生成されるように改良されてい
る。その後、レコード・セグメントのコピーが変
更済みのレコード・セグメントと排他的ORさ
れ、変更マスクが作成される。次いで、パリテ
イ・セグメントが読み取られ、変更マスクと排他
的ORされて、新しいパリテイ・セグメントが生
成され、記憶装置に書き戻される。
C 発明が解決しようとする問題点 従来技術では、未変更のレコード・セグメント
の多数回読取りが回避されるものの、複数の記憶
装置の複数のレコード・セグメントのパリテイ・
セグメントを記憶するのに、単一の記憶装置が使
用される。単一の記憶装置上のパリテイ・レコー
ドによつてカバーされる複数の記憶装置のいずれ
かでレコードが変更されるたびに、単一記憶装置
での読取りと書込みが行なわれる。したがつて、
単一記憶装置は、記憶装置の操作のネツクとなつ
ている。というのは、時間単位当り行なえるレコ
ード変更の数は、複数の記憶装置の並列操作によ
つてもたらされるより速いアクセス速度ではなく
て、単一記憶装置の遅いアクセス速度の関数にな
るからである。
失われたレコードが回復されるかどうかは、パ
リテイ・レコードとそれによつてカバーされる各
データ・レコードとの同期によつて決まる。持久
記憶装置など特別のハードウエアおよび記憶装置
への追加書込み操作なしでは、システムが異常終
了した場合にデータ・レコードとパリテイ・レコ
ードが整合する状態に更新されることを保証する
のは難しい。データとそれに関連するパリテイを
更新するには、2回の入出力操作が必要なので、
システムの終了後にどんな入出力操作が完了した
かを判定するのは困難である。
D 問題点を解決するための手段 記憶管理装置は、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バイト)と1つのパリテイ・レコー
ドが、スライスと呼ばれる。スライス中の各デー
タ・レコードは、レコードのバージヨンを示すバ
ージヨン標識を含む。各パリテイ・レコードのヘ
ツダは、複数のバーシヨン標識を含み、各標識
は、それぞれスライス中の各データ・レコードに
対応する。データ・レコードが更新されるたび
に、そのバージヨン標識が増分され、そのデー
タ・レコードに対応するパリテイ・レコード・バ
ージヨン標識も増分される。レコード更新と新パ
リテイ更新の両方が完了すると、バージヨン標識
は同一になる。失われたレコードの回復中レコー
ドとパリテイの同期を確認するために、バージヨ
ン番号が検査される。有効な同期をとらずに強制
的に回復を行なうと、予測できないデータが生成
されることになる。
各データ・レコードには、他のあらゆるデー
タ・レコードとは無関係のバージヨン番号がつい
ているので、同一のパリテイ・レコードでカバー
される異なるデータ・レコードの更新に、直列化
は必要ではない。また、直列化を回避するには、
データ・レコード書込み操作をスケジユール化
し、パリテイ更新要求を待ち行列化する前に、記
憶装置からパリテイ・レコードを読み取る必要も
ない。
もう一つの好ましい実施例では、パリテイ・グ
ループでカバーする必要のないデータ・レコード
のために、記憶保護されていないストライプが、
設けられる。記憶保護されていないストライプ
は、記憶保護されたストライプと同じサイズでな
くてもよく、記憶装置のサイズが同一でない場合
には、記憶装置上で可変サイズの領域を含む。こ
のようなストライプ化によつて、記憶装置を記憶
保護された記憶域と記憶保護されてない記憶域に
分離する便利な方法がもたらされるが、それは、
各記憶装置の同じアドレス区域が記憶保護される
からである。記憶装置上に記憶されたすべてのレ
コードを記憶保護する必要がない場合は性能上の
利益が実現されるが、それは、記憶保護されてな
いストライプ中のレコードが変更された後では、
パリテイ更新が必要ではないからである。
E 実施例 ブロツク・パリテイの拡散を実現するコンピユ
ータ・システムを、第1図では一般的に10で示
す。システム10は、接続されたマイクロ命令に
迅速にアクセスする制御記憶装置に結合されたデ
ータ処理装置12を含む。処理装置12は、チヤ
ネル・アダプタ16と高速チヤネル18を介して
複数の入出力装置と通信する。処理装置12と入
出力装置は、主記憶装置アレイ20にアクセスで
きる。主記憶装置20へのアクセスは、仮想アド
レス変換装置22によつて行なわれる。主記憶装
置20のアドレス変換テーブルと、変換索引緩衝
装置は、仮想主記憶アドレスから実主記憶アドレ
スへのマツピングを行なう。
磁気デイスク装置30,32,34,36,3
8など各入出力装置は、これらの磁気デイスク装
置に対する磁気デイスク制御装置40などの制御
装置を介して接続される。入出力制御装置42
は、磁気テープ装置44と46を制御する。更に
入出力制御装置48,50,52は、プリンタ、
ワークステーシヨン、キーボード、表示装置、通
信端未などの入出力装置を制御する。通常、磁気
デイスク制御装置は複数個あり、それぞれが複数
の磁気デイスク装置を制御する。
システム10のデータは、512バイトのデー
タ・ページと8バイトのヘツダから成るレコード
の形で取り扱われる。好ましい実施例のIBMシ
ステム/38では、レコードが、チヤネル18を
介して磁気デイスク装置と主記憶装置の間で伝達
される。主記憶制御装置60は、主記憶装置20
へのアクセスとそのページングを制御する。チヤ
ネル18と主記憶制御装置60の間の破線62
は、チヤネルに接続された入出力装置による主記
憶装置20への直接メモリ・アクセスを示す。シ
ステム10の一般的動作のより詳細な説明は、
IBMシステム138技術開発(IBM System/
38 Technical Developments)、インターナ
シヨナル・ビジネス・マシーンズ・コーポレーシ
ヨン、1978年に出ている。
磁気デイスク装置30ないし38上のデータの
記憶保護は、各装置上のデータ・レコードを排他
的ORし、排他的ORによつて得られたパリテ
イ・レコードを記憶装置の1つに記憶することに
よつて実現される。第2図では、各記憶装置30
ないし38は、データのブロツクとパリテイのブ
ロツクに分割される。ブロツクとは、記憶装置上
の物理空間を表わす。システム10は、最高16メ
ガバイトまでのデータ(割当て可能なデイスク空
間の連続部分)のエクステントをもたらすので、
各ブロツクは16メガバイトであるのが好ましい。
各記憶装置上のブロツク70,72,74,7
6,78は、同じ物理アドレス範囲を有するのが
好ましく、ストライプと呼ばれる。第2図には、
9つのストライプが示されている。記憶保護され
たストライプは、それぞれストライプ中の他のブ
ロツクの排他的ORを含む、それに関連するパリ
テイ・ブロツクを有する。第1のストライプで
は、ブロツク70が、残りのブロツク72,7
4,76,78のパリテイを含む。記憶装置32
上のブロツク80は、第2のストライプ上の残り
のブロツクのパリテイを含む。記憶装置34上の
ブロツク82は、第3のストライプのパリテイを
含む。ブロツク84と86は、それぞれ第4のス
トライプと第5のストライプのパリテイを含む。
ストライプ6,7,8に対するブロツク88,9
0,92を含むパリテイ・ブロツクは、複数の記
憶装置にわたつて拡散、すなわち分散されてい
る。第9のストライプは、記憶保護されていない
領域であり、そのストライプに関連するパリテ
イ・ブロツクを有さない。このストライプは、記
憶保護する必要のないデータを記憶するのに使用
される。
パリテイ情報の拡散により、異なるストライプ
上のデータ・レコードの更新に続くパリテイ・レ
コードの書込み中に、特定のある記憶装置が他の
記憶装置よりずつと頻繁にアクセスされることが
なくなる。ブロツクに記憶されたレコードが変更
されると、変更されたレコードを含むストライプ
のパリテイ・ブロツクも変更しなければならな
い。ストライプのパリテイ・ブロツクは2つ以上
の記憶装置にわたつて拡散されるので、パリテイ
の更新が1つの装置に集中されることはない。し
たがつて、入出力活動は、すべての記憶装置上に
より均等に拡散される。
第3図で、装置テーブル310は、パリテイ記
憶保護に係わる各記憶装置の情報を含む。装置番
号とセクタ、またはページ番号から成る物理アド
レスが、目的のデータの位置を識別するのに使用
される。次いで、装置テーブルを使つて、パリテ
イ制御ブロツク314,316,318が識別さ
れる。ユニツト1〜8は、制御ブロツク314に
関連する第1のパリテイ・メンバーである。ユニ
ツト9〜13は、制御ブロツク316に関連する
第2のパリテイ・セツトのメンバーであり、ユニ
ツトN〜2からNは、制御ブロツク318に関連
するI番目のパリテイ・セツトのメンバーであ
る。
装置テーブルの各項目は、その項目をメンバー
とする記憶装置のセツトに関連する制御ブロツク
を指示する。制御ブロツクは、セツトのどの記憶
装置が各ストライプのパリテイ・ブロツクを含む
かを識別する。制御ブロツク314では、第1の
16メガバイトの記憶域を含むストライプは、その
パリテイ情報が装置番号1の第1の16メガバイト
の記憶域に記憶されている。ユニツト1〜8を含
むストライプの第2の16メガバイト記憶域は、ユ
ニツト番号2の第2の16メガバイトに含まれてい
る。パリテイ・ブロツクの割当ては、ユニツト3
〜8がそれぞれ連鎖式に続き、次の6つのストラ
イプのパリテイを有する。第1パリテイ・セツト
中の第9のストライプは、そのパリテイがユニツ
ト番号1の16メガバイトの第9のブロツクに記憶
されている。このセツト中の8つのユニツトの1
つであるユニツトJに割当てられた最後のストラ
イプは、ユニツトのアドレス可能記憶域が16メガ
バイトで割り切れるかどうかに応じて、完全な16
メガバイトを含まないこともある。
各パリテイ制御ブロツクのヘツダは、どのユニ
ツトがセツトにあるかを記述し、また、あるパリ
テイ・グループによつて記憶保護されない各ユニ
ツトに共通なアドレス範囲を識別する。記憶保護
されてない各ユニツトに共通な範囲を設けると、
パリテイ記憶保護体系が簡単になる。各記憶装置
上の同一の物理アドレスが排他的ORされて、パ
リテイ情報が決定されるので、情報とパリテイを
相関させるのに、第3図に示したもの以外の特別
のテーブルは必要ではない。記憶保護されてない
共通のアドレス範囲は、その識別が制御ブロツク
中にあり、各ユニツトごとに共通なので、特別な
考慮を払う必要はない。
パリテイ制御ブロツク316は、第3図の記憶
装置9〜13のセツトに相当する。この5つのユ
ニツトは、第2図の記憶装置30〜38と考える
ことができる。パリテイ・グループの記憶装置へ
の割当ては、連鎖式に行なわれる。連続する16
メガバイトの各記憶域は、そのパリテイ・グルー
プがユニツト30、すなわち第3図のユニツト番
号9から始まる連続する記憶装置に記憶されてい
る。ユニツト番号9は、記憶装置9〜13,30
〜38に対するストライプの80〜96メガバイ
トの範囲に対するパリテイ・グループをも含む。
そのセツトの最後のストライプは、そのパリテイ
がK番目のユニツトに記憶されている。ただし、
Kはパリテイ・ブロツクの割当てが終わるユニツ
トである。というのは、記憶保護されたストライ
プはこれ以上ないからである。
制御ブロツク318は、記憶装置のI番目のセ
ツト中のN−2ないしNの記憶装置のセツトに相
当する。パリテイ・ブロツクが割り当てられた最
後のユニツトは、Lと記され、そのセツト中のス
トライプの数に応じてそのセツト中の3つのユニ
ツトのうちの1つに相当する。I番目のセツト
は、最小数、すなわち、3つの記憶装置を含み、
パリテイ記憶保護を実現するために望ましいと考
えられる。2つのユニツトの使用も可能だが、ミ
ラー操作と同様であり、排他的ORステツプが1
つ余分に含まれる。以下で論じるシステムの特定
の制約条件のために、好ましい実施例では1セツ
トに8ユニツトを最大値として選択した。ナツト
中に9つ以上のユニツトを使つても、記憶保護は
失なわれない。
1セツト中に非常に多数のユニツトがある場
合、各ユニツトを読み取らなければならないため
1つのユニツトに障害が発生したときに失われる
データの再構成にかかる時間が長くなる。また、
同時に2ユニツト以上が失なわれる可能性が増大
する。この事態が発生した場合、上能の単一パリ
テイを使つて、失われたユニツトのどちらかから
データを再構成することが不可能になる。本発明
は、パリテイと同じように記憶でき、2台以上の
記憶装置に障害が発生した場合に多重ビツト訂正
が行なえる、より複雑なデータ保護コードをカバ
ーするのに充分な広さがあると考えられる。
IBM TDB Vol.24、No.2のpp.986〜987に記載さ
れているように、セツトを多次元にして、少なく
とも2つの障害の発生したユニツトからデータを
再構成できるようにすることもできる。別の実施
例では、パリテイ自体を均等に拡散させるのでは
なくて、入出力活動を均等に拡散させるために、
データ更新を頻度に基づいてパリテイ情報を拡散
させる。
各データ・レコードは、バージヨン番号を含む
1つのパリテイ・レコードによつてカバーされる
複数のデータ・レコードの更新が行なわれること
があるので、パリテイ・ブロツク内の各レコード
は、そのパリテイ・ブロツクがカバーするスライ
ス中の各レコードに対応するバージヨン標識も含
む。スライスとは、データ・レコードとそれに対
応するパリテイ・レコードのセツトである。バー
ジヨン標識は、パリテイ記憶保護体系でカバーさ
れない。第4図では、4つのデータ・レコード4
10,412,414および416は、それぞれ
418,420,422および424で示された
レコード・バージヨン番号をもつヘツダを有す
る。パリテイ・レコード426は、データ・レコ
ード中のバージヨン番号に相当する4つのバージ
ヨン番号428,430,432,434をもつ
ヘツダを有する。バージヨン番号または標識は、
レコード・ヘツド内で利用できるビツト数と整合
する任意の長さである。他のビツトが利用できな
いため、1ビツト長を選択している。データ・レ
コードが変更されるたびに、そのバージヨン番号
が増分される。パリテイ・レコード中の対応する
バージヨン番号も増分され、したがつて両者は同
じ値をとる。
バージヨン番号は、データが失われた際にパリ
テイ・レコードとスライス中の各データ・レコー
ドの同期を検査するのに使用される。数個のデー
タ・レコードに変更が行なわれると、パリテイ・
レコードが変更マスクによつて更新される以前ま
たは以後にデータ・レコードが磁気デイスク装置
に書き込まれる。変更マスクは、パリテイ・レコ
ードへの組込みのため待ち行列化される。バージ
ヨン番号を各パリテイとデータ・レコードに関連
させると、磁気デイスク装置に書き込まれた所定
のデータ・レコードに対するパリテイ・レコード
の更新をデータ・レコードの更新と同じ順序で行
なわれなければならないという制約条件が加わ
る。そうしなければ、バージヨン番号が不正確に
なる。先入れ先出し待ち行列は変更マスクを保持
するので、それらのマスクは、それらが生成され
た順序で大容量記憶装置上のパリテイ・レコード
に組み込まれる。
ヘツダ中のビツトの可用度が限られているた
め、バージヨン番号は特に注意される。各デー
タ・レコードのバージヨン番号は、各レコードの
6番目のバイトの最初のビツト位置に記憶され
る。パリテイ・レコード中の対応するバージン番
号は、ヘツダの6番目のバイトの最初4ビツトの
位置および8番目のバイトの最初の3ビツトの位
置に含まれる。パリテイ・レコードのヘツダのバ
ージヨン番号のビツト位置を、上述の順序に対応
してビツト1〜7と呼ぶこととする。1セツト中
のユニツトに、セツトのパリテイ制御ブロツク中
でのユニツトの順序に対応して1〜nの番号が付
けている。バージヨン番号は、パリテイ・レコー
ド・ヘツダ中のユニツト番号にもとづいて昇順に
記憶され、パリテイ・ユニツトを飛び越す。3番
目のユニツトがパリテイ・ユニツトの場合、最初
2つのユニツトに相当するバージヨン番号が、ビ
ツト位置1と2に記憶される。4番目のユニツト
に相当するバージヨン番号は、ビツト位置3に記
憶される。n番目のユニツトのバージヨン番号
は、パリテイ・レコードのヘツダ中の位置n−1
にある。このようにしてバージヨン番号を記憶す
ると、記憶容量の制限を考慮した上で可能な最大
のセツトが実現可能である。余分な記憶域を用い
ると、セツトのサイズを、システムの他の考慮点
に応じて最適化できる。パリテイ・ヘツダ中のバ
ージヨン番号の位置決めを行なえば、ユニツト番
号とビツト位置の直線的対応関係書が得られる。
各データ・レコードは、他のいかなるデータ・
レコードとも無関係なバージヨン番号をもつの
で、同じパリテイ・レコードによつてカバーされ
る異なるデータ・レコードの更新に直列化は必要
でない。主記憶装置との間でのレコードの転送
は、処理速度を向上させるためのシステム・スル
ープツト上の他の考慮点にもとづいて行なわれる
こともある。この分離されたバージヨン番号を使
うと、データ・レコード書込み操作をスケジユー
ル化し、パリテイ更新要求を待ち行列化する前
に、大容量記憶装置からパリテイ・レコードを読
み取る必要もなくなる。
バージヨン番号が占める記憶域を制限するため
に、最大値から最小値へ循環することが誤りなく
許される。こうすると、バージヨン番号が再使用
できる。1ビツトのバージヨン番号を使用する場
合、そのバージヨン番号は、1と0の間を循環す
る。すなわち、そのバージヨン番号は2つの値を
とる。ビツト数のより高いバージヨン番号は、よ
り多くの値をとる。データ・レコードとパリテ
イ・レコードの更新は非同期なので、更新された
バージヨン番号が現存のバージヨン番号と混同さ
れる恐れがある場合、データ・レコードの更新は
保持される。こうした混同が発生するのは、更新
に関連するバージヨン番号と同じバージヨン番号
が大容量記憶装置上のデータ・レコードまたはパ
リテイ・レコード上に存在する場合である。考慮
すべき時間枠は、新しいパリテイ更新要求が先入
れ先出し(FIFO)待ち行列に置かれた時からそ
の要求が完了される時までである。データ・レコ
ードも、更新要求が完了したと思われる前に更新
されなければならない。
新しい更新要求が完了する前にデイスク上に存
在するバージヨン番号は、すべて待ち行列にある
以前の更新要求のすべての値と待ち行列中で最初
の(最古の)要求要素に先行する値とを含む。更
新要求が完了するまでに待ち行列から除去されな
い場合、同じデータ・レコードに対する待ち行列
上に他の要求がある場合に新しい更新が待つこと
だけが必要で、新しいデータ・レコードに対する
増分されたバージヨン番号が、依然待ち行列中に
ある最初の要求要素に先行するバージヨン番号と
一致する。
待ち行列中の更新要求の数が小さい間は、更新
をスケジユール化する前に待ち行列を探索するた
めのパフオーマンス費用は大したものではない。
待ち行列に使用される記憶域へのアクセスの速さ
が妥当であつても、パフオーマンス費用が減少す
る。主記憶装置は待ち行列に適切な記憶域をもた
らす。待ち行列中の更新要求の数を小さくするこ
とは、どの要求も待時間が長くなりすぎないよう
にするのにも重要である。
好ましい実施例の場合のようにバージヨン番号
が単一ビツト・フラツクとして実現されるとき
は、新しい更新を待たなければならないかどうか
を決定するために、同じデータ・レコードに対す
る以前の更新要求の待ち行列を探索するだけでよ
い。同じデータ・ブロツクに対する待ち行列中に
不完全な要求がある場合、新しい要求を常に待た
なければならないので、バージヨン番号の値を検
査する必要はない。
好ましい実施例では、レコード・ヘツダは本発
明を実現するのに利用できる7つの未使用ビツト
を含む。このため、1セツトに含まれるユニツト
の数が制限される。7つのバージヨン番号だけが
パリテイ・レコード中に保持されており、したが
つて合計最高8つまでのユニツトがパリテイ記憶
保護セツトに含まれる。前述のように、もつと多
くのユニツトまたは最低3つのユニツトの場合で
も本発明を効率的に利用できる。
パリテイ保護システムの構成 データのパリテイ保護システムの構成は、ユー
ザによつて第5図の流れ図の510から開始され
る。プロセツサ12上でセツトアツプ・タスクに
より、流れ図のブロツク512で、パリテイ制御
ブロツク314〜318が構築される。このタス
クは、構成ユニツト・テーブル312中の情報を
使用して、システムに接続された記憶装置を識別
する。IBM3370などの記憶装置は、独立に
アクセス可能なアームなど複数の独立ユニツトを
内部に含んでいるが、任意の特定のセツトに対し
て記憶装置から1つのユニツトだけ選択される。
ユニツト選択の別の基準は、1セツト中にできる
だけ多くのデイスク制御装置を使用することを含
んでいる。こうした基準は、障害モードが1セツ
トの中の2つのユニツトに影響を及ぼさないよう
にするために使用する。セツトアツプ・タスク
は、1セツトの中のユニツト数を最大にすること
によつて使用可能容量も最大にする。
制御ブロツクが構築された後に、514で制御
ブロツク中のストライブ・アレイが構築される。
上述のように、ストライプ・アレイは連鎖方式で
パリテイ・ブロツクを各セツト中のメンバー・ユ
ニツトに割り当てる。ストライプ・アレイは、各
ユニツトの16メガバイト・ブロツクを含む連続ス
トライプに対するパリテイ・ブロツクをどのユニ
ツトが含むかを示すように形成される。ユーザ
が、保護されいない記憶域のサイズを希望するよ
うに定義することもできる。保護されてないスト
ライプのアドレス範囲の定義が、制御ブロツクの
ヘツダに入力される。セツトアツプ・タスクは、
保護されていないストライプからのブロツクをパ
リテイ・ブロツクと定義することはないので、保
護されてないストライプ全体がデータ・レコード
用に使用できる。
次に、516でセツトアツプ・タスクは、制御
ブロツクが対応する各セツトの複数のメンバー・
ユニツトに、制御ブロツクを書き込む。制御ブロ
ツクは、回復中にセツトのメンバーを識別するた
めに使用される。すなわち、制御ブロツクは、パ
リテイの回復なしに使用可能でなければならな
い。それを含むメンバー・ユニツトの1つに障害
が発生する場合、それらの制御ブロツクが、各セ
ツト中の複数のメンバー・ユニツトに書き込まれ
る。保護体系によつて複数のユニツトが障害から
保護される場合、制御ブロツクが、回復されるユ
ニツトの数よりも少なくとも1つ多くのユニツト
に書き込まれる。好ましい実施例では、制御ブロ
ツクはセツトの各メンバーに書き込まれるので、
どのユニツトが制御ブロツクを含むかを決定する
のにユニツトを検索する必要はない。セツトが識
別され制御ブロツクが構築されると、セツトアツ
プ・タスクのブロツク518で、バージヨン番号
を含むパリテイ・ブロツクの妥当性検索が行なわ
れる。好ましい実施例では、これを、すべてのユ
ニツト上のすべてのデータをゼロにすることによ
つて行なわれる。偶数パリテイがパリテイ記憶保
護に使用されるので、結果はすべてのデータに有
効なパリテイとなる。バージヨン番号もゼロから
始まる。
次いで、このシステムは、520で初期プログ
ラム・ロードを実行することによつて標準のやり
方で初期設定される。
ユニツトの最高数にまだ到つてないセツトにメ
ンバーを加えることも可能である。新しいメンバ
ーは、ゼロにしてユニツト・テーブルに加えるの
が好ましい。次に、セツトのパリテイ・ブロツク
が、新しいユニツトを含むように再分配される。
そのユニツトの制御ブロツクが審査され、新しい
ユニツトに転送されたパリテイ・ブロツクを含ん
でいたユニツトは、そのアドレス範囲がゼロにな
つたパリテイ・ブロツクを含んでおり、そのスト
ライプに対するパリテイ・グループの妥当性検索
を行なう。
好ましい実施例では、制御ブロツクは、新しい
ユニツトの追加によつてセツトの変更が行なわれ
ることを示すように、一時的に改訂される。パリ
テイ・ブロツクの再分配中に障害が発生した場
合、一時的変更が行なわれる。次いで、既知のセ
ツトのパリテイ・ブロツクが、新しいユニツトを
含むように再分配される。新しいユニツトに転送
されたパリテイ・ブロツクを含んでいたユニツト
は、そのアドレス範囲がゼロになつたパリテイ・
ブロツクを含んでいた。再分配が完了すると、制
御ブロツクの変更は永続的となる。
パリテイ・ブロツクを転送しないで新しいユニ
ツトを追加することもできる。パリテイ・ブロツ
クの転送を行なわないと、新しいユニツトを追加
することによつて可能になるそのセツトのアクセ
ス速度の増加を利用できないことになる。しか
し、新しいユニツトは既存のパリテイ・ブロツク
によつて記憶保護される。
スライス中のレコードとパリテイの更新 第6図には、データ・レコードとそれに対応す
るパリテイ・レコードの変更が示されている。こ
うした変更は、データ・ベース中のデータを変更
しようとする人、または様々な理由で変更を要求
する機械処理によつて呼び出される。610で、
処理装置12上で動くユーザ・タスクが、変更す
べきデータ・レコードを読み取る。ユーザ・タス
クは、まず612でデータ・レコードの追加コピ
ーをつくり、次いで従来の方式でデータ・レコー
ドの変更を行なう。
その後、ユーザ・タスクは、614で変更され
たデータ・レコードとデータレコードの追加コピ
ーを排他的ORすることによつて変更マスクを生
成する。変更されたデータの最初のビツトを追加
コピーと排他的ORして、変更マスクの最初のビ
ツトを形成する。変更データの連続する各ビツト
を同様に追加コピーの対応するビツトと排他的
ORとし、変更マスクの他のビツトを形成する。
既存の機械語命令が変更レコードのヘツダとコピ
ーされたレコードのヘツダの排他的ORを実行す
る。他の2つの排他的OR機械語命令が、256
バイトのブロツク中のページの排他的ORを実行
する。次いで、パリテイ・レコード中のバージヨ
ン番号に対応するヘツダの位置が、変更マスク中
でゼロにされ、したがつてそれらの位置がパリテ
イ・レコードのバージヨン番号に影響を及ぼすこ
とはない。
ブロツク616で、ユーザ・タスクはデータ・
レコード・ヘツダ中のバージヨン番号を増分す
る。次いで、617で、ユーザ・タスクは、新し
いデータの物理アドレスから得られるユニツト番
号にもとづいてユニツト・テーブル312を検索
することにより、どのユニツトが当該のパリテ
イ・レコードを含むかを決定する。ユニツト・テ
ーブルは、制御ブロツク314〜318のどれを
使用して特定のデータ・レコードに対するパリテ
イ・レコードを含むユニツトを識別するかを指示
する。この場合も、新しいデータ・レコードのア
ドレスを使つて、目的のストライプが識別され
る。そのストライプに対するパリテイ・レコード
を含むユニツトが識別されると、タスク617
は、当該のユニツトに対する待ち行列624上に
レコード・アドレスと変更マスクを含む更新要求
を出す。この更新要求は、データ・レコードがま
だ書き込まれていないことも指示する。タスク6
12は更新要求を待ち行列624に置く前に、待
ち行列624を検索して、上述したようなバージ
ヨン番号との混同がないことを確認する。混同が
あり得る場合、ユーザ・タスクは、混同がなくな
るまで待つてから先に進む。
パリテイ・レコードのアドレスは、新しいデー
タのアドレスと同じであることがわかつている。
ただしアドレスのあるユニツトは異なる。618
で、新しいデータの書込み要求が出され、待ち行
列620に送られる。データ・レコードが記憶装
置622に書き込まれると、625でそのことを
示す標識が待ち行列624上の更新要求に送られ
る。次いで、流れは戻り、次のデータ・レコード
変更を待つ。
パリテイ更新タスクは、627で待ち行列62
4から次のパリテイ更新要求を獲得することによ
つて始まる。更新要求中で識別されたパリテイ・
レコードが626で読み取られると、628で変
更マスクが、パリテイ・レコードと排他的ORさ
れる。変更マスクはバージヨン番号に対応するビ
ツト位置にゼロを含むため、バージヨン番号は排
他的ORによつて変更されない。排他的ORは、
ユーザ・タスクのブロツク614で使用するのと
同じ排他的OR機械語命令によつて実行される。
次に、630で、データ・レコードに対応するパ
リテイ・レコードのバージヨン番号が増分され、
632で、パリテイ・レコードに対する書込み要
求が出される。その後、パリテイ更新タスクは、
627で、次のパリテイ更新要求を獲得する。
待ち行列634は、記憶装置に対するパリテ
イ・レコード書込み要求を記憶する。この場合、
記憶装置636は、特定の書込み要求を記憶する
よう指示される。記憶ユニツト636はユニツト
622とは異なつているが、それは、データ・レ
コードとパリテイ・レコードが同じユニツトに書
き込まれないからである。パリテイ・レコードの
書込みが完了すると、637で待ち行列624上の
更新要求が通知される。データの書込みとパリテ
イの書込み両方が完了すると、その項目が待ち行
列624から取り除かれ、もはやバージヨン番号
との混同が起こる可能性がないことを示す。
レコードの回復 回復が実行されるのは、システムの平常操作中
単一のレコード読取りエラーにぶつかつたとき、
またはユニツト全体に障害が発生したときであ
る。
ユニツトに障害が発生すると、そのユニツト上
の失われたデータが、そのセツト中の複数のメン
バーに記憶されている制御ブロツク中で示される
ように、そのセツトの残りのユニツトから再構成
される。障害の発生したユニツトは交換または修
復される。新しいユニツトに対するデータは、そ
のセツトの残りのメンバーからレコードごとに再
構成される。パリテイ・レコードを再構成するに
は、そのセツト中のデータ・レコードを読み取
り、パリテイを再生するだけでよい。パリテイ・
レコード中のバージヨン番号は、データ・レコー
ド中の対応するバージヨン番号と等しくなるよう
に設定される。
データ・レコードを再生するとき、まず各デー
タ・レコードで検査が行なわれ、それらのバージ
ヨン番号がそのスライスに対するパリテイ・レコ
ード中のバージヨン番号と一致しているかどうか
判定する。そのスライス中のバージヨン番号に一
致しないものがある場合、失われたデータ標識が
失われたレコードのヘツダに書き込まれる。バー
ジヨン番号が一致している場合、そのスライス中
のレコードが新しいレコードと1レコードごとに
排他的ORされる。次いで、当該のバージヨン番
号がパリテイ・レコードから新しいレコード・ヘ
ツダにコピーされる。
データ・レコードまたはパリテイ・レコード上
で読取りエラーにぶつかつた場合、障害のあるレ
コードの内容が、全ユニツトの回復について上述
したのと同じメカニズムで再構成される。この場
合、回復が進行中に障害のあるレコードを含むス
ライス上のすべての変更活動を保持する必要があ
る。
再構成に続いて、システムの平常操作が続行す
る。失われる唯一のデータは、データまたはパリ
テイの更新が行われ、対応するパリテイまたはデ
ータ・レコードが書き込まれる前にユニツトに障
害が起こつたものである。すなわち、障害が生じ
たユニツト上の大半のデータは、ミラー操作によ
るユニツトの冗長オーバーヘツドなしで回復され
た。1つの装置をパリテイ情報と結びつけるので
はなく、パリテイ情報をそのセツトのメンバーに
分配することによつて、記憶装置の並列操作を利
用して、最大のアクセス速度がもたらされる。
【図面の簡単な説明】
第1図は、本発明のパリテイ・ブロツク記憶保
護分配を組み込んだシステムの構成図、第2図
は、複数の記憶装置上での第1図のパリテイ・ブ
ロツクの分配の構成図、第3図は、パリテイ・グ
ループとデータ・レコードを相関させるのに使用
される論理テーブルの構成図、第4図は、同期の
ためにバージヨン標識を利用した記憶ストライプ
中のレコードの構成図、第5図は、パリテイ・ブ
ロツク記憶保護用の記憶装置の初期設定の流れ
図、第6図は、データ・レコードとそれに対応す
るパリテイ・レコードの更新に含まれるステツプ
の流れ図である。

Claims (1)

  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 1978-01-30
US06873249 US4761785B1 (en) 1986-06-12 1986-06-12 Parity spreading to enhance storage access

Publications (2)

Publication Number Publication Date
JPS62293355A JPS62293355A (ja) 1987-12-19
JPH0547857B2 true 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)

Families Citing this family (314)

* 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
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
US4942579A (en) * 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
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
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
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
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
US5007053A (en) * 1988-11-30 1991-04-09 International Business Machines Corporation Method and apparatus for checksum address generation in a fail-safe modular memory
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
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
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
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
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
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
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
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
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
AU8683991A (en) * 1990-11-09 1992-05-14 Array Technology Corporation Logical partitioning of a redundant array storage system
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array 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
US5333143A (en) * 1991-08-29 1994-07-26 International Business Machines Corporation Method and means for b-adjacent coding and rebuilding data from up to two unavailable DASDS in a DASD array
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
US5499337A (en) 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
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
EP0551009B1 (en) * 1992-01-08 2001-06-13 Emc Corporation Method for synchronizing reserved areas in a redundant storage array
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US5371743A (en) * 1992-03-06 1994-12-06 Data General Corporation On-line module replacement in a multiple module data processing system
DE69320388T2 (de) * 1992-03-06 1999-05-12 Data General Corp Datenbehandlung in einem System mit einem Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
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
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
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 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
US6640235B1 (en) 1992-08-20 2003-10-28 Intel Corporation Expandable mass disk drive storage system
US5913926A (en) * 1992-08-20 1999-06-22 Farrington Investments Ltd. Expandable modular data storage system having parity storage capability
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 株式会社日立製作所 ディスクアレイ装置及びそのデータ更新方法
JP2743756B2 (ja) * 1993-02-03 1998-04-22 日本電気株式会社 半導体ディスク装置
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
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
ATE409907T1 (de) * 1993-06-03 2008-10-15 Network Appliance Inc Verfahren und vorrichtung zum beschreiben beliebiger bereiche eines dateisystems
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
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
DE69431186T2 (de) * 1993-06-03 2003-05-08 Network Appliance Inc Verfahren und Dateisystem zur Zuordnung von Datei-Blöcken zu Speicherplatz in einem RAID-Plattensystem
JPH08511368A (ja) 1993-06-04 1996-11-26 ネットワーク・アプリアンス・コーポレーション 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法
US5555389A (en) * 1993-07-07 1996-09-10 Hitachi, Ltd. Storage controller for performing dump processing
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
KR100300836B1 (ko) * 1995-06-08 2001-09-03 포만 제프리 엘 데이타재구성방법및데이타기억시스템
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
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
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
US5991894A (en) * 1997-06-06 1999-11-23 The Chinese University Of Hong Kong Progressive redundancy transmission
US6016552A (en) * 1997-06-06 2000-01-18 The Chinese University Of Hong Kong Object striping focusing on data object
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
DE19811035A1 (de) * 1998-03-13 1999-09-16 Grau Software Gmbh Verfahren zum Speichern von Daten
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
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
US6530036B1 (en) 1999-08-17 2003-03-04 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 データ記録再生装置及びデータ記録再生方法
US7509420B2 (en) 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
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
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6611852B1 (en) 2000-09-29 2003-08-26 Emc Corporation System and method for cleaning a log structure
US6507890B1 (en) 2000-09-29 2003-01-14 Emc Corporation System and method for expanding a log structure in a disk array
US6865650B1 (en) 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
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
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
US6754768B2 (en) 2001-04-26 2004-06-22 International Business Machines Corporation Library of hard disk drives with transparent emulating interface
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
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
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
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
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
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
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
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks 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
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
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
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
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
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
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
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
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
CA2552019A1 (en) * 2003-12-29 2005-07-21 Sherwood Information Partners, Inc. System and method for reduced vibration interaction in a multiple-hard-disk-drive enclosure
US8041888B2 (en) * 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
US7409494B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
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
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
US7430571B2 (en) * 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7519628B1 (en) 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
US7509329B1 (en) 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US8726129B1 (en) * 2004-07-23 2014-05-13 Hewlett-Packard Development Company, L.P. Methods of writing and recovering erasure coded data
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
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
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
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
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
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
US8055702B2 (en) * 2005-04-25 2011-11-08 Netapp, Inc. System and method for caching network file systems
US7689609B2 (en) * 2005-04-25 2010-03-30 Netapp, Inc. Architecture for supporting sparse volumes
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7468117B2 (en) * 2005-04-29 2008-12-23 Kimberly-Clark Worldwide, Inc. Method of transferring a wet tissue web to a three-dimensional fabric
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
US7516285B1 (en) 2005-07-22 2009-04-07 Network Appliance, Inc. Server side API for fencing cluster hosts via export access rights
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
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
US8260831B2 (en) * 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
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
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US8051043B2 (en) 2006-05-05 2011-11-01 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
WO2008070814A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
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
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
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
US8621154B1 (en) 2008-04-18 2013-12-31 Netapp, Inc. Flow based reply cache
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
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
US8135980B2 (en) 2008-12-23 2012-03-13 Unisys Corporation Storage availability using cryptographic splitting
WO2010057186A1 (en) * 2008-11-17 2010-05-20 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
US8392682B2 (en) 2008-12-17 2013-03-05 Unisys Corporation Storage security using cryptographic splitting
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
CN107748702B (zh) 2015-06-04 2021-05-04 华为技术有限公司 一种数据恢复方法和装置
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
DE3379192D1 (en) * 1983-12-19 1989-03-16 Itt Ind Gmbh Deutsche Correction method for symbol errors in video/teletext signals
US4842262A (en) * 1984-02-22 1989-06-27 Delphax Systems Document inverter

Also Published As

Publication number Publication date
JPS62293355A (ja) 1987-12-19
US4761785B1 (en) 1996-03-12
DE3750790D1 (de) 1995-01-12
US4761785A (en) 1988-08-02
EP0249091B1 (en) 1994-11-30
DE3750790T2 (de) 1995-05-24
EP0249091A2 (en) 1987-12-16
CA1270333A (en) 1990-06-12
EP0249091A3 (en) 1990-04-25

Similar Documents

Publication Publication Date Title
US4761785A (en) Parity spreading to enhance storage access
CA1321845C (en) File system for a plurality of storage classes
US5881311A (en) Data storage subsystem with block based data management
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
US5392244A (en) Memory systems with data storage redundancy management
US5524204A (en) Method and apparatus for dynamically expanding a redundant array of disk drives
US5537567A (en) Parity block configuration in an array of storage devices
US6138125A (en) Block coding method and system for failure recovery in disk arrays
US6052759A (en) Method for organizing storage devices of unequal storage capacity and distributing data using different raid formats depending on size of rectangles containing sets of the storage devices
US5889795A (en) Disk array system and method for storing data
EP0469924A2 (en) Method for balancing the frequency of DASD array accesses when operating in degraded mode
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
EP0503768B1 (en) Method and means for accessing arrays of DASDS
US5650969A (en) Disk array system and method for storing data
US5978856A (en) System and method for reducing latency in layered device driver architectures
JPH0785227B2 (ja) 並列計算システムにおける冗長パリティ保護方法
WO1992015057A1 (en) Parity calculation in an efficient array of mass storage devices
US20020133783A1 (en) Methods and systems of using result buffers in parity operations
US6427212B1 (en) Data fault tolerance software apparatus and method
WO2017175285A1 (ja) 計算機システム、物理記憶デバイスの制御方法、および記録媒体
US6766480B2 (en) Using task description blocks to maintain information regarding operations
US8370717B1 (en) Method and apparatus for flexible buffers in an XOR engine
JPH09288547A (ja) アレイ型記憶装置
JPH07152498A (ja) 情報処理システム
EP1241561A2 (en) Efficient parity operations

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