JP5945285B2 - ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム - Google Patents
ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5945285B2 JP5945285B2 JP2013555955A JP2013555955A JP5945285B2 JP 5945285 B2 JP5945285 B2 JP 5945285B2 JP 2013555955 A JP2013555955 A JP 2013555955A JP 2013555955 A JP2013555955 A JP 2013555955A JP 5945285 B2 JP5945285 B2 JP 5945285B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- parity
- data
- pages
- row
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 50
- 238000004590 computer program Methods 0.000 title claims description 19
- 238000012937 correction Methods 0.000 claims description 78
- 238000011084 recovery Methods 0.000 claims description 20
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000003491 array Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 101000606504 Drosophila melanogaster Tyrosine-protein kinase-like otk Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor 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
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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/1045—Nested RAID, i.e. implementing a RAID scheme in another RAID scheme
-
- 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/1057—Parity-multiple bits-RAID6, i.e. RAID 6 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/1059—Parity-single bit-RAID5, i.e. RAID 5 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
この実施形態では、5列(n=5)および4行(r=4)が存在する。データ・ページは「a」、パリティ・ページは「p」、未使用ページは「b」、一時ページは「q」または「c」として表される。それぞれのページ・タイプの隣の下付き文字はアレイ内のページの位置を表している(たとえば、「a00」は行列内の行0、列0にあるデータ・ページである)。以下のアレイは14個のデータ・ページの位置を示している。
この実施形態では、5列(n=5)および4行(r=4)が存在する。データ・ページは「a」、パリティ・ページは「p」、消去されたページは「e」、未使用ページは「b」、一時ページは「q」または「c」として表される。以下のアレイに示されているように、第1および第3の行では1つの消去が行われ(すなわち、そのページ上のデータが脱落している)、第2および第4の行では2つの消去が行われている。
この実施形態では、5列(n=5)および3行(r=3)が存在する。データ・ページは「a」、パリティ・ページは「p」、未使用ページは「b」、一時ページは「q」または「c」として表される。それぞれのページ・タイプの隣の下付き文字はアレイ内のページの位置を表している(たとえば、「a00」は行列内の行0、列0にあるデータ・ページである)。以下のアレイは9個のデータ・ページの位置を示している。
(1,1,2)方式など、本明細書に記載されている方式は、最も長いコードがパリティ・チェック・コードである、ネストされたコードのシステムを含む。したがって、本明細書に記載されているコードは、全体的なパリティ・チェックを有し、より一般的には、ネスティング・プロパティを有する。特に、任意のコードワードのすべての要素のXORはゼロである。EVENODDまたはRDPなどの周知のアレイ・コードには全体的なパリティ・チェック記号がない。RDPはネストされるが、長い方のコード(対角パリティに基づく)はMDSではなく、したがって、本明細書に記載されているコードでは使用できない。
BR93に教示されているように、f(x)=1+x+x2+・・・+xz−1によって生成される環(ring)について考慮するが、ここでzは素数であり、αは回転モジュロ(rotationmodulo)f(x)とする。この場合、DiREコードに関するパリティ・チェック行列は以下のように示される。
z=5である場合、アレイは4行×6列を含み、位置は以下のように指定される。最後の行(L4x)は、仮想行であり、計算のみに使用される。
一実施形態は、(z−1)行×最大(z+1)列の寸法を有するアレイに適用され、zは素数である。この実施形態のコードは、最初のz−1列を最後の2列にコード化し、以下の特徴を有する。1.このコードはMDSであり、すなわち、消去された任意の2列を回復することができ、2.このコードはグローバル・パリティ・チェックを有し、すなわち、コード化された任意の行のXORは0であり、3.1および2の特徴の場合、コード化においてXORの数を最小限にし、4.デコードおよびコード化は簡単明瞭である(コード化はデコードの特別なケースである)。
S=az−2−j,jのXOR、j=0〜z−2
とする。
次に、0≦i≦z−2の場合、
pi=Sとa<i−j−1>z,jのXORとのXOR、j=0〜z−2およびj≠i
qi=piとai,jのXORとのXOR、j=0〜z−2
である。
S2=a<−5−2j>z,jのXOR、j=0〜z−3
とする。
次に、0≦i≦z−2の場合、
ci=S2とa<i−4−2j>z,jのXORとのXOR、j=0〜z−3およびi≠<2j+3>z
である。
この実施形態は2つの消去を処理するが、3つ以上の消去に拡張することもできる。この実施形態では、消去は列iおよびjで行われ、0≦i<j≦zである。0≦t≦z−2である場合、at,z−1=ptおよびat,z=qtとする。j=zおよびj<zという2つのケースを区別する。最初のケースj=zについて考慮する。ここで、
S=a<i−1−j>z,jのXOR、j=0〜z−2およびj≠i
とする。
次に、0≦t≦z−2の場合、
at,i=Sとa<t+i−j>z,jのXORとのXOR、j=0〜z−2、j≠i、およびj≠<t+i+1>z
at,z=qt=at,jのXOR、j=0〜z−1
である。
次に、j<zのケースについて考慮する。ここで、
S=at,zのXOR、t=0〜z−2
とする。
さらに、az−1,m=0、0≦m≦zとする。
次に、0≦L≦z−2の場合、以下の式を計算する。
a<−(j−1)(L+1)−1>z,j=Sとa<−(j−1)(L+1)+j−t>z,tのXORとのXOR、t=0〜z−1およびt≠j
a<−(j−1)(L+1)−1>z,j=a<−(j−1)(L+1)−1>z,tのXOR、t=0〜zおよびt≠j
Claims (16)
- データを保管するための方法であって、
書き込みデータを受信することと、
前記書き込みデータをr行×n列のページに配列し、それぞれのページが複数のセクタを含むことと、
前記ページ上で複数の水平および垂直消去訂正コードを使用して前記書き込みデータをコード化することであって、第1の行はt1個のパリティ・ページを含み、t1≧1であり、第2の行はt2個のパリティ・ページを含み、t2≧t1であり、第3の行はt3個のパリティ・ページを含み、t3≧t2であり、tr個のパリティ・ページを含み、tr≧tr−1およびn>tr>t1であるr番目の行まで以下同様であり、前記コード化により、前記r行のうちの任意の1行でtr個までの消去からの回復が可能になり、残りのr−k(k=1〜r−2の整数)行のうちの任意の1行でtr−k 個までの消去からの回復が可能になり、最後の残りの行でt1個までの消去からの回復が可能になるようになっており、前記コード化からの出力がコード化された書き込みデータを含むことと、
前記コード化された書き込みデータを、ストレージ・アレイ内のn個のストレージ・デバイス全域にわたって書き込みストライプとして書き込むこと
を含む、方法。 - 前記書き込みストライプ内の任意の行のt1個の前記パリティ・ページが、そのデータ・ページが前記行の残りのn−t1個のページになる、t1消去訂正コードに対応する、請求項1記載の方法。
- 前記水平および垂直消去訂正コードのうちの少なくとも1つが最大距離分離可能(MDS)コードである、請求項1または請求項2記載の方法。
- 前記MDSコードにより2つまでの消去からの回復が可能になり、前記MDSコードがぞれぞれのページをz−1個のセグメントに分割し、zが素数であり、前記MDSコードの長さnが多くてもz+1であり、
第1のパリティ・ページが、第1のデータ・ページと、第2のデータ・ページにαを掛けたものと、第3のデータ・ページにα2を掛けたものと、第4のデータ・ページにα3を掛けたものと、以下同様で、n−2のデータ・ページにαn−3を掛けたものとの排他的論理和(XOR)として計算され、αは次数z−1の多項式の根であり、
第2のパリティ・ページが、最初のn−2のデータ・ページと、前記第1のパリティ・ページとのXORとして計算される、請求項3記載の方法。 - 前記多項式が1+x+x2+・・・xz−1である、請求項4記載の方法。
- 前記MDSコードにより3つまでの消去からの回復が可能になり、前記MDSコードがぞれぞれのページをz−1個のセグメントに分割し、zが素数であり、前記コードの長さnが多くてもz+1であり、
第1のパリティ・ページが、第1のデータ・ページと、第2のデータ・ページにα2を掛けたものと、第3のデータ・ページにα4を掛けたものと、第4のデータ・ページにα6を掛けたものと、以下同様で、n−3のデータ・ページにα2(n−4)を掛けたものとのXORとして計算され、αは次数z−1の多項式の根であり、
第2のパリティ・ページが、第1のデータ・ページと、第2のデータ・ページにαを掛けたものと、第3のデータ・ページにα2を掛けたものと、第4のデータ・ページにα3を掛けたものと、以下同様で、n−3のデータ・ページにαn−4を掛けたものと、前記第1のパリティ・ページにαn−3を掛けたものとのXORとして計算され、
第3のパリティ・ページが、前記n−3のデータ・ページと、前記第1および第2のパリティ・ページとのXORとして計算される、請求項3記載の方法。 - 前記多項式が1+x+x2+・・・xz−1である、請求項6記載の方法。
- trが2に等しい、請求項1記載の方法。
- trが3に等しい、請求項1記載の方法。
- 前記ストレージ・デバイスが、ハードディスク・ドライブおよびフラッシュ・ドライブのうちの1つである、請求項1記載の方法。
- ストレージ・アレイにデータを保管するためのシステムであって、前記システムが、
複数のストレージ・デバイスを含むストレージ・アレイと、
請求項1ないし10のいずれかに記載のステップを実行するために構成されたアレイ・コントローラと
を含む、システム。 - ストレージ・アレイにデータを保管するためのコンピュータ・プログラムであって、
請求項1ないし10のいずれかに記載のステップをコンピュータに実行させる、コンピュータ・プログラム。 - ストレージ・アレイ内の消去を訂正するための方法であって、前記方法が、
複数のn個のストレージ・デバイスから読み取りストライプを受信することであって、前記読み取りストライプがr行×n列に配列された複数ページのブロックを含み、それぞれの列が前記ストレージ・デバイスの1つに対応し、前記ページがデータ・ページとパリティ・ページとを含み、前記パリティ・ページが複数の水平および垂直消去訂正コードを使用して生成され、第1の行はt1個のパリティ・ページを含み、t1≧1であり、第2の行はt2個のパリティ・ページを含み、t2≧t1であり、第3の行はt3個のパリティ・ページを含み、t3≧t2であり、tr個のパリティ・ページを含み、tr≧tr−1およびn>tr>t1であるr番目の行まで以下同様になるようになっていることと、
前記読み取りストライプが少なくとも1つの消去されたページを含み、前記行のうちの1行が多くてもtr個の消去を含み、r−k(k=1〜r−2の整数)個の残りの行のうちの1行が多くてもtr−k 個の消去を含み、最後の残りの行がt1個の消去を含むと決定するまで、決定することと、
前記ページのブロックならびに前記水平および垂直消去コードに応答して前記消去されたページを再構築することであって、前記再構築の結果、回復された読み取りストライプが得られること
を含む、方法。 - 前記水平および垂直消去訂正コードのうちの少なくとも1つが最大距離分離可能コードである、請求項13記載の方法。
- trが2に等しいかまたはtrが3に等しい、請求項14記載の方法。
- ストレージ・アレイ内の消去を訂正するためのコンピュータ・プログラムであって、
請求項13ないし15のいずれかに記載のステップをコンピュータに実行させる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/036,845 US8433979B2 (en) | 2011-02-28 | 2011-02-28 | Nested multiple erasure correcting codes for storage arrays |
US13/036,845 | 2011-02-28 | ||
PCT/IB2012/050605 WO2012117309A1 (en) | 2011-02-28 | 2012-02-10 | Correcting erasures in storage arrays |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014511158A JP2014511158A (ja) | 2014-05-12 |
JP5945285B2 true JP5945285B2 (ja) | 2016-07-05 |
Family
ID=46719850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013555955A Active JP5945285B2 (ja) | 2011-02-28 | 2012-02-10 | ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム |
Country Status (7)
Country | Link |
---|---|
US (2) | US8433979B2 (ja) |
JP (1) | JP5945285B2 (ja) |
CN (1) | CN103392172B (ja) |
CA (1) | CA2817945A1 (ja) |
DE (1) | DE112012000385B4 (ja) |
GB (1) | GB2502224B (ja) |
WO (1) | WO2012117309A1 (ja) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117525A1 (en) * | 2011-11-04 | 2013-05-09 | Lsi Corporation | Method for implementing pre-emptive read reconstruction |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9047214B1 (en) * | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US9312885B2 (en) * | 2012-08-15 | 2016-04-12 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory system error correction capability of which is improved |
US8949698B2 (en) * | 2012-09-27 | 2015-02-03 | Intel Corporation | Method, apparatus and system for handling data faults |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9026867B1 (en) * | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
JP6117994B2 (ja) | 2013-05-29 | 2017-04-19 | 株式会社東芝 | 符号化および復号の方法および装置 |
US9619324B2 (en) | 2013-09-27 | 2017-04-11 | Intel Corporation | Error correction in non—volatile memory |
EP2863566B1 (en) | 2013-10-18 | 2020-09-02 | Université de Nantes | Method and apparatus for reconstructing a data block |
US9262268B2 (en) | 2013-12-20 | 2016-02-16 | Seagate Technology Llc | Method to distribute user data and error correction data over different page types by leveraging error rate variations |
US9804925B1 (en) | 2014-02-25 | 2017-10-31 | Google Inc. | Data reconstruction in distributed storage systems |
WO2016058289A1 (zh) * | 2015-01-20 | 2016-04-21 | 北京大学深圳研究生院 | 一种能修复多个节点失效的mds纠删码 |
US9595979B2 (en) | 2015-01-20 | 2017-03-14 | International Business Machines Corporation | Multiple erasure codes for distributed storage |
US9870284B2 (en) | 2015-05-27 | 2018-01-16 | International Business Machines Corporation | First responder parities for storage array |
US9654146B2 (en) * | 2015-08-18 | 2017-05-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Bi-directional parity bit generator circuit |
US10055278B2 (en) | 2015-10-30 | 2018-08-21 | International Business Machines Corporation | Autonomic parity exchange in data storage systems |
US10031803B2 (en) * | 2015-12-14 | 2018-07-24 | International Business Machines Corporation | Distributed coding for multiple dimensional parities |
US9569306B1 (en) * | 2015-12-18 | 2017-02-14 | International Business Machines Corporation | Recovery of multi-page failures in non-volatile memory system |
US9959168B2 (en) | 2016-03-04 | 2018-05-01 | Sandisk Technologies Llc | ECC and RAID-type decoding |
US10142419B2 (en) | 2016-03-04 | 2018-11-27 | Sandisk Technologies Llc | Erasure correcting coding using data subsets and partial parity symbols |
US10536172B2 (en) | 2016-03-04 | 2020-01-14 | Western Digital Technologies, Inc. | ECC and raid-type decoding |
US10218789B2 (en) | 2016-03-04 | 2019-02-26 | Western Digital Technologies, Inc. | Erasure correcting coding using temporary erasure data |
US10592113B2 (en) * | 2016-07-18 | 2020-03-17 | Storart Technology (Shenzhen) Co., Ltd. | Method for transferring command from host to device controller and system using the same |
US10333555B2 (en) | 2016-07-28 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for interleaved BCH codes |
US10404282B2 (en) * | 2016-07-28 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for integrated interleaved Reed-Solomon encoding and decoding |
US10169141B2 (en) * | 2016-08-11 | 2019-01-01 | SK Hynix Inc. | Modifiable stripe length in flash memory devices |
CN107783784A (zh) * | 2016-08-24 | 2018-03-09 | 衡宇科技股份有限公司 | 由主机到设备控制器传输命令的方法及使用其的系统 |
US10452477B2 (en) * | 2016-08-26 | 2019-10-22 | Netapp, Inc. | Multiple node repair using high rate minimum storage regeneration erasure code |
US10284230B2 (en) * | 2016-11-15 | 2019-05-07 | Western Digital Technologies, Inc. | Linked storage system and host system error correcting code |
US10379952B2 (en) * | 2017-06-16 | 2019-08-13 | Western Digital Technologies, Inc. | Data recovery and regeneration using parity code |
US10686471B2 (en) * | 2017-11-22 | 2020-06-16 | Samsung Electronics Co., Ltd. | One-sub-symbol linear repair schemes |
US11042661B2 (en) * | 2018-06-08 | 2021-06-22 | Weka.IO Ltd. | Encryption for a distributed filesystem |
US11190209B2 (en) | 2019-01-30 | 2021-11-30 | International Business Machines Corporation | Expansion for Blaum-Roth codes |
US11038533B2 (en) | 2019-04-25 | 2021-06-15 | International Business Machines Corporation | Expansion for generalized EVENODD codes |
CN111585582B (zh) * | 2020-05-14 | 2023-04-07 | 成都信息工程大学 | 一种基于阵列运算且码距自由确定的编码方法 |
US11474898B2 (en) | 2020-12-09 | 2022-10-18 | International Business Machines Corporation | Multiple responder approach to systems with different types of failures |
CN115329399B (zh) * | 2022-10-13 | 2023-01-31 | 江苏华存电子科技有限公司 | 基于nand的垂直水平raid4数据保护管理方法及系统 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4379259A (en) | 1980-03-12 | 1983-04-05 | National Semiconductor Corporation | Process of performing burn-in and parallel functional testing of integrated circuit memories in an environmental chamber |
KR930003997B1 (ko) | 1983-12-20 | 1993-05-19 | 소니 가부시끼가이샤 | 에러 정정부호의 복호방법 및 복호장치 |
DE3838234A1 (de) | 1988-11-11 | 1990-05-17 | Broadcast Television Syst | Verfahren und schaltungsanordnung zur detektion und korrektur von fehlern in datenworten |
US5367652A (en) | 1990-02-02 | 1994-11-22 | Golden Jeffrey A | Disc drive translation and defect management apparatus and method |
US5164944A (en) | 1990-06-08 | 1992-11-17 | Unisys Corporation | Method and apparatus for effecting multiple error correction in a computer memory |
DE69408498D1 (de) * | 1993-06-30 | 1998-03-19 | Ibm | Kodierung und Rekonstruktion des Dateninhaltes von bis zu zwei nichtverfügbaren DASDs in einer DASD-Anordnung |
US5499253A (en) | 1994-01-05 | 1996-03-12 | Digital Equipment Corporation | System and method for calculating RAID 6 check codes |
FR2717644B1 (fr) * | 1994-03-15 | 1996-04-26 | Alcatel Mobile Comm France | Procédé de codage - Entrelacement et procédé correspondant de désentrelacement - décodage. |
US5862158A (en) * | 1995-11-08 | 1999-01-19 | International Business Machines Corporation | Efficient method for providing fault tolerance against double device failures in multiple device systems |
JPH10240453A (ja) * | 1997-02-28 | 1998-09-11 | Nec Corp | ディスクアレイ装置 |
US5923830A (en) | 1997-05-07 | 1999-07-13 | General Dynamics Information Systems, Inc. | Non-interrupting power control for fault tolerant computer systems |
US6138125A (en) | 1998-03-31 | 2000-10-24 | Lsi Logic Corporation | Block coding method and system for failure recovery in disk arrays |
US7134069B1 (en) | 1999-06-16 | 2006-11-07 | Madrone Solutions, Inc. | Method and apparatus for error detection and correction |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6675318B1 (en) | 2000-07-25 | 2004-01-06 | Sun Microsystems, Inc. | Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension |
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 |
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 |
US6973613B2 (en) | 2002-06-28 | 2005-12-06 | Sun Microsystems, Inc. | Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure |
US7085953B1 (en) | 2002-11-01 | 2006-08-01 | International Business Machines Corporation | Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array |
US7093159B1 (en) | 2002-12-12 | 2006-08-15 | Adaptec, Inc. | Method and system for four disk fault tolerance in a disk array |
US20040123032A1 (en) * | 2002-12-24 | 2004-06-24 | Talagala Nisha D. | Method for storing integrity metadata in redundant data layouts |
US7062604B1 (en) | 2003-02-12 | 2006-06-13 | Adaptec, Inc. | Method and system for five-disk fault tolerance in a disk array |
US7350126B2 (en) | 2003-06-23 | 2008-03-25 | International Business Machines Corporation | Method for constructing erasure correcting codes whose implementation requires only exclusive ORs |
US7254754B2 (en) | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
US7533325B2 (en) * | 2003-07-14 | 2009-05-12 | International Business Machines Corporation | Anamorphic codes |
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 |
US7240237B2 (en) | 2004-05-25 | 2007-07-03 | Lsi Corporation | Method and system for high bandwidth fault tolerance in a storage subsystem |
US7681104B1 (en) | 2004-08-09 | 2010-03-16 | Bakbone Software, Inc. | Method for erasure coding data across a plurality of data stores in a network |
US7519629B2 (en) | 2004-09-30 | 2009-04-14 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree |
US7945729B2 (en) * | 2004-11-24 | 2011-05-17 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system using horizontal and vertical parity layouts |
CN100371892C (zh) | 2005-01-21 | 2008-02-27 | 华为技术有限公司 | 一种现场可编程门阵列的加载方法 |
US7536627B2 (en) | 2005-12-27 | 2009-05-19 | Sandisk Corporation | Storing downloadable firmware on bulk media |
US8046629B1 (en) * | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US7747898B1 (en) | 2006-09-19 | 2010-06-29 | United Services Automobile Association (Usaa) | High-availability data center |
US8468416B2 (en) | 2007-06-26 | 2013-06-18 | International Business Machines Corporation | Combined group ECC protection and subgroup parity protection |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
CN100547555C (zh) | 2007-12-10 | 2009-10-07 | 华中科技大学 | 一种基于指纹的数据备份系统 |
US8117519B2 (en) | 2008-01-15 | 2012-02-14 | Micron Technology, Inc. | Memory apparatus and method using erasure error correction to reduce power consumption |
US7925927B2 (en) * | 2008-06-23 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | Simulator for determining data loss in a fault tolerant system |
-
2011
- 2011-02-28 US US13/036,845 patent/US8433979B2/en active Active
-
2012
- 2012-02-10 CN CN201280010158.6A patent/CN103392172B/zh active Active
- 2012-02-10 WO PCT/IB2012/050605 patent/WO2012117309A1/en active Application Filing
- 2012-02-10 JP JP2013555955A patent/JP5945285B2/ja active Active
- 2012-02-10 CA CA2817945A patent/CA2817945A1/en not_active Abandoned
- 2012-02-10 GB GB1314853.1A patent/GB2502224B/en active Active
- 2012-02-10 DE DE112012000385.3T patent/DE112012000385B4/de active Active
- 2012-07-31 US US13/563,123 patent/US8918701B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
DE112012000385B4 (de) | 2020-02-13 |
DE112012000385T5 (de) | 2013-10-10 |
GB2502224A (en) | 2013-11-20 |
US8433979B2 (en) | 2013-04-30 |
US8918701B2 (en) | 2014-12-23 |
CN103392172A (zh) | 2013-11-13 |
GB2502224B (en) | 2014-02-05 |
US20120331367A1 (en) | 2012-12-27 |
GB201314853D0 (en) | 2013-10-02 |
CN103392172B (zh) | 2016-01-20 |
US20120221926A1 (en) | 2012-08-30 |
CA2817945A1 (en) | 2012-09-07 |
JP2014511158A (ja) | 2014-05-12 |
WO2012117309A1 (en) | 2012-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5945285B2 (ja) | ストレージ・アレイにデータを保管するための方法、システム、およびコンピュータ・プログラム、ならびにストレージ・アレイ内の消去を訂正するための方法およびコンピュータ・プログラム | |
JP6153541B2 (ja) | 消失エラー訂正符号を用いてストレージ・アレイにデータを格納する方法、システム及びプログラム | |
US10572345B2 (en) | First responder parities for storage array | |
US10135465B2 (en) | Error correction methods and apparatuses using first and second decoders | |
US9058291B2 (en) | Multiple erasure correcting codes for storage arrays | |
US9081752B2 (en) | Redundant disk encoding via erasure decoding | |
US8145941B2 (en) | Detection and correction of block-level data corruption in fault-tolerant data-storage systems | |
US9037951B2 (en) | Data management in solid state storage systems | |
US9229813B2 (en) | Error correction with on-demand parity sectors in magnetic data storage devices | |
US8166370B1 (en) | Efficient RAID ECC controller for RAID systems | |
JP5723967B2 (ja) | ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス | |
KR101531774B1 (ko) | 통합된 데이터 및 헤더 보호를 포함하는 인코드된 데이터의 디코딩 | |
JP2013524609A5 (ja) | ||
US20050154959A1 (en) | Method and apparatus for embedding an additional layer of error correction into an error correcting code | |
US20070124648A1 (en) | Data protection method | |
JP2007299393A (ja) | 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置 | |
KR20220124182A (ko) | 저장 시스템에서의 데이터 복구를 위한 인코딩 | |
CN117194095A (zh) | 改变纠错配置 | |
WO2017186871A1 (en) | Data protection coding technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20140912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5945285 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |