JP4283859B2 - 記憶サブシステムおよびその作動方法 - Google Patents
記憶サブシステムおよびその作動方法 Download PDFInfo
- Publication number
- JP4283859B2 JP4283859B2 JP2007104593A JP2007104593A JP4283859B2 JP 4283859 B2 JP4283859 B2 JP 4283859B2 JP 2007104593 A JP2007104593 A JP 2007104593A JP 2007104593 A JP2007104593 A JP 2007104593A JP 4283859 B2 JP4283859 B2 JP 4283859B2
- Authority
- JP
- Japan
- Prior art keywords
- parity
- data
- disk
- stripe
- raid
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000003491 array Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 abstract description 8
- 238000011084 recovery Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 40
- 230000006378 damage Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100040351 FK506-binding protein 15 Human genes 0.000 description 1
- 101710132915 FK506-binding protein 15 Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/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
- 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
- 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
-
- 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/1061—Parity-single bit-RAID4, i.e. RAID 4 implementations
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
RAIDは、RAIDレベル0からRAIDレベル5と呼ばれる6つのディスクアレイの形態を有する。それぞれのRAIDレベルは利点と欠点を有する。本説明では、RAIDレベル4と5だけを説明する。しかしながら、それぞれのRAIDレベルの詳細な説明は、パターソン等によるA Case for Redundant Arrays of Inexpensive Disk (RAID)、 ACM SIGMOD Conference,1988年6月、に記述されている。この論文は本明細書中に組み込まれている。
不揮発性RAMはディスクエラーからRAIDを回復させる速度を早くするために使用される。これは、パリティが一致しないすべてのディスクブロックのリストを保持することにより達成される。ディスクブロックのそのようなリストはRAIDサブシステムにおけるパリティブロックの全体数よりも小さい。RAIDサブシステムにおけるパリティブロックの全体数は通常数十万のパリティブロックの範囲にある。不一致のパリティブロック数の情報により、従来技術で可能であった時間よりもかなり短時間の間に、リスト中で確認された数のブロックを、修正することができる。本発明はまた同時に起こるシステムの故障と壊れたディスクに対する保護の方法と、一つの壊れたディスクを用いてRAIDサブシステムへの安全に書き込む方法を提供するものである。
ストライプ中に保存されたデータブロックを排他的論理和演算することによりパリティが計算される。N個のデータブロックから計算されたパリティ値は、ストライプのパリティブロックに記録される。いずれかの一つのブロックからのデータが例えばディスク破壊によって損失されると、ディスクに関する損失したデータはストライプ中に残っているブロックを排他的論理和演算することにより再計算される。一般的に、ストライプ中のデータブロックが修正されると、パリティがストライプに対して再計算されなければならない。N個すべてのデータブロックを書き込むことによってストライプを更新する場合、ディスクからデータを読むことなく、パリティを計算でき、パリティとデータはたった一回のI/Oサイクルの間に書き込むことができる。したがって、ストライプ中のN個数のすべてのデータブロックに対して書き込むのに要する時間は、最小となる。一つのデータブロックをディスクに書き込む場合、減算によるパリティが使用される(後述する)。一回のI/Oサイクルを行うには古いデータとパリティを読み込む必要があり、第2のI/Oサイクルでは新たなデータとパリティを書き込む必要がある。RAIDアレイ中のディスク駆動部は同期していないので、書き込みは一般に正確に同時に起こることがない。ある場合には、パリティブロックはディスクに最初に到達し、その他の場合にはデータブロックの一つがディスクに最初に到達する。ここで説明する技術はブロックがディスクに到達する順番とは無関係である。
データ1=パリティ−データ−データ2=12−4−1=7 (1)
ここでデータブロック1は、パリティブロック、データブロック0、及びデータブロック2を用いて計算される。したがって、図3Aに示すディスク334のデータブロック1に保存されたデータ値7は時刻TCの時点で再計算される。図3Bにおいて、時刻TCに、データブロック1に関して再計算された値7が括弧に囲まれて示されている。以下の図面では、再計算された値は括弧を用いて示してある。すなわち、括弧内に示された値は、壊れたディスクのデータを意味し、パリティとその他のディスク上にあるデータにより再計算されたものである。
不一致のストライプは、当該ストライプ中の他のブロックの排他的論理和とはならないパリティブロックを備えている。ストライプは、システムが故障したとき、更新に関する書き込みの幾つかは終了しているがその他が未だ終了していないという場合に不一致となる。例えば、最初のデータブロックが上書きされる場合である。上述のように、ストライプのパリティブロックは再計算されてデータブロックと共に上書きされる。データブロックの一つがディスクに書き込まれたがその他は未だ書き込まれていないという状況でシステムが故障すると、ストライプが不一致となる。
以下の図面において、故障したデータディスクに関して括弧内に示した値は、ディスクに保存されている実際の値ではない。むしろ、RAIDアレイ中の壊れたディスクに関して、メモリに保持されている計算値である。
パリティ=データ0+データ1+データ2=2+7+1=10≠12 (2)
だからである。
パリティ=データ0+データ1+データ2=4+7+1=12≠10 (3)
だからである。
故障した又は壊れたディスクを有するRAIDアレイに書き込みを行うと、システム故障中にデータ破壊が発生する。図6は、パリティをディスクに書き込む前に新たなデータ値に関してデータディスクが更新された場合、システム故障が発生すると、故障したディスクに関するデータが破壊されることを表した従来の図である。図6において、データ1の見出しの下で括弧内に示すことにより、データディスク1が故障していることを表している。時刻TAに、パリティディスクは値12を有する。データディスク1が故障した時刻TA以前は、パリティディスクの値は、値4、7、及び1をそれぞれ有するデータディスク0ないし2の合計に等しい。時刻TAにおけるデータブロック1の値7が括弧で囲まれている。この値はデータディスク1に保存されている値を表すものではなく、代わりに、以下のようにして、ストライプのパリティブロックとデータブロック0ないし2から計算されたものである。
データ1=パリティ−データ0−データ2=12−4−1=7 (4)
データ1=パリティ−データ0−データ2=12−2−1=9≠7 (5)
RAIDシステムは、停電によりシステム故障が発生した場合、ディスク破壊を経験する可能性が大いにある。一般に、停電後に発生する過渡電圧の急激な立ち上がりによってディスクはダメージを受ける。したがって、システムとディスクの同時故障によって、ストライプが壊れる可能性がある。
データ1=パリティ−データ0−データ2=12−2−1=9≠7 (7)
図8はRAIDシステム用にNV−RAMを用いてエラー補正する本発明を示す図で、このシステムは、ホストコンピュータ810、NV−RAM816を有するRAIDコントローラ814、及びN+1個のディスク820ないし826を備えている。ホストコンピュータ810は第1の通信チャンネル812によりRAIDコントローラ814に接続されている。RAIDコントローラ814は、不一致状態になる可能性のあるRAIDアレイ828のストライプを保存するためにNV−RAM816を備えている。RAIDコントローラ814は、第2の通信チャネル818によりRAIDアレイ828のN+1個のディスク820ないし826に接続されている。RAIDアレイ828はパリティディスク820とN個のデータディスク822ないし826をそれぞれ備えている。
図5は、NV−RAMを用いてパリティ破壊を防止する本発明を示す図である。図11AないしCを参照してタイミング図を説明する。図5はシステム破壊を示す本発明のタイミング図で、変更する値は図3Aのディスク330ないし336に書き込まれる。その図は、パリティが新たなデータについて計算され、そのデータがパリティブロックを更新する前にデータに書き込まれる場合のものである。時刻TAの時点で、パリティブロックは値12、データブロック0ないし2は値4、7、及び1をそれぞれ有する。TAの時点で、本発明に関する図11Cのステップ1109が実行され、ストライプを更新するのに必要なブロックがメモリに書き込まれる。そのシステムはステップ1110を実行し、そこでは新たなパリティ値が新たなデータ値に基づいて計算される。時刻TBの時点では、図11Cのステップ1111が実行され、そこでストライプ番号がNV−RAMに書き込まれる。
パリティ=データ0+データ1+データ2=2+7+1=10≠12 (9)
パリティ=データ0+データ1+データ2=2+7+1=10 (10)
(1)ストライプを更新するために必要なすべてのディスクブロックを読む。
(2)新たなパリティの内容を計算する。
(3)NV−RAMの不正ストライプリストに書き込まれるように、ストライプに対するストライプに番号(#)を付す。
(4)ストライプを更新するのに必要な全てのディスクブロックを書き込む。
(5)直前に書き込まれたストライプに対する番号をNV−RAM不正ストライプリストから取り除く。
(NV−RAM不正ストライプリストで特定されたすべてのストライプ)に関して
{
(1)ストライプ中にあるすべてのデータブロックを読み取る。
(2)ストライプのためのパリティブロックを再計算する。
(3)ストライプのための新たなパリティブロックを書き込む。
}
こうして、本発明によれば、NV−RAMを使用することにより、システム破壊後にパリティが壊れるのを防止できる。
前節では、壊れる可能性のあるストライプのリストをNV−RAMに保持しており、システムが壊れた後の再起動した際に、リストにあるストライプに対してのみ、パリティブロックを再計算する必要がある。本発明の別の実施例は、NV−RAM中のビットマップを用いて、壊れる可能性のあるストライプを指摘し、このとき、システム破壊した場合にそのパリティブロックを再計算する必要がある。
(1)ストライプを更新するために必要なすべてのブロックを読み込む。
(2)新たなパリティの内容を計算する。
(3)更新されるストライプに対するビットマップのエントリを設定する。
(4)ストライプの更新に必要なすべてのディスクブロックを書き込む。
(5)ビットマップが満杯の場合、すべてのブロックがディスクに到達するまで待機し、すべてのビットマップを消去する。
本発明は、壊れたディスクからのデータを不揮発性RAM内に保存することにより、破壊ディスクへの書き込み時におけるデータ破壊に対する問題を解消する。図7Aは、故障したディスクからデータをNV−RAM内に保存することにより、データ破壊を防止する本発明のタイミング図である。図11AないしCを参照して図を説明する。図7Aにおいて、パリティが更新される前にデータがディスクに書き込まれる。時刻TAにおいて、壊れたデータディスク1は、括弧内に示した値7を有するように表示されている。括弧内の値7は、データディスク1が故障し、このディスクに対する再計算された値であることを示している。この値は、パリティディスクに保存されている値12から、データディスク0と2の値4と1を減算することにより計算される。ステップ1109では、ストライプが時刻TAにRAIDアレイから読み込まれる。NV−RAMは消去される。これは図7AにおいてNV−RAMに関する見出しの下の疑問符で示してある。
パリティ=データ0+NV−RAM+データ2=2+7+1=10 (12)
パリティ=壊れたディスクのNV−RAM(7)
+壊れていないディスクのディスク上のデータ
=4+7+1=12 (13)
本発明は、ストライプブロックをNV−RAM内に保存することにより、システムとディスクの破壊が同時に発生したときの、パリティとデータの破壊に関する問題を解消する。NV−RAMを使用することにより、システム中の複数のブロック(以下の例では、データブロック0と1)を更新している間に、システム故障が発生した場合、システムを矛盾のない状態に回復できる。これらのデータブロックを変更すれば、このストライプのパリティも更新することが必要となる。本発明では、このため、ディスクから読み取られる任意のブロックを常にNV−RAM内に保存する(データブロック0を更新する前に、任意のブロックをNV−RAMに書き込む)。したがって、ストライプ情報はNV−RAMに保存されているデータから再計算できる。本発明は、そのために減算によるパリティと再計算によるパリティを用いる2つの解決法を提供するものである。
パリティ=“壊れたディスクのNV−RAM”
+“壊れていないすべてのディスクのディスク上の値”
本実施例では、それは次のようになる。
パリティ=NV(データ0)+データ1+データ2=4+7+1=12
データ1=NV(パリティ)−NV(データ0)−データ2
=12−4−1=7 (14)
ここで、NV(パリティ)とNV(データ0)は、NV−RAMに保存されているパリティとデータブロック0の値である。時刻TEには、NV−RAMがクリアされる。したがって、図10Cにおいて、時刻TCとTDとの間のシステム破壊後にデータディスク1(壊れたディスク2も同様に処理される)が故障しても、ストライプは本発明によって矛盾のない状態に保たれる。
D1計算値=NVパリティ
−“更新されるディスクのNV値”
−“更新されないデータディスクのディスク上の値”
パリティ=“上述のステップから得たD1計算値”
+“壊れていないすべてのデータディスクに関するディスク上の値”
再計算によるパリティにおいて、更新されていないデータブロックはまずディスクから読み取られた後、まさに書き込まれようとしている新たなデータと組み合わせた値に基づいてパリティが再計算される。多数のデータブロックが一度に更新される場合に、これは一般に使用される。何故ならば、それらの場合に、減算によるパリティよりも一層効率的だからである。簡単にするために、本実施例では、一つのブロックだけを更新する。示されている方法は任意の数のブロックを更新する場合に適用される。
パリティ=壊れていないディスクの合計
また、この実施例では、それは以下の通りである。
パリティ=D1+D2=7+1=8
パリティ=“壊れたディスクのNV−RAM値”
+“壊れていないディスクに関するディスク上の値”
パリティ=NV(D1)+D0+D2=7+2+1=10
Claims (4)
- 記憶サブシステムであって、
複数のストライプのデータおよびそのパリティ情報を記録する複数のディスクを含むRAIDアレイと、
RAIDアレイ内のディスクから独立した不揮発性メモリと、
書き込み処理の要求に対し、これにより影響を受ける、RAIDアレイ内の1つまたはそれ以上のストライプを特定する情報を含むストライプ情報を、不揮発性メモリに記憶させることにより応答するRAIDコントローラとを備え、
ストライプ情報は、ストライプ番号情報を含み、
RAIDコントローラは、書き込み処理が完了する前に生じたシステム故障の後に、ストライプ情報を用いて、前記1つまたはそれ以上のストライプに対してのみパリティを再計算し、RAIDアレイ内の他のストライプに対してパリティを再計算する必要性を排除して、RAIDアレイを適正な状態に回復させ、
RAIDコントローラは、ストライプの適正なパリティを再計算するために必要な1つまたはそれ以上のストライプのブロックを読み出すステップと、ストライプの適正なパリティを再計算するステップと、ストライプの適正なパリティをRAIDアレイ内のストライプに書き込むステップとによりストライプのパリティを補正し、
ストライプの適正なパリティを再計算するステップは、
RAIDアレイのストライプの1つ以上のブロックを更新するために、1つ以上のブロックに書き込む前に、前記ストライプの1つ以上の該ブロックおよび該パリティ情報を不揮発性メモリに読み込むステップと、
不揮発性メモリから前記ブロックおよび該パリティ情報をRAIDアレイに書き込むステップとを含むことを特徴とする記憶サブシステム。 - 請求項1に記載の記憶サブシステムであって、
RAIDコントローラは、
RAIDアレイの壊れたディスクのデータを不揮発性メモリに記憶させ、
システム故障の後に、不揮発性メモリに記憶された、壊れたディスクの前記データを用いて、ストライプの適正なパリティを再計算することを特徴とする記憶サブシステム。 - 複数のストライプに含まれるデータおよびパリティ情報を記録する複数のディスクを含むRAIDアレイと、RAIDアレイ内のディスクから独立した不揮発性メモリとを備えた記憶サブシステムを作動させる方法であって、
書き込み処理の要求に対し、これにより影響を受ける、RAIDアレイ内の1つまたはそれ以上のストライプを特定する情報を含むストライプ情報を、不揮発性メモリに記憶させることにより応答するステップと、
書き込み処理中に生じたシステム故障の後に、ストライプ情報を用いて、前記1つまたはそれ以上のストライプに対してのみパリティを再計算し、RAIDアレイ内の他のストライプに対してパリティを再計算する必要性を排除して、RAIDアレイを適正な状態に回復させるステップと、ストライプ情報は、ストライプ番号情報を含み、
ストライプの適正なパリティを再計算するために必要な1つまたはそれ以上のストライプのブロックを読み出すステップと、ストライプの適正なパリティを再計算するステップと、ストライプの適正なパリティをRAIDアレイ内のストライプに書き込むステップとによりストライプのパリティを補正するステップとを有し、
ストライプの適正なパリティを再計算するステップは、
RAIDアレイのストライプの1つ以上のブロックを更新するために、1つ以上のブロックに書き込む前に、前記ストライプの1つ以上の該ブロックおよび該パリティ情報を不揮発性メモリに読み込むステップと、
不揮発性メモリから前記ブロックおよび該パリティ情報をRAIDアレイに書き込むステップとを含むことを特徴とする方法。 - 請求項3に記載の方法であって、
RAIDアレイの壊れたディスクのデータを不揮発性メモリに記憶させるステップと、
システム故障の後に、不揮発性メモリに記憶された、壊れたディスクのデータを用いて、ストライプの適正なパリティを再計算するステップとを含むことを特徴とする方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7179893A | 1993-06-04 | 1993-06-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1995502000 Division | 1994-06-02 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008133346A Division JP4408939B2 (ja) | 1993-06-04 | 2008-05-21 | 記憶サブシステムおよびその作動方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007184011A JP2007184011A (ja) | 2007-07-19 |
JP4283859B2 true JP4283859B2 (ja) | 2009-06-24 |
Family
ID=22103665
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7502000A Pending JPH08511368A (ja) | 1993-06-04 | 1994-06-02 | 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法 |
JP2007104593A Expired - Lifetime JP4283859B2 (ja) | 1993-06-04 | 2007-04-12 | 記憶サブシステムおよびその作動方法 |
JP2008133346A Expired - Lifetime JP4408939B2 (ja) | 1993-06-04 | 2008-05-21 | 記憶サブシステムおよびその作動方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7502000A Pending JPH08511368A (ja) | 1993-06-04 | 1994-06-02 | 不揮発性メモリを用いてraidサブシステムにパリティを形成する方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008133346A Expired - Lifetime JP4408939B2 (ja) | 1993-06-04 | 2008-05-21 | 記憶サブシステムおよびその作動方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US5948110A (ja) |
EP (2) | EP1031928B1 (ja) |
JP (3) | JPH08511368A (ja) |
DE (1) | DE69434381T2 (ja) |
HK (1) | HK1028281A1 (ja) |
WO (1) | WO1994029795A1 (ja) |
Families Citing this family (163)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
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 |
US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
DE69434381T2 (de) | 1993-06-04 | 2006-01-19 | Network Appliance, Inc., Sunnyvale | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
US5671377A (en) * | 1994-07-19 | 1997-09-23 | David Sarnoff Research Center, Inc. | System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream |
US5533190A (en) * | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
GB2307071B (en) * | 1995-06-21 | 1998-04-29 | Mitsubishi Electric Corp | Multi-media storage system |
US5758057A (en) * | 1995-06-21 | 1998-05-26 | Mitsubishi Denki Kabushiki Kaisha | Multi-media storage system |
WO1997011426A1 (en) | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5893164A (en) * | 1997-05-30 | 1999-04-06 | Unisys Corporation | Method of tracking incomplete writes in a disk array and disk storage system which performs such method |
JP3618529B2 (ja) * | 1997-11-04 | 2005-02-09 | 富士通株式会社 | ディスクアレイ装置 |
US6516351B2 (en) * | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
KR19990060338A (ko) * | 1997-12-31 | 1999-07-26 | 윤종용 | 하드 디스크 드라이브의 바이러스에 의한 손상 데이터복구방법 |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6219753B1 (en) * | 1999-06-04 | 2001-04-17 | International Business Machines Corporation | Fiber channel topological structure and method including structure and method for raid devices and controllers |
JP2001043031A (ja) * | 1999-07-30 | 2001-02-16 | Toshiba Corp | 分散パリティ生成機能を備えたディスクアレイ制御装置 |
EP1912124B8 (en) | 1999-10-14 | 2013-01-09 | Bluearc UK Limited | Apparatus and system for implementation of service functions |
US6321294B1 (en) * | 1999-10-27 | 2001-11-20 | Mti Technology Corporation | Method and apparatus for converting between logical and physical memory space in a raid system |
US6640233B1 (en) * | 2000-08-18 | 2003-10-28 | Network Appliance, Inc. | Reserving file system blocks |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6636879B1 (en) * | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
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 |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
US7054927B2 (en) | 2001-01-29 | 2006-05-30 | Adaptec, Inc. | File system metadata describing server directory information |
US6990547B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Replacing file system processors by hot swapping |
US20020174295A1 (en) | 2001-01-29 | 2002-11-21 | Ulrich Thomas R. | Enhanced file system failure tolerance |
US20020191311A1 (en) * | 2001-01-29 | 2002-12-19 | Ulrich Thomas R. | Dynamically scalable disk array |
JP4017177B2 (ja) * | 2001-02-28 | 2007-12-05 | スパンション エルエルシー | メモリ装置 |
US6799284B1 (en) | 2001-02-28 | 2004-09-28 | Network Appliance, Inc. | Reparity bitmap RAID failure recovery |
US6854071B2 (en) | 2001-05-14 | 2005-02-08 | International Business Machines Corporation | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system |
US8171414B2 (en) * | 2001-05-22 | 2012-05-01 | Netapp, Inc. | System and method for consolidated reporting of characteristics for a group of file systems |
US7739614B1 (en) | 2001-05-22 | 2010-06-15 | Netapp, Inc. | System and method for consolidated reporting of characteristics for a group of directories |
US6643654B1 (en) | 2001-06-25 | 2003-11-04 | Network Appliance, Inc. | System and method for representing named data streams within an on-disk structure of a file system |
US7249150B1 (en) * | 2001-07-03 | 2007-07-24 | Network Appliance, Inc. | System and method for parallelized replay of an NVRAM log in a storage appliance |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US6757695B1 (en) * | 2001-08-09 | 2004-06-29 | Network Appliance, Inc. | System and method for mounting and unmounting storage volumes in a network storage environment |
US6851070B1 (en) | 2001-08-13 | 2005-02-01 | Network Appliance, Inc. | System and method for managing time-limited long-running operations in a data storage system |
US6965989B1 (en) | 2001-08-14 | 2005-11-15 | Network Appliance, Inc. | System and method for fast reboot of a file server |
US6871317B1 (en) | 2001-11-13 | 2005-03-22 | Network Appliance, Inc. | Technique for efficiently organizing and distributing parity blocks among storage devices 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 |
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 |
US7730153B1 (en) * | 2001-12-04 | 2010-06-01 | Netapp, Inc. | Efficient use of NVRAM during takeover in a node cluster |
US8402346B2 (en) * | 2001-12-28 | 2013-03-19 | Netapp, Inc. | N-way parity technique for enabling recovery from up to N storage device failures |
US7073115B2 (en) * | 2001-12-28 | 2006-07-04 | Network Appliance, Inc. | Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups |
US7613984B2 (en) * | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
US7640484B2 (en) | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US6993701B2 (en) * | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
KR20030073982A (ko) * | 2002-03-14 | 2003-09-19 | 한국전자통신연구원 | 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법 |
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 |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7254813B2 (en) * | 2002-03-21 | 2007-08-07 | Network Appliance, Inc. | Method and apparatus for resource allocation in a raid system |
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 |
US7107385B2 (en) | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US7426576B1 (en) | 2002-09-20 | 2008-09-16 | Network Appliance, Inc. | Highly available DNS resolver and method for use of the same |
US7171452B1 (en) | 2002-10-31 | 2007-01-30 | Network Appliance, Inc. | System and method for monitoring cluster partner boot status over a cluster interconnect |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US8041761B1 (en) | 2002-12-23 | 2011-10-18 | Netapp, Inc. | Virtual filer and IP space based IT configuration transitioning framework |
CN1302392C (zh) * | 2003-01-24 | 2007-02-28 | 华为技术有限公司 | 一种磁盘在线重构方法 |
US7424637B1 (en) | 2003-03-21 | 2008-09-09 | Networks Appliance, Inc. | Technique for managing addition of disks to a volume of a storage system |
US7664913B2 (en) * | 2003-03-21 | 2010-02-16 | Netapp, Inc. | Query-based spares management technique |
US7328364B1 (en) | 2003-03-21 | 2008-02-05 | Network Appliance, Inc. | Technique for coherent suspension of I/O operations in a RAID subsystem |
US7383378B1 (en) | 2003-04-11 | 2008-06-03 | Network Appliance, Inc. | System and method for supporting file and block access to storage object on a storage appliance |
US7457982B2 (en) * | 2003-04-11 | 2008-11-25 | Network Appliance, Inc. | Writable virtual disk of read-only snapshot file objects |
US7739543B1 (en) | 2003-04-23 | 2010-06-15 | Netapp, Inc. | System and method for transport-level failover for loosely coupled iSCSI target devices |
US7293152B1 (en) | 2003-04-23 | 2007-11-06 | Network Appliance, Inc. | Consistent logical naming of initiator groups |
US7260737B1 (en) | 2003-04-23 | 2007-08-21 | Network Appliance, Inc. | System and method for transport-level failover of FCP devices in a cluster |
US7437530B1 (en) | 2003-04-24 | 2008-10-14 | Network Appliance, Inc. | System and method for mapping file block numbers to logical block addresses |
US7330862B1 (en) | 2003-04-25 | 2008-02-12 | Network Appliance, Inc. | Zero copy write datapath |
US7181439B1 (en) * | 2003-04-25 | 2007-02-20 | Network Appliance, Inc. | System and method for transparently accessing a virtual disk using a file-based protocol |
US7577692B1 (en) | 2003-04-25 | 2009-08-18 | Netapp, Inc. | System and method for reserving space to guarantee file writability in a file system supporting persistent consistency point images |
US7437523B1 (en) | 2003-04-25 | 2008-10-14 | Network Appliance, Inc. | System and method for on-the-fly file folding in a replicated storage system |
US7603553B1 (en) | 2003-04-25 | 2009-10-13 | Netapp, Inc. | System and method to make file handles opaque to clients |
US7136974B2 (en) * | 2003-06-19 | 2006-11-14 | Pillar Data Systems, Inc. | Systems and methods of data migration in snapshot operations |
GB0315157D0 (en) * | 2003-06-28 | 2003-08-06 | Ibm | Safe write to multiply-redundant storage |
US7146461B1 (en) | 2003-07-01 | 2006-12-05 | Veritas Operating Corporation | Automated recovery from data corruption of data volumes in parity RAID storage systems |
US7523201B2 (en) * | 2003-07-14 | 2009-04-21 | Network Appliance, Inc. | System and method for optimized lun masking |
US7593996B2 (en) | 2003-07-18 | 2009-09-22 | Netapp, Inc. | System and method for establishing a peer connection using reliable RDMA primitives |
US7716323B2 (en) * | 2003-07-18 | 2010-05-11 | Netapp, Inc. | System and method for reliable peer communication in a clustered storage system |
US7055014B1 (en) | 2003-08-11 | 2006-05-30 | Network Applicance, Inc. | User interface system for a multi-protocol storage appliance |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
GB0322424D0 (en) * | 2003-09-24 | 2003-10-29 | Ibm | Error detection in redundant array of storage units |
US7512990B2 (en) * | 2003-10-16 | 2009-03-31 | International Business Machines Corporation | Multiple simultaneous ACL formats on a filesystem |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7100073B2 (en) * | 2004-01-05 | 2006-08-29 | International Business Machines Corporation | Grouped-object RAID |
US7966293B1 (en) | 2004-03-09 | 2011-06-21 | Netapp, Inc. | System and method for indexing a backup using persistent consistency point images |
US8275951B2 (en) * | 2004-06-10 | 2012-09-25 | Hewlett-Packard Development Company, L.P. | Local bitmaps for an array of redundant storage devices |
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 |
US7594075B2 (en) * | 2004-10-20 | 2009-09-22 | Seagate Technology Llc | Metadata for a grid based data storage system |
US8458238B2 (en) | 2004-10-26 | 2013-06-04 | Netapp, Inc. | Method and system for efficient write journal entry management for a distributed file 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 |
US8429192B2 (en) * | 2004-12-02 | 2013-04-23 | International Business Machines Corporation | System and method for supporting a plurality of access control list types for a file system in an operating system |
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 |
US7779294B2 (en) * | 2005-04-15 | 2010-08-17 | Intel Corporation | Power-safe disk storage apparatus, systems, and methods |
US7490263B2 (en) * | 2006-01-17 | 2009-02-10 | Allen King | Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data |
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 |
US7844584B1 (en) | 2006-06-23 | 2010-11-30 | Netapp, Inc. | System and method for persistently storing lock state information |
US7979701B1 (en) | 2006-09-15 | 2011-07-12 | Netapp, Inc. | Cross mapping graphical interface to show encryption relationships between hosts and storage devices |
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 |
US7620669B1 (en) | 2006-12-15 | 2009-11-17 | Netapp, Inc. | System and method for enhancing log performance |
US8868495B2 (en) * | 2007-02-21 | 2014-10-21 | Netapp, Inc. | System and method for indexing user data on storage systems |
US8312214B1 (en) | 2007-03-28 | 2012-11-13 | Netapp, Inc. | System and method for pausing disk drives in an aggregate |
AU2008236622B2 (en) * | 2007-04-09 | 2013-01-10 | Wake Forest University Health Sciences | Oxygen-generating compositions for enhancing cell and tissue survival in vivo |
US8209587B1 (en) | 2007-04-12 | 2012-06-26 | Netapp, Inc. | System and method for eliminating zeroing of disk drives in RAID arrays |
US7971126B2 (en) * | 2007-06-27 | 2011-06-28 | International Business Machines Corporation | Apparatus, system, and method for hard disk drive redundancy |
US8041990B2 (en) * | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for error correction and detection in a memory system |
US8041989B2 (en) * | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for providing a high fault tolerant memory system |
JP4678015B2 (ja) | 2007-07-13 | 2011-04-27 | 富士通株式会社 | 動画像符号化装置及び動画像符号化方法 |
US7975102B1 (en) | 2007-08-06 | 2011-07-05 | Netapp, Inc. | Technique to avoid cascaded hot spotting |
US8140483B2 (en) * | 2007-09-28 | 2012-03-20 | International Business Machines Corporation | Transaction log management |
US7827441B1 (en) * | 2007-10-30 | 2010-11-02 | Network Appliance, Inc. | Disk-less quorum device for a clustered storage system |
US7984259B1 (en) | 2007-12-17 | 2011-07-19 | Netapp, Inc. | Reducing load imbalance in a storage system |
US8099554B1 (en) * | 2007-12-31 | 2012-01-17 | Emc Corporation | System and method for flash-based data caching |
US8799743B2 (en) | 2008-10-28 | 2014-08-05 | Micron Technology, Inc. | Error correction in multiple semiconductor memory units |
US8495417B2 (en) * | 2009-01-09 | 2013-07-23 | Netapp, Inc. | System and method for redundancy-protected aggregates |
WO2010096519A1 (en) * | 2009-02-18 | 2010-08-26 | Marvell World Trade Ltd. | Method and system for performing i/o operations on disk arrays |
US8688798B1 (en) | 2009-04-03 | 2014-04-01 | Netapp, Inc. | System and method for a shared write address protocol over a remote direct memory access connection |
US8484529B2 (en) | 2010-06-24 | 2013-07-09 | International Business Machines Corporation | Error correction and detection in a redundant memory system |
US8549378B2 (en) | 2010-06-24 | 2013-10-01 | International Business Machines Corporation | RAIM system using decoding of virtual ECC |
US8631271B2 (en) | 2010-06-24 | 2014-01-14 | International Business Machines Corporation | Heterogeneous recovery in a redundant memory system |
US8898511B2 (en) | 2010-06-24 | 2014-11-25 | International Business Machines Corporation | Homogeneous recovery in a redundant memory system |
WO2012052800A1 (en) * | 2010-10-21 | 2012-04-26 | Oracle International Corp. | Two stage checksummed raid storage model |
US8522122B2 (en) | 2011-01-29 | 2013-08-27 | International Business Machines Corporation | Correcting memory device and memory channel failures in the presence of known memory device failures |
US11016702B2 (en) | 2011-07-27 | 2021-05-25 | Pure Storage, Inc. | Hierarchical event tree |
US10678619B2 (en) | 2011-07-27 | 2020-06-09 | Pure Storage, Inc. | Unified logs and device statistics |
EP2737431A4 (en) * | 2011-07-27 | 2015-03-25 | Cleversafe Inc | GENERATION OF DISTRIBUTED STORAGE NETWORK EVENT RECORDS |
KR101801147B1 (ko) | 2011-08-30 | 2017-11-27 | 삼성전자주식회사 | 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치 |
US9087019B2 (en) * | 2012-01-27 | 2015-07-21 | Promise Technology, Inc. | Disk storage system with rebuild sequence and method of operation thereof |
CN103577274B (zh) | 2012-07-31 | 2016-07-06 | 国际商业机器公司 | 管理存储器阵列的方法和装置 |
KR102081980B1 (ko) * | 2012-10-08 | 2020-02-27 | 삼성전자 주식회사 | 메모리 시스템에서의 라이트 동작 또는 리드 동작 수행 방법 |
US11016820B2 (en) | 2013-08-26 | 2021-05-25 | Vmware, Inc. | Load balancing of resources |
US10747475B2 (en) * | 2013-08-26 | 2020-08-18 | Vmware, Inc. | Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines |
US9372767B2 (en) | 2014-06-06 | 2016-06-21 | Netapp, Inc. | Recovery consumer framework |
KR102368071B1 (ko) | 2014-12-29 | 2022-02-25 | 삼성전자주식회사 | 레이드 스토리지 시스템에서의 스트라이프 재구성 방법 및 이를 적용한 가비지 컬렉션 동작 방법 및 레이드 스토리지 시스템 |
US9740440B2 (en) * | 2015-05-21 | 2017-08-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array |
US10114694B2 (en) * | 2016-06-07 | 2018-10-30 | Storart Technology Co. Ltd. | Method and controller for recovering data in event of program failure and storage system using the same |
CN108228647B (zh) | 2016-12-21 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 用于数据拷贝的方法和设备 |
US10089015B1 (en) | 2016-12-28 | 2018-10-02 | EMC IP Holding Company LLC | Per-drive memory resident zeroing maps for drive zeroing in a data storage system |
US10585749B2 (en) * | 2017-08-10 | 2020-03-10 | Samsung Electronics Co., Ltd. | System and method for distributed erasure coding |
US10776202B1 (en) * | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
TWI640997B (zh) * | 2017-12-27 | 2018-11-11 | 群聯電子股份有限公司 | 資料保護方法、記憶體控制電路單元與記憶體儲存裝置 |
US11816353B2 (en) * | 2021-12-20 | 2023-11-14 | Western Digital Technologies, Inc. | Parity data for non-volatile storage |
CN115565598B (zh) * | 2022-09-30 | 2023-06-02 | 中国科学院空间应用工程与技术中心 | Raid阵列磁盘暂时失效的数据存储与修复方法及系统 |
Family Cites Families (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3525269A (en) | 1968-11-04 | 1970-08-25 | Deere & Co | Harvesting machine component drive |
US4075691A (en) * | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4156907A (en) * | 1977-03-02 | 1979-05-29 | Burroughs Corporation | Data communications subsystem |
US4399503A (en) * | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
US4377843A (en) * | 1979-04-19 | 1983-03-22 | Wescom Switching, Inc. | Data distribution interface |
US4333144A (en) * | 1980-02-05 | 1982-06-01 | The Bendix Corporation | Task communicator for multiple computer system |
US4488231A (en) * | 1980-09-29 | 1984-12-11 | Honeywell Information Systems Inc. | Communication multiplexer having dual microprocessors |
FR2500659B1 (fr) * | 1981-02-25 | 1986-02-28 | Philips Ind Commerciale | Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur |
US4456957A (en) * | 1981-09-28 | 1984-06-26 | Ncr Corporation | Apparatus using a decision table for routing data among terminals and a host system |
US4685125A (en) * | 1982-06-28 | 1987-08-04 | American Telephone And Telegraph Company | Computer system with tasking |
US4550368A (en) * | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4527232A (en) * | 1982-07-02 | 1985-07-02 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
US4814971A (en) | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US4719569A (en) * | 1985-10-11 | 1988-01-12 | Sun Microsystems, Inc. | Arbitrator for allocating access to data processing resources |
US4825354A (en) * | 1985-11-12 | 1989-04-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of file access in a distributed processing computer network |
US4742447A (en) * | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4803621A (en) * | 1986-07-24 | 1989-02-07 | Sun Microsystems, Inc. | Memory access system |
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4766534A (en) * | 1986-10-16 | 1988-08-23 | American Telephone And Telegraph Company, At&T Bell Laboratories | Parallel processing network and method |
US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US4897781A (en) * | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US5109515A (en) * | 1987-09-28 | 1992-04-28 | At&T Bell Laboratories | User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services |
IL88165A (en) * | 1987-12-21 | 1993-01-31 | Honeywell Bull | Apparatus and method for a data processing system having a peer relationship among a plurality of central processing units |
US4914583A (en) * | 1988-04-13 | 1990-04-03 | Motorola, Inc. | Method of indicating processes resident within a cell of a data processing system |
JP2625866B2 (ja) | 1988-04-26 | 1997-07-02 | 日本電気株式会社 | 電子機器筐体の冷却構造 |
US4984272A (en) | 1988-11-30 | 1991-01-08 | At&T Bell Laboratories | Secure file handling in a computer operating system |
JPH02165241A (ja) | 1988-12-19 | 1990-06-26 | Toshiba Corp | ファイルアクセス方式 |
US5222217A (en) | 1989-01-18 | 1993-06-22 | International Business Machines Corporation | System and method for implementing operating system message queues with recoverable shared virtual storage |
US5113442A (en) | 1989-03-06 | 1992-05-12 | Lachman Associates, Inc. | Method and apparatus for providing access control in a secure operating system |
US5144659A (en) | 1989-04-19 | 1992-09-01 | Richard P. Jones | Computer file protection system |
US5218696A (en) * | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5276867A (en) * | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data storage system with improved data migration |
US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5134619A (en) * | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5166939A (en) * | 1990-03-02 | 1992-11-24 | Micro Technology, Inc. | Data storage apparatus and method |
US5195100A (en) | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5088081A (en) * | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5274807A (en) * | 1990-11-01 | 1993-12-28 | At&T Bell Laboratories | Method for reducing magnetic storage volume for computer disk image backup |
US5255270A (en) * | 1990-11-07 | 1993-10-19 | Emc Corporation | Method of assuring data write integrity on a data storage device |
DE69131551T2 (de) * | 1990-11-09 | 2000-02-17 | Emc Corp | Logische Aufteilung eines Speichersystems mit redundanter Matrix |
US5155835A (en) * | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
US5146588A (en) * | 1990-11-26 | 1992-09-08 | Storage Technology Corporation | Redundancy accumulator for disk drive array memory |
JP2603757B2 (ja) * | 1990-11-30 | 1997-04-23 | 富士通株式会社 | アレ−ディスク装置の制御方法 |
US5235601A (en) * | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US5239640A (en) | 1991-02-01 | 1993-08-24 | International Business Machines Corporation | Data storage system and method including data and checksum write staging storage |
US5276840A (en) * | 1991-03-22 | 1994-01-04 | Acer Incorporated | Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation |
US5502836A (en) * | 1991-11-21 | 1996-03-26 | Ast Research, Inc. | Method for disk restriping during system operation |
US5379417A (en) * | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
GB9126779D0 (en) | 1991-12-17 | 1992-02-12 | Int Computers Ltd | Security mechanism for a computer system |
US5313626A (en) * | 1991-12-17 | 1994-05-17 | Jones Craig S | Disk drive array with efficient background rebuilding |
US5333305A (en) * | 1991-12-27 | 1994-07-26 | Compaq Computer Corporation | Method for improving partial stripe write performance in disk array subsystems |
EP0619896A1 (en) * | 1991-12-27 | 1994-10-19 | Compaq Computer Corporation | Method for performing disk array operations using a nonuniform stripe size mapping scheme |
JP3058743B2 (ja) * | 1992-01-21 | 2000-07-04 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US5442752A (en) * | 1992-01-24 | 1995-08-15 | International Business Machines Corporation | Data storage method for DASD arrays using striping based on file length |
US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
EP0559488B1 (en) * | 1992-03-06 | 1998-08-19 | Data General Corporation | Handling data in a system having a processor for controlling access to a plurality of data storage disks |
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 |
US5335235A (en) * | 1992-07-07 | 1994-08-02 | Digital Equipment Corporation | FIFO based parity generator |
JP2888401B2 (ja) * | 1992-08-03 | 1999-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 冗長ディスクドライブアレイに対する同期方法 |
US5315602A (en) * | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
EP0612015A1 (en) * | 1993-02-16 | 1994-08-24 | International Business Machines Corporation | Improved disk array system having special parity groups for data blocks with high update activity |
US5522050A (en) * | 1993-05-28 | 1996-05-28 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
WO1994029807A1 (en) | 1993-06-03 | 1994-12-22 | Network Appliance Corporation | Write anywhere file-system layout |
DE69434381T2 (de) | 1993-06-04 | 2006-01-19 | Network Appliance, Inc., Sunnyvale | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
US5390327A (en) * | 1993-06-29 | 1995-02-14 | Digital Equipment Corporation | Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk |
US5572711A (en) | 1993-09-28 | 1996-11-05 | Bull Hn Information Systems Inc. | Mechanism for linking together the files of emulated and host system for access by emulated system users |
US5689701A (en) | 1994-12-14 | 1997-11-18 | International Business Machines Corporation | System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax |
US5617568A (en) | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
US5675782A (en) | 1995-06-06 | 1997-10-07 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5603051A (en) * | 1995-06-06 | 1997-02-11 | Hewlett-Packard Company | Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus |
US5729705A (en) * | 1995-07-24 | 1998-03-17 | Symbios Logic Inc. | Method and apparatus for enhancing throughput of disk array data transfers in a controller |
US5668958A (en) | 1995-09-12 | 1997-09-16 | International Business Machines Corporation | Heterogeneous filing system with common API and reconciled file management rules |
US5737744A (en) * | 1995-10-13 | 1998-04-07 | Compaq Computer Corporation | Disk array controller for performing exclusive or operations |
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 |
US5737523A (en) | 1996-03-04 | 1998-04-07 | Sun Microsystems, Inc. | Methods and apparatus for providing dynamic network file system client authentication |
US5825877A (en) | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
JP2956607B2 (ja) | 1996-09-17 | 1999-10-04 | 日本電気株式会社 | 携帯型無線機 |
DE19646155C1 (de) | 1996-11-08 | 1997-12-11 | Siemens Nixdorf Inf Syst | Lagebestimmung von Peripherieeinheiten |
US6161165A (en) * | 1996-11-14 | 2000-12-12 | Emc Corporation | High performance data path with XOR on the fly |
US5915087A (en) | 1996-12-12 | 1999-06-22 | Secure Computing Corporation | Transparent security proxy for unreliable message exchange protocols |
US5931935A (en) | 1997-04-15 | 1999-08-03 | Microsoft Corporation | File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system |
US5876278A (en) | 1997-05-29 | 1999-03-02 | Cheng; Henry | Cooling device |
US6101585A (en) | 1997-11-04 | 2000-08-08 | Adaptec, Inc. | Mechanism for incremental backup of on-line files |
US5890959A (en) | 1998-03-31 | 1999-04-06 | Digital Equipment Corporation | High efficiency blower system with integral backflow preventor |
-
1994
- 1994-06-02 DE DE69434381T patent/DE69434381T2/de not_active Expired - Lifetime
- 1994-06-02 EP EP00111252A patent/EP1031928B1/en not_active Expired - Lifetime
- 1994-06-02 EP EP94919367A patent/EP0701715A4/en not_active Withdrawn
- 1994-06-02 JP JP7502000A patent/JPH08511368A/ja active Pending
- 1994-06-02 WO PCT/US1994/006321 patent/WO1994029795A1/en not_active Application Discontinuation
-
1995
- 1995-06-05 US US08/471,218 patent/US5948110A/en not_active Expired - Lifetime
-
1999
- 1999-06-30 US US09/345,246 patent/US6480969B1/en not_active Expired - Lifetime
-
2000
- 2000-10-19 HK HK00106618A patent/HK1028281A1/xx not_active IP Right Cessation
-
2002
- 2002-08-28 US US10/233,311 patent/US6988219B2/en not_active Expired - Fee Related
-
2007
- 2007-04-12 JP JP2007104593A patent/JP4283859B2/ja not_active Expired - Lifetime
-
2008
- 2008-05-21 JP JP2008133346A patent/JP4408939B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69434381T2 (de) | 2006-01-19 |
WO1994029795A1 (en) | 1994-12-22 |
US5948110A (en) | 1999-09-07 |
HK1028281A1 (en) | 2001-02-09 |
EP1031928B1 (en) | 2005-05-18 |
US6480969B1 (en) | 2002-11-12 |
EP0701715A1 (en) | 1996-03-20 |
DE69434381D1 (de) | 2005-06-23 |
EP1031928A3 (en) | 2000-11-15 |
US6988219B2 (en) | 2006-01-17 |
JP4408939B2 (ja) | 2010-02-03 |
EP1031928A2 (en) | 2000-08-30 |
JP2007184011A (ja) | 2007-07-19 |
JP2008251034A (ja) | 2008-10-16 |
EP0701715A4 (en) | 1999-11-17 |
US20030037281A1 (en) | 2003-02-20 |
JPH08511368A (ja) | 1996-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4283859B2 (ja) | 記憶サブシステムおよびその作動方法 | |
JP3164499B2 (ja) | ディスクアレイにおけるパリティデータの無矛盾性保持方法 | |
US7464322B2 (en) | System and method for detecting write errors in a storage device | |
US6282670B1 (en) | Managing defective media in a RAID system | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
US5875457A (en) | Fault-tolerant preservation of data integrity during dynamic raid set expansion | |
JP3071017B2 (ja) | 冗長アレイ・システムにおける冗長情報の復元方法および制御システム | |
US7464289B2 (en) | Storage system and method for handling bad storage device data therefor | |
US20040123032A1 (en) | Method for storing integrity metadata in redundant data layouts | |
JP2000112831A (ja) | ディスク記録再生方法および装置 | |
US6349359B1 (en) | Method and apparatus for maintaining data consistency in raid | |
WO2004001600A1 (en) | Using file system information in raid data reconstruction and migration | |
EP0690379A2 (en) | Enhanced data management in data storage subsystems | |
US7818524B2 (en) | Data migration systems and methods for independent storage device expansion and adaptation | |
JPH0675708A (ja) | アレイ型記録装置 | |
GB2414592A (en) | Decreasing failed disk reconstruction time in a RAID data storage system | |
US5421003A (en) | Disk storage system with fault tolerant media maintenance | |
GB2343265A (en) | Data storage array rebuild | |
KR20110039416A (ko) | 인터럽트된 기록 복구를 위한 데이터 저장 방법, 장치 및 시스템 | |
JP2002373059A (ja) | ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置 | |
JP2005004733A (ja) | ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法 | |
CA2165910C (en) | Method for providing parity in a raid sub-system using a non-volatile memory | |
JP2012123641A (ja) | 半導体ディスク装置 | |
EP0831484A1 (en) | Data reconstruction method and data storage system | |
JP2010049394A (ja) | 磁気ディスクの書き込み障害の検出と回復を行うディスクアレイシステム、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071010 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080122 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090127 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090319 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140327 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |