EP1644834B1 - Redondance dans un systeme de memoire matricielle - Google Patents

Redondance dans un systeme de memoire matricielle Download PDF

Info

Publication number
EP1644834B1
EP1644834B1 EP04766141A EP04766141A EP1644834B1 EP 1644834 B1 EP1644834 B1 EP 1644834B1 EP 04766141 A EP04766141 A EP 04766141A EP 04766141 A EP04766141 A EP 04766141A EP 1644834 B1 EP1644834 B1 EP 1644834B1
Authority
EP
European Patent Office
Prior art keywords
array
storage unit
donor
recipient
arrays
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP04766141A
Other languages
German (de)
English (en)
Other versions
EP1644834A2 (fr
Inventor
Steven Robert Hetzler
Daniel Felix Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of EP1644834A2 publication Critical patent/EP1644834A2/fr
Application granted granted Critical
Publication of EP1644834B1 publication Critical patent/EP1644834B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Definitions

  • the present invention relates to storage systems.
  • the present invention relates to a method for configuring a storage system comprising a plurality of arrays of storage units and thereby increasing the number of storage-unit failures that the storage system can tolerate without loss of data stored in the system.
  • ECC Erasure Correcting Code
  • HDD Hard Disk Drive
  • minimum Hamming distance d 2 schemes, such as RAID 5 and mirroring techniques, no longer provide adequate protection for sufficient reliability at the system level.
  • EP-A-518603 describes a scenario in which the contents of a failed DASD in a first array are rebuilt in spare and parity blocks of DASDs in a second array.
  • the present invention provides a technique that improves the reliability of a storage system by making local redundancy in an array to be globally available throughout a system of arrays. Additionally, the present invention provides a technique that mitigates the failure pattern sensitivity of a storage system. Further still, the present invention provides a technique that allows maintenance of the storage system to be deferred for considerably longer than with a conventional storage system.
  • the advantages of embodiments of the present invention are provided by a method for increasing failure tolerance of a storage system having a plurality of arrays such that each array has a plurality of storage units.
  • the arrays of the storage system include redundancy based on an erasure or error correcting code, such as a parity code, a Winograd code, a symmetric code, a Reed-Solomon code, an EVENODD code or a derivative of an EVENODD code.
  • the failure tolerance of a storage system is given by the minimum Hamming distance D of the system. The minimum distance of the system
  • a donor array is selected from the plurality of arrays when the difference between a minimum distance of the donor array and a minimum distance of a recipient array is greater or equal to 2.
  • a donor storage unit is selected in the donor array based on a minimal performance impact on the donor array.
  • a recipient storage unit is selected from the recipient array. At least a portion of lost information is then rebuilt from the recipient array onto the selected storage unit in the donor array. The recipient information is selected based on an improved performance of the recipient array.
  • the selected storage unit is indicated to the donor array as having been donated before the lost information is rebuilt on the selected storage unit.
  • the minimum Hamming distance of the recipient array is d ⁇ 2 before the donor array is selected from the plurality of arrays.
  • the step rebuilding is terminated and a second donor array is selected. At least a portion of lost recipient information from the recipient array is rebuilt on the selected storage unit in the second donor array.
  • the selection of the second donor array proceeds by re-evaluating the conditions described previously.
  • the present invention also provides a method of increasing the failure tolerance of an array of storage units that is vulnerable to selected patterns of failures.
  • a recipient storage unit is selected from the array of storage units subsequent to a storage unit failure.
  • a donor storage unit is selected from the array of storage units such that a failure tolerance of the array is increased following a rebuild operation.
  • at least a portion of lost recipient information is rebuilt onto the donor storage unit.
  • the spare unit becomes available, the spare unit is assigned to the array in a conventional manner.
  • the present invention provides a data storage system having a plurality of arrays and a system array controller.
  • Each array has a plurality of storage units and includes redundancy based on an erasure or error correcting code, such as a parity code, a Winograd code, a symmetric code, a Reed-Solomon code, an EVENODD code or a derivative of an EVENODD code.
  • the system array controller is coupled to each array and detects a failure of a storage unit in a first array of the plurality of arrays. The system controller then selects a storage unit in a second array of the plurality of arrays when a difference between a minimum distance of the second array and a minimum distance of the first array is greater or equal to 2.
  • Each storage unit can be an HDD, a volatile Random Access Memory device, a non-volatile Random Access Memory device, an optical storage device, or a tape storage device.
  • the present invention also provides a data storage system having an array of a plurality of storage units and an array controller.
  • the array includes redundancy based on an erasure or error correcting code, such as a parity code, a Winograd code a symmetric code, a Reed-Solomon code, an EVENODD code or a derivative of an EVENODD code.
  • the array is also vulnerable to selected patterns of failures and/or a non-uniform failure probability.
  • the array controller is coupled to the array and detects a failure of a first storage unit in the array.
  • the array controller selects a second storage unit in the array such that a failure tolerance of the array is increased following a rebuild operation, and rebuilds at least a portion of information from the first storage unit onto the second storage unit.
  • the second storage unit is selected based on a failure pattern of the array and/or based on a predetermined target pattern.
  • the minimum Hamming distance of the array is d ⁇ 2 before the array controller selects the second storage unit, and is increased upon completion of rebuilding at least a portion of information from the first storage unit onto the second storage unit.
  • Each storage unit can be an HDD, a volatile Random Access Memory device, a non-volatile Random Access Memory device, an optical storage device or a tape storage device.
  • the present application is related to US Patent Application Serial No. 10/619,641 (Attorney Docket No. ARC92003014US1), entitled “Anamorphic Codes", US Patent Application Serial No. 10/619,633 (Attorney Docket No. ARC9, entitled “Multi-path Data Retrieval From Redundant Array,” and US Patent Application Serial No. 10/619,645 (Attorney Docket No. ARC9entitled “RAID 3 + 3".
  • the present application is also related to co-pending and co-assigned US Patent Application Serial No. 10/600,593 (Attorney Docket No. YOR9-2003-0069US1).
  • the present invention dramatically improves the reliability of a storage system and allows maintenance of the storage system to be deferred for considerably longer than can be with a comparable storage system without parity exchange.
  • the present invention provides a significant reliability improvement over the degree of reliability provided by RAID systems.
  • RAID systems which treat each array of a multi-array storage system as an individual entity
  • the present invention globally couples the individual arrays of a multi-array storage system, thereby allowing the redundancy of one array to be utilized by another array.
  • Such a process is referred to herein as an autonomic parity exchange (APX) or as an APX operation.
  • APX autonomic parity exchange
  • an APX operation allows local redundancy in an array to be globally available throughout a system of arrays, thereby increasing system reliability as the number of storage units increases. APX also reduces or eliminates the need for spare storage units.
  • a symmetric code has an equal number of data units and redundant units, and the ability to recover from the loss of any combination of half the units.
  • a storage system utilizing APX gracefully degrades as failures accumulate, thereby permitting maintenance of the system to be deferred with an accompanying significant cost savings. Accordingly, the annual warranty costs for a storage system utilizing APX will be significantly less than the annual warranty cost for a comparable storage system without APX.
  • service is typically requested when the spare-storage-unit pool is exhausted.
  • APX service could be requested after up to nine unit failures for the exemplary system.
  • the system can maintain a given distance over a longer interval compared to a system without APX.
  • APX allows arrays within a set of arrays to exchange redundancy, thereby overcoming exposure to failures that are concentrated on a single array of the set of arrays. For example, if a first array has a minimum Hamming distance that is less than the minimum Hamming distance of a second array by 2 or more, the second array can donate a storage unit to the first array. Afterward, the failure tolerance of the first array will be increased and the failure tolerance of the second array will be reduced, but to a level that is not less than the first array. Accordingly, the minimum distance of the system will be increased, thereby increasing the failure tolerance of the system.
  • Figure 1a shows an exemplary storage system, indicated generally as 100, comprising two storage arrays 102 and 103 that are connected to a common array controller 101.
  • Storage arrays 102 and 103 comprise multiple storage units 104 and communicate with array controller 101 over interface 105.
  • Array controller 101 communicates to other controllers and host systems over interface 106. Such a configuration allows an array controller to communicate with multiple storage arrays.
  • Figure 1b shows an exemplary storage system, indicated generally as 150, comprising two storage arrays 153 and 154, that are respectively connected to different array controllers 152 and 151.
  • Storage array 153 communicates with array controller 152 over interface 157
  • storage array 154 communicates with array controller 151 over interface 156.
  • Array controllers 151 and 152 respectively communicate with other array controllers and storage systems over interfaces 158 and 159.
  • a communication connection 160 that allows array controllers 151 and 152 to communicate with each other.
  • the array controllers shown in figures 1a and 1b may be designed as hardware or software controllers.
  • controller will be used herein generally to refer to any of the configurations described above.
  • Figure 2 shows an exemplary set of two arrays 201 and 202 for illustrating the present invention.
  • Array 201 includes storage units 1A and array 202 includes storage units 2A
  • the configuration shown in Figure 2 is referred to as a symmetric code in which the number of data storage units equals the number of redundant storage units. Redundancy is calculated so that any three unit failures can be corrected by the symmetric code.
  • ECCs Erasure or Error correcting codes
  • distance means the minimum Hamming distance.
  • Figure 3 shows the arrays of Figure 2 following failure of storage units 1C and 1E in array 201.
  • Array 201 can tolerate only one further failure without the possibility of a data loss event.
  • Array 202 can still tolerate three failures without the possibility of a data loss event.
  • Rebalancing the redundancy is achieved by donating a storage unit contained within array 202 (referred to as the donor array), and then providing the donated storage unit to array 201 (referred to as the recipient array) as if the donated storage unit were a spare unit.
  • the donor array must be made aware that the donated storage unit is no longer part of the donor array to prevent the donor array from reading or writing data on the donated unit. It may be beneficial to assign one of the failed storage units from the recipient array to the donor array so that both arrays maintain a constant number of storage units and maintain knowledge of the failed units. No information can be written to the donated unit by the donor array. The system can select which storage unit to donate.
  • the primary criterion for selecting a donor unit is based on selecting a donor unit that has the least impact on the donor array reliability.
  • a secondary criterion is based on selecting the storage unit having the least impact on performance, such as the unit with the most expensive redundancy calculation. The system can select which data from the failed units to rebuild onto the donated unit.
  • the primary criterion for selecting the information to be rebuilt is based on the information set that provides the greatest increase in reliability.
  • a secondary criterion is to select the information set that provides the best array performance following the rebuild operation. In the example of Figure 3 above, recipient array 201 will have the best performance by rebuilding the information set of unit 1C because unit 1C is a data unit.
  • donor array 202 will have the least performance impact by donating a unit storing redundant information, such as unit 2F. In both cases, after the APX operation, read commands could thus be processed without the need to reconstruct the data from the redundant units of the storage arrays 201 and 202.
  • Donating a storage unit from a donor array to a recipient array requires that the storage system be able to assign storage units from one array to another array.
  • controller 101 can perform this operation internally.
  • controllers 151 and 152 exchange information.
  • the controllers could expose the individual drives over communication connection 160, such as in the manner of a Just a Bunch of Disks (JBOD) array configuration.
  • JBOD Just a Bunch of Disks
  • the controllers could exchange information regarding the data to be read and written from the locations on the storage units involved.
  • a spare storage unit Once a spare storage unit becomes available, such as through maintenance, it can be assigned to replace any of the failed units. Information is rebuilt onto the spare in a well-known manner. Assigning one of the failed units of the recipient array to the donor array can facilitate this operation because it indicates to which array a failed unit belongs.
  • APX Using APX, a storage system can tolerate more failures than would otherwise be the case.
  • the first point of system failure would be at four unit failures without utilizing APX.
  • the first point of system failure is six unit failures.
  • the improvement has not been achieved by requiring additional redundancy or sparing, but by adjusting global assignment of redundancy within the storage system to meet observed storage-unit-failure conditions.
  • the improvement provided by APX increases with increasing number of arrays in a system.
  • each storage unit has portions assigned to each unit type (e.g., data 1, data 2, redundancy 1, etc.).
  • APX can also be applied to systems using distributed parity. In such a case, selection of a donor storage unit is less critical because the redundancy is spread across all the units. The system can select to simply rebuild any one of the recipient's failed storage units.
  • the selection criteria for a donor array can be based on considerations such as utilization, age of devices, and previous error hi story.
  • the illustrative example shown in Figures 24 performs parity exchange with arrays in which the number of redundant units is the same as the number of data units.
  • an APX operation can be performed in combination with a dodging operation, such as disclosed by Application Serial No. (Attorney Docket No. ARC920030014US1), which is incorporated by reference herein, to further increase the system reliability.
  • D 6 with 14 redundant drives. Only certain positional arrangements of six failures, however, will cause the array to fail, as illustrated in Figure 6 , in which storage units 1J, 1K, 1M, 3J, 3K and 3M have failed.
  • the array has nine failed units, 1N, 2N, 3N, 4N, 5H, 5J, 5K, 5L and 5M.
  • the system can choose a target pattern that has a high failure tolerance. As failures occur, donor units are selected from the target pattern and assigned to failed recipients that are not part of the target pattern.
  • non-MDS arrays can be formed from product codes as illustrated, low density parity codes, non-uniform graph codes, or any codes that have particular pattern vulnerabilities.
  • APX can be used beyond simply increasing the minimum distance of a storage system. Many other factors may be included in determining whether to perform APX and to choose donors and recipients. For example, the individual failure probabilities of components when they are non-uniform, the combinations of failures that lead to data loss, and the effects on system performance may all be considered. In such cases, the minimum distance of the system could remain unchanged following APX.
  • APX can be used with other array types having minimum distance d ⁇ 3. Additionally, a smaller array size allows APX to be used more efficiently, and allows large systems consisting of small arrays to achieve high failure tolerance. When a storage system has a spare pool, it is best to perform rebuilds onto the spare pool before performing an APX operation.
  • APX can also be performed on a subset of the data on a storage unit. For example, in some configurations the rebuild time may be decreased.
  • the rebuild time may be decreased.
  • it may be beneficial to rebuild half of unit 1C onto half of unit 2F, and the other half of unit 1 E onto half of unit 2E. The net result would be both arrays at D 3, but the rebuild time may be reduced because the same amount of data is being rebuilt, but two donor drives are being used. Other combinations are clearly possible as well.
  • While the present invention has been described in terms of storage arrays formed from HDD storage units, the present invention is applicable to storage systems formed from arrays of other memory devices, such as Random Access Memory (RAM) storage devices (both volatile and non-volatile), optical storage devices, and tape storage devices. Additionally, it is suitable to virtualized storage systems, such as arrays built out of network -attached storage. It is further applicable to any redundant system in which there is some state information that associates a redundant component to particular subset of components, and that state information may be transferred using a donation operation.
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Claims (15)

  1. Procédé destiné à augmenter une tolérance aux défaillances d'un système de mémorisation ayant une pluralité de grappes, chaque grappe ayant une pluralité d'unités de mémorisation, le procédé comprenant les étapes consistant à : sélectionner une grappe réceptrice, sélectionner une grappe donneuse à partir de la pluralité de grappes lorsque la différence entre la distance de Hamming minimum de la grappe donneuse et la distance de Hamming minimum de la grappe réceptrice est supérieure ou égale à 2, sélectionner une unité de mémorisation donneuse dans la grappe donneuse, sélectionner une unité de mémorisation réceptrice à partir de la grappe réceptrice, et reconstruire au moins une partie des informations de grappe réceptrice perdues à partir de l'unité de mémorisation réceptrice sélectionnée de la grappe réceptrice sur l'unité de mémorisation sélectionnée dans la grappe donneuse.
  2. Procédé selon la revendication 1, dans lequel la distance de Hamming minimum de la grappe réceptrice est d > 2 avant l'étape consistant à sélectionner la grappe donneuse à partir de la pluralité de grappes.
  3. Procédé selon la revendication 1, comprenant en outre une étape consistant à indiquer à la grappe donneuse que l'unité de mémorisation sélectionnée a été donnée avant l'étape consistant à reconstruire les informations perdues sur l'unité de mémorisation sélectionnée.
  4. Procédé selon la revendication 1, dans lequel l'unité de mémorisation donneuse est en outre sélectionnée sur la base d'un impact sur les performances minimum sur la grappe donneuse.
  5. Procédé selon la revendication 1, comprenant en outre une étape consistant à sélectionner les informations de grappe réceptrice sur la base de performances améliorées de la grappe réceptrice.
  6. Procédé selon la revendication 1, dans lequel les grappes du système de mémorisation incluent une redondance basée sur un code à effacement ou de correction d'erreur.
  7. Procédé selon la revendication 6, dans lequel le code à effacement ou de correction d'erreur est l'un d'un code de parité, d'un code de Winograd, d'un code symétrique, d'un code de Reed-Solomon, d'un code EVENODD, d'un dérivé d'un code EVENODD.
  8. Procédé selon la revendication 7, dans lequel les grappes du système de mémorisation incluent une redondance basée sur un produit d'une pluralité desdits codes à effacement ou de correction d'erreur.
  9. Procédé selon la revendication 1, dans lequel lorsqu'une unité de mémorisation dans la grappe donneuse subit une défaillance au cours de l'étape consistant à reconstruire au moins une partie des informations de grappe réceptrice à partir de la grappe réceptrice sur l'unité de mémorisation sélectionnée, le procédé comprend en outre les étapes consistant à : mettre fin à l'étape de reconstruction d'au moins une partie des informations de grappe réceptrice à partir de la grappe réceptrice sur l'unité de mémorisation sélectionnée, sélectionner une deuxième grappe donneuse à partir de la pluralité de grappes lorsque la différence entre la distance de Hamming minimum de la deuxième grappe donneuse et la distance de Hamming minimum de la deuxième grappe réceptrice est supérieure ou égale à 2, sélectionner une unité de mémorisation donneuse dans la deuxième grappe donneuse, et reconstruire au moins une partie des informations de grappe réceptrice perdues à partir de la grappe réceptrice sur l'unité de mémorisation sélectionnée dans la deuxième grappe donneuse.
  10. Procédé selon la revendication 1, dans lequel lorsqu'une unité de mémorisation de réserve devient disponible, le procédé comprend en outre l'étape consistant à attribuer l'unité de mémorisation de réserve à la grappe donneuse sélectionnée.
  11. Système de mémorisation de données, comprenant : une pluralité de grappes, chaque grappe ayant une pluralité d'unités de mémorisation, et un contrôleur de grappes de système relié à chaque grappe, le contrôleur de grappes de système détectant une défaillance d'une unité de mémorisation dans une première grappe de la pluralité de grappes, sélectionnant une unité de mémorisation dans une deuxième grappe de la pluralité de grappes lorsque la différence entre la distance de Hamming minimum de la deuxième grappe et la distance de Hamming minimum de la première grappe est supérieure ou égale à 2, et reconstruisant au moins une partie des informations de l'unité de mémorisation ayant subi une défaillance de la première grappe sur l'unité de mémorisation sélectionnée de la deuxième grappe.
  12. Système de mémorisation de données selon la revendication 11, dans lequel lorsqu'une unité de réserve devient disponible, l'unité de réserve est attribuée à la deuxième grappe.
  13. Système de mémorisation de données selon la revendication 11, dans lequel au moins une grappe a une probabilité de défaillance non uniforme.
  14. Système de mémorisation de données selon la revendication 11, dans lequel le contrôleur de grappes de système comprend une pluralité de contrôleurs de grappes, un contrôleur de grappes étant relié à au moins une grappe de la pluralité de grappes, chaque contrôleur de grappes respectif détectant une défaillance d'une unité de mémorisation dans chaque grappe associée au contrôleur de grappes, un premier contrôleur de grappes de la pluralité de contrôleurs de grappes sélectionnant une unité de mémorisation dans une grappe associée au premier contrôleur de grappes lorsque la différence entre la distance de Hamming minimum de la grappe de l'unité de mémorisation sélectionnée et la distance de Hamming minimum d'une grappe associée à un deuxième contrôleur de grappes de la pluralité de contrôleurs de grappes est supérieure ou égale à 2, et les premier et deuxième contrôleurs de grappes reconstruisant au moins une partie des informations perdues à partir de la grappe associée au deuxième contrôleur de grappes sur l'unité de mémorisation sélectionnée dans la grappe associée au premier contrôleur de grappes.
  15. Système de mémorisation de données selon la revendication 11, dans lequel les grappes du système de mémorisation de données incluent une redondance basée sur un code à effacement ou de correction d'erreur.
EP04766141A 2003-07-14 2004-07-07 Redondance dans un systeme de memoire matricielle Expired - Lifetime EP1644834B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/619,649 US7281177B2 (en) 2003-07-14 2003-07-14 Autonomic parity exchange
PCT/EP2004/051383 WO2005006198A2 (fr) 2003-07-14 2004-07-07 Redondance dans un systeme de memoire matricielle

Publications (2)

Publication Number Publication Date
EP1644834A2 EP1644834A2 (fr) 2006-04-12
EP1644834B1 true EP1644834B1 (fr) 2010-12-15

Family

ID=34062610

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04766141A Expired - Lifetime EP1644834B1 (fr) 2003-07-14 2004-07-07 Redondance dans un systeme de memoire matricielle

Country Status (10)

Country Link
US (2) US7281177B2 (fr)
EP (1) EP1644834B1 (fr)
JP (1) JP4794439B2 (fr)
KR (1) KR101163265B1 (fr)
CN (1) CN100461119C (fr)
AT (1) ATE491990T1 (fr)
CA (2) CA2694819C (fr)
DE (1) DE602004030573D1 (fr)
TW (1) TWI308689B (fr)
WO (1) WO2005006198A2 (fr)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533325B2 (en) 2003-07-14 2009-05-12 International Business Machines Corporation Anamorphic codes
US7379974B2 (en) * 2003-07-14 2008-05-27 International Business Machines Corporation Multipath data retrieval from redundant array
JP2006236001A (ja) * 2005-02-24 2006-09-07 Nec Corp ディスクアレイ装置
JP2007265271A (ja) 2006-03-29 2007-10-11 Nec Corp ストレージ装置、データ配置方法およびプログラム
US7634686B2 (en) * 2006-07-24 2009-12-15 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
US8046629B1 (en) 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
JP2008181416A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
JP2008197886A (ja) * 2007-02-13 2008-08-28 Nec Corp ストレージ装置及びその制御方法
US8656131B2 (en) 2008-10-31 2014-02-18 Dot Hill Systems Corporation Method and apparatus for expanding a virtual storage device
CN101667299B (zh) * 2009-09-27 2011-12-21 大连海事大学 一种数字图像染色方法
US8994934B1 (en) 2010-11-10 2015-03-31 Chemimage Corporation System and method for eye safe detection of unknown targets
WO2014098872A1 (fr) * 2012-12-20 2014-06-26 Hewlett-Packard Development Company, L.P. Traitement de stockage de raid
US10055278B2 (en) * 2015-10-30 2018-08-21 International Business Machines Corporation Autonomic parity exchange in data storage systems
CN108228382B (zh) * 2018-01-11 2021-08-10 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法
TWI665550B (zh) * 2018-04-27 2019-07-11 威聯通科技股份有限公司 磁碟陣列的資料分佈方法及其資料儲存系統與記錄媒體
CN109086000B (zh) * 2018-06-22 2021-08-03 浙江工业大学 一种raid存储系统中的三容错数据布局方法

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
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
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
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
WO1993018456A1 (fr) * 1992-03-13 1993-09-16 Emc Corporation Partage d'une unite de controle multiple dans un systeme d'unites de stockage redondant
WO1993023803A1 (fr) * 1992-05-21 1993-11-25 Fujitsu Limited Appareil de commande pour pile de disques
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
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
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
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
KR100208801B1 (ko) * 1996-09-16 1999-07-15 윤종용 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
JP3271916B2 (ja) * 1996-12-06 2002-04-08 株式会社エクシング 音・動画再生システム
JP3595099B2 (ja) * 1997-03-17 2004-12-02 富士通株式会社 デバイスアレイ・システム
US6154853A (en) * 1997-03-26 2000-11-28 Emc Corporation Method and apparatus for dynamic sparing in a RAID storage system
EP0910086A4 (fr) * 1997-04-07 2002-10-28 Sony Corp Systeme et procede d'edition
US5937428A (en) * 1997-08-06 1999-08-10 Lsi Logic Corporation Method for host-based I/O workload balancing on redundant array controllers
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US5832005A (en) * 1997-12-11 1998-11-03 International Business Machines Corporation Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
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
JP4234233B2 (ja) * 1998-05-27 2009-03-04 富士通株式会社 情報記憶装置及びプログラムが記憶された記録媒体
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
US6654926B1 (en) * 2000-10-11 2003-11-25 Itran Communications Ltd. Soft decision maximum likelihood encoder and decoder
US20020069318A1 (en) * 2000-12-01 2002-06-06 Chow Yan Chiew Real time application accelerator and method of operating the same
JP2003084923A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd クラスタ型ディスクアレイ装置の構成方法
US6748488B2 (en) * 2001-09-28 2004-06-08 Sun Microsystems, Inc. Storage array having multiple erasure correction and sub-stripe writing
US6931576B2 (en) * 2002-01-07 2005-08-16 Sun Microsystems, Inc. Data integrity device providing heightened error protection in a data processing system
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations

Also Published As

Publication number Publication date
DE602004030573D1 (de) 2011-01-27
WO2005006198A2 (fr) 2005-01-20
US20050015694A1 (en) 2005-01-20
CA2532998C (fr) 2011-03-08
US7562281B2 (en) 2009-07-14
KR20060038985A (ko) 2006-05-04
JP2007529062A (ja) 2007-10-18
ATE491990T1 (de) 2011-01-15
CA2694819C (fr) 2016-06-28
JP4794439B2 (ja) 2011-10-19
WO2005006198A3 (fr) 2006-08-17
TWI308689B (en) 2009-04-11
CA2532998A1 (fr) 2005-01-20
TW200516381A (en) 2005-05-16
CN1906592A (zh) 2007-01-31
CA2694819A1 (fr) 2005-01-20
EP1644834A2 (fr) 2006-04-12
US7281177B2 (en) 2007-10-09
CN100461119C (zh) 2009-02-11
US20080016416A1 (en) 2008-01-17
KR101163265B1 (ko) 2012-07-09

Similar Documents

Publication Publication Date Title
US7788569B2 (en) Autonomic parity exchange
US7562281B2 (en) Autonomic parity exchange
US8386891B2 (en) Anamorphic codes
JP4516846B2 (ja) ディスク・アレイ・システム
US7529970B2 (en) System and method for improving the performance of operations requiring parity reads in a storage array system
JP3255751B2 (ja) 安全性の高いディスクアレイの改良
EP0718766A2 (fr) Méthode d'opération d'un réseau de disques de stockage de données
EP1019820A1 (fr) Systeme de validation pour le maintien de l'integrite de la parite dans une pile de disques
US20060041782A1 (en) System and method for recovering from a drive failure in a storage array
US7246301B2 (en) Method for storage array error correction
US7376862B2 (en) Multiple sourcing storage devices for ultra reliable mirrored storage subsystems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060117

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL HR LT LV MK

PUAK Availability of information related to the publication of the international search report

Free format text: ORIGINAL CODE: 0009015

DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 11/10 20060101AFI20060915BHEP

17Q First examination report despatched

Effective date: 20070712

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 602004030573

Country of ref document: DE

Date of ref document: 20110127

Kind code of ref document: P

REG Reference to a national code

Ref country code: GB

Ref legal event code: 746

Effective date: 20110221

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20101215

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20110315

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20110326

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20110316

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20110415

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

26N No opposition filed

Effective date: 20110916

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602004030573

Country of ref document: DE

Effective date: 20110916

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110731

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110731

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110707

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20110707

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20101215

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20150715

Year of fee payment: 12

REG Reference to a national code

Ref country code: DE

Ref legal event code: R081

Ref document number: 602004030573

Country of ref document: DE

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US

Ref country code: DE

Ref legal event code: R082

Ref document number: 602004030573

Country of ref document: DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Ref country code: DE

Ref legal event code: R081

Ref document number: 602004030573

Country of ref document: DE

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 602004030573

Country of ref document: DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Ref country code: DE

Ref legal event code: R081

Ref document number: 602004030573

Country of ref document: DE

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES DELAWARE), HOPEWELL JUNCTION, N.Y., US

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 13

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

Owner name: GLOBALFOUNDRIES INC., GB

Effective date: 20160829

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20160707

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160707

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20170613

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20170705

Year of fee payment: 14

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 602004030573

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20180731

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190201