JP3129732B2 - コピーバックキャッシュを有する記憶装置アレイ - Google Patents
コピーバックキャッシュを有する記憶装置アレイInfo
- Publication number
- JP3129732B2 JP3129732B2 JP04504448A JP50444892A JP3129732B2 JP 3129732 B2 JP3129732 B2 JP 3129732B2 JP 04504448 A JP04504448 A JP 04504448A JP 50444892 A JP50444892 A JP 50444892A JP 3129732 B2 JP3129732 B2 JP 3129732B2
- Authority
- JP
- Japan
- Prior art keywords
- storage unit
- block
- data block
- error correction
- data
- 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
- 238000012937 correction Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
-
- 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
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2087—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1019—Fast writes, i.e. signaling the host that a write is done before data is written to disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
し、詳しくは、一時記憶用のコピーバックキャッシュ記
憶ユニットを用いたフォールトトレラント(faulttoler
ant)記憶装置アレイに関する。
の記憶ユニットを備えている。この記憶ユニットは、直
接に、又は制御ユニット及びチャネルを介して、中央処
理ユニット(CPU)に接続される。記憶ユニットの機能
は、CPUが特定のデータ処理タスクを実行する際に用い
るデータ及びプログラムを記憶することである。
使用されている。典型的なシステムは、大容量のテープ
ユニットや、大容量の磁気、光、半導体ディスクドライ
ブ等を、1又はそれ以上の個数、備えている。これら
は、それぞれ、制御ユニットを介してシステムに接続さ
れる。
フェイルが発生すると、システムがこのユニット上の情
報にはもはやアクセスできなくなるという問題が生じ
る。一般的に、このようなフェイルは、コンピュータシ
ステム全体をダウンさせてしまう。
るという課題に関する技術が提案されてきた。記録規模
が比較的小さいシステムでは、ECCシンドロームビット
を発生させる誤り訂正符号を使用し、記憶ユニット内の
各データ記録に付加することも可能である。このような
符号を用いると、誤って読み取られたデータを少量なら
ば補正することができる。しかしながら、この種の符号
は、長い記録にエラーが生じた場合のその補正や再生に
は適さず、また、その記憶ユニットの全体がフェイルし
た場合にはもはや救済できない。それゆえ、個々の記憶
ユニット上のデータに外部から信頼性を与える必要が生
じていた。
討されてきた。カリフォルニア大学バークレー校の研究
グループは、“A Case for Redundant Arrays of Inexp
ensive Disks(RAID)",Patterson et al.,Proc.ACM SI
GMOID,June 1988と題する論文において、ディスクドラ
イブを記憶ユニットとして使用した場合にこのような信
頼性を与えるための異なったいくつかのアプローチを示
している。ここでは、ディスクドライブアレイによって
特徴づけられた5種類のアーキテクチャが開示されてい
る。これらのアーキテクチャRAID(Redundant Array of
Inexpensive Disks:廉価ディスク冗長アレイ)システ
ムと呼ばれ、それぞれ以下に述べる構成を有している。
呼ばれる対をなす記憶ユニット群を有している。各記憶
ユニットには、対をなす記憶ユニット状の全てのデータ
がコピーされ保存されている。このような方法は、信頼
性の問題を解決する一方で、記憶のためのコストを二倍
にする。RAID1アーキテクチャは、特にタンデム社によ
って多く装置化されている。
毎に異なるディスクドライブに記憶される。これは、
“ビットストライピング”として知られている。また、
各ワードには誤り検出訂正(EDC)ビットが付加されて
おり、これもビットストライピングの対象となる。例え
ばFlora et al.の米国特許第4,722,085号は、比較的小
容量で個別に操作可能な複数のディスクサブシステムを
使用したディスクドライブメモリを開示している。この
ディスクドライブメモリは、非常に高いフォールトトレ
ラントとデータ転送帯域幅を有する大規模な高容量ディ
スクドライブとして機能する。データオーガナイザは、
各32ビットのワードデータにEDC7ビット(周知のハミン
グ符号を使用する)を付加することにより、誤り検出訂
正機能を与える。こうして得られる39ビットのワード
は、1個のディスクドライブ当たり1ビット、合計39個
のディスクドライブに書き込まれる。39個のディスクド
ライブのうち1個がフェイルした場合には、個別に記憶
された残りの38ビットを使用することにより、各ワード
データをディスクドライブから読み取りながら、32ビッ
トのデータワードをワードバイワードベースで再構成す
ることができる。これによってフォールトトレランスが
達成される。
コンピュータは32ビットワードを使用するため最小限シ
ステムにも多数のディスクドライブが必要とされるこ
と、EDCビットを記憶するために39個中7個というかな
り多数のドライブが必要とされることである。さらに、
RAID2型のディスクドライブメモリシステムには、各デ
ータブロックのビットを各ディスクドライブに分配すべ
く、個別のディスクアクチュエータを一斉に動作させる
ことにより各データブロックを書き込まねばならないと
いう制限がある。このような構成は、各ディスクがそれ
ぞれデータブロックの一部分を転送するため広いデータ
転送帯域幅を有しており、単一のドライブによりブロッ
クをアクセスする場合よりずっと速く、コンピュータシ
ステムがブロック全体を利用できるようにになるという
効果を奏する。しかしながら、この構成は、記憶ユニッ
ト全体に単一のリード/ライトヘッドアクチュエータを
設けることによってのみ効果的になる。反面、“単一
の”アクチュエータによって1回でアクセスできるのは
データファイル1個だけであるので、データファイルが
小さい場合におけるドライブアレイに対するランダムア
クセス性が影響を受ける。このように、RAID2システム
は、バンキング、金融、予約システム等、複数の小デー
タファイルへの多数のランダムアクセスによって大量の
データ記憶転送操作が行われるような、オンライン業務
処理(OLTP)用に設計されたコンピュータシステムには
一般に適さないと考えられる。
ニットにフェイルやデータ誤りを検出する内部手段を設
けるという思想に基づくものである。それゆえ、誤り位
置を検出するための余分な情報を記憶する必要はなく、
より単純な形態のパリティベースの誤り訂正でよくな
る。このアプローチでは、フェイルが起きたすべての記
憶ユニットの内容を“XOR"(排他的論理和演算)するこ
とによりパリティ情報が生成される。得られるパリティ
情報は単一の冗長記憶ユニットに記憶される。従って、
あるひとつの記憶ユニットがフェイルした場合には、こ
のフェイルしたユニット上のデータは、残りの記憶ユニ
ットからのデータとパリティ情報をXORすることによっ
て、置き換え記憶ユニット上に再構成できる。このよう
な構成は、ミラーディスクRAID1アーキテクチャに比
べ、N個の記憶ユニット当たり1個の記憶ユニットを追
加するだけで足りるという利点がある。RAID3アーキテ
クチャは、さらに、ディスクドライブをRAID2システム
同様に結合して動作させ、1個のディスクドライブをパ
リティユニットとして使用するという設計も可能であ
る。
クロポリス社のパラレルドライブアレイモデル1804SCSI
がある。このモデルは、4個の同期化されたディスクド
ライブを並列的に使用しており、さらに冗長パリティド
ライブを1個使用している。4個のデータディスクドラ
イブのうち1個がフェイルしたとしても、パリティディ
スクドライブに記憶されたパリティビットの使用によっ
て、これを回復できる。RAID3システムの別の例は、Ouc
hiの米国特許第4,092,732号に述べられている。
テムよりはるかに低い冗長度ユニット/データユニット
比を有する。しかし、やはりRAID2システムと同様の限
界を有する。すなわち、個々のディスクアクチュエータ
を結合して一斉に動作させねばならない。“単一の”ア
クチュエータによって1回でアクセスできるのはデータ
ファイル1個だけであるので、データファイルが小さい
場合におけるドライブアレイに対するランダムアクセス
性が影響を受ける。このように、この点で、RAID3シス
テムは、OLTP用に設計されたコンピュータシステムには
一般に適さないと考えられる。
ティ誤り訂正を用いている。RAID4アーキテクチャで
は、RAID3システムに比べ、小規模ファイルに対するラ
ンダムアクセス性が改善されている。この改善は、個々
のディスクアクチュエータを結合せずに、より大きな最
小量データ(例えばディスクセクタ)を読み出しこれを
各ディスクに書き込むことによって実現されている。こ
の処理もブロックストライピングと呼ばれている。RAID
4アーキテクチャは、1個の記憶ユニットをパリティユ
ニットに割り当てた構成としても実現できる。
ユニットのうちあるユニットにデータブロックの書き込
みを行う場合に、パリティユニットにも新たなパリティ
ブロックを書き込まねばならない点にある。まず、デー
タ記憶ユニット上の古いデータから情報内容を除去する
ためには、パリティユニットに記憶されたパリティ情報
を読み出し、当該古いデータとXORしなければならな
い。さらに、データ記憶ユニット上に新たなデータブロ
ックを書き込む際、このXORの結果得られる総和を、当
該新たなデータとXORし、新たなパリティ情報を生成す
る必要がある。そして、得られた新たなデータ及び新た
なパリティ記録を、それぞれ、ディスクドライブに書き
込む。このプロセスは一般にリードモディファイライト
シーケンスと呼ばれる。
てカバーされる任意のデータ記憶ユニット上で記録が変
更されるたびに、パリティユニットに対するリード/ラ
イトが生じる。単位時間当たり記録変更回数はパリティ
ユニットへのアクセス速度の関数であるので、パリティ
ユニットがデータ書き込み操作のボトルネックとなり、
複数のデータ記憶ユニットの並列動作によるより速いア
クセス速度に対立する。この限界のため、RAID4システ
ムはOLTP用のコンピュータシステムに適切であるとは考
えられない。実際、RAID4システムの商業的な使用は行
われていないようである。
のパリティ誤り訂正並びに個別アクチュエータを用いて
いる。RAID5アーキテクチャでは、しかし、データ及び
パリティ情報を全てのアクセス可能なディスクドライブ
に分散させることによって、RAID4システムの書込み性
能が改良されている。一般に、“N+1"個の記憶ユニッ
トが組で、すなわちいわゆる冗長グループとして使用さ
れ、これらの記憶ユニットによる記憶空間が、ブロック
と称される複数の同サイズのアドレス領域に分割され
る。各記憶ユニットは通常同数のブロックを含んでい
る。ある冗長グループを構成する各記憶ユニットからの
ブロックのうち同じユニットアドレスを有するブロック
は、“ストライプ”と呼ばれる。各ストライプは、N個
のデータブロックと、そのストライプの残りのブロック
についてのパリティを含むプラス1個のパリティブロッ
クとを、1個の記憶ユニット上に有している。その他の
ストライプもそれぞれパリティブロックを有しているか
ら、パリティブロックは異なる記憶ユニット上に分散さ
れる。冗長グループ中の各データ変更と関連するパリテ
ィ更新アクティビティは、従って、異なる記憶ユニット
上に分散される。1個のユニットに全てのパリティ更新
アクティビティがかけられるということは、全くない。
ムでは、第1ブロックストライプのパリティ情報は第5
ドライブに、第2ブロックストライプのパリティ情報は
第4ドライブに、第3ブロックストライプのパリティ情
報は第3ドライブに、というように、連続するストライ
プのパリティブロックは一般にヘリカルパターンでディ
スクドライブ回りに書き込まれる。もちろん別のパター
ンが使用されてもよい。
ィスクドライブだけが使用されることは全くなく、RAID
4アーキテクチャのボトルネックが解消される。RAID5シ
ステムの例は、Clark et al.による米国特許第4,761,78
5号に述べられている。
タブロックを変更する際、2度のリード操作と2度のラ
イト操作からなるリードモディファイライトシーケンス
を必要とすることである。すなわち、古いパリティブロ
ックと古いデータブロックのリード及びXORを実行する
必要があり、さらに、XORにより得られた総和を新たな
データとXORする必要がある。新たなデータ及びパリテ
ィブロックは、ディスクドライブに再び書き込まねばな
らない。2度のリード操作は、2度のライト操作と同
様、平行して行われるものの、RAID4又はRAID5システム
でのデータブロックの変更は、従来のディスクの同じ操
作よりさらに時間がかかる。従来のディスクでは最初の
リード操作が不要であるから、従って、ライト操作を行
うべくディスクドライブが元の位置まで回転して戻るの
を待たねばならない。回転待ち時間だけでも、通常のデ
ータ変更処理に要する時間の約50%に達する。また、各
データ変更操作の遅れに2個のディスク記憶ユニットが
巻き込まれ、全体としてシステムのスループットが制限
される。
いデータ信頼性、冗長性のための低いオーバヘッドコス
ト、優れたリード性能、相当の書き込み性能によって、
RAID5型システムは顕著にポピュラー化している。しか
しながら、パリティ更新操作に要する回転遅れ時間に起
因した書込み性能ペナルティなしに、RAID5システムを
有効に利用することが望まれる。
あることの認識により、RAID5アーキテクチャにおける
誤り訂正ブロックのボトルネックを解決するものであ
る。すなわち、CPUからのアクセス要求によってRAID5シ
ステム中の1又は複数の記憶ユニットがアイドル状態と
なる特性を利用すると共に、標準的なRAIDシステムにさ
らにコピーバックキャッシュ記憶ユニットを付加する。
本発明は、このようなシステムを動作させるための2種
類の方法を提供する。
生じると、データは即座にコピーバックキャッシュ記憶
ユニット内の第1の記憶可能領域に書き込まれる。コピ
ーバックキャッシュ記憶ユニットへの書き込みが完了す
ると、この書き込みの成功が即座にホストCPUに報知さ
れる。その後、書き込まれたデータの誤り訂正ブロック
の更新を待たずに、CPUによる次の記憶ユニットアクセ
スが継続して行われる。
記憶ユニットのアイドル期間中に、コピーバックキャッ
シュ記憶ユニット内の各ペンディングデータブロックに
ついて誤り訂正ブロック(例えばXORパリティ)が計算
され、データブロックとこれに対応する誤り訂正ブロッ
クは、RAIDシステム内のそれぞれの適正な記憶領域にコ
ピーされる。また、多くのデータブロックが同一のスト
ライプに書き込まれるような場合は、そのストライプ中
のすべてのデータブロックから誤り訂正ブロックが一度
に算出され、時間の節約ができる。この方法では、実際
には、コピーバックキャッシュ記憶ユニットはピークロ
ードライトデータを記憶し、その後CPUによるI/Oアクセ
スの比較的な静的な期間にRAIDシステムへの実際の書き
込み操作が完了される。
クキャッシュ記憶ユニットにログされた後に、CPUのそ
の他のI/Oアクセスと重複しながら、コントローラのバ
ッファメモリ内のライトデータを使用して、RAIDシステ
ムコントローラによる通常のリードモディファイライト
操作が継続される。ここに、コピーバックキャッシュ記
憶ユニットへの単純なライトが完了すると即座にCPUが
演算を継続できるので、その性能が強化され、従って通
常のリードモディファイライトRAIDシステムで生じる遅
延が解消される。この方法では、コピーバックキャッシ
ュ記憶ユニットはさらにライトデータのランニングログ
としての機能も果たす。ライトデータはコピーバックキ
ャッシュ記憶ユニットにセーブされるので、データの一
体性が保たれ、従ってRAIDシステムに対するリードモデ
ィファイライト操作が完了されない場合でさえ、アクセ
ス可能となる。
てもデータが失われないように、不揮発性であるのが好
ましい。コピーバックキャッシュ記憶ユニットがディス
クドライブである場合は、フォールトトレランス(故障
許容)のためにミラー記憶ユニットと対にされているの
が望ましい。また、コピーバックキャッシュ記憶ユニッ
トは、ディスクドライブよりも速い書込み時間及び誤り
訂正ブロック更新時間を達成できる固体記憶ユニットで
あってもよい。
って示される。発明の詳細の開示に従って、当業者にと
って多様な改良例および変化が明白なものとなるはずで
ある。
IDシステムのブロック図である。
作のフローチャートである。
作のフローチャートである。
て考えられ、本発明を限定するものではない。
ステムのブロック図である。図示されるように、CPU1は
バス2を介してアレイコントローラ3に接続される。こ
のアレイコントローラ3は、実施例では、フォールトト
レラントコントローラである。アレイコントローラ3
は、I/Oバス(例えばSCSIバス)によって、複数の記憶
ユニットS1−S5(5個という数字は単なる例示である)
それぞれに接続される。記憶ユニットS1−S5はフェイル
(障害)の点で独立であり、すなわち、あるユニットで
フェイルが起きてもその他のユニットの物理的な動作に
影響を及ぼさない。アレイコントローラ3は、好ましく
は、個別プログラム可能のプロセッサ(例えば、カリフ
ォルニア州サニーヴァルのMIPS社のMIPS R3000 RISC
プロセッサ)を含む。この種のプロセッサは、CPU1と独
立して記憶ユニットを制御できる。
記憶ユニットCCも接続されている。この実施例では、コ
ピーバック記憶ユニットCCは、コモンI/Oバス(例えばS
CSIバス)に接続されており、コピーバック記憶ユニッ
トCCと記憶ユニットS1−S5との間でデータが転送され
る。コピーバックキャッシュ記憶ユニットCCは不揮発性
であり、電源が落ちてもデータは失われない。コピーバ
ックキャッシュ記憶ユニットCCがディスクドライブであ
る場合は、フォールトトレランスのためミラー記憶ユニ
ットCC′と対にするのが好ましい。ミラー記憶ユニット
CC′は、コントローラ3に接続され、コピーバックキャ
ッシュ記憶ユニットCCに書き込まれたすべてのデータが
基本的に同時にミラー記憶ユニットCC′に周知の方法で
書き込まれる。コピーバックキャッシュ記憶ユニットCC
は固体の記憶ユニットであってもよく、固体の場合は書
込み時間及び誤り訂正ブロック更新時間がディスクドラ
イブよりも速くなる。そのような場合は、固体記憶ユニ
ットは誤り検出及び訂正回路を有し、不揮発性である
か、あるいは電源供給にバッテリのバックアップを有す
る。
グループ分けされる。以下で述べられる図例では、説明
の簡略化のために、すべての記憶ユニットS1−S5が1個
の冗長グループに含まれるとしている。
ュータプログラムとして実現される。図2は、本発明の
第1実施例におけるリード/ライトステップを示すハイ
レベルフローチャートである。図3は、本発明の第2実
施例におけるリード/ライトステップを示すハイレベル
フローチャートである。以下、図2及び3に示されるス
テップを説明する。
要求を連続ベースでモニタする(ステップ20)。書込み
要求がペンディング中であれば(ステップ21)、そのデ
ータブロックは即座にコピーバックキャッシュ記憶ユニ
ットCC内の第1記憶可能領域に書き込まれる(ステップ
22)。このデータブロックは、ミラー記憶ユニットCC′
があればそこにも記憶される。書込みはまず、コピーバ
ックキャッシュ記憶ユニットCC上の第1論理ブロックで
行われ、連続して最終論理ブロックまで継続される。そ
の後(アレイ中に記憶されていないブロックに重ね書き
がない限り)、再び第1ブロックでの書き込みが開始さ
れる。この好ましい実施例によると、コピーバックキャ
ッシュ記憶ユニットCCにおいて時間のかかるSEEK動作
(すなわち、記憶ユニット内のリード/ライトヘッドの
物理的な移動)を最小限とすることができる。
各データブロックは、そのデータブロックが最終的に記
憶されることになるアレイのロケーション(位置)にフ
ラッグされ、ポインタはそのデータブロックがコピーバ
ックキャッシュ記憶ユニットCCにあることを示すように
セットされる(ステップ23)。このロケーション情報及
びポインタ情報は、メモリ内の個別のテーブルあるいは
コピーバックキャッシュ記憶ユニットCCに保持される。
前記テーブルは、各データブロックのサイズ、属性、状
態に関する標準情報を含むエントリーを有するディレク
トリテーブルからなる。さらに、各エントリーは、その
データブロックがコピーバックキャッシュ記憶ユニット
CCに記憶されているかアレイ(S1−S5)に記憶されてい
るかを示す1又は複数のフィールドと、そのデータブロ
ックにとってのアレイ中の“正常”ロケーションとを有
する。このようなディレクトリテーブルの生成は当業者
にとっては周知である。
タブロックがまだ“ペンディングブロック(コピーバッ
クキャッシュ記憶ユニットCCに書き込まれたもののS1−
S5のアレイへまだ転送されていないデータブロック)”
である時に、別のデータブロックがコピーバックキャッ
シュ記憶ユニットCCに書き込まれた場合は、そのデータ
ブロックのディレクトリロケーションポインタは“旧”
バージョンではなく“新”バージョンを指すように変更
される。旧バージョンはそれ以後無視されるが、引き続
いての操作中に書き直されてもよい。
ーラ3は即座にCPU1に通報を送り、書込み処理の成功を
示す(ステップ24)。そして、モニタリングプロセスが
繰り返される(ステップ25)。CPU1による記憶ユニット
のアクセスは、書き込まれたばかりのデータの誤り訂正
ブロックの更新を待たずに継続する。このように、コピ
ーバックキャッシュ記憶ユニットCCへのライトデータの
記憶は、CPU1の操作面に関しては、標準RAIDシステムの
リードモディファイライトシーケンスを必要としないの
で、アレイの書き込みのスループット時間は非冗長シス
テムと同じであるように見える。
21)、コントローラ3は読出し要求がペンディングであ
るかどうかをテストする(ステップ26)。読出し要求が
ペンディング中であれば、コントローラ3はディレクト
リを読み取って、要求された各データブロックのロケー
ションを検出する(ステップ27)。要求されたデータブ
ロックがアレイ中にない場合は(ステップ28)、コント
ローラ3はコピーバックキャッシュ記憶ユニットCCから
ブロックを読み出し、それをCPU1へ転送する(ステップ
29)。その後モニタリングプロセスが繰り返される(ス
テップ30)。要求されたデータブロックがアレイ中にあ
れば(ステップ28)、コントローラ3はアレイ(S1−S
5)から通常の方式でブロックを読み出し、それをCPU1
へ送る(ステップ31)。その後モニタリングプロセスが
繰り返される(ステップ32)。
ディスクキャッシュメモリを含む。もちろんそのような
キャッシュでも明らかに読み出し要求は満たされる。
中のライト/リードが全くない場合は、これらの記憶ユ
ニットがCPU1のI/Oアクセスに関して“アイドル”状態
であることを示し、コントローラ3は、そのアイドル記
憶ユニット上のロケーションにフラッグされた“ペンデ
ィングブロック”があるかどうかをチェックする。ペン
ディングブロックが全くなければ(ステップ33)、コン
トローラ3はモニタリングのサイクルを再開する(ステ
ップ34)。
コントローラ3はコピーバックキャッシュ記憶ユニット
CCからペンディングブロックを読み取る(ステップ3
5)。コントローラ3はそのペンディングブロックをア
レイの適正なロケーションに書き込み、このペンディン
グブロックに基づいて計算される新たな誤り訂正ブロッ
クを求め記憶する。
リティ情報を含む。このように、ディレクトリに記憶さ
れたペンディングブロックの位置情報で示されるアレイ
位置に対応する古いデータブロックと古い誤り訂正ブロ
ックとを読み取ることによって、そのペンディングブロ
ックにおける誤り訂正ブロックの更新が達成される(ス
テップ36)。コントローラ3はその後、旧データブロッ
クと、ペンディングデータブロックと、旧誤り訂正ブロ
ックとをXORして、新規の誤り訂正ブロックを生成する
(ステップ37)。この新誤り訂正ブロックとペンディン
グブロックはアレイS1−S5の適正なロケーションに書き
込まれる(ステップ38)。
き込まれるような場合は、そのストライプ中の更新され
ていない全てのデータブロックを読み出し、これらのデ
ータブロックをペンディングブロックとXORして新たな
誤り訂正ブロックを生成し、ペンディングブロックと新
誤り訂正ブロックとをアレイに書き込むことによって、
そのストライプ中のすべてのデータブロックに関する誤
り訂正が一度に算出される。これによって時間の節約が
実現される。
ユニットCCからアレイに送られたなら、そのブロックの
ためのディレクトリエントリーは修正され、そのデータ
ブロックがコピーバックキャッシュ記憶ユニットCCにで
はなく、アレイ中にあることを示す(ステップ39)。そ
の後、コントローラ3はモニタリングの周期を再開する
(ステップ40)。
個別のタスクが同時に行われるようなマルチタスクシス
テムにおいて実施されることも可能である。そのような
場合、上述のリード/ライトプロセス、及びペンディン
グブロックの転送は、同時に行われる個別のタスクとし
て実行される。従って、図2のステップ21、26、33で示
されるテストは、データブロックを読み取り、書き込
み、ペンディングブロックを転送するために、関連タス
クの要求中に暗黙のうちに行われる。例えば、コピーバ
ックキャッシュ記憶ユニットCCからアレイ中の記憶ユニ
ットへのペンディングブロックの転送は、アレイ中の別
の記憶ユニットへの読取り操作と同時に行われてもよ
い。また、コントローラ3がアレイ中の各記憶ユニット
における多数のI/O要求を“スタック”できるタイプの
アレイであれば(多くのSCSIベースのRAIDシステムがそ
うであるように)、上述の処理操作は同じ記憶ユニット
へのアクセスに関しては“同時に”行うことができる。
的に連続ベースでCPU1からの入出力要求をモニタする
(ステップ50)。この実施例では、コントローラ3には
比較的大きな(例えば1メガバイト)とデータバッファ
が設けられ、アレイに書き込まれるはずのデータを一時
的に格納する。書込み要求がペンディング中であれば
(ステップ51)、そのデータブロックはコントローラ3
によって、即座にコピーバックキャッシュ記憶ユニット
CCの第1記憶可能位置に書き込まれる(ステップ52)。
このデータブロックはミラー記憶ユニットCCがある場合
はそこにも記憶される。書込みは、コピーバックキャッ
シュ記憶ユニットCC上の第1論理ブロックから始めら
れ、それに続いて最終論理ブロックまで継続して行われ
る。その後、(アレイ中に記憶されなかったブロックが
重ね書きされない限り)書き込みは再び第1ブロックか
ら開始される。この良好な方法ではコピーバックキャッ
シュ記憶ユニットCCでのSEEK操作を最小限にする。
ィングブロックを引き出してアレイへ転送することが必
要とされたが、この実施例では、コピーバックキャッシ
ュ貯蔵記憶ユニットCCは書き込みデータのランニングロ
グとしての役割を果たす。第1実施例とは対称的に、SE
EK操作は、現行の領域がふさがっている場合に次のデー
タ書込み領域(例えばディスクドライブ中の次のシリン
ダ)への変更のために、あるいは記憶ユニットの最終論
理位置に達した後に開始論理位置にライト/リードヘッ
ドをリセットするために、もしくは機能不全の後にデー
タブロックをSEEKするためだけに必要とされる。
た各データブロックは、そのデータブロックが最終的に
記憶されることになるアレイ中のロケーションと、コピ
ーバックキャッシュ記憶ユニットCC内でのロケーション
とを用いてフラッグされ、ポインタは、そのデータブロ
ックがコントローラバッファの中にあることを示すよう
にセットされる(ステップ53)。先と同様に、このよう
なロケーションとポインタ情報やディレクトリテーブル
に保持される。
「ペンディングブロック」の定義は第1実施例での定義
といくぶん異なってくる。「ペンディングブロック」と
は、コピーバックキャッシュ記憶ユニットCCに書き込ま
れはしたものの、コントローラバッファからアレイS1−
S5に転送されていないデータブロックのことである。
タブロックがまだコントローラバッファ内の“ペンディ
ングブロック”である間に別のデータブロックがコピー
バックキャッシュ記憶ユニットCCに書き込まれた場合
は、そのデータブロックのためのディレクトリロケーシ
ョンポインタは、コピーバックキャッシュ記憶ユニット
CCとバッファの双方で旧バージョンから新バージョンを
示すように変更される。この旧バージョンはそれ以後無
視されるが、その後の操作で書き直されることも可能で
ある。
ーラ3は書込み操作が成功した旨をCPU1に報知する(ス
テップ54)。そしてモニタリングプロセスが繰り返され
る(ステップ55)。書き込まれたばかりのデータブロッ
クの誤り訂正ブロックの更新を待たずに、CPU1による次
の記憶ユニットアクセスが継続される。このように、コ
ピーバックキャッシュ記憶ユニットCCへの書込みデータ
の記憶は、CPU1の操作に関して標準RAIDシステムのリー
ドモディファイライトシーケンスを必要としないので、
アレイの書込み応答時間は、非冗長システムと同じよう
に見える。
1)、コントローラ3は読取り要求がペンディングであ
るかどうかをテストする(ステップ56)。読出し要求が
ペンディングであれば、コントローラ3はディレクトリ
テーブルを読み取って要求された各データブロックのロ
ケーションを検出する(ステップ57)。要求されたデー
タブロックがアレイ中にあれば(ステップ58)、コント
ローラ3は通常の方法でアレイ(S1−S5)からそのブロ
ックを読み出して、それをCPU1に送る(ステップ59)。
そしてモニタリングプロセスが繰り返される(ステップ
60)。
(ステップ58)、そのブロックはコントローラ3のバッ
ファ内にあるはずである。コントローラ3はバッファか
らCPU1へとそのデータブロックを転送する(ステップ6
1)。バッファは機械的に課せられる待ち時間なしに電
子的速さで動作するので、この動作は第1の実施例と比
べて非常に速い。そして、モニタリングプロセスが繰り
返される(ステップ62)。
中の書込みあるいは読出し操作がない場合は、これらの
記憶ユニットはCPU1のI/Oアクセスに関して“アイド
ル”であることを示し、コントローラ3は、バッファ中
にアイドル記憶ユニットのロケーションにフラッグされ
た“ペンディングブロック”があるかどうかをチェック
する。ペンディングブロックがまったくなければ(ステ
ップ63)、コントローラ3はモニタリングのサイクルを
再開する(ステップ64)。
コントローラ3はそのペンディングブロックにアクセス
し(ステップ65)、このペンディングブロックに基づい
て新規の誤り訂正ブロックを算出して記憶する。前述と
同様に、本発明の実施例では、誤り訂正ブロックはパリ
ティ情報を含む。このように、このペンディングブロッ
クにおける誤り訂正ブロックの更新は、ディレクトリに
記憶されたペンディングブロックの位置情報によって示
されるアレイ位置に対応する旧データブロックと旧誤り
訂正ブロックとを読み出すことによって達成される(ス
テップ66)。コントローラ3はこの旧データブロックと
ペンディングデータブロックと旧誤り訂正ブロックとを
XORして、新規の誤り訂正ブロックを生成する(ステッ
プ67)。この新規の誤り訂正ブロックとペンディングブ
ロックはアレイS1−S5に書き込まれる(ステップ68)。
に書き込まれる場合は、そのストライプ中の更新されな
い全てのデータブロックを読み取り、これらのデータブ
ロックをペンディングブロックとXORして新規の誤り訂
正ブロックを生成し、ペンディングブロックと新規の誤
り訂正ブロックとをアレイに書き込むことによって、そ
のストライプ中のすべてのデータブロックに関して誤り
訂正が一度に計算され得る。こうして時間の節約が実現
される。
らアレイに転送されたならば、ディレクトリが変更さ
れ、そのペンディングブロックはもはやコピーバックキ
ャッシュ記憶ユニットCCもしくはバッファ内で有効でな
いことを示す(ステップ69)。古いペンディングブロッ
クはそれ以後無視されるが、その後の操作で書き直され
てもよい。そしてコントローラ3はモニタリングサイク
ルを再開する(ステップ70)。
込まれる前にシステムの不全が起きた場合は、コントロ
ーラ3はコピーバックキャッシュ記憶ユニットCCからア
レイに書き込まれなかったペンディングブロックを読み
取り、選択されたペンディングブロックをアレイに書き
込む。
別個のタスクを同時に行うマルチタスクシステムで本発
明が実践実行されてもよい。図3のステップ51、56、63
で示されるテストは、データブロックの書き込み、読み
取り、ペンディングブロックの転送のために、関連タス
クの要求中に暗黙のうちに実行される。
して非ロード状態がある限り、標準的なエラー更新動作
により生じる回転待ち時間に起因する書き込み実行のペ
ナルティなしに、RAIDシステムの利点を提供するもので
ある。どのアレイ記憶ユニットにおけるアイドルタイム
も生産的に活用され、CPU1による比較的非活動的な瞬間
に、コピーバックキャッシュ記憶ユニットCCに記憶され
るデータが(キャッシュ自体から、あるいはコントロー
ラーのバッファから)アレイに書き込まれることとな
る。
神髄と範囲から離脱することなく多様な変形が可能であ
ることを理解されたい。例えば、本発明はRAID3、RAID4
あるいはRAID5のシステムと共に用いられてもよい。ま
た、必要な冗長情報のために、XOR生成されたパリティ
とともに、あるいはこのパリティの代わりに他の誤り訂
正方法が用いられてもよい。リード−ソロモンコードを
使用したこのような方法のひとつは、「アレイディスク
ドライブシステムおよび方法」と題された同一出願人に
よる1988年11月14日出願の米国特許出願題270,713号に
開示されている。
に支障が起きたアクティブ記憶ユニットの代用となる
“ホットスペア”記憶ユニットが挙げられる。本発明は
そのような“ホットスペア”をコピーバックキャッシュ
記憶ユニットCCとして用いることによってことによって
実践されてもよく、コピーバックキャッシュ機能専用の
記憶ニットの必要性を解消する。“ホットスペア”が本
来の目的のために必要とされる場合は、RAIDシステムは
代用ディスクが与えられるまでノンコピーバックキャッ
シュモードになる。
トCCは、実施例での共通のI/Oバス(例えばSCSIバス)
ではなく専用バスを介してコントローラ3に取り付けら
れてもよい。
されるものではなく、添付クレームの範囲によってのみ
限定されるものである。
Claims (8)
- 【請求項1】以下を備えるフォールトトレラント記憶装
置アレイ。 a.少なくともデータブロック及びこれに対応する誤り訂
正ブロックを含む複数ブロックにより構成されたストラ
イプの形式で、情報を記憶する障害の点で独立した複数
個の記憶ユニット b.データブロックを一時記憶する少なくとも1個のコピ
ーバックキャッシュ記憶ユニット c.上記複数個の記憶ユニット及び上記少なくとも1個の
コピーバックキャッシュ記憶ユニットに接続され、機能
(1)〜(3)を有する制御手段を含む記憶ユニットコ
ントローラ (1)上記複数個の記憶ユニットに新たに書き込むべき
書込み要求対象のデータブロックを、まず上記少なくと
も1個のコピーバックキャッシュ記憶ユニット上に、ペ
ンディングデータブロックとして書き込む機能 (2)書込み要求対象の各データブロックの書き込みが
終了したことを確認する機能 (3)上記複数個の記憶ユニットのうち少なくともいず
れかの記憶ユニットのアイドルタイムにおいて処理
(a)〜(d)を実行する機能 (a)上記少なくとも1個のコピーバックキャッシュ記
憶ユニットに書き込まれた少なくとも1個のペンディン
グデータブロックを、上記少なくとも1個のコピーバッ
クキャッシュ記憶ユニットから読み出す処理 (b)上記記憶ユニットにアクセスし、各ペンディング
データブロックに対応するそこに前から記憶されている
データブロックを読み出す処理 (c)上記の前から記憶されているデータブロック及び
各ペンディングデータブロックから対応する誤り訂正ブ
ロックを生成する処理 (d)上記の対応する誤り訂正ブロックが生成される
と、それら各ぺンディングデータブロック及びこれに対
応する誤り訂正ブロックを、アイドル状態にある記憶ユ
ニット上の対応するストライプに書き込む処理 (4)読出し要求対象のデータブロックが上記複数の記
憶ユニット上に書き込まれていない場合は、当該読出し
要求対象のデータブロックを、少なくとも1個のコピー
バックキャッシュ記憶ユニットから読み出し、それ以外
の場合には上記複数の記憶ユニットから読み出す機能 - 【請求項2】請求項1記載の記憶装置アレイにおいて、 各読み出されたペンディングデータブロックに対応する
情報が、上記アイドル状態にある記憶ユニットの対応す
るストライプから読み出された対応する古い誤り訂正ブ
ロック及び対応する古いデータブロックを含む記憶装置
アレイ。 - 【請求項3】請求項1記載の記憶装置アレイにおいて、 新たな誤り訂正ブロックを生成する処理が、さらに以下
の処理を含む記憶装置アレイ。 a.上記アイドル状態にある記憶ユニットの対応するスト
ライプから対応する古いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するスト
ライプから対応する古い誤り訂正ブロックを読み出す処
理 c.上記古いデータブロック、上記古い誤り訂正ブロック
及び上記読み出されたペンディングデータブロックの排
他的論理和を演算することにより、新たな誤り訂正ブロ
ックを生成する処理 - 【請求項4】請求項1記載のフォールトトレラント記憶
装置アレイにおいて、 少なくとも1個のコピーバックキャッシュ記憶ユニット
が不揮発性である記憶装置アレイ。 - 【請求項5】少なくともデータブロック及びこれに対応
する誤り訂正ブロックを含む複数ブロックにより構成さ
れたストライプの形式で情報を記憶する障害の点で独立
した複数個の記憶ユニットを備えるフォールトトレラン
ト記憶装置アレイに、以下のステップによりデータを記
憶する方法。 a.受信したデータブロックを一時的に書き込む少なくと
も1個のコピーバックキャッシュ記憶ユニットを設ける
ステップ b.上記複数個の記憶ユニットに新たに書き込むべき書込
み要求対象のデータブロックを、まず上記少なくとも1
個のコピーバックキャッシュ記憶ユニット上に、ペンデ
ィングデータブロックとして書き込むステップ c.書込み要求対象の各データブロックの書き込みが終了
したことを確認する機能 d.上記複数個の記憶ユニットのうち少なくともいずれか
の記憶ユニットのアイドルタイムにおいて処理(1)〜
(4)を実行するステップ (1)上記少なくとも1個のコピーバックキャッシュ記
憶ユニットに書き込むステップにおいて書き込まれた少
なくとも1個のペンディングデータブロックを、上記少
なくとも1個のコピーバックキャッシュ記憶ユニットか
ら読み出す処理 (2)上記記憶ユニットにアクセスし、各ペンディング
データブロックに対応するそこに前から記憶されている
データブロックを読み出す処理 (3)上記の前から記憶されているデータブロック及び
各ペンディングデータブロックから対応する誤り訂正ブ
ロックを生成する処理 (4)それら各ペンディングデータブロック及びこれに
対応する誤り訂正ブロックを、アイドル状態にある記憶
ユニット上の対応するストライプに書き込む処理 e.要求されたデータブロックが上記複数の記憶ユニット
上に書き込まれていない場合は、当該要求されたデータ
ブロックを、少なくとも1個のコピーバックキャッシュ
記憶ユニットから読み出し、それ以外の場合には上記複
数の記憶ユニットから読み出すステップ - 【請求項6】請求項5記載の方法において、 上記の読み出された情報及び各読み出されたペンディン
グデータブロックから対応する誤り訂正ブロックを生成
する処理が、さらに、以下の処理を含む方法。 a.新たな誤り訂正ブロックを、上記少なくとも1個のペ
ンディングブロック並びに上記アイドル状態にある記憶
ユニットの対応するストライプから読み出された対応す
る古い誤り訂正ブロック及び対応する古いデータブロッ
クの関数として生成する処理 - 【請求項7】請求項6記載の方法において、 上記新たな誤り訂正ブロックを生成する処理が、さらに
以下の処理を含む方法。 a.上記アイドル状態にある記憶ユニットの対応するスト
ライプから対応する古いデータブロックを読み出す処理 b.上記アイドル状態にある記憶ユニットの対応するスト
ライプから対応する古い誤り訂正ブロックを読み出す処
理 c.上記古いデータブロック、上記古い誤り訂正ブロック
及び上記読み出されたペンディングデータブロックの排
他的論理和を演算することにより、新たな誤り訂正ブロ
ックを生成する処理 - 【請求項8】請求項5記載の方法において、 少なくとも1個のコピーバックキャッシュ記憶ユニット
が不揮発性である方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US638,167 | 1984-08-06 | ||
US07/638,167 US5274799A (en) | 1991-01-04 | 1991-01-04 | Storage device array architecture with copyback cache |
PCT/US1992/000059 WO1992012482A1 (en) | 1991-01-04 | 1992-01-03 | Fluid transfer device and method of use |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06504863A JPH06504863A (ja) | 1994-06-02 |
JP3129732B2 true JP3129732B2 (ja) | 2001-01-31 |
Family
ID=24558917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04504448A Expired - Lifetime JP3129732B2 (ja) | 1991-01-04 | 1992-01-03 | コピーバックキャッシュを有する記憶装置アレイ |
Country Status (7)
Country | Link |
---|---|
US (4) | US5274799A (ja) |
EP (1) | EP0493984B1 (ja) |
JP (1) | JP3129732B2 (ja) |
AU (1) | AU1001492A (ja) |
CA (1) | CA2058734C (ja) |
DE (1) | DE69126416T2 (ja) |
WO (1) | WO1992012482A1 (ja) |
Families Citing this family (335)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0679293B2 (ja) * | 1990-10-15 | 1994-10-05 | 富士通株式会社 | 計算機システム |
JP2641819B2 (ja) * | 1990-11-05 | 1997-08-20 | 三菱電機株式会社 | キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式 |
US5829030A (en) * | 1990-11-05 | 1998-10-27 | Mitsubishi Denki Kabushiki Kaisha | System for performing cache flush transactions from interconnected processor modules to paired memory modules |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
JP3192664B2 (ja) * | 1991-01-22 | 2001-07-30 | 株式会社日立製作所 | キャッシュメモリシステムおよびキャッシュメモリコントローラ |
JP3409859B2 (ja) * | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
US6874101B2 (en) * | 1991-01-31 | 2005-03-29 | Hitachi, Ltd. | Storage unit subsystem |
US5592660A (en) * | 1991-03-04 | 1997-01-07 | Fujitsu Limited | Database management system to alternately perform retrieval process and updating process |
JP2923702B2 (ja) * | 1991-04-01 | 1999-07-26 | 株式会社日立製作所 | 記憶装置及びそのデータ修復方法 |
JP2743606B2 (ja) * | 1991-04-11 | 1998-04-22 | 三菱電機株式会社 | アレイ型記録装置 |
JP2913917B2 (ja) * | 1991-08-20 | 1999-06-28 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
US5499337A (en) * | 1991-09-27 | 1996-03-12 | Emc Corporation | Storage device array architecture with solid-state redundancy unit |
JP3451099B2 (ja) * | 1991-12-06 | 2003-09-29 | 株式会社日立製作所 | 外部記憶サブシステム |
US5537566A (en) * | 1991-12-17 | 1996-07-16 | Fujitsu Limited | Apparatus and method for controlling background processing in disk array device |
GB2264798A (en) * | 1992-03-04 | 1993-09-08 | Hitachi Ltd | High speed access control |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
US5469566A (en) * | 1992-03-12 | 1995-11-21 | Emc Corporation | Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
JPH05341918A (ja) * | 1992-05-12 | 1993-12-24 | Internatl Business Mach Corp <Ibm> | 二重化デイスク記憶装置システムを構成するための接続装置 |
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
JP2857288B2 (ja) | 1992-10-08 | 1999-02-17 | 富士通株式会社 | ディスクアレイ装置 |
DE4392143C1 (de) * | 1992-05-21 | 1996-11-21 | Fujitsu Ltd | Platten-Array-Vorrichtung |
US5315602A (en) * | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
GB2270791B (en) * | 1992-09-21 | 1996-07-17 | Grass Valley Group | Disk-based digital video recorder |
US5418925A (en) * | 1992-10-23 | 1995-05-23 | At&T Global Information Solutions Company | Fast write I/O handling in a disk array using spare drive for buffering |
US5416915A (en) * | 1992-12-11 | 1995-05-16 | International Business Machines Corporation | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array |
GB2273798A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Cache system for disk array. |
US5579474A (en) * | 1992-12-28 | 1996-11-26 | Hitachi, Ltd. | Disk array system and its control method |
JP3256329B2 (ja) | 1993-05-27 | 2002-02-12 | 株式会社日立製作所 | ディスクアレイ装置及びその制御方法 |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
US5557770A (en) * | 1993-03-24 | 1996-09-17 | International Business Machines Corporation | Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk |
JPH06332623A (ja) * | 1993-05-24 | 1994-12-02 | Mitsubishi Electric Corp | アレイ型記録装置及び記録装置 |
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 |
EP0702815B1 (en) * | 1993-06-03 | 2000-08-23 | Network Appliance, Inc. | Write anywhere file-system layout |
US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
EP1197836A3 (en) * | 1993-06-03 | 2009-06-17 | Network Appliance, Inc. | A method for allocating files in a file system integrated with a raid disk sub-system |
EP0701715A4 (en) * | 1993-06-04 | 1999-11-17 | Network Appliance Corp | METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY |
US5550998A (en) * | 1993-06-14 | 1996-08-27 | Storage Technology Corporation | Pre-seeking process for enhancing reading and writing performance in a mass storage system having multiple individual disk drives |
US5392244A (en) * | 1993-08-19 | 1995-02-21 | Hewlett-Packard Company | Memory systems with data storage redundancy management |
US5548711A (en) * | 1993-08-26 | 1996-08-20 | Emc Corporation | Method and apparatus for fault tolerant fast writes through buffer dumping |
US5572660A (en) * | 1993-10-27 | 1996-11-05 | Dell Usa, L.P. | System and method for selective write-back caching within a disk array subsystem |
DE4423559A1 (de) * | 1993-11-09 | 1995-05-11 | Hewlett Packard Co | Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher |
JPH07175728A (ja) * | 1993-12-20 | 1995-07-14 | Hokkaido Nippon Denki Software Kk | ディスクキャッシュデータ保全方式 |
US5396620A (en) * | 1993-12-21 | 1995-03-07 | Storage Technology Corporation | Method for writing specific values last into data storage groups containing redundancy |
US5911150A (en) * | 1994-01-25 | 1999-06-08 | Data General Corporation | Data storage tape back-up for data processing systems using a single driver interface unit |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
US5537588A (en) * | 1994-05-11 | 1996-07-16 | International Business Machines Corporation | Partitioned log-structured file system and methods for operating the same |
US5634109A (en) * | 1994-06-20 | 1997-05-27 | International Business Machines Corporation | Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache |
US5412668A (en) * | 1994-09-22 | 1995-05-02 | International Business Machines Corporation | Parity striping feature for optical disks |
GB2293912A (en) * | 1994-10-05 | 1996-04-10 | Ibm | Disk storage device for disk array |
EP0707267A3 (en) * | 1994-10-12 | 1996-07-03 | Ibm | Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring |
US5826046A (en) * | 1994-12-30 | 1998-10-20 | International Business Machines Corporation | Method and apparatus for polling and selecting any paired device in any drawer |
US5794242A (en) * | 1995-02-07 | 1998-08-11 | Digital Equipment Corporation | Temporally and spatially organized database |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
JP3732869B2 (ja) * | 1995-06-07 | 2006-01-11 | 株式会社日立製作所 | 外部記憶装置 |
WO1997001139A1 (en) * | 1995-06-23 | 1997-01-09 | Elonex Plc | Disk array controller with enhanced synchronous write |
US5657468A (en) * | 1995-08-17 | 1997-08-12 | Ambex Technologies, Inc. | Method and apparatus for improving performance in a reduntant array of independent disks |
US5875456A (en) * | 1995-08-17 | 1999-02-23 | Nstor Corporation | Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array |
US5799200A (en) * | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US5708771A (en) * | 1995-11-21 | 1998-01-13 | Emc Corporation | Fault tolerant controller system and method |
US6334195B1 (en) * | 1995-12-29 | 2001-12-25 | Lsi Logic Corporation | Use of hot spare drives to boost performance during nominal raid operation |
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 |
US5838892A (en) * | 1995-12-29 | 1998-11-17 | Emc Corporation | Method and apparatus for calculating an error detecting code block in a disk drive controller |
US5805787A (en) * | 1995-12-29 | 1998-09-08 | Emc Corporation | Disk based disk cache interfacing system and method |
US5790773A (en) * | 1995-12-29 | 1998-08-04 | Symbios, Inc. | Method and apparatus for generating snapshot copies for data backup in a raid subsystem |
US5720025A (en) | 1996-01-18 | 1998-02-17 | Hewlett-Packard Company | Frequently-redundant array of independent disks |
DE19607101A1 (de) * | 1996-02-24 | 1997-08-28 | Hella Kg Hueck & Co | Elektronisches Gerät und Einrichtung zur Datenübertragung zwischen zwei gleichartig aufgebauten elektronischen Geräten |
US5864738A (en) * | 1996-03-13 | 1999-01-26 | Cray Research, Inc. | Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller |
US6233704B1 (en) | 1996-03-13 | 2001-05-15 | Silicon Graphics, Inc. | System and method for fault-tolerant transmission of data within a dual ring network |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
US5724501A (en) * | 1996-03-29 | 1998-03-03 | Emc Corporation | Quick recovery of write cache in a fault tolerant I/O system |
US5734814A (en) * | 1996-04-15 | 1998-03-31 | Sun Microsystems, Inc. | Host-based RAID-5 and NV-RAM integration |
US5805788A (en) * | 1996-05-20 | 1998-09-08 | Cray Research, Inc. | Raid-5 parity generation and data reconstruction |
US5761534A (en) * | 1996-05-20 | 1998-06-02 | Cray Research, Inc. | System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network |
US5862313A (en) * | 1996-05-20 | 1999-01-19 | Cray Research, Inc. | Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network |
US5819310A (en) * | 1996-05-24 | 1998-10-06 | Emc Corporation | Method and apparatus for reading data from mirrored logical volumes on physical disk drives |
US6108812A (en) * | 1996-06-20 | 2000-08-22 | Lsi Logic Corporation | Target device XOR engine |
US5974506A (en) * | 1996-06-28 | 1999-10-26 | Digital Equipment Corporation | Enabling mirror, nonmirror and partial mirror cache modes in a dual cache system |
US5860091A (en) * | 1996-06-28 | 1999-01-12 | Symbios, Inc. | Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications |
US5802561A (en) * | 1996-06-28 | 1998-09-01 | Digital Equipment Corporation | Simultaneous, mirror write cache |
US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US5812754A (en) * | 1996-09-18 | 1998-09-22 | Silicon Graphics, Inc. | Raid system with fibre channel arbitrated loop |
US5991852A (en) * | 1996-10-28 | 1999-11-23 | Mti Technology Corporation | Cache ram using a secondary controller and switching circuit and improved chassis arrangement |
US6038680A (en) * | 1996-12-11 | 2000-03-14 | Compaq Computer Corporation | Failover memory for a computer system |
US5990879A (en) * | 1996-12-20 | 1999-11-23 | Qorvis Media Group, Inc. | Method and apparatus for dynamically arranging information in a presentation sequence to minimize information loss |
US6108684A (en) * | 1996-12-23 | 2000-08-22 | Lsi Logic Corporation | Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers |
US6073218A (en) * | 1996-12-23 | 2000-06-06 | Lsi Logic Corp. | Methods and apparatus for coordinating shared multiple raid controller access to common storage devices |
US5933824A (en) * | 1996-12-23 | 1999-08-03 | Lsi Logic Corporation | Methods and apparatus for locking files within a clustered storage environment |
US6023584A (en) * | 1997-01-03 | 2000-02-08 | Ncr Corporation | Installation of computer programs using disk mirroring |
JP3204143B2 (ja) * | 1997-01-06 | 2001-09-04 | 日本電気株式会社 | ディスクキャッシュの制御方法 |
US6678462B1 (en) * | 1997-03-25 | 2004-01-13 | Sony Corporation | Electronic device, method and apparatus for controlling an electronic device, and electronic device control system |
US6154853A (en) * | 1997-03-26 | 2000-11-28 | Emc Corporation | Method and apparatus for dynamic sparing in a RAID storage system |
US5944838A (en) * | 1997-03-31 | 1999-08-31 | Lsi Logic Corporation | Method for fast queue restart after redundant I/O path failover |
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 |
US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6134668A (en) | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method of selective independent powering of portion of computer system through remote interface from remote interface power supply |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6292905B1 (en) | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6272648B1 (en) | 1997-05-13 | 2001-08-07 | Micron Electronics, Inc. | System for communicating a software-generated pulse waveform between two servers in a network |
US5892928A (en) | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US5987554A (en) | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
US6253334B1 (en) * | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6247079B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc | Apparatus for computer implemented hot-swap and hot-add |
US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6179486B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6189109B1 (en) | 1997-05-13 | 2001-02-13 | Micron Electronics, Inc. | Method of remote access and control of environmental conditions |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
US6014759A (en) * | 1997-06-13 | 2000-01-11 | Micron Technology, Inc. | Method and apparatus for transferring test data from a memory array |
US6044429A (en) | 1997-07-10 | 2000-03-28 | Micron Technology, Inc. | Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths |
US6553404B2 (en) | 1997-08-08 | 2003-04-22 | Prn Corporation | Digital system |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
WO1999008216A1 (en) * | 1997-08-08 | 1999-02-18 | Pics Previews, Inc. | Method and apparatus for distributing audiovisual content |
US6381674B2 (en) * | 1997-09-30 | 2002-04-30 | Lsi Logic Corporation | Method and apparatus for providing centralized intelligent cache between multiple data controlling elements |
US6065096A (en) * | 1997-09-30 | 2000-05-16 | Lsi Logic Corporation | Integrated single chip dual mode raid controller |
US5975738A (en) * | 1997-09-30 | 1999-11-02 | Lsi Logic Corporation | Method for detecting failure in redundant controllers using a private LUN |
US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
US6154835A (en) | 1997-10-01 | 2000-11-28 | Micron Electronics, Inc. | Method for automatically configuring and formatting a computer system and installing software |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
US6085303A (en) * | 1997-11-17 | 2000-07-04 | Cray Research, Inc. | Seralized race-free virtual barrier network |
US6035347A (en) * | 1997-12-19 | 2000-03-07 | International Business Machines Corporation | Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer |
JPH11203056A (ja) | 1998-01-19 | 1999-07-30 | Fujitsu Ltd | 入出力制御装置及びアレイディスク装置 |
US6112311A (en) * | 1998-02-20 | 2000-08-29 | International Business Machines Corporation | Bridge failover system |
US6061750A (en) * | 1998-02-20 | 2000-05-09 | International Business Machines Corporation | Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure |
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 |
US6421746B1 (en) | 1998-03-26 | 2002-07-16 | Micron Electronics, Inc. | Method of data and interrupt posting for computer devices |
DE19819531C1 (de) * | 1998-04-30 | 1999-12-02 | Siemens Ag | RISC-Prozessor mit einer Debug-Schnittstelleneinheit |
US6865642B2 (en) * | 1998-06-24 | 2005-03-08 | International Business Machines Corporation | Method and apparatus for disk caching for an intermediary controller |
US6243827B1 (en) | 1998-06-30 | 2001-06-05 | Digi-Data Corporation | Multiple-channel failure detection in raid systems |
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 |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US6343343B1 (en) | 1998-07-31 | 2002-01-29 | International Business Machines Corporation | Disk arrays using non-standard sector sizes |
US6279138B1 (en) | 1998-08-04 | 2001-08-21 | International Business Machines Corporation | System for changing the parity structure of a raid array |
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 |
US6332197B1 (en) | 1998-08-04 | 2001-12-18 | International Business Machines Corp. | System for updating data in a multi-adaptor environment |
US6243795B1 (en) | 1998-08-04 | 2001-06-05 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Redundant, asymmetrically parallel disk cache for a data storage system |
US6446220B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating data and parity data with and without read caches |
US6446237B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
JP3511576B2 (ja) * | 1998-10-02 | 2004-03-29 | 松下電器産業株式会社 | ディスク記録再生方法および装置 |
US6330687B1 (en) | 1998-11-13 | 2001-12-11 | Digi-Data Corporation | System and method to maintain performance among N single raid systems during non-fault conditions while sharing multiple storage devices during conditions of a faulty host computer or faulty storage array controller |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6769088B1 (en) * | 1999-06-30 | 2004-07-27 | Maxtor Corporation | Sector-coding technique for reduced read-after-write operations |
US6629199B1 (en) * | 1999-08-20 | 2003-09-30 | Emc Corporation | Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
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 |
US6553458B1 (en) * | 1999-12-14 | 2003-04-22 | Ncr Corporation | Integrated redundant storage device |
US6542960B1 (en) * | 1999-12-16 | 2003-04-01 | Adaptec, Inc. | System and method for parity caching based on stripe locking in raid data storage |
EP1128267A1 (en) * | 2000-02-25 | 2001-08-29 | Hewlett-Packard Company, A Delaware Corporation | Disk storage system having redundant solid state data storage devices |
WO2001082078A2 (en) * | 2000-04-20 | 2001-11-01 | Ciprico, Inc. | Method and apparatus for maintaining the integrity of configuration data in redundant, fault tolerant network appliances |
US6701449B1 (en) | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
US6330642B1 (en) * | 2000-06-29 | 2001-12-11 | Bull Hn Informatin Systems Inc. | Three interconnected raid disk controller data processing system architecture |
US6802039B1 (en) * | 2000-06-30 | 2004-10-05 | Intel Corporation | Using hardware or firmware for cache tag and data ECC soft error correction |
US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6725342B1 (en) * | 2000-09-26 | 2004-04-20 | Intel Corporation | Non-volatile mass storage cache coherency apparatus |
US6604160B1 (en) | 2000-09-28 | 2003-08-05 | International Business Machines Corporation | Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources |
US6446160B1 (en) | 2000-09-28 | 2002-09-03 | International Business Machines Corporation | Multi-drive data storage system with analysis and selected demounting of idle data storage media |
US6434682B1 (en) | 2000-09-28 | 2002-08-13 | International Business Machines Corporation | Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy |
DE60114879T2 (de) * | 2000-12-20 | 2006-07-20 | Koninklijke Philips Electronics N.V. | Stromausfallrueckstelleinrichtung fuer aufzeichnungs-/ wiedergabegeraet |
US6785767B2 (en) * | 2000-12-26 | 2004-08-31 | Intel Corporation | Hybrid mass storage system and method with two different types of storage medium |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US6799284B1 (en) | 2001-02-28 | 2004-09-28 | Network Appliance, Inc. | Reparity bitmap RAID failure recovery |
US6865717B2 (en) * | 2001-05-30 | 2005-03-08 | International Business Machines Corporation | Method, system, and program for generating a progress indicator |
US6996668B2 (en) | 2001-08-06 | 2006-02-07 | Seagate Technology Llc | Synchronized mirrored data in a data storage device |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
TW595012B (en) * | 2001-09-03 | 2004-06-21 | Matsushita Electric Ind Co Ltd | Semiconductor light-emitting device, light-emitting apparatus and manufacturing method of semiconductor light-emitting device |
US20030074524A1 (en) * | 2001-10-16 | 2003-04-17 | Intel Corporation | Mass storage caching processes for power reduction |
US7502886B1 (en) | 2001-10-23 | 2009-03-10 | Emc Corporation | Data storage device with two-tier raid control circuitry |
US6973537B1 (en) * | 2001-10-23 | 2005-12-06 | Emc Corporation | Disk cache interfacing system and method |
US7174422B1 (en) * | 2001-10-23 | 2007-02-06 | Emc Corporation | Data storage device with two-tier raid control circuitry |
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 |
US7640484B2 (en) * | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US6993701B2 (en) * | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
US7073115B2 (en) * | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US7613984B2 (en) * | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
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 |
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 |
US7539991B2 (en) | 2002-03-21 | 2009-05-26 | Netapp, Inc. | Method and apparatus for decomposing I/O tasks in a raid system |
US6976146B1 (en) | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
US7028154B2 (en) | 2002-06-18 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Procedure to reduce copy time for data backup from short-term to long-term memory |
US6952758B2 (en) * | 2002-07-31 | 2005-10-04 | International Business Machines Corporation | Method and system for providing consistent data modification information to clients in a storage system |
US7454529B2 (en) * | 2002-08-02 | 2008-11-18 | Netapp, Inc. | Protectable data storage system and a method of protecting and/or managing a data storage system |
US7069466B2 (en) * | 2002-08-14 | 2006-06-27 | Alacritus, Inc. | Method and system for copying backup data |
US6922752B2 (en) * | 2002-08-23 | 2005-07-26 | Hewlett-Packard Development Company, L.P. | Storage system using fast storage devices for storing redundant data |
US7882081B2 (en) * | 2002-08-30 | 2011-02-01 | Netapp, Inc. | Optimized disk repository for the storage and retrieval of mostly sequential data |
US7437387B2 (en) * | 2002-08-30 | 2008-10-14 | Netapp, Inc. | Method and system for providing a file system overlay |
US6928515B2 (en) * | 2002-11-09 | 2005-08-09 | International Business Machines Corporation | Integrated sector format-error correction code system and method for efficient writing in a disk array system |
US7567993B2 (en) * | 2002-12-09 | 2009-07-28 | Netapp, Inc. | Method and system for creating and using removable disk based copies of backup data |
US8024172B2 (en) * | 2002-12-09 | 2011-09-20 | Netapp, Inc. | Method and system for emulating tape libraries |
US7437053B2 (en) * | 2003-01-15 | 2008-10-14 | Matsushita Electric Industrial Co., Ltd. | Digital video recorder, method of driving the video recorder and program |
JP3811127B2 (ja) * | 2003-01-30 | 2006-08-16 | 株式会社東芝 | 情報記録装置及び情報記録方法 |
US6973369B2 (en) * | 2003-03-12 | 2005-12-06 | Alacritus, Inc. | System and method for virtual vaulting |
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 |
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 |
US7111147B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Location-independent RAID group virtual block management |
US7210061B2 (en) * | 2003-04-17 | 2007-04-24 | Hewlett-Packard Development, L.P. | Data redundancy for writes using remote storage system cache memory |
US7275179B1 (en) | 2003-04-24 | 2007-09-25 | Network Appliance, Inc. | System and method for reducing unrecoverable media errors in a disk subsystem |
US7392347B2 (en) * | 2003-05-10 | 2008-06-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for buffering data between a coherency cache controller and memory |
US7437492B2 (en) * | 2003-05-14 | 2008-10-14 | Netapp, Inc | Method and system for data compression and compression estimation in a virtual tape library environment |
US7380059B2 (en) * | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
US7047379B2 (en) | 2003-07-11 | 2006-05-16 | International Business Machines Corporation | Autonomic link optimization through elimination of unnecessary transfers |
US7546418B2 (en) * | 2003-08-20 | 2009-06-09 | Dell Products L.P. | System and method for managing power consumption and data integrity in a computer system |
JP2005122453A (ja) * | 2003-10-16 | 2005-05-12 | Hitachi Ltd | ストレージ装置のディスクコントローラ制御方式およびストレージ装置 |
US7475186B2 (en) * | 2003-10-31 | 2009-01-06 | Superspeed Software | System and method for persistent RAM disk |
US7328305B2 (en) | 2003-11-03 | 2008-02-05 | Network Appliance, Inc. | Dynamic parity distribution technique |
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 |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
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 |
US7197599B2 (en) * | 2003-12-29 | 2007-03-27 | Intel Corporation | Method, system, and program for managing data updates |
US7426617B2 (en) | 2004-02-04 | 2008-09-16 | Network Appliance, Inc. | Method and system for synchronizing volumes in a continuous data protection system |
US7325159B2 (en) * | 2004-02-04 | 2008-01-29 | Network Appliance, Inc. | Method and system for data recovery in a continuous data protection system |
US7406488B2 (en) * | 2004-02-04 | 2008-07-29 | Netapp | Method and system for maintaining data in a continuous data protection system |
US7783606B2 (en) * | 2004-02-04 | 2010-08-24 | Netapp, Inc. | Method and system for remote data recovery |
US7559088B2 (en) * | 2004-02-04 | 2009-07-07 | Netapp, Inc. | Method and apparatus for deleting data upon expiration |
US7720817B2 (en) * | 2004-02-04 | 2010-05-18 | Netapp, Inc. | Method and system for browsing objects on a protected volume in a continuous data protection system |
US7490103B2 (en) * | 2004-02-04 | 2009-02-10 | Netapp, Inc. | Method and system for backing up data |
US7315965B2 (en) * | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7904679B2 (en) * | 2004-02-04 | 2011-03-08 | Netapp, Inc. | Method and apparatus for managing backup data |
US20050182910A1 (en) * | 2004-02-04 | 2005-08-18 | Alacritus, Inc. | Method and system for adding redundancy to a continuous data protection system |
US7165141B2 (en) * | 2004-02-27 | 2007-01-16 | Hewlett-Packard Development Company, L.P. | Daisy-chained device-mirroring architecture |
US8028135B1 (en) | 2004-09-01 | 2011-09-27 | Netapp, Inc. | Method and apparatus for maintaining compliant storage |
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 |
US7318119B2 (en) * | 2004-10-29 | 2008-01-08 | International Business Machines Corporation | System and method for fault tolerant controller for network RAID |
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 |
US7392458B2 (en) * | 2004-11-19 | 2008-06-24 | International Business Machines Corporation | Method and system for enhanced error identification with disk array parity checking |
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 |
US7290199B2 (en) * | 2004-11-19 | 2007-10-30 | International Business Machines Corporation | Method and system for improved buffer utilization for disk array parity updates |
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 |
US8205058B2 (en) * | 2004-12-10 | 2012-06-19 | International Business Machines Corporation | Resource management for data storage services |
US7774610B2 (en) * | 2004-12-14 | 2010-08-10 | Netapp, Inc. | Method and apparatus for verifiably migrating WORM data |
US7526620B1 (en) | 2004-12-14 | 2009-04-28 | Netapp, Inc. | Disk sanitization in an active file system |
US7581118B2 (en) * | 2004-12-14 | 2009-08-25 | Netapp, Inc. | Disk sanitization using encryption |
US7558839B1 (en) | 2004-12-14 | 2009-07-07 | Netapp, Inc. | Read-after-write verification for improved write-once-read-many data storage |
US7730257B2 (en) * | 2004-12-16 | 2010-06-01 | Broadcom Corporation | Method and computer program product to increase I/O write performance in a redundant array |
US20060143412A1 (en) * | 2004-12-28 | 2006-06-29 | Philippe Armangau | Snapshot copy facility maintaining read performance and write performance |
US7441081B2 (en) * | 2004-12-29 | 2008-10-21 | Lsi Corporation | Write-back caching for disk drives |
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 |
US8296162B1 (en) | 2005-02-01 | 2012-10-23 | Webmd Llc. | Systems, devices, and methods for providing healthcare information |
US7360112B2 (en) | 2005-02-07 | 2008-04-15 | International Business Machines Corporation | Detection and recovery of dropped writes in storage devices |
US7779294B2 (en) * | 2005-04-15 | 2010-08-17 | Intel Corporation | Power-safe disk storage apparatus, systems, and methods |
GB0507912D0 (en) | 2005-04-20 | 2005-05-25 | Ibm | Disk drive and method for protecting data writes in a disk drive |
WO2006119100A2 (en) | 2005-04-29 | 2006-11-09 | Network Appliance, Inc. | System and method for generating consistent images of a set of data objects |
US7437490B2 (en) * | 2005-05-27 | 2008-10-14 | International Business Machines Corporation | Channel communication array queues in hardware system area |
US7441146B2 (en) * | 2005-06-10 | 2008-10-21 | Intel Corporation | RAID write completion apparatus, systems, and methods |
US7562188B2 (en) * | 2005-06-17 | 2009-07-14 | Intel Corporation | RAID power safe apparatus, systems, and methods |
JP4817783B2 (ja) * | 2005-09-30 | 2011-11-16 | 富士通株式会社 | Raidシステム及びそのリビルド/コピーバック処理方法 |
US7401198B2 (en) * | 2005-10-06 | 2008-07-15 | Netapp | Maximizing storage system throughput by measuring system performance metrics |
KR20080071988A (ko) * | 2005-11-23 | 2008-08-05 | 에프 에스 아이 인터내셔날,인코포레이티드 | 기판으로부터의 물질 제거 공정 |
US7752401B2 (en) | 2006-01-25 | 2010-07-06 | Netapp, Inc. | Method and apparatus to automatically commit files to WORM status |
US8560503B1 (en) | 2006-01-26 | 2013-10-15 | Netapp, Inc. | Content addressable storage system |
US7650533B1 (en) | 2006-04-20 | 2010-01-19 | Netapp, Inc. | Method and system for performing a restoration in a continuous data protection system |
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 |
EP2081170A1 (en) * | 2006-11-06 | 2009-07-22 | Panasonic Corporation | Information security apparatus |
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 |
KR20090087119A (ko) | 2006-12-06 | 2009-08-14 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법 |
US8239706B1 (en) | 2007-01-03 | 2012-08-07 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Data retrieval system and method that provides retrieval of data to any point in time |
US7730347B1 (en) | 2007-01-03 | 2010-06-01 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Data recovery system and method including a disk array architecture that provides recovery of data to any point of time |
US7870356B1 (en) | 2007-02-22 | 2011-01-11 | Emc Corporation | Creation of snapshot copies using a sparse file for keeping a record of changed blocks |
US7653612B1 (en) | 2007-03-28 | 2010-01-26 | Emc Corporation | Data protection services offload using shallow files |
US8312214B1 (en) | 2007-03-28 | 2012-11-13 | Netapp, Inc. | System and method for pausing disk drives in an aggregate |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US7840837B2 (en) | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US8898536B2 (en) | 2007-04-27 | 2014-11-25 | Netapp, Inc. | Multi-core engine for detecting bit errors |
US7836331B1 (en) | 2007-05-15 | 2010-11-16 | Netapp, Inc. | System and method for protecting the contents of memory during error conditions |
JP4963088B2 (ja) * | 2007-07-13 | 2012-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをキャッシュする技術 |
US7975102B1 (en) | 2007-08-06 | 2011-07-05 | Netapp, Inc. | Technique to avoid cascaded hot spotting |
US20090049050A1 (en) * | 2007-08-15 | 2009-02-19 | Jeff Whitehead | File-based horizontal storage system |
TWI362044B (en) * | 2007-11-09 | 2012-04-11 | Transcend Information Inc | Storage apparatus and method for accessing data and for managing memory block |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US7984259B1 (en) | 2007-12-17 | 2011-07-19 | Netapp, Inc. | Reducing load imbalance in a storage system |
US8127182B2 (en) * | 2008-09-16 | 2012-02-28 | Lsi Corporation | Storage utilization to improve reliability using impending failure triggers |
US9158579B1 (en) | 2008-11-10 | 2015-10-13 | Netapp, Inc. | System having operation queues corresponding to operation execution time |
US8495417B2 (en) * | 2009-01-09 | 2013-07-23 | Netapp, Inc. | System and method for redundancy-protected aggregates |
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 |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8413132B2 (en) * | 2010-09-13 | 2013-04-02 | Samsung Electronics Co., Ltd. | Techniques for resolving read-after-write (RAW) conflicts using backup area |
US8775731B2 (en) | 2011-03-25 | 2014-07-08 | Dell Products, L.P. | Write spike performance enhancement in hybrid storage systems |
EP3467671B1 (en) * | 2011-04-12 | 2020-07-15 | Amadeus S.A.S. | Cache memory structure and method |
US8688635B2 (en) | 2011-07-01 | 2014-04-01 | International Business Machines Corporation | Data set connection manager having a plurality of data sets to represent one data set |
WO2013123097A1 (en) * | 2012-02-13 | 2013-08-22 | SkyKick, Inc. | Migration project automation, e.g., automated selling, planning, migration and configuration of email systems |
WO2014041638A1 (ja) * | 2012-09-12 | 2014-03-20 | 株式会社 東芝 | アレイにおける誤り訂正符号ブロック配置位置を管理するストレージ装置、ストレージコントローラ及び方法 |
US10643668B1 (en) | 2013-08-27 | 2020-05-05 | Seagate Technology Llc | Power loss data block marking |
US9323630B2 (en) | 2013-09-16 | 2016-04-26 | HGST Netherlands B.V. | Enhanced data recovery from data storage devices |
US9798620B2 (en) | 2014-02-06 | 2017-10-24 | Sandisk Technologies Llc | Systems and methods for non-blocking solid-state memory |
US10176039B2 (en) | 2014-09-19 | 2019-01-08 | Micron Technology, Inc. | Self-accumulating exclusive OR program |
JP2017532666A (ja) * | 2014-10-03 | 2017-11-02 | エイジェンシー・フォー・サイエンス,テクノロジー・アンド・リサーチ | ハイブリッドオブジェクトストレージデバイスのためのデータの再構成を最適化する方法 |
US9766977B2 (en) | 2014-11-10 | 2017-09-19 | Dell Products, Lp | System and method for improving read performance of a distributed parity RAID solution |
US9672106B2 (en) | 2014-12-30 | 2017-06-06 | Nutanix, Inc. | Architecture for implementing erasure coding |
JP5982025B1 (ja) * | 2015-02-27 | 2016-08-31 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置およびメモリー管理プログラム |
US9779023B1 (en) * | 2015-06-30 | 2017-10-03 | EMC IP Holding Company LLC | Storing inline-compressed data in segments of contiguous physical blocks |
CN105205017A (zh) * | 2015-08-31 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于pcie ssd的存储控制器 |
WO2017140262A1 (zh) | 2016-02-18 | 2017-08-24 | 华为技术有限公司 | 数据更新技术 |
US10567009B2 (en) | 2016-12-06 | 2020-02-18 | Nutanix, Inc. | Dynamic erasure coding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914656A (en) | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
Family Cites Families (33)
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 |
US4430701A (en) * | 1981-08-03 | 1984-02-07 | International Business Machines Corporation | Method and apparatus for a hierarchical paging storage system |
US4562576A (en) * | 1982-08-14 | 1985-12-31 | International Computers Limited | Data storage apparatus |
JPS59153251A (ja) * | 1983-02-18 | 1984-09-01 | Toshiba Corp | デイスクキヤツシユシステム |
US4604750A (en) * | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
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 | 半導体記憶装置 |
JPS62110902A (ja) * | 1985-11-09 | 1987-05-22 | マルチ技研株式会社 | カツプ部を有する女性肌着の製造方法 |
JPS62132270A (ja) * | 1985-12-05 | 1987-06-15 | Toshiba Corp | 磁気デイスク装置 |
US4722085A (en) * | 1986-02-03 | 1988-01-26 | Unisys Corp. | High capacity disk storage system having unusually high fault tolerance level and bandpass |
US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4791642A (en) * | 1986-10-17 | 1988-12-13 | Amdahl Corporation | Buffer error retry |
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 |
US4920539A (en) * | 1988-06-20 | 1990-04-24 | Prime Computer, Inc. | Memory error correction system |
US4995041A (en) * | 1989-02-03 | 1991-02-19 | Digital Equipment Corporation | Write back buffer with error correcting capabilities |
JP3057498B2 (ja) * | 1989-08-02 | 2000-06-26 | 富士通株式会社 | アレイディスク装置およびそのデータ読み出し方法 |
US5058116A (en) * | 1989-09-19 | 1991-10-15 | International Business Machines Corporation | Pipelined error checking and correction for cache memories |
US5402428A (en) * | 1989-12-25 | 1995-03-28 | Hitachi, Ltd. | Array disk subsystem |
US5185876A (en) * | 1990-03-14 | 1993-02-09 | Micro Technology, Inc. | Buffering system for dynamically providing data to multiple storage elements |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US5499337A (en) * | 1991-09-27 | 1996-03-12 | Emc Corporation | Storage device array architecture with solid-state redundancy unit |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5398253A (en) * | 1992-03-11 | 1995-03-14 | Emc Corporation | Storage unit generation of redundancy information in a redundant storage array system |
US5463765A (en) * | 1993-03-18 | 1995-10-31 | Hitachi, Ltd. | Disk array system, data writing method thereof, and fault recovering method |
US5548711A (en) * | 1993-08-26 | 1996-08-20 | Emc Corporation | Method and apparatus for fault tolerant fast writes through buffer dumping |
-
1991
- 1991-01-04 US US07/638,167 patent/US5274799A/en not_active Expired - Lifetime
- 1991-12-31 EP EP91312104A patent/EP0493984B1/en not_active Expired - Lifetime
- 1991-12-31 DE DE69126416T patent/DE69126416T2/de not_active Expired - Lifetime
-
1992
- 1992-01-02 AU AU10014/92A patent/AU1001492A/en not_active Abandoned
- 1992-01-03 WO PCT/US1992/000059 patent/WO1992012482A1/en unknown
- 1992-01-03 JP JP04504448A patent/JP3129732B2/ja not_active Expired - Lifetime
- 1992-01-03 CA CA002058734A patent/CA2058734C/en not_active Expired - Lifetime
-
1993
- 1993-08-26 US US08/112,791 patent/US5526482A/en not_active Expired - Lifetime
-
1995
- 1995-12-27 US US08/579,545 patent/US5617530A/en not_active Expired - Lifetime
-
1997
- 1997-03-31 US US08/825,625 patent/US5911779A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914656A (en) | 1988-06-28 | 1990-04-03 | Storage Technology Corporation | Disk drive memory |
Also Published As
Publication number | Publication date |
---|---|
AU1001492A (en) | 1992-07-09 |
US5911779A (en) | 1999-06-15 |
US5274799A (en) | 1993-12-28 |
CA2058734A1 (en) | 1992-07-05 |
WO1992012482A1 (en) | 1992-07-23 |
US5617530A (en) | 1997-04-01 |
DE69126416T2 (de) | 1998-02-05 |
DE69126416D1 (de) | 1997-07-10 |
EP0493984A3 (en) | 1993-05-12 |
EP0493984B1 (en) | 1997-06-04 |
EP0493984A2 (en) | 1992-07-08 |
CA2058734C (en) | 2002-06-25 |
US5526482A (en) | 1996-06-11 |
JPH06504863A (ja) | 1994-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
US5208813A (en) | On-line reconstruction of a failed redundant array system | |
JP3071017B2 (ja) | 冗長アレイ・システムにおける冗長情報の復元方法および制御システム | |
US6021463A (en) | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem | |
US5572660A (en) | System and method for selective write-back caching within a disk array subsystem | |
US5469453A (en) | Data corrections applicable to redundant arrays of independent disks | |
US6289471B1 (en) | Storage device array architecture with solid-state redundancy unit | |
JP3177242B2 (ja) | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 | |
US7464322B2 (en) | System and method for detecting write errors in a storage device | |
JP3164499B2 (ja) | ディスクアレイにおけるパリティデータの無矛盾性保持方法 | |
US5379417A (en) | System and method for ensuring write data integrity in a redundant array data storage system | |
US5951691A (en) | Method and system for detection and reconstruction of corrupted data in a data storage subsystem | |
US6243827B1 (en) | Multiple-channel failure detection in raid systems | |
US7240237B2 (en) | Method and system for high bandwidth fault tolerance in a storage subsystem | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
JP3256329B2 (ja) | ディスクアレイ装置及びその制御方法 | |
JP3122252B2 (ja) | ディスクアレイ制御方式 | |
GB2402803A (en) | Arrangement and method for detection of write errors in a storage system | |
JP2857289B2 (ja) | ディスクアレイ装置 | |
JP3542577B2 (ja) | ディスクアレイ装置及びその制御方法 |
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: 20081117 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 12 |