JPH0785227B2 - 並列計算システムにおける冗長パリティ保護方法 - Google Patents

並列計算システムにおける冗長パリティ保護方法

Info

Publication number
JPH0785227B2
JPH0785227B2 JP3089002A JP8900291A JPH0785227B2 JP H0785227 B2 JPH0785227 B2 JP H0785227B2 JP 3089002 A JP3089002 A JP 3089002A JP 8900291 A JP8900291 A JP 8900291A JP H0785227 B2 JPH0785227 B2 JP H0785227B2
Authority
JP
Japan
Prior art keywords
data
file
node
parity
nodes
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
JP3089002A
Other languages
English (en)
Other versions
JPH07110776A (ja
Inventor
アレクサンダー・エイチ・フレイ・ジュニア
リチャード・シー・モステラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07110776A publication Critical patent/JPH07110776A/ja
Publication of JPH0785227B2 publication Critical patent/JPH0785227B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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/1028Distributed, i.e. distributed RAID systems with parity

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、システムを通してフ
ァイルが分散されている並列計算システムに関するもの
であり、より詳細にいえば、ファイル構成に組み込まれ
た冗長性のパリティによって、分散されているファイル
のパリティ保護がなされるようにした並列計算システム
に関するものである。
【0002】
【従来の技術】現在においては、多くの独立型のコンピ
ュータ/ディスク・システムが大規模データ処理システ
ムによって用いられているが、これらのものの全ては問
題の個別の部分について並列に動作するものである。独
立型のコンピュータ/ディスクは多重処理システムのノ
ードと呼ばれている。このようなシステムにおいては、
データ・ファイルがシステムを通して分散されて、ノー
ドにおける作業負荷のバランスをとり、また、1個また
は複数個のノードの不具合によるデータの重大なロスに
対する保護をすることができる。
【0003】1個または複数個のノードに失敗があった
ときにデータの再構成を可能にするために、多様な技術
が提案されてきている。例えば、米国特許第4,72
2,085号においては、比較的多くの独立動作型のデ
ィスク・サブシステムが、エラー回路および組成回路を
含む読み取り/書き込みインタフェースに結合されてい
る。システムに読み取られる各データ・ワードは、その
ビットがディスク・ファイルを通して展開され、各ワー
ドの1ビットだけがある特定の物理的なディスク・ファ
イルに書き込まれるようにされている。これで確実にさ
れることは、エラー回路におけるパリティ修正によって
自動的に修正されるために、単一のビット・エラーが失
敗の原因にはならないということである。また、米国特
許第4,817,035号においても、同様なビット・
オリエンテッド式の、複数個のディスク・ユニットを通
しての分散記憶について説明されている。
【0004】米国特許第4,761,785号において
は、不具合があったときのデータの復元を可能にするた
めに、分散記憶の他の変形についての説明がされてい
る。この米国特許第4,761,785号のシステムに
よれば、複数個のディスク・ドライブを通してデータ・
ブロックを展開させて、パリティ・チェック・ブロック
を導出するために、一連のブロックの排他的ORをとる
ようにしたコンセプトが採用されている。各ディスク・
ドライブには同数のブロックの物理的なアドレス領域が
含まれている。同じユニットのアドレス・レンジを有す
るディスクの物理的なアドレス領域は”ストライプ”と
して参照される。各ストライプは、n−1個のディスク
・ドライブを通して書き込まれたn−1個のデータ・ブ
ロックと他のディスク・ドライブ上の1個のパリティ・
ブロックとを有しており、また、このパリティ・ブロッ
クにはn−1ブロックのストライプに対するパリティが
含まれている。ブロックのストライプは複数個のディス
ク・ドライブを通して書き込まれることから、いずれの
1個のディスク・ドライブの失敗であっても、失われた
データ・ブロックを導出するために、パリティ・ブロッ
クを採用して、それと全ての残りのブロックとの排他的
ORをとることによって調整することができる。
【0005】米国特許第4,761,785号において
説明されたシステムは、単一のディスクの失敗からデー
タ・ブロックを有効に保護するものではあるが、それに
は欠陥が露呈されている。その第1は、極めて重要なこ
とであるが、その構成が個別のディスク・ドライブにお
ける物理的なブロック位置に依存していることである。
これを換言すれば、n−1のブロックに対するパリティ
が、ディスク上での各ブロックの物理的な位置に基づい
て導出されることになる。このために、ディスク・ドラ
イブ内でのなんらかのデータ・ブロックの動きが考えら
れるときには、ブロックに動きがある度にパリティの再
書き込みがなされねばならない。更に、ある1個の完全
なファイルがディスク・ドライブから除去されるときに
は、米国特許第4,761,785号によって構成され
たパリティは、ディスク構成内にファイル・ブロックが
配置された位置に依存して関連があったり、または、関
連がなかったりする。(パリティは物理的なディスクの
アドレスだけに適用可能であって、ファイル・ブロック
自体には適用可能ではなく、このために、ファイル・ブ
ロックがストライプと排他的な符合性がないときには、
該当のファイルが削除された後であっても、パリティ構
成は維持されねばならない。)最後に、米国特許第4,
761,785号で説明されているようなパリティ構成
を採用することにより、ディスク・ドライブ表面上でデ
ータ・ブロックが配置されるべき位置という見地から、
システム・プログラマに対して相当な制約を課すること
が必要とされる。
【0006】
【発明が解決しようとする課題】従って、この発明の目
的は、物理的なディスク構成に対するよりはファイル構
成に対して組み込まれるような、ファイルをベースとす
る、パリティ保護構成の、並列計算システムを提供する
ことにある。
【0007】この発明の別の目的は、ファイル・パリテ
ィの保護を維持しながら、ディスク・ファイルのアレイ
の任意の位置にデータ・ブロック配置することができる
ような、ブロック・パリティの保護方法を提供すること
にある。
【0008】この発明の更に別の目的は、発生されたパ
リティ・ブロックがデータ・ファイルとともに動くこと
が可能にされるとともに、ディスクからファイルを除去
するときにはデータ・ファイルにだけ関連があるよう
な、ファイル・ベース式のデータの分散された計算のた
めの、冗長性のあるパリティ保護システムを提供するこ
とにある。
【0009】
【課題を解決するための手段】マルチ・ノードの並列デ
ータ処理ネットワークであり、各ノードにはデータ記憶
が備えられているものにおいて、分散されたデータ・フ
ァイルのパリティ保護をするための方法が説明されてい
る。各データ・ファイルは一連の固定サイズのファイル
・データ・ブロックとして編成されており、各ファイル
・データ・ブロックは、1個のブロック識別子と複数個
のデータ・ビット位置とからなるものである。この方法
に含まれているステップは: a. N−1個のノードを介して少なくともN−1個の
ファイル・データ・ブロックを分散するステップであっ
て、前記N−1個のファイル・データ・ブロックの各々
は利用可能な物理的な場所におけるデータ記憶内に記憶
され、当該物理的な場所はファイル・データ・ブロック
のために保留される前記データ記憶の領域内の任意の領
域から選択されることが可能であり、各々の前記データ
記憶が保持する関連のディレクトリ内は各ファイル・デ
ータ・ブロックが配置される場所を指示するようにされ
ているステップ; b. 前記N−1個のファイル・データ・ブロックの各
々において対応するビット位置でデータ・ビットの排他
的ORをとるステップ;および c. ノードNのデータ記憶におけるパリティ・ファイ
ル・データ・ブロックの対応するビット位置にステップ
(b)の結果を記憶するステップ;が含まれている。
【0010】
【実施例】図1を参照すると、並列計算システムのブロ
ック図が示されており、また、これには高速通信ライン
によって相互接続された多くのノード”10”が含まれ
ている。各ノード10はプロセッサおよびメモリ(例え
ば、ディスク・メモリ)を含んでいる。各ノードは独立
して動作するものであり、また、通信ネットワークを介
して他のノードとの相互作用をするものである。図1に
示されているトポロジは、受け入れ可能なネットワーク
の一つの形式を表すものであり、また、ノードを表す各
ボックス10および通信リンクを表す各ライン12とと
もに3次元のトーラスのそれである。並列計算システム
の第1の”プレーン”13が示されていて、下方のプレ
ーン14および15の上を覆うようにされている。各ノ
ードは2個の付加的なリンク(図示されない)を備えて
おり、その一方は2次元トーラス上部における対向のノ
ードに向けられ、他の一方は2次元トーラス下部におけ
る対向のノードに向けられている。
【0011】図2に示されているように、各ノードに含
まれているマイクロ・プロセッサ16は、バス構成18
を介してノードの他の要素と相互に接続されている。バ
ッファ・メモリ20、デバイス・アダプタ22、およ
び、IOアダプタおよびリンク・ルータ24もバス18
に接続されている。ディスク・ファイル26はデバイス
・アダプタ22に接続されており、これによって制御さ
れて、ノードに対するメイン・メモリの役をするように
されている。
【0012】図1および図2で示されている並列計算シ
ステムによって採用されているソフトウエアはファイル
・ベースで組成されている。そして、各ファイルは所定
の長さの1個または複数個のデータ・ブロックを有して
いる。例えば、例示的なブロック・サイズには1024
バイトを含ませることができる。各ブロックに含まれて
いる1個のブロック識別子は、該当のブロックを独特の
ものとして識別するものである。
【0013】ユーザの視点からすれば、ある1個のファ
イルは、任意のノードからの単一の、一様な、等価の実
在物のようにみえる。1個のファイルに単一のファイル
・ブロックまたは多くのファイル・ブロックを含ませる
ことができるときでも、このことは当てはまるものであ
る。各ファイルは、システム・ワイドの特有なポインタ
を通してアクセスされる。当該ポインタの使用を通し
て、ファイルに対応する更に別のポインタを、プロセス
において1個のディレクトリを介して探索することがで
きる。このポインタでアクセスされるテーブル・エント
リは、ファイルの記述をし、また、該当のファイルのデ
ータおよびパリティ・ブロックについて、ディスク上の
物理的な場所を指示するものである。ここで理解される
べきことは、ファイル・データ・ブロックの長さはファ
イル・クリエータによって任意の値に決定されるもので
あって、システムの構成に依存するものではないという
ことである。
【0014】図1に示されたシステムにおいて、ある1
個のファイル内のレコードの第1のブロックは該当のフ
ァイルを”占有する”ノード内に配置され、次のファイ
ル・データ・ブロックは次のノード内に配置され、以下
同様である。ある予め特定されたスパンの最後のノード
に到達するまで、連続したブロックが連続して付番され
たノード上に配置される。占有しているノードは、該当
のファイルに対するレコード0が書き込まれているノー
ドとして規定される。”スパン”として指示されること
は、ファイルがその上で展開されることになるノードの
個数である。パリティ・ブロックは、ファイル・データ
・ブロックとともに挿入される。ここで強調されるべき
ことは、パリティ・ブロックおよびその発生に含まれる
ファイル・パラメータが、いずれの特定のファイル・デ
ータ・ブロックまたはパリティ・ブロック記憶される位
置によっては限定されないということである。
【0015】複数個のノードを介してファイル・データ
・ブロックを分散するための理論的解釈としては、ある
1個のノードに失敗があったときのデータの復元を確実
にすることである。全てのファイル・データ・ブロック
が単一のノード内に順次に記憶されているとすれば、該
当のノードにおける失敗の結果として、ファイル全体を
失うことになる。順次に付番されたノードのグループを
介してファイル・データ・ブロックを分散させることに
より、そして、これに次いで、冗長性のパリティ・ブロ
ックの付加によるファイル・データ・ブロックのスパン
のパリティ保護をすることにより、このようなノードの
いずれのものの不具合でも克服することができる。この
ことは、不具合の結果として失われた1個または複数個
のファイル・データ・ブロックを再発生させるために、
1個または複数個のパリティ・ブロックを用いることで
達成される。
【0016】図3には、分散されたファイル・データ・
ブロックの構成が例示されている。ここで、ノード0は
ファイル・データ・ブロックB0−B3n-1を含むファイ
ルの占有ブロックである。ここで注意されることは、フ
ァイル・データ・ブロックが各ノード内で互いに物理的
に隣接して配置されているものとして示されているけれ
ども、このファイル・データ・ブロックの配置は、各フ
ァイル・データ・ブロックが位置する特定のディスク・
ドライブにおける利用可能な記憶領域によって厳密に定
められるということである。
【0017】図2に戻ってこれを参照すると、ディスク
・ドライブ26が有する1個または複数個のトラック
は、ある特定のトラックおよびある特定のファイル・デ
ータ・ブロックが位置するトラック内の物理的な位置を
指示するディレクトリに対して指定されている。ノード
が動作しているときには、ディレクトリが読み出され
て、マイクロ・プロセッサ16のメモリの動作部分に配
置され、要求のあるデータに対する迅速なアクセスの達
成が可能にされる。ディスク26とその関連のデバイス
・アダプタ22により、トラック内の”次に利用可能
な”空き状態の物理的な記憶スペースに従って、ファイ
ル・データ・ブロックの配置がなされる。このようにす
ることで、ディスク・メモリ26内のいずれのファイル
・データ・ブロックの上でも、所定の位置的な制約はな
くなる。従って、その位置がディスク・ドライブのディ
レクトリに記されている限りは、ファイル・データ・ブ
ロックのために保留されているディスク・メモリ26の
いずれの位置でも、ファイル・データ・ブロックを配置
することができる。
【0018】先行の技術においては、米国特許第4,7
61,785号に表されているように、連続的なファイ
ル・データ・ブロックは連続的なノード上の対応するデ
ィスク・ドライブの物理的な記憶位置に配置される。ま
た、対応する物理的なディスク・ドライブの記憶領域上
で実行された排他的ORから導出されたパリティ・デー
タ・ブロックも、対応する物理的なディスク・ドライブ
の記憶位置に記憶される。従って、この米国特許第4,
761,785号におけるパリティ保護のスキームは、
ファイル・データ・ブロックそれ自体よりも、ディスク
・ドライブに隣接する物理的なブロックの記憶位置に基
づいている。上述されたように、これは多くの問題を生
じるものであり、特に、システムを通してデータ・ファ
イルを動かすようになったときに、多くの問題を生じる
ものである。
【0019】一連のファイル・データ・ブロックからパ
リティ・ブロックを発生させるための方法に含まれてい
ることは、パリティ・データ・ブロック内で対応するパ
リティ・ビット位置を導出するために、あるスパンの各
ファイル・データ・ブロックにおける対応のビット位置
について排他的ORをとることである。このために、各
ファイル・データ・ブロックにおける対応のビット位置
の各々に対して、パリティ・データ・ブロックにおける
対応のビット位置があるが、このことは、対応するファ
イル・データ・ブロックにおけるビット位置のビット値
についての排他的ORの機能を果たすことである。分散
型のファイル・システムにおけるいずれか1個のファイ
ル・データ・ブロックまたはパリティ・データ・ブロッ
クのロスは、残りのファイル・データ・ブロックおよび
/またはパリティ・データ・ブロックの排他的ORをと
ることで再構成できることが知られている。
【0020】図4には分散されたファイル構成が例示さ
れているが、ここではパリティ・ブロックがファイル・
データ・ブロックとともに分散されている。ここで示さ
れているように、データの分散は8個のノード(即ち、
ノードN0−N7)を通して生じている。ファイル・デ
ータ・ブロックB0はノードN0に、ファイル・データ
・ブロックB1はノードN1に、B2はN2に、そしてB
3はN3に割り当てられている。ブロックB0ないしB3
に対するパリティ・ブロック(即ち、P0-3)はノード
N4内に配置されている。この配置に対する制約は、ブ
ロックB0,B1,B2,B3およびP0-3の各々が異なる
ノードに記憶されねばならないことだけである。そうで
ないとき、単一のノード上に2個またはそれより多くの
ブロックの重複があるようなときには、該当のノードの
ロスの結果として復元不能の状況になり得る。
【0021】次に続く一連のパリティで保護されるブロ
ックは、ブロックB4から始まってB7で終了する。ここ
で、パリティ・ブロックP4-7はノードN1上に存在し
ている。次に続く一連のファイル・データ・ブロック
は、ノードN2で始まりノードN6を通して連続する。
これ以降も同様である。
【0022】この構成で可能になることはパリティ・ブ
ロックがノードを通して分散されることであり、いずれ
の単一のノードでもパリティ・ブロックによるオーバロ
ードの防止がなされる。ここで注意されるべきことは、
ファイル・データ・ブロックの一つにおいてデータの修
正がなされる度に、対応のパリティ・ブロックに対する
更新が生じなければならないということである。このた
めに、全てのパリティ・ブロックが単一のまたは幾つか
のノード内に配置されているときには、それらのノード
は著しいオーバワークをして、システムの実効的な速度
が低下することになる。
【0023】ここで図5に移行すると、更に別のデータ
の配置が示されている。ここで、ファイル・データ・ブ
ロックは一連のノードを通して順次に配列されており、
パリティ・ブロックは分散されていない。この例におい
て、パリティ・ブロックはディスク・ドライブ内の特別
に保留されたパリティ領域に分離されている。例えば、
ファイル・データ・ブロックB0−B3に対するパリティ
・ブロックP0-3はノードN3上に存在している。ファ
イル・データ・ブロックB4−B7に対するパリティ・ブ
ロックP4-7はノードN7上に(その保留されたパリテ
ィ領域内に)存在している。このデータ構成により、順
次に付番されたファイル・データ・ブロックが順次に付
番されたノードを通して配列されることが可能にされ、
また、付加的なノードが付加されたときには、そのデー
タ構成を容易に拡張することが可能にされる。ファイル
・データ・ブロックの構成を変化させるときに、パリテ
ィ・ブロックが配置される位置にわたって関連をもたせ
る必要性が回避される。
【0024】図6においては、図5におけるデータの構
成についての、より詳細なレイアウトが示されている。
ただし、この場合には、ブロックのスパンは8ブロック
であり、8番目のブロックがパリティ・ブロックにされ
ている。ここで注意されることは、パリティ・ブロック
P0−P7がノードN0−N7を通して割り当てられてい
ることである。各ブロック指示の前方にあるサブスクリ
プト(即ち、7B0)が意味することは、ブロックB0に
対するパリティがノードN7におけるパリティ・ブロッ
クP7にあるということである。図7で指示されている
ブール式により、パリティP0−P7の発生が可能にされ
る。図7から認められることは、パリティP0はブロッ
クB49−B55の排他的ORをとることから発生され、P
1はB42−B48からであり、以下も同様である。
【0025】ここで再び強調されるべきことは、上述さ
れたデータの構成はファイル・オリエンテッド式のもの
であって、ファイル・データ・ブロックが記憶されるデ
ィスク・ドライブ上の特定の物理的な位置に依存するも
のではないということである。このために、ある特定の
ファイルがアクセスされ、動かされるときには、関連の
1個または複数個のパリティ・ブロックをともなうよう
にされて、システムが動作する間はパリティを連続して
維持するようにされる。
【0026】パリティの保護がなされているファイルに
データが書き込まれるときには、各パリティ・ブロック
の更新がなされる。ある1個のファイル・データ・ブロ
ックが更新されるときには、新規のデータがバッファ内
に配置される。ノードでは旧データをディスク・ドライ
ブから付加的に読み出して、(バッファ内に現に存在し
ないときには)これを別のバッファに配置する。これに
次いで、新規のパリティ”デルタ”が、新規データと旧
データとのモデュロ−2の和(排他的OR)として演算
される。この新規のパリティであるデルタは、該当のデ
ータに対するパリティ・ビットを保持するノードに対し
て伝送される。このパリティ・ノードにおいては、パリ
ティであるデルタの受け入れに応じて、デルタとデータ
に対するパリティの排他的ORをとり、旧および新パリ
ティ値の双方を一時的なファイルに記憶し、そして、始
めのノードに対してそのパリティの更新を認める。これ
により、実際には、データを失うことなくシステムがリ
セットされて、更新の機能を再実行することが可能にさ
れる。
【0027】ノードに失敗があったとき、データの復元
をするために、幾つかのノードが用いられる。即ち、失
敗があったノードに割り当てられたデータのパリティを
含んでいるノードとしてのパリティ・ノード、該当のパ
リティに寄与するデータを有している全ての他のノー
ド、および、失敗があったノードの置換のために特別に
保留されている”スペア”ノードとして指定された新規
のノードが用いられる。データ・ブロックの再構成をす
るために、パリティ・ノードにより、パリティ演算に寄
与する同じパリティ・グループ内の全ての他のノードか
ら、対応するデータ・ブロックが収集される。これに次
いで、失敗があったノード上にあったものを置換するた
めの新規なファイル・データ・ブロックを生成させるた
めに、対応するファイル・データ・ブロックの各々にお
ける、各対応のビット位置についての排他的ORをとる
ことが続行される。全体的なデータ・ブロックがパリテ
ィ・ノードで一旦復元されると、当該データ・ブロック
がスペア・ノードに読み取られる。この手順は、ノード
における失敗の結果として失われた各ファイル・データ
・ブロックに対して続行される。
【0028】パリティ・データ・ブロックのノードに失
敗があったときには、新規の(先にはスペアの)ノード
が再構成ノードとして選択されることを除いて、正確に
同じ態様をもって再構成がなされる。
【発明の効果】本発明によれば、並列計算システムにお
いて、ファイルをベースにしたパリティ保護が可能とな
る。
【図面の簡単な説明】
【図1】マルチ・ノード式の並列演算システムの通信相
互接続のネットワークを示すブロック図である。
【図2】図1におけるノードの構成を例示するブロック
図である。
【図3】ファイル・データ・ブロックの分散の一つのモ
ードを指示する複数個のノードの図である。
【図4】図3のそれと同様な、8ノード・システムにお
ける5ブロックのパリティ構成を示す図である。
【図5】8ノード構成における5ブロックのパリティ構
成を示す図である。
【図6】8ノード構成における5ブロックのパリティ構
成を示す図である。
【図7】図6の配置に対するパリティを発生するために
採用された一連の等式の例示図である。
【符号の説明】
10 ノード 12 ライン 13 第1プレーン 14 下方プレーン 15 下方プレーン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・シー・モステラー アメリカ合衆国カリフォルニア州シエラ・ マドリ、 リマ・ストリート 420番地 (56)参考文献 特開 昭62−293355(JP,A)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】少なくともn個のノードを有しており、各
    ノードはデータ記憶手段を有し、各データ・ファイルは
    一連のファイル・データ・ブロックとして編成され、各
    データ・ブロックは1個のブロック識別子と複数個のデ
    ータ・ビット位置とからなる、マルチ・ノード型のコン
    ピュータ・ネットワークにおいて分散されているデータ
    ・ファイルのパリティを保護するための方法であって: (a) N−1個のノードを通じて少なくともN−1個
    のファイル・データ・ブロックを分散するステップであ
    って、前記N−1個のファイル・データ・ブロックの各
    々はデータ記憶手段内の物理的な場所に記憶され、前記
    物理的な場所は前記データ記憶手段のファイル・データ
    ・ブロックのために割り当てられた領域内の任意の利用
    可能な物理的場所から選択され、各々の前記データ記憶
    手段は各ファイル・データ・ブロックがどこに配置され
    ているかを示すディレクトリを保持するステップ; (b) 前記N−1個のファイル・データ・ブロックの
    各々において対応するデータ・ビット位置でデータ・ビ
    ットの排他的ORをとるステップ;および (c) ノードNのデータ記憶手段におけるパリティ・
    データ・ブロックの対応するビット位置にステップ
    (b)の結果を記憶するステップ; を含んでなる前記の方法。
  2. 【請求項2】N−1個のファイル・データ・ブロックの
    後続するグループのために、前記マルチ・ノード型のコ
    ンピュータ・ネットワークの他のN−1個のノードのセ
    ットを通じてステップ(a)−(c)が繰り返される、
    請求項1に記載の方法。
  3. 【請求項3】ある1個の所与のファイル内の前記ファイ
    ル・データ・ブロックの各々は等しい数のデータ・ビッ
    ト位置を有している、請求項2に記載の方法。
  4. 【請求項4】前記ノードは順次的なものであり、ステッ
    プ(a)には更に: a1. それぞれのデータ記憶手段における順次的なノ
    ードを介して、分散されたファイル・データ・ブロック
    およびパリティ・データ・ブロックを直列的に記憶する
    ステップ;が含まれている、請求項3に記載の方法。
  5. 【請求項5】前記ノードは順次的なものであり、ステッ
    プ(a)には更に: a1. それぞれのデータ記憶手段における順次的なノ
    ードを介して、ファイル・データ・ブロックを直列的に
    記憶するステップ;および a2. 前記ファイル・データ・ブロックから分離され
    たパリティ・データ・ブロックを前記データ記憶手段内
    の領域に記憶するステップ; が含まれている、請求項3に記載の方法。
  6. 【請求項6】前記N個のノードの中の1個の失敗に応答
    して、前記失敗したノードにおけるデータ記憶手段に記
    憶されている全てのファイル・データ・ブロックが: d. 前記N個のノードの中の失敗がなかったもののデ
    ータ記憶手段における対応のビット位置から、データ・
    ビットとパリティ・ビットとの排他的ORをとるステッ
    プ;および e. 前記N個のノードの中の失敗がなかったものから
    分離した動作ノードにおいて、ステップ(d)の結果を
    記憶するステップ; によって再構成される、請求項1に記載の方法。
  7. 【請求項7】マルチ・ノード型の並列演算システムを介
    して、分散されているファイル・システムのパリティを
    保護するための方法であって: a. N−1個の分離したノードを介して順次的な一連
    のN−1個のファイル・データ・ブロックを指定し、記
    憶するステップであって、前記ファイル・データ・ブロ
    ックは前記ノードに対して所定の物理的な記憶関係を有
    してはいない前記のステップ; b. ある1個のパリティ・データ・ブロックを導出す
    るために、前記一連のファイル・データ・ブロックの対
    応するビット位置における値の排他的ORをとるステッ
    プ;および c. N番目のノードにおける前記パリティ・データ・
    ブロックを記憶するステップであって、前記N番目のノ
    ードは前記N−1個のノードのいずれとも等しくない前
    記のステップ; を含んでなる前記の方法。
  8. 【請求項8】前記N個のノードの中の1個の失敗に応答
    して、ある1個の失敗したノードに記憶されているある
    1個のファイル・データ・ブロックが: d. 前記N個のノードの中の失敗がなかったものにお
    ける対応のビット位置から、データ・ビットとパリティ
    ・ビットとの排他的ORをとるステップ;および e. 前記N個のノードの中の失敗がなかったものから
    分離した動作ノードにおいて、ステップ(d)の結果を
    記憶するステップ; によって再構成される、請求項7に記載の方法。
JP3089002A 1990-04-16 1991-03-29 並列計算システムにおける冗長パリティ保護方法 Expired - Lifetime JPH0785227B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/510,283 US5130992A (en) 1990-04-16 1990-04-16 File-based redundant parity protection in a parallel computing system
US510283 1990-04-16

Publications (2)

Publication Number Publication Date
JPH07110776A JPH07110776A (ja) 1995-04-25
JPH0785227B2 true JPH0785227B2 (ja) 1995-09-13

Family

ID=24030123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3089002A Expired - Lifetime JPH0785227B2 (ja) 1990-04-16 1991-03-29 並列計算システムにおける冗長パリティ保護方法

Country Status (4)

Country Link
US (1) US5130992A (ja)
EP (1) EP0453194B1 (ja)
JP (1) JPH0785227B2 (ja)
DE (1) DE69112110T2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
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
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JPH04184634A (ja) * 1990-11-20 1992-07-01 Matsushita Electric Ind Co Ltd マイクロコンピュータ
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc 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
US5579475A (en) * 1991-02-11 1996-11-26 International Business Machines Corporation Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity
US5271012A (en) * 1991-02-11 1993-12-14 International Business Machines Corporation Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs
US5345565A (en) * 1991-03-13 1994-09-06 Ncr Corporation Multiple configuration data path architecture for a disk array controller
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
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
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
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
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
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
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5432787A (en) * 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5412668A (en) * 1994-09-22 1995-05-02 International Business Machines Corporation Parity striping feature for optical disks
US5581566A (en) * 1995-01-06 1996-12-03 The Regents Of The Univ. Of California Office Of Technology Transfer High-performance parallel interface to synchronous optical network gateway
JP3365705B2 (ja) * 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862312A (en) 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
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
JP3351318B2 (ja) * 1997-11-07 2002-11-25 株式会社日立製作所 計算機システムの監視方法
US6029168A (en) 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US6343343B1 (en) 1998-07-31 2002-01-29 International Business Machines Corporation Disk arrays using non-standard sector sizes
US6427212B1 (en) 1998-11-13 2002-07-30 Tricord Systems, Inc. Data fault tolerance software apparatus and method
US6449731B1 (en) 1999-03-03 2002-09-10 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
US6530036B1 (en) 1999-08-17 2003-03-04 Tricord Systems, Inc. Self-healing computer system storage
FR2802734B1 (fr) * 1999-12-15 2002-04-26 St Microelectronics Sa Procede de correction d'un bit dans une chaine de bits
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US6622259B1 (en) 2000-07-14 2003-09-16 International Business Machines Corporation Non-disruptive migration of coordinator services in a distributed computer system
US6490668B2 (en) * 2000-12-15 2002-12-03 Hewlett-Packard Company System and method for dynamically moving checksums to different memory locations
US6317857B1 (en) * 2001-01-12 2001-11-13 Hewlett-Packard Company System and method for utilizing checksums to recover data
US6665830B2 (en) * 2001-01-31 2003-12-16 Hewlett-Packard Development Company, L.P. System and method for building a checksum
US6898668B2 (en) 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
GB0610335D0 (en) * 2006-05-24 2006-07-05 Oxford Semiconductor Ltd Redundant storage of data on an array of storage devices
US20090024900A1 (en) * 2007-07-18 2009-01-22 Cisco Technology, Inc. Cyclic redundancy checking in lane-based communications
US9665442B2 (en) * 2010-03-29 2017-05-30 Kaminario Technologies Ltd. Smart flushing of data to backup storage
JP6005533B2 (ja) * 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2472234A1 (fr) * 1979-12-21 1981-06-26 Philips Ind Commerciale Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
FR2476349A1 (fr) * 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
CA1296103C (en) * 1987-06-02 1992-02-18 Theodore Jay Goodlander High-speed, high capacity, fault-tolerant, error-correcting storage system
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
US4989205A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory

Also Published As

Publication number Publication date
EP0453194A2 (en) 1991-10-23
DE69112110T2 (de) 1996-05-02
EP0453194B1 (en) 1995-08-16
US5130992A (en) 1992-07-14
DE69112110D1 (de) 1995-09-21
JPH07110776A (ja) 1995-04-25
EP0453194A3 (en) 1992-11-04

Similar Documents

Publication Publication Date Title
JPH0785227B2 (ja) 並列計算システムにおける冗長パリティ保護方法
US7509525B2 (en) Technique for correcting multiple storage device failures in a storage array
JP3396136B2 (ja) 記憶装置障害保護方法、試験方法、パリティ等割り当て方法、および、保護システム
US6970987B1 (en) Method for storing data in a geographically-diverse data-storing system providing cross-site redundancy
US7437652B2 (en) Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
US8086937B2 (en) Method for erasure coding data across a plurality of data stores in a network
JP3071017B2 (ja) 冗長アレイ・システムにおける冗長情報の復元方法および制御システム
US7409625B2 (en) Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
JP3742494B2 (ja) 大容量記憶装置
EP0485110B1 (en) Logical partitioning of a redundant array storage system
EP0469924A2 (en) Method for balancing the frequency of DASD array accesses when operating in degraded mode
US6546499B1 (en) Redundant array of inexpensive platters (RAIP)
EP0768605A2 (en) Reconstructing data blocks in a RAID array data storage system having storage device metadata and RAIDset metada
JPH04230512A (ja) Dasdアレイのための更新記録方法及び装置
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
JPH06500186A (ja) ディスク・アレイ・システム
JPH0769873B2 (ja) コンピユータのためのメモリ装置及びメモリ構成方法
EP1535154A1 (en) Using file system information in raid data reconstruction and migration
JPH04233025A (ja) パリティ保護データを回復するための方法および装置
JP2018508073A (ja) データ除去、割り当て、及び再構築
US6871317B1 (en) Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
JP2002323991A (ja) パリティセグメント計算方法
US6427212B1 (en) Data fault tolerance software apparatus and method
WO2005052855A2 (en) Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array