JP2959901B2 - 記憶装置の冗長アレイおよびオンライン再構成方法 - Google Patents
記憶装置の冗長アレイおよびオンライン再構成方法Info
- Publication number
- JP2959901B2 JP2959901B2 JP3339291A JP33929191A JP2959901B2 JP 2959901 B2 JP2959901 B2 JP 2959901B2 JP 3339291 A JP3339291 A JP 3339291A JP 33929191 A JP33929191 A JP 33929191A JP 2959901 B2 JP2959901 B2 JP 2959901B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- data block
- data
- block
- changed
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
データ記憶装置,特に,冗長アレイシステム内の故障記
憶装置のオンライン再構成方法に関する。
央処理装置(以下,CPUと呼ぶ)に直接接続される,
又は制御装置と回線を通して接続される1つ以上の記憶
装置を含む。これらの記憶装置の機能は,CPUが特定
のデータ処理タスクを遂行するに当たり使用するデータ
及びプログラムを記憶することである。
々の型式の記憶装置が使用される。典型的なシステム
は,データを記憶するためにそれぞれの制御装置を通し
てこのシステムに接続される1つ以上の大容量テープ装
置及び(又は)ディスク装置(磁気,光学,又は半導体
ディスク装置)を含む。
置の1つが故障するならば,その装置に含まれた情報が
そのシステムにとってもはや利用可能ではなくなるとい
うような問題が存在する。
るという課題を解決するいくつかの方法を提案してい
る。記憶が比較的少量であるシステムにおいては,記憶
装置内に記憶された各データに付加されている誤り訂正
コード(ECC)シンドロームビットを発生する誤り訂
正コードを使用することが,可能である。このようなコ
ードで以て,誤まって読み出される少量のデータを訂正
することが可能である。しかしながら,このようなコー
ドは,誤りのある長い記録を訂正する又は再生するに
は,一般に適しておらず,もし丸ごと記憶装置が故障し
ているならば全く修復を施し得ない。したがって,個々
の記憶装置の外部にデータ信頼性を備える必要性が存在
する。
手法は,先行技術に記載されている。米国,バークレ
イ,カルフォルニヤ大学の研究グループは,“安価なデ
ィスクの冗長アレイ(RAID)の場合(A Case for R
edundant Arrays of Inexpensive Disks (RAID)”と題
する論文,ペターソン(Partterson)他,米国計算機学
会データ管理専門グループ技術報告(Proc. ACM SIGMO
D)1988年6月号において記憶装置としてディスク
装置を使用するときこのような信頼性を備えるためのか
なりの数の異なる手法を挙げている。ディスク装置のア
レイは,(安価なディスクの冗長アレイに対する)頭辞
語“RAID”の下に,5つのアーキテクチャの1つで
特徴付けられている。
記憶装置の二重集合を備えかつ記憶装置の各対上の全て
のデータの二重複写を維持することを含む。このような
解決は信頼性の問題を解決するけれども,記憶コストを
倍増する。RAID1アーキテクチャのいくつかは,す
でに作成されいる。特に,タンデム社(Tandem Corpor
ation)によって作成されている。
ク装置上に,各データ語の各ビットに加えて,各語に対
する誤り検出及び訂正(以下,EDCと呼ぶ)ビットを
記憶する(これは,“ビットストリッピング”としても
知られている)。例えば,フローラ(Flora )他に交付
さた米国特許第4,722,085号は,異常に広い障
害許容範囲及び極めて広いデータ転送帯域幅を有する大
規模,大容量ディスク装置として機能するように,複数
の比較的小形の独立に動作するディスクサブシステムを
使用するディスク装置メモリを開示している。データ編
成装置は,7EDCビット(周知のハミングコードを使
用することによって決定される)を各32ビットデータ
語に付加して,EDC能力を備えるようにしている。こ
の結果の39ビット語は,ディスク装置当たり1ビット
ずつ,39のディスク装置に書き込まれる。もしこれら
のディスク装置の1つが故障するならば,各39ビット
語の残りの38ビットは,各データ語がこれらのディス
ク装置から読み出される際に,語から語へ各32ビット
データ語を再構成するように使用され,これによって故
障許容範囲を得るようにしている。
大のコンピュータが32ビット語を使用するから)最小
システムに要求されるディスク装置の大きな数及びED
Cビット記憶するのに要求されるディスク装置の比較的
高い比である(7対39)。さらに,RAID2アーキ
テクチャのディスク装置メモリシステムの制約は,個々
のディスク装置アクチュエータが各データブロックの書
込み動作に一致して動作させられ,このブロックのビッ
トがこれらのディスク装置の全てに亘り分布されるとい
うことである。この配置が広いデータ転送帯域幅を有す
るのは,個々のディスク装置がデータブロックの部分を
転送し,その正味効果として,単一ディスク装置がこの
ブロックをアクセスするとしたならば要するであろうよ
りは遥かに速く全ブロックがそのコンピュータシステム
に利用可能とされるからである。このことは,大形デー
タブロックに対しては有利である。しかしながら,この
配置は,また反面,全記憶装置に対して単一読出し書込
みヘッドアクチュエータのみしか有効に備えられない。
この“単一”アクチュエータによって一時に1つのデー
タファイルしかアクセスすることはできないから,この
ことが,データファイルが小形のときにこのディスク装
置のアレイのランダムアクセス性能に不利に影響する。
それゆえ,多数の小形データファイルへの極めて多数の
ランダムアクセスが大量のデータ記憶及び転送動作を含
む銀行,金融,及び予約システムにおけるような,オン
ライントランザクション処理(以下,OLTPと呼ぶ)
に対して設計されたコンピュータシステムに対して,R
AID2アーキテクチャシステムは,一般に,適当であ
るとは考えられない。
装置が故障又はデータ誤りを検出する内部手段を有する
という構想に基づいている。したがって,誤り箇所を検
出する追加情報を記憶する必要はなく,簡単な形のパリ
ティに基づく誤り訂正を使用することができる。この手
法においては,故障を受けた全ての記憶装置の内容が,
“排他的論理和(以下,XORと呼ぶ)”される結果,
パリティ情報を発生する。この結果のパリティ情報は,
単一冗長記憶装置に記憶される。もし1つの記憶装置が
故障するならば,この装置上のデータを,残りの記憶装
置からのデータとパリティ情報とをXORすることによ
って置換記憶装置上に再構成することができる。このよ
うな配置は,1つの追加記憶装置のみが“N”の記憶装
置に対して要求されるに過ぎないという点においてミラ
ーディスク記憶装置RAID1アーキテクチャより有利
である。RAID3アーキテクチャのさらに態様は,デ
ィスク装置が,RAID2アーキテクチャシステムと同
じように結合されて動作させられ,かつ単一ディスク装
置がパリティ装置として指定されるということである。
は,マイクロポール社並列駆動装置アレイ(Micropolls
Corporation Pararell Drive Array ),モデル1
804SCICであり,これは4つの並列,同期化ディ
スク装置及び1つの冗長パリティ装置を使用する。これ
ら4つのディスク装置の1つの故障は,このパリティ装
置上に記憶されているパリティビットを使用することに
よって修復される。RAID3アーキテクチャシステム
の他の例は,オーウチ(Ouchi )に交付された米国特許
第4,092,732号に記載されている。RAID3
アーキテクチャのディスク装置メモリシステムは,RA
ID2アーキテクチャシステムよりも遥かに低い冗長装
置対データ装置比を有する。しかしながら,RAID3
アーキテクチャシステムは,個々のディスク装置アクチ
ュエータが結合され,一致して動作させられるという点
において,RAID2アーキテクチャシステムと同じ性
能を有する。この“単一”アクチュエータによって一時
に1つのデータファイルしかアクセスすることはできな
いから,このことが,データファイルが小形のときにこ
のディスク装置のアレイのランダムアクセス性能に不利
に影響する。したがって,RAID3アーキテクチャシ
ステムは,OLTP目的に設計されたコンピュータに対
しては,一般に,適当であると考えられない。
アーキテクチャと同じパリティ誤り訂正構想を使用する
が,しかし,個々のディスク装置アクチュエータの動作
を“非結合する”,及び各ディスクに対する比較的大き
い最少量のデータ(典型的には,ディスクセクタ)を読
み出し書き込みする(これはブロックストリッピングと
しても知られている)ことによって,小形ファイルのラ
ンダム読出しに関してRAID3アーキテクチャの性能
を改善している。RAID4アーキテクチャのさらに態
様は,単一記憶装置がパリティ装置として指定されると
いうことである。
は,独立に動作するデータ記憶装置のどれかへのデータ
ブロックの書込みが,そのパリティ装置への新しいパリ
ティブロックの書込みを必要とすることである。このパ
リティ装置に記憶されたパリティ情報を読み出し,かつ
(古いデータの内容情報を“除去”するために)古いデ
ータとXORし,次いで,(新しいパリティ情報を生じ
るために)この結果の和を新しいデータとXORしなけ
ればならない。次いで,このデータとパリティ記録をこ
のディスク装置に書き込まなければならない。このプロ
セスは,普通,“読出し−変更−書込み”シーケンスと
呼ばれる。
パリティによって適用を受けるデータ記憶装置のどれか
の上で記録が変化しても,その各度に単一パリティ装置
上での読出し及び書込みが起こる。多重データ記憶装置
の並列動作によって与えられる高速アクセス速度に反し
て,時間単位当たり行われる記録の変化数はこのパリテ
ィ装置のアクセス速度の関数であるから,このパリティ
装置はデータ書込み動作の隘路になる。この制約のゆえ
に,RAID4アーキテクチャシステムは,OLTP目
的に設計されたコンピュータシステムに対して,一般
に,適当であるとは考えられない。事実,確かであるの
は,RAID4アーキテクチャシステムがいかなる商用
目的にも実現されていないということである。
AID4アーキテクチャシステムと同じパリティ誤り訂
正構想を使用するが,データ及びパリティ情報を利用可
能なディスク装置の全てに亘り分布することによってR
AID4アーキテクチャシステムの書込み性能を改善し
ている。典型的に,1つの集合内の“N+1”の記憶装
置(“冗長グループ”としても知られている)は,ブロ
ックと称される複数の同等の寸法のアドレス領域に分割
される。各記憶装置は,一般に,同じ数のブロックを含
む。同じ記憶装置アドレス値域を有する冗長グループ内
の各記憶装置からのブロックは,“ストライプ”と称さ
れる。各ストライプは,Nのデータブロックに加えて,
1つのパリティブロックを1つの記憶装置上に有し,こ
のパリティブロックはこのストライプの残りの部分に対
するパリティを含む。さらに,ストライプは,各々,パ
リティブロックを有し,これらのパリティブロックは互
いに異なる記憶装置上に分布されている。したがって,
冗長グループ内のデータの各変更に関連したパリティ更
新活動は,異なる記憶装置に亘り分布される。単一記憶
装置が,パリティ更新活動の全てを負担するということ
はない。
D5アーキテクチャシステムにおいて,ブロックの第1
ストライプに対するパリティ情報は第5ディスク装置に
書き込まれ,ブロックの第2ストライプに対するパリテ
ィ情報は第4ディスク装置に書き込まれ,ブロックの第
3ストライプに対するパリティ情報は第3ディスク装置
に書き込まれる,等々である。後続ストライプに対する
パリティブロックは,典型的に,ら旋パターン(もっと
も他のパターンも使用されるが)に従ってこれらのディ
スク装置をたどって,“首振り運動前進”する。
ために単一ディスク装置が使用されることはなく,RA
ID4アーキテクチャの隘路は除去される。RAID5
アーキテクチャシステムの例は,クラーク(Clark )他
に交付された米国特許第4,761,785号に記載さ
れている。
るように,RAID5アーキテクチャシステムの制約
は,データブロック内の変化が,2つの読出し動作及び
2つの書込み動作を含む読出し−変更−書込みシーケン
スを必要とするということ,すなわち,古いパリティブ
ロック及び古いデータブロックを読み出しかつXORし
なければならず,次いで,この結果の和を新しいデータ
とXORしなければならないということである。次い
で,データブロック及びパリティブブロックの両方を,
これらのディスク装置に再書込みしなければならない。
2つの読出し動作を並列に行うことができ,同じように
2つの書込み動作もできるけれども,RAID4又はR
AID5アーキテクチャシステムにおけるブロックの変
更は,依然として従来ディスク上におけるのと同じ動作
よりも実質的に長くかかる。従来ディスクは,予備読出
し動作を要せず,したがって,書込み動作を遂行するた
めに,先の位置への戻り回転をディスク装置に待機させ
なければならない。この回転待ち時間だけで,典型的デ
ータ変更動作に要する時間の約50%に達することがあ
る。さらに,2つのディスク装置が各データ変更動作の
所用時間中に動作に係わり,これが全体としてそのシス
テムの処理能力を制約する。
AID5アーキテクチャシステムは,これらが,冗長に
対する低間接費,優れた読出し性能,及び優れた書込み
性能を備えることから,ますます一般化している。
ンピュータシステム内に特に利用されている。多くのO
LPTシステムは,高稼働率システムでなければなら
ず,このことは,そのシステムの全面的故障が低確率で
あるということを意味する。高稼働率は,構成要素の故
障がシステムケイパビリティを低下することはあって
も,しかしシステム全体の故障は起こすには至らない所
の,低平均修復時間(MTTR)を持つ耐故障設計,及
び“ステージ形”劣化設計を有する高信頼性構成要素を
使用することによって,達成される。
は耐故障であるが,このようなケイパビリティのみでは
高稼働率システムを保証しない。もしある記憶装置が故
障するならば,その故障記憶装置が置換されかつこの装
置上の情報が回復されるまでは,全体システム動作は継
続することができない。ある記憶装置がRAIDアーキ
テクチャ内で故障すると,その技術の教示する所によれ
ば,置換記憶装置がこの故障記憶装置に対して代入され
(1つ以上の予備装置の集合から手動又は電子的のいず
れかでスイッチ挿入されて),かつその冗長グループ内
の残りの記憶装置からの各パリティブロックを全ての対
応するデータブロックとXORすることによってこの置
換記憶装置上に“喪失”データが再構成される。この動
作は,もし冗長グループ全体がこの故障装置の再構成に
専用されるならば,直線的である。しかしながら,確か
であるのは,この技術が,全体システム動作を開始でき
る前に分離手順として置換記憶装置上にデータを回復す
ることを教示又は提案しているということである。この
ような再構成方法は,高稼働率を提供することはない。
いる限り,上の技術は冗長グループ全体へのオンライン
アクセスの実施を続ける間に,RAIDアーキテクチャ
内の故障記憶装置を再構成することを教示していない。
続行している間に,故障記憶装置の再構成を“オンライ
ン”で行うことのできるRAIDアーキテクチャシステ
ムを得ることが,高く要望されている。また,再構成動
作の進行中に停電があっても耐えることができ,CPU
に対して決して不良データを正常データとして与えない
ことが要望される。
る。
アーキテクチャデータ記憶装置のオンライン再構成方法
を提供する。その故障記憶装置に対する置換記憶装置を
供給した後,再構成タスクがそのアレイに対して開始す
る。一般的再構成は,(データブロックとこれに対応す
るパリティブロック又はリードソロモンコードとのXO
R動作のような)誤り訂正動作をその冗長グループ内の
残り記憶装置からのデータブロックに加え,かつその結
果をこの置換記憶装置の対応するブロック内に記憶する
ことを含む。
置換記憶装置上のデータブロックに対して要求されるな
らば,並列読出しタスクが実行され,これがこの要求さ
れたデータブロックを含むストライプを再構成する。
置換記憶装置上にないデータブロックに対して要求され
るならば,並列読出しタスクが実行され,これが通常読
出し動作を実行する。
に対して要求されるならば,並列書込みタスクが実行さ
れ,これが一般的場合の読出し−変更−書込みシーケン
スを遂行する(その読出し動作は上述の規則に従い遂行
される)。
換記憶装置上のデータブロックが有効であり,かつ直接
に読み出すことができる場合でも,上記の手順は実現す
るのに容易かつ簡単であり,これは,要求されたデータ
ブロックがそのストライプ“より上”にあるか否かの追
跡する必要がないからである。しかしながら,本発明の
代替実施例においては,その再構成ストライプに関する
要求されたデータブロックの位置は追跡され,かつ再生
構成はその再構成ストライプより上にないデータブロッ
クに対してのみ遂行される。
動作の一般規則は,要求されたデータブロックのうちの
どれかが一般的再構成プロセスによって実際に再構成さ
れたかどうかにかかわらず,その置換記憶装置上からの
全ての読出し動作がこれらの要求されたデータブロック
の全ての再構成を実行中必要とするということにある。
全ての書込み動作は,一般の場合の読出し−変更−書込
みシーケンスにおいて進行するが,この動作の読出し部
分は上記の規則に従い実行される。
に,かつ特にその置換記憶装置に読出し書込み動作を可
能とし続けなる間に,故障記憶装置のデータの全てをそ
の置換記憶装置上で再構成する信頼性ある方法を提供す
る。フラッグの使用は,一般的再構成プロセスの異常終
端の検出を可能とする。この再構成は,初期再構成開始
点,又は随意選択的に異常終端点のいずれかにおいて再
開することもできる。本発明の好適実施例の詳細は,付
図を参照して,以下の記述において説明される。本発明
の詳細がいったん知れられたならば,多数のその追加新
規性及び変更は当事者にとって明白である。
同様の要素を指示する。
本発明の方法に対する限定としてではなく,例として考
えられなけばならない。
キテクチャシステムのブロック線図である。CPU
(1)は,バス(2)によってアレイ制御装置(3)に
結合される。アレイ制御装置(3)は,入出力バス(例
えば,SCSIバス)によって複数の記憶装置(S1)
〜(S5)(例としてのみ5つの装置が示されている)
の各々に結合される。アレイ制御装置(3)は,好適に
は,分離プログラム可能,多重タスクプロセッサ(例え
ば,米国,カルフォルニヤ州,サニーベール(Sunnyval
e)のMIPS社(MIPS Corporation)によって製造さ
れたMIPSR3000 RISC)を含み,このプロ
セッサはCPU(1)から独立に働いてこれらの記憶装
置を制御する。
の冗長グループにグループ化される。下に説明される図
示の例においては,この冗長グループは,説明の簡単の
ために,記憶装置(S1)〜(S5)の全てを含む。
って実行される多重タスクコンピュータプログラムとし
て実現され,図2のA〜EはRAID5アーキテクチャ
システムのモデルの線図である。図3は,本発明の好適
実施例の一般的再構成プロセスのステップを表す高レベ
ル流れ図である。図4は,本発明の好適実施例の読出し
動作のステップを表す高レベル流れ図である。図5は,
本発明の好適実施例の書込み動作のステップを表す高レ
ベル流れ図である。図3〜図5の好適実施例は,下に参
照される。
ステムのモデルの線図である。図示のアレイは,5つの
記憶装置(S1)〜(5)を含む。各行(A)〜(H)
はストライプである。パリティ情報は丸で囲われた番号
によって指示され,かつこのアレイを通して拡がってい
る。パリティ情報分布の1パターンが示されているけれ
ども,本発明はいかなる分布をも含む。簡単のためにス
トライプ内の各記憶装置ごとに1ビット“ブロック”が
示されている。各ブロックは,代わりに,バイト,セク
タ,又はセクタのグループのような,他のいかなる寸法
単位であることもできる。好適実施例においては,各ブ
ロックは寸法上少なくとも1ブロックである。
ルを示すが,しかし記憶装置(S1)が故障している
(ダッシュ記号は崩壊データを示す)。記憶装置(S
2)〜(S5)についての各ストライプのXORは図2
のAに示された記憶装置(S1)の喪失データに等しい
ということに注意されたい。
を示すが,しかし故障記憶装置(S1)が置換記憶装置
(S1′)によって置換されている。この置換は,物理
ベースにおいてか(すなわち,新しい記憶装置が故障記
憶装置に物理的に代入される),又は論裡ベースにおい
てか(すなわち,制御装置(3)と連絡している予備記
憶装置が電子的に動作にスイッチ挿入される)である。
図示の実施例においては,置換記憶装置(S1′)は,
×で示されるように,いかなる特定のデータパターンに
も初期化されておらず,しかし,この上にいかなる情報
パターンをも持つことができる。
憶装置(S1)に代入されると,一般的再構成プロセス
はタスクとして開始される(図3,ステップ30)。置
換記憶装置(S1′)は,この記憶装置が“再構成中”
でありかつ再構成されつつあることを表示するように内
部的にマークされる(ステップ31)。
ここで,ストライプDは再構成されたストライプとして
ハイライトされて示されている。好適実施例において
は,ストライプの再構成を要求する書込み動作は再構成
ストライプに対しては行われ得ない,これは,再構成が
行われている間の変化を禁止するために,周知のよう
に,このストライプが“ロック”されるゆえである(ス
テップ32)。したがって,この書込み動作は,このス
トライプが再構成されるまで遅延される。
びパリティブロックは,各ストライプ(A)〜(H)ご
とに記憶装置(S2)〜(S5)から読み出され,XO
Rされ,かつ各ストライプからのその結果が置換記憶装
置(S1′)の対応するブロックに記憶される(ステッ
プ33)。図2に示された例においては,このプロセス
はストライプ(A)において開始し,ストライプ(H)
においてそれらの記憶装置の終端へ進行する。しかしな
がら,再構成のいかなるパターン(例えば,ストライプ
を交互にたどる)で以て,いかなる代替の開始点を使用
することもできる。
トライプをアンロックし(ステップ34)し,かつ再構
成ストライプを進める(ステップ35)。もし再構成が
完了しなければ(ステップ36),一般的再構成プロセ
スは,図2のEに示されるように,全置換記憶装置(S
1′)全体が再構成されるまで,続けられる(ステップ
32)。一般的再構成プロセスが完了したとき(ステッ
プ36),置換記憶装置(S1′)は“再構成中でな
い”とマークされ(ステップ37),通常動作をする
(ステップ38)。
かの原因で中断されたならば,“再構成中でない”とし
て置換記憶装置(S1′)をマークする最後のステップ
は完了しない。したがって,このような異常終了を検出
することができる。このような場合,制御装置(3)
は,いかなるデータも喪失することなく,最初からこの
再構成プロセスを再開始する。この結果,すでに訂正さ
れているデータを有するストライプを訂正するが,しか
し,このやり方は,データが再構成されていないとき,
このデータが正常であるとは決して表示することはな
い。
セクション(例えば,ディスク装置の各シリンダ)が再
構成された後,この置換記憶装置(S1′)内(又は所
望ならば他のどこか)のフラッグフィールドが再構成さ
れた最後のセクションを表示するように内部的にマーク
される。異常終端の後,この再構成プロセスは,この最
後に表示されたセクションの後に再開始され,これによ
って再構成時間を節約する。
行することができるが,しかしコンピュータシステムに
対するなんらかの性能劣化を伴うおそれがある。下に説
明されるように,一般的再構成プロセスは,CPU
(1)によって要求される読出し又は書込み動作を可能
にするように割込みされることもできる(ステップ3
3,35)。このような割込みは,好適には,周知のよ
うに並列タスクによって実現される。しかしながら,本
発明は,並列及び(又は)割込み駆動入出力動作のいか
なる手段をも含む。以下は,このような読出し及び書込
み動作の好適実施例の説明である。
が要求されるならば,読出しプロセスが,独立のしかし
並列タスクとして開始する(図4,ステツプ40)。こ
のことは,再構成タスクが実行を継続するということ,
しかし読出しタスク及び再構成タスクとは,周知よう
に,システム資源を競い合うということを意味する。
の不注意改変が再構成を行わせることを禁止するために
その再構成ストライプをロックする(ステップ41)。
もし読出し要求が置換(又は“新しい”)記憶装置(S
1′)上にないデータブロックに対してならば(ステッ
プ42),制御装置(3)は通常読出し動作を実行しか
つそのデータブロックをCPU(1)へ転送する(ステ
ップ43)。他の記憶装置(図2の例におけるS2〜S
5)からのデータは正しいゆえに,性能損失は起こらな
い。制御装置(3)は,次いで,再構成ストライプをア
ンロックし(ステップ44),かつ読出しタスクが終了
する(ステップ45)。
し動作が置換記憶装置(S1′)上にあるデータブロッ
クに対してならば(ステップ42),手順は上と異な
る。制御装置(3)は,上の代わりに,要求されたデー
タブロックを含むストライプを“実行中”再構成する。
制御装置(3)は,そのストライプ内の他のデータブロ
ックの全て及び対応するパリティブロックを読み出す
(ステップ47)。これらのブロックは,次いでXOR
されて,訂正されたデータブロックを発生し,これが制
御装置(3)を経由してCPU(1)へ転送される(ス
テップ48)。その後,制御装置(3)は,再構成スト
ライプをアンロックし(ステップ44),読出しタスク
が終了する(ステップ45)。図2のDは,読出しのこ
れら両方の場合を示す。ハイライトで示されたストライ
プ(D)は,再構成ストライプである。もし読出し要求
がデータブロック(A−S2)に対して示されるなら
ば,制御装置(3)はストライプ(A)内の記憶装置
(S2)にアクセスして,この記憶装置から2進の0を
直接読み出し,これがCPU(1)へ転送される。
タブロック(H−S1)に対してなされるならば,制御
装置(3)はストライプ(H)内の記憶装置(S2)〜
(S5)にアクセスして,これらのデータブロックの全
てを読み出す。これらのデーブロックは,次いで,XO
Rされて2進の0を発生し,これがCPU(1)へ転送
される。
(A−S1)に対してなされるならば,制御装置(3)
はストライプ(A)内の記憶装置(S2)〜(S5)に
アクセスして,これらのデータブロックの全てを読み出
す。これらのデーブロックは,次いで,XORされて2
進の1を発生し,これがCPU(1)へ転送される。
は全ての読出し動作に対して,たとえCPU(1)がす
でに再構成されているストライプから読み出しをしつつ
ある,したがって,CPU(1)がそのデータを直接読
み出すことがあったとしても,そのデータは再構成によ
つて常に訂正される。正常なデータを訂正するに要する
追加時間は,再構成中に生じるだけであり,まれにしか
起こらない。このやり方は,データ記憶サブシステム
に,要求されたデータブロックが再構成ストライプ“よ
り上”にあるか否かの追跡をすることを要せず,常に正
しいデータを維持及び提供することを可能とする。代替
的に,読出しタスクは,要求されたデータが再構成スト
ライプ“より上”にあるか否かの追跡を行う。図4を参
照すると,制御装置(3)は要求されたデータブロック
が置換記憶装置(S1′)上にあることを判定した(ス
テップ42)後に,制御装置(3)は,記憶装置(S
1)内の要求されたデータブロックの位置をその再構成
ストライプ上の現行位置と比較する(ステップ46,破
線により随意選択可能として表されている)。もし要求
されたデータブロックが再構成ストライプ“より上”に
ないならば,制御装置(3)は,要求されたデータブロ
ックを含むストライプを,このストライプ“より上”の
他のデータブロックの全てと,これらに対応するパリテ
ィブロックとを読み出し,これらをXORすることによ
って,“実行中”再構成する(ステップ47及び4
8)。しかしながら,もし要求されたデータブロックが
再構成ストライプ“より上”にあるならば,このデータ
ブロックは,すでに,再構成されている。したがって,
制御装置(3)は,このデータブロックの通常読出しを
実行して,そのデータブロックをCPU(1)へ転送す
る(ステップ43)。このやり方は要求されたデータブ
ロックが再構成ストライプ“より上”にあるか否かの追
跡を必要とするけれども,その置換記憶装置上に先に記
憶されたデータブロックの分だけ時間が節約される。
が要求されるならば,書込みプロセスが,独立のしかし
並列タスクとして開始する(図5,ステップ50)。こ
のことは,再構成タスクが実行を継続するということ,
しかし書込みタスクと再構成タスクとは,周知のよう
に,システム資源を競い合うということを意味する。
イプが不用意に改変されないようにその再構成ストライ
プをロックする(ステップ51)。もし書込み要求が置
換記憶装置(S1′)上にないデータブロックとこれに
対応するパリティブロックとに対してであるならば(ス
テップ52),制御装置(3)は通常の読出し−変更−
書込みシーケンスを実行する。すなわち,古いパリティ
ブロックと古いデータブロックとがそのアイレから読み
出され(ステップ53),そしてその古いデータブロッ
クを“減算”(XOR)して新しいデータブロクを“加
算”(XOR)することによってこのパリティブロック
が変更される(ステップ54)。次いで,この新しいパ
リティブロックと新しいデータブロックが,このアレイ
に書き込まれる(ステップ55)。みの書込み動作の完
了後,制御装置(3)は,再構成ストライプをアンロッ
クし(ステップ56),そして書込みタスクが終了する
(ステップ57)。
応するデータブロックが訂正されているか否かは,どう
でもよいことである。要求されたデータブロック及びそ
のパリティブロックが置換記憶装置(S1′)上にない
ゆえに,読出し−変更−書込みシーケンスの読出し部分
はそのデータを再構成する必要はない。したがって,本
質的に,性能損失は起こらない。
み動作が置換記憶装置(S1′)上にあるデータブロッ
ク又はそのパリティブロックのいずれかに対してである
ならば(ステップ42),手順は上と異なる。制御装置
(3)は,上の代わりに,そのストライプ内の他のデー
タブロックの全てを読み出し(ステップ58)てこれら
をXORする(ステップ59)ことによってこのストラ
イプに対するパリティブロックを“実行中”計算する。
次いで,新しいデータブロックがこの計算されたパリテ
ィブロックとXORされて新しいパリティブロックを発
生する(ステップ60)。この新しいデータブロックで
古いデータブロック書き替え,かつ新しいパリティブロ
ックで古いパリティブロックを書き替える(ステップ5
5)。この書込み動作の完了後,制御装置(3)は,再
構成ストライプをアンロックし(ステップ56),書込
みタスクが終了する(ステップ57)。
置換記憶装置(S1′)上のブロックをまず再構成す
る。制御装置(3)は,このストライプ内の他のブロッ
クの全てを読み出し(ステップ61)てこれらをXOR
する(ステップ62)。その結果は,置換記憶装置(S
1′)に記憶されるか(ステップ62)又は一時記憶装
置に記憶される。この再構成ブロックは,次いで,通常
の読出し−変更−書込みシーケンスに使用される(ステ
ップ53〜54)。
についての上述の議論は,ストライプ内のブロックの全
てより少ないブロックが変更される一般的な場合に係わ
っているということである。ストライプ内の全てのブロ
ックが変更される特殊な場合においては,読出し−変更
−書込みシーケンスは,必要ない。すなわち,そのスト
ライプに対するパリティブロックを全面的に新しいデー
タに基づいて計算することができるから,初期読出し動
作は必要ない。計算されたパリティブロック及び新しい
データブロックは,次いで,このストライプ上に単に記
憶される。厳密にいうと,そのストライプの“再構成”
は,遂行されない。
ライプへ書き込みをすれば,新しいデータが正しく記録
される。もしCPU(1)が未だ訂正されていないスト
ライプに書き込みすれば,再構成ストライプが新しいデ
ータを含むストライプに前進するとき,新しいデータが
正しく記録され,かつ,(もはや誤っていなくても)再
び再構成される。正常データを再訂正するに要する追加
の時間は,その再構成ストライプの前進する際に,その
再構成プロセス中にまれにしか起こらない。このやり方
は,データ記憶サブシステムに,要求されたデータブロ
ックが再構成ストライプ“より上”にあるか否かの追跡
をすることを要せず,常に正しいデータを維持及び提供
することを可能とする。
てすでに再構成されたかどうかを試験するための追加ス
テップが,再構成タスクに追加される(ステップ3
2)。もし再構成がすでに起こっているならば,現行再
構成ストライプがアンロックされて,処理は次のストラ
イプにおいて続行される(ステップ34及び35)。も
し再構成が起こらなかったならば,一般的再構成タスク
が実行を続行する(ステップ33)。
それにもかかわらず,本発明の精神と範囲から逸脱する
ことなく,種々な変更が可能であることは,いうまでも
ない。例えば,本発明は,RAID3,RAID4,又
はRAID5に使用可能である。さらに,XORで発生
されるパリティに追加して又はこれに代えて誤り訂正方
法が,必要な冗長情報に対して使用可能である。リード
−ソロモンコードを使用するこのような一つの方法は,
発明の表題“アレイされたディスク装置システム及び方
法(Arrayed Disk Drive System and Method)”を有
し,かつ本願の譲受者に譲受された1988年11月1
4日提出の米国特許出願第270,713号に記載され
ている。この米国特許出願によって教示される構造及び
方法で以て,本発明は,もしXOR及びリード−ソロモ
ン(又はその他のシステム)冗長の両方が使用されるな
らば,2つの記憶装置の喪失に適合可能である。したが
って,本発明は,特定の説明された実施例に限定される
べきではなく,前掲の特許請求の範囲によってのみ限定
されることは,いうまでもない。
システムのブロック線図である。
の図表であり,Aは初期状態,Bは故障記憶装置,Cは
初期化置換記憶装置,Dは部分的再構成された置換記憶
装置,Eは完全に再構成された置換記憶装置を示す。
を表す流れ図である。
図である。
図である。
Claims (15)
- 【請求項1】 一つの冗長グループをなす複数の記憶装
置が複数のストライプを記憶し,前記ストライプの各々
が前記冗長グループの記憶装置に亘って分布する複数の
データブロックと少なくとも1つの関連誤り訂正ブロッ
クとを含み,各ストライプにおける前記複数のデータブ
ロックと前記誤り訂正ブロックのそれぞれが相異なる記
憶装置上に存在する記憶装置群において, 前記冗長グループをなす複数の記憶装置の内の一つが利
用不能となった後に前記複数の記憶装置を動作させる オ
ンライン再構成方法であって, 前記利用不能となった記憶装置に対する置換記憶装置を
用意するステップと, 前記利用不能の記憶装置データブ
ロックおよび/または誤り訂正ブロックの再構成を前記
置換記憶装置上に開始するステップと, 再構成中に前記置換記憶装置からのデータに対する外部
要求に応答して,もし前記要求されたデータが前記置換
記憶装置上にすでに再構成されているならば,前記置換
記憶装置から前記要求されたデータを供給するステップ
とを含んでなる 方法。 - 【請求項2】 前記請求項1に記載のオンライン再構成
方法であって,前記外部からのデータ要求に応答するステップは,外部
プロセッサにより意図されたアクセスの目的である複数
のブロックを前記アクセスが可能なように構成するステ
ップを含むことを特徴とする 方法。 - 【請求項3】 前記請求項2に記載の方法であって,前記意図されたアクセスの目的である複数のブロックを
構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
タブロックをその上に新しいデータブロックを上書きす
ることにより変更する動作であるならば, 前記変更されるべきデータブロックを含む前記ストライ
プ内の前記少なくとも一つの関連誤り訂正ブロックを前
記新しいデータブロックおよび前記変更されるべきデー
タブロックに基づいて更新するステップと, 前記変更されるべきデータブロックを含むストライプ内
に前記更新された少なくとも一つの誤り訂正ブロックを
書き込むステップと, 前記新しいデータブロックを前記置換記憶装置上に書き
込むステップを含むことを特徴とする 方法。 - 【請求項4】 前記請求項3に記載の方法であって, もし前記変更されるべきデータブロックが再構成中のス
トライプ(A〜H)より上にあるならば, 変更されるべきデータブロックは前記置換記憶装置から
読み出されることを特徴とする 方法。 - 【請求項5】 前記請求項3に記載の方法であって,もし前記変更されるべきデータブロックが再構成中のス
トライプ(A〜H)より上にないならば, 変更されるべきデータブロックは実行中に再構成される
ことを特徴とする 方法。 - 【請求項6】 前記請求項2に記載の方法であって,前記意図されたアクセスの目的である複数のブロックを
構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
タブロックをその上に新しいデータブロックを上書きす
ることにより変更する動作であり,前記変更されるべき
データブロックを含むストライプが前記置換記憶装置上
に誤り訂正ブロックを有するならば, 前記少なくとも一つの関連誤り訂正ブロックを前記新し
いデータブロックおよび前記変更されるべきデータブロ
ックに基づいて更新するステップと, 前記変更されるべきデータブロックを含むストライプ内
に前記新しいデータブロックを書き込むステップと, 前記更新された少なくとも一つの誤り訂正ブロックを前
記置換記憶装置上に書き込むステップを含むことを特徴
とする 方法。 - 【請求項7】 前記請求項2に記載の方法であって,前記意図されたアクセスの目的である複数のデータブロ
ックを構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
タブロックを読み出す 動作であるならば, 前記置換記憶装置上の前記要求されたデータブロックに
アクセスするステップと, 前記要求されたデータブロックをプロセッサに提供する
ステップを含むことを特徴とする 方法。 - 【請求項8】 前記請求項1〜7に記載の方法であっ
て, 前記少なくとも一つの誤り訂正ブロックはパリティ情報
を含むことを特徴とする方法。 - 【請求項9】 一つの冗長グループをなす複数の記憶装
置が複数のストライプを記憶し,前記ストライプの各々
が複数のデータブロックと少なくとも1つの関連誤り訂
正ブロックとを含み,各ストライプにおける前記複数の
データブロックと前記少なくとも一つの誤り訂正ブロッ
クのそれぞれが相異なる記憶装置上に存在する記憶装置
の冗長アレイであって, 前記記憶装置の内の利用不能となった記憶装置に対する
置換記憶装置と, 前記置換記憶装置上に前記利用不能となった記憶装置の
データブロックおよび/または誤り訂正ブロックを再構
成するデータブロック再構成手段とを備えてなり, 前記冗長グループおよび記憶装置は,さらに,再構成中
に前記置換記憶装置に対する外部からのアクセス要求に
応答して,もし前記要求されたデータが前記置換記憶装
置上にすでに再構成されているならば,前記置換記憶装
置から前記要求されたデータを供給する手段とを備えて
なる記憶装置の冗長アレイ。 - 【請求項10】 前記請求項9に記載の記憶装置の冗長
アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
タを供給する手段は, もし前記意図されたアクセスが新しいデータブロックに
ついての書込み動作であるならば,前記変更されるべき
データブロックを含む前記ストライプ内の前記少なくと
も一つの誤り訂正ブロックを前記新しいデータブロック
および前記変更されるべきデータブロックに基づいて更
新する手段と, 前記変更されるべきデータブロックを含むストライプ内
に前記更新された少な くとも一つの誤り訂正ブロックを
書き込み,前記新しいデータブロックを前記置換記憶装
置上に書き込む手段を備えてなることを特徴とする記憶
装置の冗長アレイ。 - 【請求項11】 前記請求項9に記載の記憶装置の冗長
アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
タを供給する手段は, もし前記少なくとも一つの関連誤り訂正ブロックが前記
置換記憶装置上に位置するならば,前記変更されるべき
データブロックを含むストライプ内の前記少なくとも一
つの誤り訂正ブロックを前記新しいデータブロックおよ
び前記変更されるべきデータブロックに基づいて更新す
る手段と, 前記変更されるべきデータブロックを含むストライプ内
に新しいデータブロックを書き込み,前記更新された少
なくとも一つの誤り訂正ブロックを前記置換記憶装置上
に書き込む手段を備えてなることを特徴とする記憶装置
の冗長アレイ。 - 【請求項12】 前記請求項11に記載の記憶装置の冗
長アレイであって, さらに,変更されるべきデータブロックの位置を再構成
中のストライプの位置と比較する手段を備えてなり, もし変更されるべきデータブロックが再構成中のストラ
イプより上にあるならば,変更されるべきデータブロッ
クは前記置換記憶装置から読み出され,もし変更される
べきデータブロックが再構成中のストライプより上にな
いならば,変更されるべきデータブロックは,実行中に
再構成されることを特徴とする記憶装置の冗長アレイ。 - 【請求項13】 前記請求項9に記載の記憶装置の冗長
アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
タを供給する手段は, もし前記意図されたアクセスが読み出し動作であると
き,前記要求されたデータブロックにアクセスする手段
と, 前記要求されたデータブロックをプロセッサに提供する
手段を備えてなることを特徴とする記憶装置の冗長アレ
イ。 - 【請求項14】 前記請求項9に記載の記憶装置の冗長
アレイであって, さらに,前記再構成されたデータブロックを前記置換記
憶装置に書き込む手段 を備えてなることを特徴とする記
憶装置の冗長アレイ。 - 【請求項15】 前記請求項9〜14に記載の記憶装置
の冗長アレイであって, 前記少なくとも一つの誤り訂正ブロックはパリティ情報
を含むことを特徴とする記憶装置の冗長アレイ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/601,912 US5208813A (en) | 1990-10-23 | 1990-10-23 | On-line reconstruction of a failed redundant array system |
US601912 | 1990-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143471A JPH05143471A (ja) | 1993-06-11 |
JP2959901B2 true JP2959901B2 (ja) | 1999-10-06 |
Family
ID=24409250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3339291A Expired - Lifetime JP2959901B2 (ja) | 1990-10-23 | 1991-10-23 | 記憶装置の冗長アレイおよびオンライン再構成方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US5208813A (ja) |
EP (2) | EP0831400A3 (ja) |
JP (1) | JP2959901B2 (ja) |
AU (1) | AU8590491A (ja) |
CA (1) | CA2053692A1 (ja) |
DE (1) | DE69130279T2 (ja) |
Families Citing this family (355)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2603757B2 (ja) * | 1990-11-30 | 1997-04-23 | 富士通株式会社 | アレ−ディスク装置の制御方法 |
US6874101B2 (en) * | 1991-01-31 | 2005-03-29 | Hitachi, Ltd. | Storage unit subsystem |
JP3409859B2 (ja) | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
JP2923702B2 (ja) * | 1991-04-01 | 1999-07-26 | 株式会社日立製作所 | 記憶装置及びそのデータ修復方法 |
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 |
US5258984A (en) * | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
US5278838A (en) * | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
JP2880000B2 (ja) * | 1991-07-25 | 1999-04-05 | 三菱電機株式会社 | アレイ型ディスク駆動機構システム |
JP2913917B2 (ja) * | 1991-08-20 | 1999-06-28 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
US5522065A (en) * | 1991-08-30 | 1996-05-28 | Compaq Computer Corporation | Method for performing write operations in a parity fault tolerant disk array |
US5369758A (en) * | 1991-11-15 | 1994-11-29 | Fujitsu Limited | Checking for proper locations of storage devices in a storage array |
US5802264A (en) * | 1991-11-15 | 1998-09-01 | Fujitsu Limited | Background data reconstruction in a storage device array system |
US5974544A (en) * | 1991-12-17 | 1999-10-26 | Dell Usa, L.P. | Method and controller for defect tracking in a redundant array |
US5313626A (en) * | 1991-12-17 | 1994-05-17 | Jones Craig S | Disk drive array with efficient background rebuilding |
US5506977A (en) * | 1991-12-17 | 1996-04-09 | Dell Usa, L.P. | Method and controller for minimizing reads during partial stripe write operations to a disk drive |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5337322A (en) * | 1992-03-02 | 1994-08-09 | Acer Incorporated | Method of processing stored data containing parity data |
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 |
JPH06509896A (ja) * | 1992-05-12 | 1994-11-02 | セイコーエプソン株式会社 | スケーラブル・コプロセッサ |
US5471640A (en) * | 1992-07-06 | 1995-11-28 | Hewlett-Packard | Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n |
JP3181398B2 (ja) * | 1992-10-06 | 2001-07-03 | 三菱電機株式会社 | アレイ型記録装置 |
US5450415A (en) * | 1992-11-25 | 1995-09-12 | Matsushita Electric Industrial Co., Ltd. | Boundary scan cell circuit and boundary scan test circuit |
US5819109A (en) * | 1992-12-07 | 1998-10-06 | Digital Equipment Corporation | System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete |
US5689678A (en) * | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
US5574851A (en) * | 1993-04-19 | 1996-11-12 | At&T Global Information Solutions Company | Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations |
GB2278228B (en) * | 1993-05-21 | 1997-01-29 | Mitsubishi Electric Corp | An arrayed recording apparatus |
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 |
EP0701715A4 (en) | 1993-06-04 | 1999-11-17 | Network Appliance Corp | METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY |
US5581690A (en) * | 1993-06-29 | 1996-12-03 | Digital Equipment Corporation | Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system |
JP3249868B2 (ja) * | 1993-11-19 | 2002-01-21 | 株式会社日立製作所 | アレイ形式の記憶装置システム |
EP0660236B1 (en) * | 1993-11-30 | 1999-06-09 | Hitachi, Ltd. | Disc array system having disc storage devices dispersed on plural boards and accessible at withdrawal of part of the boards |
US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
US5530948A (en) * | 1993-12-30 | 1996-06-25 | International Business Machines Corporation | System and method for command queuing on raid levels 4 and 5 parity drives |
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 |
JP2846837B2 (ja) * | 1994-05-11 | 1999-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 障害を早期検出するためのソフトウェア制御方式のデータ処理方法 |
US5778167A (en) * | 1994-06-14 | 1998-07-07 | Emc Corporation | System and method for reassigning a storage location for reconstructed data on a persistent medium storage system |
US5657439A (en) * | 1994-08-23 | 1997-08-12 | International Business Machines Corporation | Distributed subsystem sparing |
JP3661205B2 (ja) * | 1994-09-09 | 2005-06-15 | 株式会社日立製作所 | ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法 |
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 |
US5581740A (en) * | 1994-10-04 | 1996-12-03 | Dell Usa, L.P. | System for reading CD ROM data from hard disks |
US5615352A (en) * | 1994-10-05 | 1997-03-25 | Hewlett-Packard Company | Methods for adding storage disks to a hierarchic disk array while maintaining data availability |
US5524204A (en) * | 1994-11-03 | 1996-06-04 | International Business Machines Corporation | Method and apparatus for dynamically expanding a redundant array of disk drives |
US5748885A (en) * | 1994-12-23 | 1998-05-05 | Emc Corporation | Method and apparatus for reduction of I/O operations in persistent storage system |
US5613085A (en) * | 1994-12-27 | 1997-03-18 | International Business Machines Corporation | System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism |
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 |
US5548712A (en) * | 1995-01-19 | 1996-08-20 | Hewlett-Packard Company | Data storage system and method for managing asynchronous attachment and detachment of storage disks |
JP2969251B2 (ja) * | 1995-01-26 | 1999-11-02 | 日本アイ・ビー・エム株式会社 | データ記憶システム及びデータ記憶システムのパリティ発生方法 |
JP3253473B2 (ja) * | 1995-01-27 | 2002-02-04 | 富士通株式会社 | 二重化された共用メモリの等価性回復処理方法および装置 |
US6467054B1 (en) | 1995-03-13 | 2002-10-15 | Compaq Computer Corporation | Self test for storage device |
JPH08263226A (ja) * | 1995-03-23 | 1996-10-11 | Toshiba Corp | 情報記憶装置 |
US5881249A (en) * | 1995-07-31 | 1999-03-09 | Hewlett-Packard Company | I/O bus |
EP0757351B1 (en) * | 1995-07-31 | 2001-08-16 | Hewlett-Packard Company, A Delaware Corporation | Computer frame structure with modular housings |
US5870630A (en) * | 1995-07-31 | 1999-02-09 | Hewlett-Packard Company | System for online SCSI drive repair utilizing detachable secondary I/O buses pigtailed to primary I/O bus wherein each secondary I/O bus has a length in excess of 100mm |
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 |
US5826001A (en) * | 1995-10-13 | 1998-10-20 | Digital Equipment Corporation | Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata |
US5809224A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | On-line disk array reconfiguration |
US5933592A (en) * | 1995-10-13 | 1999-08-03 | Digital Equipment Corporation | Promoting device level error to raidset level error to restore redundacy in a raid array data storage system |
US5961652A (en) * | 1995-10-13 | 1999-10-05 | Compaq Computer Corporation | Read checking for drive rebuild |
US5790775A (en) * | 1995-10-23 | 1998-08-04 | Digital Equipment Corporation | Host transparent storage controller failover/failback of SCSI targets and associated units |
US5862312A (en) * | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US6449730B2 (en) | 1995-10-24 | 2002-09-10 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US5708771A (en) * | 1995-11-21 | 1998-01-13 | Emc Corporation | Fault tolerant controller system and method |
JP2981482B2 (ja) * | 1995-12-06 | 1999-11-22 | 日本アイ・ビー・エム株式会社 | データ記憶システム、データ転送方法及びデータ再構成方法 |
US5805787A (en) * | 1995-12-29 | 1998-09-08 | Emc Corporation | Disk based disk cache interfacing system and method |
US5787242A (en) * | 1995-12-29 | 1998-07-28 | Symbios Logic Inc. | Method and apparatus for treatment of deferred write data for a dead raid device |
US5742752A (en) * | 1995-12-29 | 1998-04-21 | Symbios Logic Inc. | Method for performing a RAID stripe write operation using a drive XOR command set |
US5890214A (en) * | 1996-02-27 | 1999-03-30 | Data General Corporation | Dynamically upgradeable disk array chassis and method for dynamically upgrading a data storage system utilizing a selectively switchable shunt |
US5724501A (en) * | 1996-03-29 | 1998-03-03 | Emc Corporation | Quick recovery of write cache in a fault tolerant I/O system |
CA2201679A1 (en) | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Video data storage |
GB2312319B (en) * | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
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 |
US5819310A (en) * | 1996-05-24 | 1998-10-06 | Emc Corporation | Method and apparatus for reading data from mirrored logical volumes on physical disk drives |
US5857208A (en) * | 1996-05-31 | 1999-01-05 | Emc Corporation | Method and apparatus for performing point in time backup operation in a computer system |
US5764880A (en) * | 1996-09-10 | 1998-06-09 | International Business Machines Corporation | Method and system for rebuilding log-structured arrays |
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 |
WO1998021660A1 (en) * | 1996-11-14 | 1998-05-22 | Data General Corporation | Dynamically upgradeable disk array system and method |
US5875478A (en) * | 1996-12-03 | 1999-02-23 | Emc Corporation | Computer backup using a file system, network, disk, tape and remote archiving repository media system |
US6032224A (en) * | 1996-12-03 | 2000-02-29 | Emc Corporation | Hierarchical performance system for managing a plurality of storage units with different access speeds |
US6460123B1 (en) | 1996-12-03 | 2002-10-01 | Emc Corporation | Mirroring computer data |
US5926836A (en) * | 1996-12-03 | 1999-07-20 | Emc Corporation | Computer and associated method for restoring data backed up on archive media |
US6029231A (en) * | 1996-12-03 | 2000-02-22 | Emc Corporation | Retrieval of data stored on redundant disks across a network using remote procedure calls |
US5889933A (en) * | 1997-01-30 | 1999-03-30 | Aiwa Co., Ltd. | Adaptive power failure recovery |
JP3428350B2 (ja) * | 1997-03-14 | 2003-07-22 | 株式会社日立製作所 | 記憶装置システム |
US6154853A (en) * | 1997-03-26 | 2000-11-28 | Emc Corporation | Method and apparatus for dynamic sparing in a RAID storage system |
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 |
US5951691A (en) * | 1997-05-16 | 1999-09-14 | International Business Machines Corporation | Method and system for detection and reconstruction of corrupted data in a data storage subsystem |
US6571324B1 (en) * | 1997-06-26 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system |
US6021462A (en) * | 1997-08-29 | 2000-02-01 | Apple Computer, Inc. | Methods and apparatus for system memory efficient disk access to a raid system using stripe control information |
US6092215A (en) * | 1997-09-29 | 2000-07-18 | International Business Machines Corporation | System and method for reconstructing data in a storage array system |
US6151641A (en) * | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6032217A (en) | 1997-11-04 | 2000-02-29 | Adaptec, Inc. | Method for reconfiguring containers without shutting down the system and with minimal interruption to on-line processing |
JP2927282B2 (ja) * | 1997-11-06 | 1999-07-28 | 日本電気株式会社 | ディスクアレイ装置 |
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 |
US6505305B1 (en) * | 1998-07-16 | 2003-01-07 | Compaq Information Technologies Group, L.P. | Fail-over of multiple memory blocks in multiple memory modules in computer system |
US6343343B1 (en) | 1998-07-31 | 2002-01-29 | International Business Machines Corporation | Disk arrays using non-standard sector sizes |
US6272662B1 (en) | 1998-08-04 | 2001-08-07 | International Business Machines Corporation | Distributed storage system using front-end and back-end locking |
US6128762A (en) * | 1998-08-04 | 2000-10-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system with request forwarding |
US6279138B1 (en) | 1998-08-04 | 2001-08-21 | International Business Machines Corporation | System for changing the parity structure of a raid array |
US6446237B1 (en) * | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US6332197B1 (en) | 1998-08-04 | 2001-12-18 | International Business Machines Corp. | System for updating data in a multi-adaptor environment |
US6446220B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating data and parity data with and without read caches |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
GB2343265A (en) * | 1998-10-28 | 2000-05-03 | Ibm | Data storage array rebuild |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6493656B1 (en) * | 1999-02-26 | 2002-12-10 | Compaq Computer Corporation, Inc. | Drive error logging |
US6401214B1 (en) | 1999-03-04 | 2002-06-04 | International Business Machines Corporation | Preventive recovery action in hard disk drives |
US6466540B1 (en) | 1999-05-05 | 2002-10-15 | International Business Machines Corporation | Self-healing coupler for a serial raid device |
US6467048B1 (en) * | 1999-10-07 | 2002-10-15 | Compaq Information Technologies Group, L.P. | Apparatus, method and system for using cache memory as fail-over memory |
US6964008B1 (en) * | 1999-11-12 | 2005-11-08 | Maxtor Corporation | Data checksum method and apparatus |
GB0008319D0 (en) * | 2000-04-06 | 2000-05-24 | Discreet Logic Inc | Image processing |
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 |
US6941490B2 (en) * | 2000-12-21 | 2005-09-06 | Emc Corporation | Dual channel restoration of data between primary and backup servers |
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 |
US6799284B1 (en) | 2001-02-28 | 2004-09-28 | Network Appliance, Inc. | Reparity bitmap RAID failure recovery |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
GB2374749B (en) * | 2001-04-20 | 2005-04-06 | Discreet Logic Inc | Image data processing |
US6957351B2 (en) * | 2001-07-03 | 2005-10-18 | International Business Machines Corporation | Automated disk drive library with removable media powered via contactless coupling |
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 |
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 |
JP3723960B2 (ja) * | 2001-11-19 | 2005-12-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体 |
US7640484B2 (en) | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple 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 |
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 |
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 |
US7080278B1 (en) | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
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 |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks 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 |
US7120826B2 (en) * | 2002-03-29 | 2006-10-10 | International Business Machines Corporation | Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion |
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 |
US6857001B2 (en) * | 2002-06-07 | 2005-02-15 | Network Appliance, Inc. | Multiple concurrent active file systems |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7185144B2 (en) * | 2003-11-24 | 2007-02-27 | Network Appliance, Inc. | Semi-static distribution technique |
US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
US7111147B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Location-independent RAID group virtual block management |
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 |
US7143235B1 (en) | 2003-03-21 | 2006-11-28 | Network Appliance, Inc. | Proposed configuration management behaviors in a raid subsystem |
US7275179B1 (en) | 2003-04-24 | 2007-09-25 | Network Appliance, Inc. | System and method for reducing unrecoverable media errors in a disk subsystem |
US7143305B2 (en) * | 2003-06-25 | 2006-11-28 | International Business Machines Corporation | Using redundant spares to reduce storage device array rebuild time |
JP2005107839A (ja) * | 2003-09-30 | 2005-04-21 | Toshiba Corp | アレイコントローラ及びディスクアレイ再構築方法 |
US7266716B2 (en) * | 2003-10-23 | 2007-09-04 | Hewlett-Packard Development Company, L.P. | Method and recovery of data using erasure coded data from stripe blocks |
US7328305B2 (en) * | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
US7428691B2 (en) * | 2003-11-12 | 2008-09-23 | Norman Ken Ouchi | Data recovery from multiple failed data blocks and storage units |
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 |
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 |
US20050193273A1 (en) * | 2004-02-18 | 2005-09-01 | Xiotech Corporation | Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system |
US7162647B2 (en) * | 2004-03-11 | 2007-01-09 | Hitachi, Ltd. | Method and apparatus for cryptographic conversion in a data storage system |
JP4144549B2 (ja) * | 2004-03-31 | 2008-09-03 | 日本電気株式会社 | データ保存システムおよび該システムの制御方法 |
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 |
US7321905B2 (en) * | 2004-09-30 | 2008-01-22 | International Business Machines Corporation | System and method for efficient data recovery in a storage array utilizing multiple parity slopes |
US7290199B2 (en) * | 2004-11-19 | 2007-10-30 | International Business Machines Corporation | Method and system for improved buffer utilization for disk array parity updates |
US7392428B2 (en) * | 2004-11-19 | 2008-06-24 | International Business Machines Corporation | Method and system for recovering from abnormal interruption of a parity update operation in a disk array system |
US20060123271A1 (en) * | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR |
US20060123312A1 (en) * | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | Method and system for increasing parallelism of disk accesses when restoring data in a disk array system |
US7392458B2 (en) * | 2004-11-19 | 2008-06-24 | International Business Machines Corporation | Method and system for enhanced error identification with disk array parity checking |
US20060143412A1 (en) * | 2004-12-28 | 2006-06-29 | Philippe Armangau | Snapshot copy facility maintaining read performance and write performance |
US7386758B2 (en) * | 2005-01-13 | 2008-06-10 | Hitachi, Ltd. | Method and apparatus for reconstructing data in object-based storage arrays |
US7143308B2 (en) * | 2005-01-14 | 2006-11-28 | Charlie Tseng | Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk |
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 |
US7984018B2 (en) * | 2005-04-18 | 2011-07-19 | Microsoft Corporation | Efficient point-to-multipoint data reconciliation |
US7774542B2 (en) * | 2005-07-06 | 2010-08-10 | Ji Zhang | System and method for adaptive operation of storage capacities of RAID systems |
US9632872B2 (en) * | 2012-06-05 | 2017-04-25 | International Business Machines Corporation | Reprioritizing pending dispersed storage network requests |
US8560503B1 (en) | 2006-01-26 | 2013-10-15 | Netapp, Inc. | Content addressable storage system |
US20070180292A1 (en) * | 2006-01-31 | 2007-08-02 | Bhugra Kern S | Differential rebuild in a storage environment |
US20080070688A1 (en) * | 2006-09-20 | 2008-03-20 | John Loehrer | Real-time gaming system having scalable database |
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 |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US8370715B2 (en) * | 2007-04-12 | 2013-02-05 | International Business Machines Corporation | Error checking addressable blocks in storage |
US8898536B2 (en) * | 2007-04-27 | 2014-11-25 | Netapp, Inc. | Multi-core engine for detecting bit errors |
US7840837B2 (en) * | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
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 |
CN102124527A (zh) | 2008-05-16 | 2011-07-13 | 弗森-艾奥公司 | 用于检测和替代失效的数据存储器的装置、系统和方法 |
US8006128B2 (en) * | 2008-07-31 | 2011-08-23 | Datadirect Networks, Inc. | Prioritized rebuilding of a storage device |
US9158579B1 (en) | 2008-11-10 | 2015-10-13 | Netapp, Inc. | System having operation queues corresponding to operation execution time |
JP2010128572A (ja) | 2008-11-25 | 2010-06-10 | Fuji Xerox Co Ltd | データ制御装置、記憶装置及びデータ制御装置の接続方法 |
US8495417B2 (en) * | 2009-01-09 | 2013-07-23 | Netapp, Inc. | System and method for redundancy-protected aggregates |
CA2745646C (en) | 2009-04-21 | 2017-09-19 | International Business Machines Corporation | Apparatus and method for controlling a solid state disk (ssd) device |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8849877B2 (en) | 2010-08-31 | 2014-09-30 | Datadirect Networks, Inc. | Object file system |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8726070B2 (en) * | 2010-09-27 | 2014-05-13 | Dell Products L.P. | System and method for information handling system redundant storage rebuild |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US10802763B2 (en) * | 2010-11-29 | 2020-10-13 | Pure Storage, Inc. | Remote storage verification |
US11789631B2 (en) | 2010-11-29 | 2023-10-17 | Pure Storage, Inc. | Utilizing metadata storage trees in a vast storage network |
US11307930B1 (en) | 2010-11-29 | 2022-04-19 | Pure Storage, Inc. | Optimized selection of participants in distributed data rebuild/verification |
US8589724B2 (en) | 2011-06-30 | 2013-11-19 | Seagate Technology Llc | Rapid rebuild of a data set |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US8874956B2 (en) | 2012-09-18 | 2014-10-28 | Datadirect Networks, Inc. | Data re-protection in a distributed replicated data storage system |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8843447B2 (en) | 2012-12-14 | 2014-09-23 | Datadirect Networks, Inc. | Resilient distributed replicated data storage system |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9436720B2 (en) | 2013-01-10 | 2016-09-06 | Pure Storage, Inc. | Safety for volume operations |
CN103970481B (zh) * | 2013-01-29 | 2017-03-01 | 国际商业机器公司 | 重建存储器阵列的方法和装置 |
US9020893B2 (en) | 2013-03-01 | 2015-04-28 | Datadirect Networks, Inc. | Asynchronous namespace maintenance |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US9516016B2 (en) | 2013-11-11 | 2016-12-06 | Pure Storage, Inc. | Storage array password management |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
WO2015147872A1 (en) * | 2014-03-28 | 2015-10-01 | Hewlett-Packard Development Company, L. P. | Data restoration |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
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 |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US12175076B2 (en) | 2014-09-08 | 2024-12-24 | Pure Storage, Inc. | Projecting capacity utilization for snapshots |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10176039B2 (en) | 2014-09-19 | 2019-01-08 | Micron Technology, Inc. | Self-accumulating exclusive OR program |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
WO2016053189A1 (en) * | 2014-10-03 | 2016-04-07 | Agency For Science, Technology And Research | Method for optimizing reconstruction of data for a hybrid object storage device |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US9672106B2 (en) | 2014-12-30 | 2017-06-06 | Nutanix, Inc. | Architecture for implementing erasure coding |
US9569357B1 (en) | 2015-01-08 | 2017-02-14 | Pure Storage, Inc. | Managing compressed data in a storage system |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9843453B2 (en) * | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
WO2017151211A1 (en) * | 2016-02-29 | 2017-09-08 | Microsemi Storage Solutions (U.S.), Inc. | Method and system for handling random access write requests for a shingled magnetic recording hard disk drive |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US20180095788A1 (en) * | 2016-10-04 | 2018-04-05 | Pure Storage, Inc. | Scheduling operations for a storage device |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US10567009B2 (en) | 2016-12-06 | 2020-02-18 | Nutanix, Inc. | Dynamic erasure coding |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US12045487B2 (en) | 2017-04-21 | 2024-07-23 | Pure Storage, Inc. | Preserving data deduplication in a multi-tenant storage system |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
CN109725826B (zh) * | 2017-10-27 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机可读介质 |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
US10725941B2 (en) * | 2018-06-30 | 2020-07-28 | Western Digital Technologies, Inc. | Multi-device storage system with hosted services on peer storage devices |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US12135888B2 (en) | 2019-07-10 | 2024-11-05 | Pure Storage, Inc. | Intelligent grouping of data based on expected lifespan |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US12050683B2 (en) * | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US12153670B2 (en) | 2019-11-22 | 2024-11-26 | Pure Storage, Inc. | Host-driven threat detection-based protection of storage elements within a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US12204657B2 (en) | 2019-11-22 | 2025-01-21 | Pure Storage, Inc. | Similar block detection-based detection of a ransomware attack |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
CN116719484A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列的写数据处理方法、装置、设备和介质 |
CN117008845B (zh) * | 2023-09-27 | 2024-01-26 | 苏州元脑智能科技有限公司 | 读写指令的划分方法、装置、存储介质及电子装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893178A (en) * | 1973-12-19 | 1975-07-01 | Information Storage Systems | Synchronization of multiple disc drives |
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US4562576A (en) * | 1982-08-14 | 1985-12-31 | International Computers Limited | Data storage apparatus |
FR2561428B1 (fr) * | 1984-03-16 | 1986-09-12 | Bull Sa | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques |
US4667326A (en) * | 1984-12-20 | 1987-05-19 | Advanced Micro Devices, Inc. | Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives |
US4754397A (en) * | 1985-02-15 | 1988-06-28 | Tandem Computers Incorporated | Fault tolerant modular subsystems for computers |
JPS61264599A (ja) * | 1985-05-16 | 1986-11-22 | Fujitsu Ltd | 半導体記憶装置 |
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 |
US4775978A (en) * | 1987-01-12 | 1988-10-04 | Magnetic Peripherals Inc. | Data error correction system |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
US4899342A (en) * | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
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 |
US4914656A (en) * | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
AU630635B2 (en) * | 1988-11-14 | 1992-11-05 | Emc 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 |
US5134619A (en) * | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5088081A (en) * | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
-
1990
- 1990-10-23 US US07/601,912 patent/US5208813A/en not_active Expired - Lifetime
-
1991
- 1991-10-15 EP EP97119628A patent/EP0831400A3/en not_active Withdrawn
- 1991-10-15 DE DE69130279T patent/DE69130279T2/de not_active Expired - Lifetime
- 1991-10-15 EP EP91309497A patent/EP0482819B1/en not_active Expired - Lifetime
- 1991-10-17 AU AU85904/91A patent/AU8590491A/en not_active Abandoned
- 1991-10-18 CA CA002053692A patent/CA2053692A1/en not_active Abandoned
- 1991-10-23 JP JP3339291A patent/JP2959901B2/ja not_active Expired - Lifetime
-
1993
- 1993-02-16 US US08/017,826 patent/US5390187A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0482819B1 (en) | 1998-09-30 |
EP0482819A2 (en) | 1992-04-29 |
EP0831400A3 (en) | 2000-10-11 |
US5208813A (en) | 1993-05-04 |
US5390187A (en) | 1995-02-14 |
DE69130279T2 (de) | 1999-06-17 |
CA2053692A1 (en) | 1992-04-24 |
DE69130279D1 (de) | 1998-11-05 |
AU8590491A (en) | 1992-05-07 |
EP0482819A3 (en) | 1993-01-13 |
EP0831400A2 (en) | 1998-03-25 |
JPH05143471A (ja) | 1993-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2959901B2 (ja) | 記憶装置の冗長アレイおよびオンライン再構成方法 | |
JP3071017B2 (ja) | 冗長アレイ・システムにおける冗長情報の復元方法および制御システム | |
JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
US5379417A (en) | System and method for ensuring write data integrity in a redundant array data storage system | |
JP3304115B2 (ja) | 構成可能な冗長アレイ記憶装置 | |
US5566316A (en) | Method and apparatus for hierarchical management of data storage elements in an array storage device | |
US5305326A (en) | High availability disk arrays | |
US5375128A (en) | Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders | |
US8839028B1 (en) | Managing data availability in storage systems | |
US5504858A (en) | Method and apparatus for preserving data integrity in a multiple disk raid organized storage system | |
US5613088A (en) | Raid system including first and second read/write heads for each disk drive | |
US5819109A (en) | System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete | |
US20120192037A1 (en) | Data storage systems and methods having block group error correction for repairing unrecoverable read errors | |
JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
GB2343265A (en) | Data storage array rebuild | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
JPH06230903A (ja) | ディスクアレイ装置の障害回復方法、およびディスクアレイ装置 | |
US7478269B2 (en) | Method and computer program product of keeping configuration data history using duplicated ring buffers | |
JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 | |
CN115809011A (zh) | 一种存储系统中数据重构方法及装置 | |
Mishra et al. | Dual crosshatch disk array: A highly reliable disk array system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080730 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090730 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100730 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 13 |