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
Application number
JP3339291A
Other languages
English (en)
Other versions
JPH05143471A (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.)
II EMU SHII CORP
Original Assignee
II EMU SHII 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 II EMU SHII CORP filed Critical II EMU SHII CORP
Publication of JPH05143471A publication Critical patent/JPH05143471A/ja
Application granted granted Critical
Publication of JP2959901B2 publication Critical patent/JP2959901B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,コンピュータシス
データ記憶装置,特に,冗長アレイシステム内の故障記
憶装置のオンライン再構成方法に関する。
【0002】
【従来の技術】典型的なデータ処理装置は,一般に,中
央処理装置(以下,CPUと呼ぶ)に直接接続される,
又は制御装置と回線を通して接続される1つ以上の記憶
装置を含む。これらの記憶装置の機能は,CPUが特定
のデータ処理タスクを遂行するに当たり使用するデータ
及びプログラムを記憶することである。
【0003】現在のデータ処理システムにおいては,種
々の型式の記憶装置が使用される。典型的なシステム
は,データを記憶するためにそれぞれの制御装置を通し
てこのシステムに接続される1つ以上の大容量テープ装
置及び(又は)ディスク装置(磁気,光学,又は半導体
ディスク装置)を含む。
【0004】しかしながら,もしこれらの大容量記憶装
置の1つが故障するならば,その装置に含まれた情報が
そのシステムにとってもはや利用可能ではなくなるとい
うような問題が存在する。
【0005】先行技術は,信頼性あるデータ記憶を備え
るという課題を解決するいくつかの方法を提案してい
る。記憶が比較的少量であるシステムにおいては,記憶
装置内に記憶された各データに付加されている誤り訂正
コード(ECC)シンドロームビットを発生する誤り訂
正コードを使用するこが,可能である。このようなコ
ードで以て,誤まって読み出される少量のデータを訂正
することが可能である。しかしながら,このようなコー
ドは,誤りのある長い記録を訂正する又は再生するに
は,一般に適しておらず,もし丸ごと記憶装置が故障し
ているならば全く修復を施し得ない。したがって,個々
の記憶装置の外部にデータ信頼性を備える必要性が存在
する。
【0006】このような“外部”信頼性へ向けての他の
手法は,先行技術に記載されている。米国,バークレ
イ,カルフォルニヤ大学の研究グループは,“安価なデ
ィスクの冗長アレイ(RAID)の場合(A Case for R
edundant Arrays of Inexpensive Disks (RAID)”と題
する論文,ペターソン(Partterson)他,米国計算機学
会データ管理専門グループ技術報告(Proc. ACM SIGMO
D)1988年6月号において記憶装置としてディスク
装置を使用するときこのような信頼性を備えるためのか
なりの数の異なる手法挙げている。ディスク装置のア
レイは,(安価なディスクの冗長アレイに対する)頭辞
語“RAID”の下に,5つのアーキテクチャの1つで
特徴付けられている。
【0007】RAID1アーキテクチャは,“ミラー”
記憶装置の二重集合を備えかつ記憶装置の各対上の全て
のデータの二重複写を維持することを含む。このような
解決は信頼性の問題を解決するけれども,記憶コストを
倍増する。RAID1アーキテクチャのいくつかは,す
でに作成されいる。特に,タンデム社(Tandem Corpor
ation)によって作成されている。
【0008】RAID2アーキテクチャは,分離ディス
ク装置上に,各データ語の各ビットに加えて,各語に対
する誤り検出及び訂正(以下,EDCと呼ぶ)ビットを
記憶する(これは,“ビットストリッピング”としても
知られている)。例えば,フローラ(Flora )他に交付
さた米国特許第4,722,085号は,異常に広い障
害許容範囲及び極めて広いデータ転送帯域幅を有する大
規模,大容量ディスク装置として機能するように,複数
の比較的小形の独立に動作するディスクサブシステムを
使用するディスク装置メモリを開示している。データ編
成装置は,7EDCビット(周知のハミングコードを使
用することによって決定される)を各32ビットデータ
語に付加して,EDC能力を備えるようにしている。こ
の結果の39ビット語は,ディスク装置当たり1ビット
つ,39のディスク装置に書き込まれる。もしこれら
のディスク装置の1つが故障するならば,各39ビット
語の残りの38ビットは,各データ語がこれらのディス
ク装置から読み出される際に,語から語へ各32ビット
データ語を再構成するように使用され,これによって故
障許容範囲を得るようにしている。
【0009】このようなシステムの明白な欠点は,(最
大のコンピュータが32ビット語を使用するから)最小
システムに要求されるディスク装置の大きな数及びED
Cビット記憶するのに要求されるディスク装置の比較的
高い比である(7対39)。さらに,RAID2アーキ
テクチャのディスク装置メモリシステムの制約は,個々
のディスク装置アクチュエータが各データブロックの書
込み動作に一致して動作させられ,このブロックのビッ
トがこれらのディスク装置の全てに亘り分布されるとい
うことである。この配置が広いデータ転送帯域幅を有す
るのは,個々のディスク装置がデータブロックの部分を
転送し,その正味効果として,単一ディスク装置がこの
ブロックをアクセスするとしたならば要するであろうよ
りは遥かに速く全ブロックがそのコンピュータシステム
に利用可能とされるからである。このことは,大形デー
タブロックに対しては有利である。しかしながら,この
配置は,また反面,全記憶装置に対して単一読出し書込
みヘッドアクチュエータのみしか有効に備えられない。
この“単一”アクチュエータによって一時に1つのデー
タファイルしかアクセスすることはできないから,この
ことが,データファイルが小形のときにこのディスク装
置のアレイのランダムアクセス性能に不利に影響する。
それゆえ,多数の小形データファイルへの極めて多数の
ランダムアクセスが大量のデータ記憶及び転送動作を含
む銀行,金融,及び予約システムにおけるような,オン
ライントランザクション処理(以下,OLTPと呼ぶ)
に対して設計されたコンピュータシステムに対して,R
AID2アーキテクチャシステムは,一般に,適当であ
るとは考えられない。
【0010】RAID3アーキテクチャは,各ディスク
装置が故障又はデータ誤りを検出する内部手段を有する
という構想に基づいている。したがって,誤り箇所を検
出する追加情報を記憶する必要はなく,簡単な形のパリ
ティに基づく誤り訂正を使用することができる。この
においては,故障を受けた全ての記憶装置の内容が,
“排他的論理和(以下,XORと呼ぶ)”される結果,
パリティ情報を発生する。この結果のパリティ情報は,
単一冗長記憶装置に記憶される。もし1つの記憶装置が
故障するならば,この装置上のデータを,残りの記憶装
置からのデータとパリティ情報とをXORすることによ
って置換記憶装置上に再構成することができる。このよ
うな配置は,1つの追加記憶装置のみが“N”の記憶装
置に対して要求されるに過ぎないという点においてミラ
ーディスク記憶装置RAID1アーキテクチャより有利
である。RAID3アーキテクチャのさらに態様は,デ
ィスク装置が,RAID2アーキテクチャシステムと同
じように結合されて動作させられ,かつ単一ディスク装
置がパリティ装置として指定されるということである。
【0011】RAID3アーキテクチャの1つの実現
は,マイクロポール社並列駆動装置アレイ(Micropolls
Corporation Pararell Drive Array ),モデル1
804SCICであり,これは4つの並列,同期化ディ
スク装置及び1つの冗長パリティ装置を使用する。これ
ら4つのディスク装置の1つの故障は,このパリティ装
置上に記憶されているパリティビットを使用することに
よって修復される。RAID3アーキテクチャシステム
の他の例は,オーウチ(Ouchi )に交付された米国特許
第4,092,732号に記載されている。RAID3
アーキテクチャのディスク装置メモリシステムは,RA
ID2アーキテクチャシステムよりも遥かに低い冗長装
置対データ装置比を有する。しかしながら,RAID3
アーキテクチャシステムは,個々のディスク装置アクチ
ュエータが結合され,一致して動作させられるという点
において,RAID2アーキテクチャシステムと同じ性
能を有する。この“単一”アクチュエータによって一時
に1つのデータファイルしかアクセスすることはできな
いから,このことが,データファイルが小形のときにこ
のディスク装置のアレイのランダムアクセス性能に不利
に影響する。したがって,RAID3アーキテクチャシ
ステムは,OLTP目的に設計されたコンピュータに対
しては,一般に,適当であると考えられない。
【0012】RAID4アーキテクチャは,RAID3
アーキテクチャと同じパリティ誤り訂正構想を使用する
が,しかし,個々のディスク装置アクチュエータの動作
を“非結合する”,及び各ディスクに対する比較的大き
い最少量のデータ(典型的には,ディスクセクタ)を読
み出し書き込みする(これはブロックストリッピングと
しても知られている)ことによって,小形ファイルのラ
ンダム読出しに関してRAID3アーキテクチャの性能
を改善している。RAID4アーキテクチャのさらに態
様は,単一記憶装置がパリティ装置として指定されると
いうことである。
【0013】RAID4アーキテクチャシステムの制約
は,独立に動作するデータ記憶装置のどれかへのデータ
ブロックの書込みが,そのパリティ装置への新しいパリ
ティブロックの書込みを必要とすることである。このパ
リティ装置に記憶されたパリティ情報を読み出し,かつ
(古いデータの内容情報を“除去”するために)古いデ
ータとXORし,次いで,(新しいパリティ情報を生じ
るために)この結果の和を新しいデータとXORしなけ
ればならない。次いで,このデータとパリティ記録をこ
のディスク装置に書き込まなければならない。このプロ
セスは,普通,“読出し−変更−書込み”シーケンスと
呼ばれる。
【0014】したがって,パリティ装置上に記録された
パリティによって適用を受けるデータ記憶装置のどれか
の上で記録が変化しても,その各度に単一パリティ装置
上での読出し及び書込みが起こる。多重データ記憶装置
の並列動作によて与えられる高速アクセス速度に反し
て,時間単位当たり行われる記録の変化数はこのパリテ
ィ装置のアクセス速度の関数であるから,このパリティ
装置はデータ書込み動作の隘路になる。この制約のゆえ
に,RAID4アーキテクチャシステムは,OLTP目
的に設計されたコンピュータシステムに対して,一般
に,適当であるとは考えられない。事実,確かであるの
は,RAID4アーキテクチャシステムがいかなる商用
目的にも実現されていないということである。
【0015】RAID5アーキテクチャシステムは,R
AID4アーキテクチャシステムと同じパリティ誤り訂
正構想を使用するが,データ及びパリティ情報を利用可
能なディスク装置の全てに亘り分布することによってR
AID4アーキテクチャシステムの書込み性能を改善し
ている。典型的に,1つの集合内の“N+1”の記憶装
置(“冗長グループ”としても知られている)は,ブロ
ックと称される複数の同等の寸法のアドレス領域に分割
される。各記憶装置は,一般に,同じ数のブロックを含
む。同じ記憶装置アドレス値域を有する冗長グループ内
の各記憶装置からのブロックは,“ストライプ”と称さ
れる。各ストライプは,Nのデータブロックに加えて,
1つのパリティブロックを1つの記憶装置上に有し,こ
のパリティブロックはこのストライプの残りの部分に対
するパリティを含む。さらに,ストライプは,各々,パ
リティブロックを有し,これらのパリティブロックは互
いに異なる記憶装置上に分布されている。したがって,
冗長グループ内のデータの各変更に関連したパリティ更
新活動は,異なる記憶装置に亘り分布される。単一記憶
装置が,パリティ更新活動の全てを負担するということ
はない。
【0016】例えば,5つのディスク装置を含むR
D5アーキテクチャシステムにおいて,ブロックの第1
ストライプに対するパリティ情報は第5ディスク装置に
書き込まれ,ブロックの第2ストライプに対するパリテ
ィ情報は第4ディスク装置に書き込まれ,ブロックの第
3ストライプに対するパリティ情報は第3ディスク装置
に書き込まれる,等々である。後続ストライプに対する
パリティブロックは,典型的に,ら旋パターン(もっと
も他のパターンも使用されるが)に従ってこれらのディ
スク装置をたどって,“首振り運動前進”する。
【0017】したがって,そのパリティ情報を記憶する
ために単一ディスク装置が使用されることはなく,RA
ID4アーキテクチャの隘路は除去される。RAID5
アーキテクチャシステムの例は,クラーク(Clark )他
に交付された米国特許第4,761,785号に記載さ
れている。
【0018】RAID4アーキテクチャシステムにおけ
るように,RAID5アーキテクチャシステムの制約
は,データブロック内の変化が,2つの読出し動作及び
2つの書込み動作を含む読出し−変更−書込みシーケン
スを必要とするということ,すなわち,古いパリティブ
ロック及び古いデータブロックを読み出しかつXORし
なければならず,次いで,この結果の和を新しいデータ
とXORしなければならないということである。次い
で,データブロック及びパリティブブロックの両方を,
これらのディスク装置に再書込みしなければならない。
2つの読出し動作を並列に行うことができ,同じように
2つの書込み動作もできるけれども,RAID4又はR
AID5アーキテクチャシステムにおけるブロックの変
更は,依然として従来ディスク上におけるのと同じ動作
よりも実質的に長くかかる。従来ディスクは,予備読出
し動作を要せず,したがって,書込み動作を遂行するた
めに,先の位置への戻り回転をディスク装置に待機させ
なければならない。この回転待ち時間だけで,典型的デ
ータ変更動作に要する時間の約50%に達することがあ
る。さらに,2つのディスク装置が各データ変更動作の
所用時間中に動作に係わり,これが全体としてそのシス
テムの処理能力を制約する。
【0019】この書込み性能上の不利にかかわらず,R
AID5アーキテクチャシステムは,これらが,冗長に
対する低間接費,優れた読出し性能,及び優れた書込み
性能を備えることから,ますます一般化している。
【0020】RAID5アーキテクチャは,OLPTコ
ンピュータシステム内に特に利用されている。多くのO
LPTシステムは,高稼働率システムでなければなら
ず,このことは,そのシステムの全面的故障が低確率で
あるということを意味する。高稼働率は,構成要素の故
障がシステムケイパビリティを低下することはあって
も,しかしシステム全体の故障は起こすには至らない所
の,低平均修復時間(MTTR)を持つ耐故障設計,及
び“ステージ”劣化設計を有する高信頼性構成要素を
使用することによって,達成される。
【0021】RAIDアーキテクチャシステムの主特徴
は耐故障であるが,このようなケイパビリティのみでは
稼働率システムを保証しない。もしある記憶装置が故
障するならば,その故障記憶装置が置換されかつこの装
置上の情報が回復されるまでは,全体システム動作は継
続することができない。ある記憶装置がRAIDアーキ
テクチャ内で故障すると,その技術の教示する所によれ
ば,置換記憶装置がこの故障記憶装置に対して代入され
(1つ以上の予備装置の集合から手動又は電子的のいず
れかでスイッチ挿入されて),かつその冗長グループ内
の残りの記憶装置からの各パリティブロックを全ての対
応するデータブロックとXORすることによってこの置
換記憶装置上に“喪失”データが再構成される。この動
作は,もし冗長グループ全体がこの故障装置の再構成に
専用されるならば,直線的である。しかしながら,確か
であるのは,この技術が,全体システム動作を開始でき
る前に分離手順として置換記憶装置上にデータを回復す
ることを教示又は提案しているということである。この
ような再構成方法は,高稼働率を提供することはない。
【0022】
【発明が解決しようとする課題】したがって,知られて
いる限り,上の技術は冗長グループ全体へのオンライン
アクセスの実施を続ける間に,RAIDアーキテクチャ
内の故障記憶装置を再構成することを教示していない。
【0023】したがって,システム全体の動作が正常に
続行している間に,故障記憶装置の再構成を“オンライ
ン”で行うことのできるRAIDアーキテクチャシステ
ムを得ることが,高く要望されている。また,再構成動
作の進行中に停電があっても耐えることができ,CPU
に対して決して不良データを正常データとして与えない
ことが要望される。
【0024】本発明は,このようなシステムを提供す
る。
【0025】
【課題を解決するための手段】本発明は,故障RAID
アーキテクチャデータ記憶装置のオンライン再構成方法
を提供する。その故障記憶装置に対する置換記憶装置を
供給した後,再構成タスクがそのアレイに対して開始す
る。一般的再構成は,(データブロックとこれに対応す
るパリティブロック又はリードソロモンコードとのXO
R動作のような)誤り訂正動作をその冗長グループ内の
残り記憶装置からのデータブロックに加え,かつその結
果をこの置換記憶装置の対応するブロック内に記憶する
ことを含む。
【0026】もし読出し動作がそのCPUによってこの
置換記憶装置上のデータブロックに対して要求されるな
らば,並列読出しタスクが実行され,これがこの要求さ
れたデータブロックを含むストライプを再構成する。
【0027】もし読出し動作がそのCPUによってこの
置換記憶装置上にないデータブロックに対して要求され
るならば,並列読出しタスクが実行され,これが通常読
出し動作を実行する。
【0028】もし書込み動作がどれかのデータブロック
に対して要求されるならば,並列書込みタスクが実行さ
れ,これが一般的場合の読出し−変更−書込みシーケン
を遂行する(その読出し動作は上述の規則に従い遂行
される)。
【0029】この再構成ストライプより上”のこの置
換記憶装置上のデータブロックが有効であり,かつ直接
に読み出すことができる場合でも,上記の手順は実現す
るのに容易かつ簡単であり,これは,要求されたデータ
ブロックがそのストライプより上”にあるか否かの追
跡する必要がないからである。しかしながら,本発明の
代替実施例においては,その再構成ストライプに関する
要求されたデータブロックの位置は追跡され,かつ再生
構成はその再構成ストライプより上にないデータブロッ
クに対してのみ遂行される。
【0030】したがって,本発明の好適実施例における
動作の一般規則は,要求されたデータブロックのうちの
どれかが一般的再構成プロセスによって実際に再構成さ
れたかどうかにかかわらず,その置換記憶装置上からの
全ての読出し動作がこれらの要求されたデータブロック
の全ての再構成を実行中必要とするということにある。
全ての書込み動作は,一般の場合の読出し−変更−書込
シーケンスにおいて進行するが,この動作の読出し部
分は上記の規則に従い実行される。
【0031】本発明は,全体としてどの記憶装置アレイ
に,かつ特にその置換記憶装置に読出し書込み動作を可
能とし続けなる間に,故障記憶装置のデータの全てをそ
の置換記憶装置上で再構成する信頼性ある方法を提供す
る。フラッグの使用は,一般的再構成プロセスの異常終
端の検出を可能とする。この再構成は,初期再構成開始
点,又は随意選択的に異常終端点のいずれかにおいて再
開することもできる。本発明の好適実施例の詳細は,付
図を参照して,以下の記述において説明される。本発明
の詳細がいったん知れられたならば,多数のその追加新
規性及び変更は当事者にとって明白である。
【0032】これらの付図において同様の参照符号は,
同様の要素を指示する。
【0033】
【実施例】本説明を通して,好適実施例及び図示例は,
本発明の方法に対する限定としてではなく,例として考
えられなけばならない。
【0034】図1は,本発明による一般化RAIDアー
キテクチャシステムのブロック線図である。CPU
(1)は,バス(2)によってアレイ制御装置(3)に
結合される。アレイ制御装置(3)は,入出力バス(例
えば,SCSIバス)によって複数の記憶装置(S1)
〜(S5)(例としてのみ5つの装置が示されている)
の各々に結合される。アレイ制御装置(3)は,好適に
は,分離プログラム可能,多重タスプロセッサ(例え
ば,米国,カルフォルニヤ州,サニーベール(Sunnyval
e)のMIPS社(MIPS Corporation)によって製造さ
れたMIPSR3000 RISC)を含み,このプロ
セッサはCPU(1)から独立に働いてこれらの記憶装
置を制御する。
【0035】記憶装置(S1)〜(S5)は,1つ以上
の冗長グループにグループ化される。下に説明される図
示の例においては,この冗長グループは,説明の簡単の
ために,記憶装置(S1)〜(S5)の全てを含む。
【0036】本発明は,好適には,制御装置(3)によ
って実行される多重タスコンピュータプログラムとし
て実現され,図2のA〜EはRAID5アーキテクチャ
システムのモデルの線図である。図3は,本発明の好適
実施例の一般的再構成プロセスのステップを表す高レベ
ル流れ図である。図4は,本発明の好適実施例の読出し
動作のステップを表す高レベル流れ図である。図5は,
本発明の好適実施例の書込み動作のステップを表す高レ
ベル流れ図である。図3〜図5の好適実施例は,下に参
照される。
【0037】[一般的再構成] 図2のAは,初期状態を示すRAIDアーキテクチャシ
ステムのモデルの線図である。図示のアレイは,5つの
記憶装置(S1)〜(5)を含む。各行(A)〜(H)
ストライプである。パリティ情報は丸で囲われた番号
によって指示され,かつこのアレイを通して拡がってい
る。パリティ情報分布の1パターンが示されているけれ
ども,本発明はいかなる分布をも含む。簡単のために
トライプ内の各記憶装置ごとに1ビット“ブロック”が
示されている。各ブロックは,代わりに,バイト,セク
タ,又はセクタのグループのような,他のいかなる寸法
単位であることもできる。好適実施例においては,各ブ
ロックは寸法上少なくとも1ブロックである。
【0038】図2のBは図2のAと同じRAIDのモデ
ルを示すが,しかし記憶装置(S1)が故障している
(ダッシュ記号は崩壊データを示す)。記憶装置(S
2)〜(S5)についての各ストライプのXORは図
のAに示された記憶装置(S1)の喪失データに等しい
ということに注意されたい。
【0039】図2のCは図2のBと同じRAIDモデル
を示すが,しかし故障記憶装置(S1)が置換記憶装置
(S1′)によって置換されている。この置換は,物理
ベースにおいてか(すなわち,新しい記憶装置が故障記
憶装置に物理的に代入される),又は論裡ベースにおい
てか(すなわち,制御装置(3)と連絡している予備記
憶装置が電子的に動作にスイッチ挿入される)である。
図示の実施例においては,置換記憶装置(S1′)は,
×で示されるように,いかなる特定のデータパターンに
も初期化されておらず,しかし,この上にいかなる情報
パターンをも持つことができる。
【0040】いったん置換記憶装置(S1′)が故障記
憶装置(S1)に代入されると,一般的再構成プロセス
はタスクとして開始される(図3,ステップ30)。置
換記憶装置(S1′)は,この記憶装置が“再構成
でありかつ再構成されつつあることを表示するように内
部的にマークされる(ステップ31)。
【0041】図2のDは再構成の中間ステージを示し,
ここで,ストライプDは再構成されたストライプとして
ハイライトされて示されている。好適実施例において
は,ストライプの再構成を要求する書込み動作は再構成
ストライプに対しては行われ得ない,これは,再構成が
行われている間の変化を禁止するために,周知のよう
に,このストライプが“ロック”されるゆえである(ス
テップ32)。したがって,この書込み動作は,この
トライプが再構成されるまで遅延される。
【0042】好適実施例においては,データブロック及
びパリティブロックは,各ストライプ(A)〜(H)ご
とに記憶装置(S2)〜(S5)から読み出され,XO
Rされ,かつ各ストライプからのその結果が置換記憶装
置(S1′)の対応するブロックに記憶される(ステッ
プ33)。図2に示された例においては,このプロセス
ストライプ(A)において開始し,ストライプ(H)
においてそれらの記憶装置の終端へ進行する。しかしな
がら,再構成のいかなるパターン(例えば,ストライプ
を交互にたどる)で以て,いかなる代替の開始点を使用
することもできる。
【0043】制御装置(3)は,次いで,この再構成
トライプをアンロックし(ステップ34)し,かつ再構
ストライプを進める(ステップ35)。もし再構成が
完了しなければ(ステップ36),一般的再構成プロセ
スは,図2のEに示されるように,全置換記憶装置(S
1′)全体が再構成されるまで,続けられる(ステップ
32)。一般的再構成プロセスが完了したとき(ステッ
プ36),置換記憶装置(S1′)は“再構成中で
い”とマークされ(ステップ37),通常動作をする
(ステップ38)。
【0044】もし再構成プロセスが停電又は他のなんら
かの原因で中断されたならば,“再構成でない”とし
て置換記憶装置(S1′)をマークする最後のステップ
は完了しない。したがって,このような異常終を検出
することができる。このような場合,制御装置(3)
は,いかなるデータも喪失することなく,最初からこの
再構成プロセスを再開始する。この結果,すでに訂正さ
れているデータを有するストライプを訂正するが,しか
し,このやり方は,データが再構成されていないとき,
このデータが正常であるとは決して表示することはな
い。
【0045】代替実施例においては,置換記憶装置の各
セクション(例えば,ディスク装置の各シリンダ)が再
構成された後,この置換記憶装置(S1′)内(又は所
望ならば他のどこか)のフラッグフィールドが再構成さ
れた最後のセクションを表示するように内部的にマーク
される。異常終端の後,この再構成プロセスは,この最
後に表示されたセクションの後に再開始され,これによ
って再構成時間を節約する。
【0046】[並列入出力タスク] 一般的再構成プロセス中,CPU(1)による処理は続
行することができるが,しかしコンピュータシステムに
対するなんらかの性能劣化を伴うおそれがある。下に説
明されるように,一般的再構成プロセスは,CPU
(1)によって要求される読出し又は書込み動作を可能
にするように割込みされることもできる(ステップ3
3,35)。このような割込みは,好適には,周知のよ
うに並列タスクによって実現される。しかしながら,本
発明は,並列及び(又は)割込み駆動入出力動作のいか
なる手段も含む。以下は,このような読出し及び書込
み動作の好適実施例の説明である。
【0047】[読出し動作] もし一般的再構成中にCPU(1)によって読出し動作
が要求されるならば,読出しプロセスが,独立のしかし
並列タスクとして開始する(図4,ステツプ40)。こ
のことは,再構成タスクが実行を継続するということ,
しかし読出しタスク及び再構成タスクとは,周知よう
に,システム資源を競い合うということを意味する。
【0048】制御装置(3)は,好適には,ストライプ
の不注意改変が再構成を行わせることを禁止するために
その再構成ストライプをロックする(ステップ41)。
もし読出し要求が置換(又は“新しい”)記憶装置(S
1′)上にないデータブロックに対してならば(ステッ
プ42),制御装置(3)は通常読出し動作を実行しか
つそのデータブロックをCPU(1)へ転送する(ステ
ップ43)。他の記憶装置(図2の例におけるS2〜S
5)からのデータは正しいゆえに,性能損失は起こらな
い。制御装置(3)は,次いで,再構成ストライプをア
ンロックし(ステップ44),かつ読出しタスクが終
する(ステップ45)。
【0049】もしCPU(1)によって要求された読出
し動作が置換記憶装置(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)へ転送される。
【0050】もし読出し要求が未だ再構成されないデー
タブロック(H−S1)に対してなされるならば,制御
装置(3)はストライプ(H)内の記憶装置(S2)〜
(S5)にアクセスして,これらのデータブロックの全
てを読み出す。これらのデーブロックは,次いで,XO
Rされて2進の0を発生し,これがCPU(1)へ転送
される。
【0051】同様に,もし読出し要求がデータブロック
(A−S1)に対してなされるならば,制御装置(3)
ストライプ(A)内の記憶装置(S2)〜(S5)に
アクセスして,これらのデータブロックの全てを読み出
す。これらのデーブロックは,次いで,XORされて2
進の1を発生し,これがCPU(1)へ転送される。
【0052】このように,本発明の好適実施例において
は全ての読出し動作に対して,たとえCPU(1)がす
でに再構成されているストライプから読み出しをしつつ
ある,したがって,CPU(1)がそのデータを直接読
み出すことがあったとしても,そのデータは再構成によ
つて常に訂正される。正常なデータを訂正するに要する
追加時間は,再構成中に生じるだけであり,まれにしか
起こらない。このやり方は,データ記憶サブシステム
に,要求されたデータブロックが再構成ストライプ
上”にあるか否かの追跡をすることを要せず,常に正
しいデータを維持及び提供することを可能とする。代替
的に,読出しタスクは,要求されたデータが再構成スト
ライプより上”にあか否かの追跡を行う。図4を参
照すると,制御装置(3)は要求されたデータブロック
が置換記憶装置(S1′)上にあることを判定した(ス
テップ42)後に,制御装置(3)は,記憶装置(S
1)内の要求されたデータブロックの位置をその再構成
ストライプ上の現行位置と比較する(ステップ46,破
線により随意選択可能として表されている)。もし要求
されたデータブロックが再構成ストライプより上”に
ないならば,制御装置(3)は,要求されたデータブロ
ックを含むストライプを,このストライプより上”の
他のデータブロックの全てと,これらに対応するパリテ
ィブロックとを読み出し,これらをXORすることによ
って,“実行中”再構成する(ステップ47及び4
8)。しかしながら,もし要求されたデータブロックが
再構成ストライプより上”にあるならば,このデータ
ブロックは,すでに,再構成されている。したがって,
制御装置(3)は,このデータブロックの通常読出しを
実行して,そのデータブロックをCPU(1)へ転送す
る(ステップ43)。このやり方は要求されたデータブ
ロックが再構成ストライプより上”にあるか否かの追
跡を必要とするけれども,その置換記憶装置上に先に記
憶されたデータブロックの分だけ時間が節約される。
【0053】[書込み動作] もし一般的再構成中にCPU(1)によって書込み動作
が要求されるならば,書込みプロセスが,独立のしかし
並列タスクとして開始する(図5,ステップ50)。こ
のことは,再構成タスクが実行を継続するということ,
しかし書込みタスクと再構成タスクとは,周知のよう
に,システム資源を競い合うということを意味する。
【0054】制御装置(3)は,再構成実行中のストラ
イプが不用意に改変されないようにその再構成ストライ
をロックする(ステップ51)。もし書込み要求が置
換記憶装置(S1′)上にないデータブロックとこれに
対応するパリティブロックとに対してであるならば(ス
テップ52),制御装置(3)は通常読出し−変更−
書込みシーケンスを実行する。すなわち,古いパリティ
ブロックと古いデータブロックとがそのアイレから読み
出され(ステップ53),そしてその古いデータブロッ
クを“減算”(XOR)し新しいデータブロクを“加
算”(XOR)することによってこのパリティブロック
が変更される(ステップ54)。次いで,この新しいパ
リティブロックと新しいデータブロックが,このアレイ
に書き込まれる(ステップ55)。みの書込み動作の完
了後,制御装置(3)は,再構成ストライプをアンロッ
クし(ステップ56),そして書込みタスクが終する
(ステップ57)。
【0055】この場合,置換記憶装置(S1′)上の対
応するデータブロックが訂正されているか否かは,どう
でもよいことである。要求されたデータブロック及びそ
のパリティブロックが置換記憶装置(S1′)上にない
ゆえに,読出し−変更−書込みシーケンスの読出し部分
はそのデータを再構成する必要はない。したがって,本
質的に,性能損失は起こらない。
【0056】もしPU(1)によって要求された書込
み動作が置換記憶装置(S1′)上にあるデータブロッ
ク又はそのパリティブロックのいずれかに対してである
ならば(ステップ42),手順は上と異なる。制御装置
(3)は,上の代わりに,そのストライプ内の他のデー
タブロックの全てを読み出し(ステップ58)これら
をXORする(ステップ59)ことによってこのストラ
イプに対するパリティブロックを“実行中”計算する。
次いで,新しいデータブロックがこの計算されたパリテ
ィブロックとXORされて新しいパリティブロックを発
生する(ステップ60)。この新しいデータブロックで
古いデータブロック書き替え,かつ新しいパリティブロ
ックで古いパリティブロックを書き替える(ステップ5
5)。この書込み動作の完了後,制御装置(3)は,再
構成ストライプをアンロックし(ステップ56),書込
みタスクが終する(ステップ57)。
【0057】図5において破線で示された代替手順は,
置換記憶装置(S1′)上のブロックをまず再構成す
る。制御装置(3)は,このストライプ内の他のブロッ
クの全てを読み出し(ステップ61)これらをXOR
する(ステップ62)。その結果は,置換記憶装置(S
1′)に記憶されるか(ステップ62)又は一時記憶装
置に記憶される。この再構成ブロックは,次いで,通常
読出し−変更−書込みシーケンスに使用される(ステ
ップ53〜54)。
【0058】注意しなければならないのは,書込み動作
についての上述の議論は,ストライプ内のブロックの全
てより少ないブロックが変更される一般的な場合に係わ
っているということである。ストライプ内の全てのブロ
ックが変更される特殊な場合においては,読出し−変更
−書込みシーケンスは,必要ない。すなわち,そのスト
ライプに対するパリティブロックを全面的に新しいデー
タに基づいて計算することができるから,初期読出し動
作は必要ない。計算されたパリティブロック及び新しい
データブロックは,次いで,このストライプ上に単に記
憶される。厳密にいうと,そのストライプの“再構成”
は,遂行されない。
【0059】もしCPU(1)がすでに訂正されたスト
ライプへ書き込みをすれば,新しいデータが正しく記録
される。もしCPU(1)が未だ訂正されていないスト
ライプに書き込みすれば,再構成ストライプが新しいデ
ータを含むストライプに前進するとき,新しいデータが
正しく記録され,かつ,(もはや誤っていなくても)再
び再構成される。正常データを再訂正するに要する追加
の時間は,その再構成ストライプの前進する際に,その
再構成プロセス中にまれにしか起こらない。このやり方
は,データ記憶サブシステムに,要求されたデータブロ
ックが再構成ストライプより上”にあるか否かの追跡
をすることを要せず,常に正しいデータを維持及び提供
することを可能とする。
【0060】代替的に,ストライプが書込み動作によっ
てすでに再構成されたかどうかを試験するための追加ス
テップが,再構成タスクに追加される(ステップ3
2)。もし再構成がすでに起こっているならば,現行再
構成ストライプがアンロックされて,処理は次のストラ
イプにおいて続行される(ステップ34及び35)。も
し再構成が起こらなかったならば,一般的再構成タスク
が実行を続行する(ステップ33)。
【0061】本発明の多数の実施例が説明されてきた。
それにもかかわらず,本発明の精神と範囲から逸脱する
ことなく,種々な変更が可能であることは,いうまでも
ない。例えば,本発明は,RAID3,RAID4,又
はRAID5に使用可能である。さらに,XORで発生
されるパリティに追加して又はこれに代えて誤り訂正方
法が,必要な冗長情報に対して使用可能である。リード
−ソロモンコードを使用するこのような一つの方法は,
発明の表題“アレイされたディスク装置システム及び方
法(Arrayed Disk Drive System and Method)”を有
し,かつ本願の譲受者に譲受された1988年11月1
4日提出の米国特許出願第270,713号に記載され
ている。この米国特許出願によって教示される構造及び
方法で以て,本発明は,もしXOR及びリード−ソロモ
ン(又はその他のシステム)冗長の両方が使用されるな
らば,2つの記憶装置の喪失に適合可能である。したが
って,本発明は,特定の説明された実施例に限定される
べきではなく,前掲の特許請求の範囲によってのみ限定
されることは,いうまでもない。
【図面の簡単な説明】
【図1】 本発明による一般化RAIDアーキテクチャ
システムのブロック線図である
【図2】 RAID5アーキテクチャシステムのモデル
の図表であり,Aは初期状態,Bは故障記憶装置,Cは
初期化置換記憶装置,Dは部分的再構成された置換記憶
装置,Eは完全に再構成された置換記憶装置を示す
【図3】 本発明の好適実施例の一般的再構成プロセス
を表す流れ図である
【図4】 本発明の好適実施例の読出し動作を表す流れ
である
【図5】 本発明の好適実施例の書込み動作を表す流れ
である
【符号の説明】 1 CPU 2 バス 3 アレイ制御装置 S1〜S5 記憶装置 S1′ 置換記憶装置 A〜H ストライプ
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/16 G06F 3/06

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 一つの冗長グループをなす複数の記憶装
    置が複数のストライプを記憶し,前記ストライプの各々
    前記冗長グループの記憶装置に亘って分布する複数の
    データブロックと少なくとも1つの関連誤り訂正ブロッ
    クとを含み,各ストライプにおける前記複数のデータブ
    ロックと前記誤り訂正ブロックのそれぞれが相異なる記
    憶装置上に存在する記憶装置群において, 前記冗長グループをなす複数の記憶装置の内の一つが利
    用不能となった後に前記複数の記憶装置を動作させる
    ンライン再構成方法であって, 前記利用不能となった記憶装置に対する置換記憶装置を
    用意するステップと, 前記利用不能の記憶装置データブ
    ロックおよび/または誤り訂正ブロックの再構成を前記
    置換記憶装置上に開始するステップと, 再構成中に前記置換記憶装置からのデータに対する外部
    要求に応答して,もし前記要求されたデータが前記置換
    記憶装置上にすでに再構成されているならば,前記置換
    記憶装置から前記要求されたデータを供給するステップ
    とを含んでなる 方法。
  2. 【請求項2】 前記請求項1に記載のオンライン再構成
    方法であって,前記外部からのデータ要求に応答するステップは,外部
    プロセッサにより意図されたアクセスの目的である複数
    のブロックを前記アクセスが可能なように構成するステ
    ップを含むことを特徴とする 方法。
  3. 【請求項3】 前記請求項2記載の方法であって,前記意図されたアクセスの目的である複数のブロックを
    構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
    タブロックをその上に新しいデータブロックを上書きす
    ることにより変更する動作であるならば, 前記変更されるべきデータブロックを含む前記ストライ
    プ内の前記少なくとも一つの関連誤り訂正ブロックを前
    記新しいデータブロックおよび前記変更されるべきデー
    タブロックに基づいて更新するステップと, 前記変更されるべきデータブロックを含むストライプ内
    に前記更新された少なくとも一つの誤り訂正ブロックを
    書き込むステップと, 前記新しいデータブロックを前記置換記憶装置上に書き
    込むステップを含むことを特徴とする 方法。
  4. 【請求項4】 前記請求項3に記載の方法であって, もし前記変更されるべきデータブロックが再構成中のス
    トライプ(A〜H)より上にあるならば, 変更されるべきデータブロックは前記置換記憶装置から
    読み出されることを特徴とする 方法。
  5. 【請求項5】 前記請求項3に記載の方法であって,もし前記変更されるべきデータブロックが再構成中のス
    トライプ(A〜H)より上にないならば, 変更されるべきデータブロックは実行中に再構成される
    ことを特徴とする 方法。
  6. 【請求項6】 前記請求項2に記載の方法であって,前記意図されたアクセスの目的である複数のブロックを
    構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
    タブロックをその上に新しいデータブロックを上書きす
    ることにより変更する動作であり,前記変更されるべき
    データブロックを含むストライプが前記置換記憶装置上
    に誤り訂正ブロックを有するならば, 前記少なくとも一つの関連誤り訂正ブロックを前記新し
    いデータブロックおよび前記変更されるべきデータブロ
    ックに基づいて更新するステップと, 前記変更されるべきデータブロックを含むストライプ内
    に前記新しいデータブロックを書き込むステップと, 前記更新された少なくとも一つの誤り訂正ブロックを前
    記置換記憶装置上に書き込むステップを含むことを特徴
    とする 方法。
  7. 【請求項7】 前記請求項2に記載の方法であって,前記意図されたアクセスの目的である複数のデータブロ
    ックを構成するステップは, もし前記意図されたアクセスが前記置換記憶装置のデー
    タブロックを読み出す 動作であるならば, 前記置換記憶装置上の前記要求されたデータブロックに
    アクセスするステップと, 前記要求されたデータブロックをプロセッサに提供する
    ステップを含むことを特徴とする 方法。
  8. 【請求項8】 前記請求項1〜7に記載の方法であっ
    て, 前記少なくともつの誤り訂正ブロックはパリティ情報
    を含むことを特徴とする方法。
  9. 【請求項9】 一つの冗長グループをなす複数の記憶装
    置が複数のストライプを記憶し,前記ストライプの各々
    が複数のデータブロックと少なくとも1つの関連誤り訂
    正ブロックとを含み,各ストライプにおける前記複数の
    データブロックと前記少なくとも一つの誤り訂正ブロッ
    クのそれぞれが相異なる記憶装置上に存在する記憶装置
    の冗長アレイであって, 前記記憶装置の内の利用不能となった記憶装置に対する
    置換記憶装置と, 前記置換記憶装置上に前記利用不能となった記憶装置の
    データブロックおよび/または誤り訂正ブロックを再構
    成するデータブロック再構成手段とを備えてなり, 前記冗長グループおよび記憶装置は,さらに,再構成中
    に前記置換記憶装置に対する外部からのアクセス要求に
    応答して,もし前記要求されたデータが前記置換記憶装
    置上にすでに再構成されているならば,前記置換記憶装
    置から前記要求されたデータを供給する手段とを備えて
    なる記憶装置の冗長アレイ。
  10. 【請求項10】 前記請求項9に記載の記憶装置の冗長
    アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
    タを供給する手段は, もし前記意図されたアクセスが新しいデータブロックに
    ついての書込み動作であるならば,前記変更されるべき
    データブロックを含む前記ストライプ内の前記少なくと
    も一つの誤り訂正ブロックを前記新しいデータブロック
    および前記変更されるべきデータブロックに基づいて更
    新する手段と, 前記変更されるべきデータブロックを含むストライプ内
    に前記更新された少な くとも一つの誤り訂正ブロックを
    書き込み,前記新しいデータブロックを前記置換記憶装
    置上に書き込む手段を備えてなることを特徴とする記憶
    装置の冗長アレイ。
  11. 【請求項11】 前記請求項9に記載の記憶装置の冗長
    アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
    タを供給する手段は, もし前記少なくとも一つの関連誤り訂正ブロックが前記
    置換記憶装置上に位置するならば,前記変更されるべき
    データブロックを含むストライプ内の前記少なくとも一
    つの誤り訂正ブロックを前記新しいデータブロックおよ
    び前記変更されるべきデータブロックに基づいて更新す
    る手段と, 前記変更されるべきデータブロックを含むストライプ内
    に新しいデータブロックを書き込み,前記更新された少
    なくとも一つの誤り訂正ブロックを前記置換記憶装置上
    に書き込む手段を備えてなることを特徴とする記憶装置
    の冗長アレイ。
  12. 【請求項12】 前記請求項11に記載の記憶装置の冗
    長アレイであって, さらに,変更されるべきデータブロックの位置を再構成
    中のストライプの位置と比較する手段を備えてなり, もし変更されるべきデータブロックが再構成中のストラ
    イプより上にあるならば,変更されるべきデータブロッ
    クは前記置換記憶装置から読み出され,もし変更される
    べきデータブロックが再構成中のストライプより上にな
    いならば,変更されるべきデータブロックは,実行中に
    再構成されることを特徴とする記憶装置の冗長アレイ。
  13. 【請求項13】 前記請求項9に記載の記憶装置の冗長
    アレイであって, 前記外部からのアクセス要求に応答して要求されたデー
    タを供給する手段は, もし前記意図されたアクセスが読み出し動作であると
    き,前記要求されたデータブロックにアクセスする手段
    と, 前記要求されたデータブロックをプロセッサに提供する
    手段を備えてなることを特徴とする記憶装置の冗長アレ
    イ。
  14. 【請求項14】 前記請求項9に記載の記憶装置の冗長
    アレイであって, さらに,前記再構成されたデータブロックを前記置換記
    憶装置に書き込む手段 を備えてなることを特徴とする記
    憶装置の冗長アレイ。
  15. 【請求項15】 前記請求項9〜14に記載の記憶装置
    の冗長アレイであって, 前記少なくとも一つの誤り訂正ブロックはパリティ情報
    を含むことを特徴とする記憶装置の冗長アレイ。
JP3339291A 1990-10-23 1991-10-23 記憶装置の冗長アレイおよびオンライン再構成方法 Expired - Lifetime JP2959901B2 (ja)

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) EP0482819B1 (ja)
JP (1) JP2959901B2 (ja)
AU (1) AU8590491A (ja)
CA (1) CA2053692A1 (ja)
DE (1) DE69130279T2 (ja)

Families Citing this family (350)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
JP3409859B2 (ja) * 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US6874101B2 (en) * 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
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
US5802264A (en) * 1991-11-15 1998-09-01 Fujitsu Limited Background data reconstruction in a storage device array system
US5369758A (en) * 1991-11-15 1994-11-29 Fujitsu Limited Checking for proper locations of storage devices in a storage array
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5974544A (en) * 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
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
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
EP1031928B1 (en) 1993-06-04 2005-05-18 Network Appliance, Inc. A method for providing parity in a raid sub-system using non-volatile 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 株式会社日立製作所 アレイ形式の記憶装置システム
DE69418984T2 (de) * 1993-11-30 2000-01-27 Hitachi, Ltd. Speicherplattenanordnung mit auf einer Vielzahl von Leiterplatten verteilten Speicherplatten, die bei einer Entfernung eines Teils der Leiterplatten zugänglich bleiben
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 情報記憶装置
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
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
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
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
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
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 日本アイ・ビー・エム株式会社 データ記憶システム、データ転送方法及びデータ再構成方法
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
US5805787A (en) * 1995-12-29 1998-09-08 Emc Corporation Disk based disk cache interfacing system and method
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
AU4600497A (en) * 1996-11-14 1998-06-03 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
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
US6460123B1 (en) 1996-12-03 2002-10-01 Emc Corporation Mirroring computer data
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
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
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
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446237B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
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
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
JP3723960B2 (ja) * 2001-11-19 2005-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体
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
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7613984B2 (en) 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
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
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation 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
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
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
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
US7290199B2 (en) * 2004-11-19 2007-10-30 International Business Machines Corporation Method and system for improved buffer utilization for disk array parity updates
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
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
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
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
US8775864B2 (en) 2009-04-21 2014-07-08 International Business Machines Corporation 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
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage 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
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests 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
US8726070B2 (en) * 2010-09-27 2014-05-13 Dell Products L.P. System and method for information handling system redundant storage rebuild
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US10802763B2 (en) * 2010-11-29 2020-10-13 Pure Storage, Inc. Remote storage verification
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
US9164841B2 (en) * 2012-06-05 2015-10-20 Cleversafe, Inc. Resolution of a storage error in a dispersed storage network
US8874956B2 (en) 2012-09-18 2014-10-28 Datadirect Networks, Inc. Data re-protection in a distributed replicated data storage system
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a 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
US8843447B2 (en) 2012-12-14 2014-09-23 Datadirect Networks, Inc. Resilient distributed replicated data storage system
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
US9589008B2 (en) 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
CN103970481B (zh) * 2013-01-29 2017-03-01 国际商业机器公司 重建存储器阵列的方法和装置
US9020893B2 (en) 2013-03-01 2015-04-28 Datadirect Networks, Inc. Asynchronous namespace maintenance
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
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
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
US20170132095A1 (en) * 2014-03-28 2017-05-11 Hewlett Packard Enterprise Development Lp 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
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
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
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
US20180217906A1 (en) * 2014-10-03 2018-08-02 Agency For Science, Technology And Research Method For Optimizing Reconstruction Of Data For A Hybrid Object Storage Device
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
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
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9588842B1 (en) * 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
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
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to 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
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US20180095788A1 (en) * 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
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
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive 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
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
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
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices 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
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
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
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
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
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
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
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets 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
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
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
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
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by 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
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
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for 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
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
CN116719484A (zh) * 2023-08-09 2023-09-08 苏州浪潮智能科技有限公司 一种磁盘阵列的写数据处理方法、装置、设备和介质
CN117008845B (zh) * 2023-09-27 2024-01-26 苏州元脑智能科技有限公司 读写指令的划分方法、装置、存储介质及电子装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置

Also Published As

Publication number Publication date
CA2053692A1 (en) 1992-04-24
US5208813A (en) 1993-05-04
US5390187A (en) 1995-02-14
EP0831400A3 (en) 2000-10-11
EP0482819A3 (en) 1993-01-13
JPH05143471A (ja) 1993-06-11
DE69130279T2 (de) 1999-06-17
AU8590491A (en) 1992-05-07
DE69130279D1 (de) 1998-11-05
EP0482819B1 (en) 1998-09-30
EP0831400A2 (en) 1998-03-25
EP0482819A2 (en) 1992-04-29

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
JP3164499B2 (ja) ディスクアレイにおけるパリティデータの無矛盾性保持方法
US5613088A (en) Raid system including first and second read/write heads for each disk drive
US20120192037A1 (en) Data storage systems and methods having block group error correction for repairing unrecoverable read errors
GB2343265A (en) Data storage array rebuild
JP2857288B2 (ja) ディスクアレイ装置
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
Gibson et al. RAIDframe: Rapid prototyping for disk arrays
US7478269B2 (en) Method and computer program product of keeping configuration data history using duplicated ring buffers
JP2857289B2 (ja) ディスクアレイ装置
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