CA2532997A1 - Data storage array - Google Patents
Data storage array Download PDFInfo
- Publication number
- CA2532997A1 CA2532997A1 CA002532997A CA2532997A CA2532997A1 CA 2532997 A1 CA2532997 A1 CA 2532997A1 CA 002532997 A CA002532997 A CA 002532997A CA 2532997 A CA2532997 A CA 2532997A CA 2532997 A1 CA2532997 A1 CA 2532997A1
- Authority
- CA
- Canada
- Prior art keywords
- stripe
- recipient
- array
- donor
- elements
- 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.)
- Granted
Links
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/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- 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/1004—Adaptive RAID, i.e. RAID system adapts to changing circumstances, e.g. RAID1 becomes RAID5 as disks fill up
-
- 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/1028—Distributed, i.e. distributed RAID systems with parity
Abstract
The error tolerance of an array of m storage units is increased by using a technique referred to as ~dodging." A plurality of k stripes are stored across the array of storage units in which each stripe has n + r elements that correspond to a symmetric code having a minimum Hamming distance d = r + 1.
Each respective element of a stripe is stored on a different storage unit. An element is selected when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2.
The selected element is also stored on a storage unit having no elements of the recipient stripe. A lost element of the recipient stripe is then rebuilt on the selected element.
Each respective element of a stripe is stored on a different storage unit. An element is selected when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2.
The selected element is also stored on a storage unit having no elements of the recipient stripe. A lost element of the recipient stripe is then rebuilt on the selected element.
Claims
14~~~
Claims [001] A method for increasing an error tolerance of an array of m storage units, the method comprising steps of: storing k stripes across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe; and rebuilding a lost element of the recipient stripe on the selected element.
[002] The method according to claim 1, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the step of selecting the element in the donor stripe.
[003] The method according to claim 1, further comprising a step of indicating to the storage units storing the donor stripe that the selected element has been donated before the step of rebuilding the lost element of the recipient stripe on the selected element.
[004] The method according to claim 1, wherein the array of m storage units is an anamorphic array, each stripe having n + r elements in which n is the number data elements in the base array, r is the number of redundant elements in the base array, m > n + r, jm = k(n + r), and j and k are integers.
[005] The method according to claim 1, wherein the donor stripe is further selected based on a minimal performance impact on the array.
[006] The method according to claim 1, further comprising a step of selecting the recipient information based on an improved performance of the array.
[007] The method according to claim 1, wherein the erasure or error correcting code is one of a parity code; a Winograd code; a symmetric code; a Reed-Solomon code;
an EVENODD code; or a derivative of an EVENODD code.
[008] The method according to claim 1, wherein when an element in the donor stripe fails during the step of rebuilding at least a portion of recipient information from the recipient stripe on the selected element, the method further comprising steps of: terminating the step of rebuilding at least a portion of recipient information from the recipient stripe on the selected element; selecting a second donor stripe from the plurality of stripes when a difference between a minimum distance of the second donor stripe and a minimum distance of the second recipient stripe is greater or equal to 2; selecting a donor element in the second donor stripe;
and rebuilding at least a portion of lost recipient information from the recipient stripe on the selected element in the second donor stripe.
[009] The method according to claim 1, wherein when a spare element becomes available, the method further comprising a step of assigning the spare element to a selected storage unit.
[010] A method of increasing the failure tolerance of an array of m storage units that is vulnerable to selected patterns of failures, comprising steps of: storing k stripes across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; subsequent to an element failure, selecting a recipient element; selecting an element in a donor stripe such that a failure tolerance of the array is increased following a rebuild operation; and rebuilding a lost element of the recipient stripe on the selected element of the donor stripe.
[011] A data storage system, comprising; an array of m storage units, k stripes being stored across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; and a system array controller selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe; the system array controller rebuilding a lost element of the recipient stripe on the selected element.
[012] The data storage system according to claim 11, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the system array controller selects the element in the donor stripe.
[013] The data storage system according to claim 11, wherein the system array controller indicates to the storage units storing the donor stripe that the selected element has been donated before the lost element of the recipient stripe is rebuilt on the selected element.
[014] The data storage system according to claim 11, wherein the array of m storage units is an anamorphic array, each stripe having n + r elements in which n is the number data elements in the base array, r is the number of redundant elements in the base array, m > n + r, jm = k(n + r), and j and k are integers.
[015] The data storage system according to claim 11, wherein the system array controller selects the donor stripe further based on a minimal performance impact on the array.
[016] The data storage system according to claim 11, wherein the system array controller selects the recipient information based on an improved performance of the array.
[017] The data storage system according to claim 11, wherein when an element in the donor stripe fails as the system array controller is rebuilding at least a portion of recipient information from the recipient stripe on the selected element, the system array controller terminates rebuilding the recipient information from the recipient stripe on the selected element, selects a second donor stripe from the plurality of stripes when a difference between a minimum distance of the second donor stripe and a minimum distance of the second recipient stripe is greater or equal to 2, selects a donor element in the second donor stripe, and rebuilds at least a portion of lost recipient information from the recipient stripe on the selected element in the second donor stripe.
[018] The data storage system according to claim 11, wherein when a spare element becomes available, the system array controller assigns the spare element to a selected storage unit.
[019] A data storage system, comprising: an array of m storage units, k stripes being stored across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; and a system array controller selecting a recipient element subsequent to an element failure and selecting an element in a donor stripe such that a failure tolerance of the array is increased following a rebuild operation, the system array controller rebuilding a lost element of the recipient stripe on the selected element of the donor stripe.
[020] The data storage system according to claim 19, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the system array controller selects the element in the donor stripe.
[021] The data storage system according to claim 19, wherein the minimum Hamming distance of the array is increased upon completion of rebuilding the lost element of the recipient stripe on the selected element of the donor stripe.
[022] A data storage system, comprising: a plurality of arrays of storage units, each array having m storage units, k stripes being stored across each respective array of m storage units, each stripe having a plurality of elements, each stripe forming an error or erasure correcting code having a minimum Hamming distance d = n + 1, and each respective element of a stripe being stored on a different storage unit in the array; and a system array controller selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe, the system array controller rebuilding a lost element of the recipient stripe on the selected element.
Claims [001] A method for increasing an error tolerance of an array of m storage units, the method comprising steps of: storing k stripes across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe; and rebuilding a lost element of the recipient stripe on the selected element.
[002] The method according to claim 1, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the step of selecting the element in the donor stripe.
[003] The method according to claim 1, further comprising a step of indicating to the storage units storing the donor stripe that the selected element has been donated before the step of rebuilding the lost element of the recipient stripe on the selected element.
[004] The method according to claim 1, wherein the array of m storage units is an anamorphic array, each stripe having n + r elements in which n is the number data elements in the base array, r is the number of redundant elements in the base array, m > n + r, jm = k(n + r), and j and k are integers.
[005] The method according to claim 1, wherein the donor stripe is further selected based on a minimal performance impact on the array.
[006] The method according to claim 1, further comprising a step of selecting the recipient information based on an improved performance of the array.
[007] The method according to claim 1, wherein the erasure or error correcting code is one of a parity code; a Winograd code; a symmetric code; a Reed-Solomon code;
an EVENODD code; or a derivative of an EVENODD code.
[008] The method according to claim 1, wherein when an element in the donor stripe fails during the step of rebuilding at least a portion of recipient information from the recipient stripe on the selected element, the method further comprising steps of: terminating the step of rebuilding at least a portion of recipient information from the recipient stripe on the selected element; selecting a second donor stripe from the plurality of stripes when a difference between a minimum distance of the second donor stripe and a minimum distance of the second recipient stripe is greater or equal to 2; selecting a donor element in the second donor stripe;
and rebuilding at least a portion of lost recipient information from the recipient stripe on the selected element in the second donor stripe.
[009] The method according to claim 1, wherein when a spare element becomes available, the method further comprising a step of assigning the spare element to a selected storage unit.
[010] A method of increasing the failure tolerance of an array of m storage units that is vulnerable to selected patterns of failures, comprising steps of: storing k stripes across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; subsequent to an element failure, selecting a recipient element; selecting an element in a donor stripe such that a failure tolerance of the array is increased following a rebuild operation; and rebuilding a lost element of the recipient stripe on the selected element of the donor stripe.
[011] A data storage system, comprising; an array of m storage units, k stripes being stored across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; and a system array controller selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe; the system array controller rebuilding a lost element of the recipient stripe on the selected element.
[012] The data storage system according to claim 11, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the system array controller selects the element in the donor stripe.
[013] The data storage system according to claim 11, wherein the system array controller indicates to the storage units storing the donor stripe that the selected element has been donated before the lost element of the recipient stripe is rebuilt on the selected element.
[014] The data storage system according to claim 11, wherein the array of m storage units is an anamorphic array, each stripe having n + r elements in which n is the number data elements in the base array, r is the number of redundant elements in the base array, m > n + r, jm = k(n + r), and j and k are integers.
[015] The data storage system according to claim 11, wherein the system array controller selects the donor stripe further based on a minimal performance impact on the array.
[016] The data storage system according to claim 11, wherein the system array controller selects the recipient information based on an improved performance of the array.
[017] The data storage system according to claim 11, wherein when an element in the donor stripe fails as the system array controller is rebuilding at least a portion of recipient information from the recipient stripe on the selected element, the system array controller terminates rebuilding the recipient information from the recipient stripe on the selected element, selects a second donor stripe from the plurality of stripes when a difference between a minimum distance of the second donor stripe and a minimum distance of the second recipient stripe is greater or equal to 2, selects a donor element in the second donor stripe, and rebuilds at least a portion of lost recipient information from the recipient stripe on the selected element in the second donor stripe.
[018] The data storage system according to claim 11, wherein when a spare element becomes available, the system array controller assigns the spare element to a selected storage unit.
[019] A data storage system, comprising: an array of m storage units, k stripes being stored across the array of m storage units, each stripe having a plurality of elements, each stripe forming an erasure or error correcting code having a minimum Hamming distance d, and each respective element of a stripe being stored on a different storage unit; and a system array controller selecting a recipient element subsequent to an element failure and selecting an element in a donor stripe such that a failure tolerance of the array is increased following a rebuild operation, the system array controller rebuilding a lost element of the recipient stripe on the selected element of the donor stripe.
[020] The data storage system according to claim 19, wherein the minimum Hamming distance of the recipient stripe is d >= 2 before the system array controller selects the element in the donor stripe.
[021] The data storage system according to claim 19, wherein the minimum Hamming distance of the array is increased upon completion of rebuilding the lost element of the recipient stripe on the selected element of the donor stripe.
[022] A data storage system, comprising: a plurality of arrays of storage units, each array having m storage units, k stripes being stored across each respective array of m storage units, each stripe having a plurality of elements, each stripe forming an error or erasure correcting code having a minimum Hamming distance d = n + 1, and each respective element of a stripe being stored on a different storage unit in the array; and a system array controller selecting an element in a donor stripe when a difference between a minimum distance of the donor stripe and a minimum distance of a recipient stripe is greater or equal to 2, the selected element being stored on a storage unit having no elements of the recipient stripe, the system array controller rebuilding a lost element of the recipient stripe on the selected element.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/619,641 | 2003-07-14 | ||
US10/619,641 US7533325B2 (en) | 2003-07-14 | 2003-07-14 | Anamorphic codes |
PCT/EP2004/051382 WO2005006215A2 (en) | 2003-07-14 | 2004-07-07 | Redundant resource balancing in a data storage array |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2532997A1 true CA2532997A1 (en) | 2005-01-20 |
CA2532997C CA2532997C (en) | 2012-07-24 |
Family
ID=34062605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2532997A Expired - Fee Related CA2532997C (en) | 2003-07-14 | 2004-07-07 | Data storage array |
Country Status (12)
Country | Link |
---|---|
US (2) | US7533325B2 (en) |
EP (1) | EP1644851B1 (en) |
JP (1) | JP4756704B2 (en) |
KR (1) | KR101054814B1 (en) |
CN (1) | CN100465908C (en) |
AT (1) | ATE423350T1 (en) |
CA (1) | CA2532997C (en) |
DE (1) | DE602004019534D1 (en) |
ES (1) | ES2318323T3 (en) |
SG (1) | SG145728A1 (en) |
TW (1) | TWI317475B (en) |
WO (1) | WO2005006215A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6730883B2 (en) * | 2002-10-02 | 2004-05-04 | Stratagene | Flexible heating cover assembly for thermal cycling of samples of biological material |
JP2011199414A (en) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | Material recording device and material recording method |
US8392805B2 (en) | 2010-07-15 | 2013-03-05 | Hewlett-Packard Development Company, L. P. | Non-MDS erasure codes for storage systems |
US8433979B2 (en) * | 2011-02-28 | 2013-04-30 | International Business Machines Corporation | Nested multiple erasure correcting codes for storage arrays |
US8874995B2 (en) * | 2012-02-02 | 2014-10-28 | International Business Machines Corporation | Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays |
CN103577274B (en) | 2012-07-31 | 2016-07-06 | 国际商业机器公司 | The method and apparatus of management memory array |
CN102929743A (en) * | 2012-11-28 | 2013-02-13 | 中国人民解放军国防科学技术大学 | First-stage cached data storage method and device with soft error tolerant function |
TWI461901B (en) * | 2012-12-10 | 2014-11-21 | Ind Tech Res Inst | Method and system for storing and rebuilding data |
US9594634B2 (en) * | 2014-06-02 | 2017-03-14 | Intel Corporation | Techniques to efficiently compute erasure codes having positive and negative coefficient exponents to permit data recovery from more than two failed storage units |
US10588053B2 (en) * | 2015-08-30 | 2020-03-10 | Lg Electronics Inc. | Cluster-based collaborative transmission method in wireless communication system and apparatus therefor |
WO2018112980A1 (en) | 2016-12-24 | 2018-06-28 | 华为技术有限公司 | Storage controller, data processing chip, and data processing method |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3949208A (en) * | 1974-12-31 | 1976-04-06 | International Business Machines Corporation | Apparatus for detecting and correcting errors in an encoded memory word |
US5148432A (en) | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5680574A (en) | 1990-02-26 | 1997-10-21 | Hitachi, Ltd. | Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units |
US5134619A (en) * | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5579475A (en) | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
US5258984A (en) | 1991-06-13 | 1993-11-02 | International Business Machines Corporation | Method and means for distributed sparing in DASD arrays |
US5301297A (en) | 1991-07-03 | 1994-04-05 | Ibm Corp. (International Business Machines Corp.) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof |
US5257391A (en) | 1991-08-16 | 1993-10-26 | Ncr Corporation | Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals |
US5506977A (en) | 1991-12-17 | 1996-04-09 | Dell Usa, L.P. | Method and controller for minimizing reads during partial stripe write operations to a disk drive |
US5398253A (en) | 1992-03-11 | 1995-03-14 | Emc Corporation | Storage unit generation of redundancy information in a redundant storage array system |
US5555404A (en) * | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
US5666511A (en) | 1992-10-08 | 1997-09-09 | Fujitsu Limited | Deadlock suppressing schemes in a raid system |
US6269453B1 (en) | 1993-06-29 | 2001-07-31 | Compaq Computer Corporation | Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk |
US5485571A (en) * | 1993-12-23 | 1996-01-16 | International Business Machines Corporation | Method and apparatus for providing distributed sparing with uniform workload distribution in failures |
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 |
KR100275900B1 (en) | 1996-09-21 | 2000-12-15 | 윤종용 | Method for implement divideo parity spare disk in raid sub-system |
US6161165A (en) | 1996-11-14 | 2000-12-12 | Emc Corporation | High performance data path with XOR on the fly |
JP3595099B2 (en) * | 1997-03-17 | 2004-12-02 | 富士通株式会社 | Device array system |
US6154853A (en) | 1997-03-26 | 2000-11-28 | Emc Corporation | Method and apparatus for dynamic sparing in a RAID storage system |
US6028933A (en) * | 1997-04-17 | 2000-02-22 | Lucent Technologies Inc. | Encrypting method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network |
US5937428A (en) | 1997-08-06 | 1999-08-10 | Lsi Logic Corporation | Method for host-based I/O workload balancing on redundant array controllers |
US6081812A (en) * | 1998-02-06 | 2000-06-27 | Ncr Corporation | Identifying at-risk components in systems with redundant components |
US6353895B1 (en) | 1998-02-19 | 2002-03-05 | Adaptec, Inc. | RAID architecture with two-drive fault tolerance |
US6138125A (en) | 1998-03-31 | 2000-10-24 | Lsi Logic Corporation | Block coding method and system for failure recovery in disk arrays |
US6279138B1 (en) | 1998-08-04 | 2001-08-21 | International Business Machines Corporation | System for changing the parity structure of a raid array |
US7000069B2 (en) | 1999-04-05 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Apparatus and method for providing very large virtual storage volumes using redundant arrays of disks |
US6275898B1 (en) | 1999-05-13 | 2001-08-14 | Lsi Logic Corporation | Methods and structure for RAID level migration within a logical unit |
US6530004B1 (en) | 2000-06-20 | 2003-03-04 | International Business Machines Corporation | Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration |
US6883131B2 (en) * | 2001-09-28 | 2005-04-19 | Sun Microsystems, Inc. | XOR processing incorporating error correction code data protection |
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 |
US20030149750A1 (en) * | 2002-02-07 | 2003-08-07 | Franzenburg Alan M. | Distributed storage 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 |
US7281177B2 (en) | 2003-07-14 | 2007-10-09 | International Business Machines Corporation | Autonomic parity exchange |
US7379974B2 (en) | 2003-07-14 | 2008-05-27 | International Business Machines Corporation | Multipath data retrieval from redundant array |
US7254754B2 (en) | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
US7970994B2 (en) * | 2008-03-04 | 2011-06-28 | International Business Machines Corporation | High performance disk array rebuild |
-
2003
- 2003-07-14 US US10/619,641 patent/US7533325B2/en not_active Expired - Fee Related
-
2004
- 2004-07-07 ES ES04766140T patent/ES2318323T3/en active Active
- 2004-07-07 WO PCT/EP2004/051382 patent/WO2005006215A2/en active Application Filing
- 2004-07-07 EP EP04766140A patent/EP1644851B1/en not_active Not-in-force
- 2004-07-07 CA CA2532997A patent/CA2532997C/en not_active Expired - Fee Related
- 2004-07-07 KR KR1020067000036A patent/KR101054814B1/en not_active IP Right Cessation
- 2004-07-07 AT AT04766140T patent/ATE423350T1/en not_active IP Right Cessation
- 2004-07-07 SG SG200805903-2A patent/SG145728A1/en unknown
- 2004-07-07 JP JP2006519917A patent/JP4756704B2/en not_active Expired - Fee Related
- 2004-07-07 CN CNB2004800204003A patent/CN100465908C/en not_active Expired - Fee Related
- 2004-07-07 DE DE602004019534T patent/DE602004019534D1/en active Active
- 2004-07-08 TW TW093120447A patent/TWI317475B/en not_active IP Right Cessation
-
2009
- 2009-01-23 US US12/358,593 patent/US8386891B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1644851A2 (en) | 2006-04-12 |
US20090132890A1 (en) | 2009-05-21 |
TW200515141A (en) | 2005-05-01 |
KR101054814B1 (en) | 2011-08-05 |
SG145728A1 (en) | 2008-09-29 |
CN100465908C (en) | 2009-03-04 |
WO2005006215A2 (en) | 2005-01-20 |
WO2005006215A3 (en) | 2006-08-17 |
CN1898650A (en) | 2007-01-17 |
ATE423350T1 (en) | 2009-03-15 |
KR20060037319A (en) | 2006-05-03 |
TWI317475B (en) | 2009-11-21 |
DE602004019534D1 (en) | 2009-04-02 |
EP1644851B1 (en) | 2009-02-18 |
US20050015656A1 (en) | 2005-01-20 |
CA2532997C (en) | 2012-07-24 |
JP2007529061A (en) | 2007-10-18 |
US8386891B2 (en) | 2013-02-26 |
ES2318323T3 (en) | 2009-05-01 |
US7533325B2 (en) | 2009-05-12 |
JP4756704B2 (en) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7149847B2 (en) | RAID 6 disk array architectures | |
CA2532766C (en) | Data storage array | |
US7188270B1 (en) | Method and system for a disk fault tolerance in a disk array using rotating parity | |
US8386891B2 (en) | Anamorphic codes | |
US8386889B1 (en) | Drive replacement techniques for RAID systems | |
US7577866B1 (en) | Techniques for fault tolerant data storage | |
US7562281B2 (en) | Autonomic parity exchange | |
US20040015657A1 (en) | Method of handling unreadable blocks during write of a RAID device | |
US6848022B2 (en) | Disk array fault tolerant method and system using two-dimensional parity | |
US7134066B2 (en) | Generalized parity stripe data storage array | |
US7555701B2 (en) | Method and system for recovering from multiple drive failures | |
US7103716B1 (en) | RAID 6 disk array with prime number minus one disks | |
US6792391B1 (en) | Method and system for three disk fault tolerance in a disk array | |
US7062604B1 (en) | Method and system for five-disk fault tolerance in a disk array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20170707 |