CN1906592A - 阵列存储系统中的冗余 - Google Patents

阵列存储系统中的冗余 Download PDF

Info

Publication number
CN1906592A
CN1906592A CNA2004800204018A CN200480020401A CN1906592A CN 1906592 A CN1906592 A CN 1906592A CN A2004800204018 A CNA2004800204018 A CN A2004800204018A CN 200480020401 A CN200480020401 A CN 200480020401A CN 1906592 A CN1906592 A CN 1906592A
Authority
CN
China
Prior art keywords
array
storage unit
unit
donor
subjected
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
Application number
CNA2004800204018A
Other languages
English (en)
Other versions
CN100461119C (zh
Inventor
史蒂文·罗伯特·赫茨勒
丹尼尔·费利克斯·史密斯
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.)
Core Usa Second LLC
GlobalFoundries Inc
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 CN1906592A publication Critical patent/CN1906592A/zh
Application granted granted Critical
Publication of CN100461119C publication Critical patent/CN100461119C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

通过使得所选阵列中的局部冗余在整个存储系统上全局可用,提高了具有多个阵列的存储系统的容错性。为了实现提高的容错性,当施主阵列的最小距离与受主阵列的最小距离之差大于或等于2时,从多个阵列中选择施主阵列。在施主阵列中选择施主存储单元,然后将来自受主阵列的受主信息重建到所选存储单元上。在丢失的信息被重建到所选存储单元上之前,向施主阵列指示所选存储单元已被捐赠。优选地,在从多个阵列中选择施主阵列之前,受主阵列的最小汉明距离是d≥2。

Description

阵列存储系统中的冗余
技术领域
本发明涉及存储系统。特别地,本发明涉及这样的方法,该方法用于配置包括多个存储单元(unit)的阵列的存储系统,以及由此增加该存储系统能够容许的存储单元失效的数量而不会丢失该系统中存储的数据。
背景技术
如下定义在这里被使用并且被提供用于说明性而非限制性的目的:
“元素(element)”是存储单元上的数据块。
“基本阵列”是元素集,这些元素包括用于ECC的阵列单元。
“阵列”是存储单元集,该集保持一个或多个基本阵列。
“条带(stripe)”是阵列内的基本阵列。
n是基本阵列中数据单元的数量。
r是基本阵列中冗余单元的数量。
m是阵列中存储单元的数量。
d是阵列的最小汉明距离。
D是存储系统的最小汉明距离。
大型存储系统一般包括多个不同的存储单元阵列。通常,通过例如镜像配置或RAID 5(第5级独立冗余磁盘阵列)配置中的擦除(或错误)纠正码(ECC),使每个阵列受到保护,来抗争一定数量的存储单元失效(也称为擦除)。ECC码提供了每个阵列的局部的冗余存储单元,并通过处理对于阵列子集是局部化的单元失效提高了存储系统的可靠性。
基于硬盘驱动(HDD)的存储系统的存储容量比组件可靠性的改进增长得更快。结果,最小汉明距离d=2方案,比如RAID 5和镜像技术,不再为系统级的充分的可靠性提供足够的保护。替代的设计,比如距离d=3的RAID 6(双重奇偶校验)、距离d=3的双重镜像、以及距离d=4的RAID51,已被提出用来解决系统可靠性的不足。习惯的做法是在存储系统中提供备用单元以减少系统修复时间和增大维护间隔。然而,添加备用却提高了系统成本和降低了存储效率。
用于改进系统可靠性的其他途径包括使用更高阶的奇偶校验码。例如,J.S.Plank在Software-Practice & Experience,27(9),1997年9月,第995页中的“A Tutorial on Reed-Solomon Coding for Fault-Tolerance inRAID-like Systems”中公开了Reed-Solomon码的实例。
此外,E.J.Schwabe等人在1996年ACM 0-89791-813-4/96/05中的“Evaluating Approximately Balanced Parity-Declustering Layouts in DiskArrays”中公开了用以有效设置冗余信息的数据布局用于改进性能。
P.Chen等人在1994年6月的ACM Computing Surveys第Vol.26卷第145页的“RAID:High-Performance,Reliable Secondary Storage”中提供了RAID的概述。M.Holland等人在1992年10月第5届编程语言和操作系统体系支持(ASPLOS-V)国际会议记录第23页的“Parity Declustering forContinuous Operation in Redundant Disk Arrays”中公开了RAID系统的去群集(declustered)的奇偶校验。G.A.Alvarez等人在1997年的ACM0-89791-901-7/97/0006的“Tolerating Multiple Failures in RAIDArchitectures”中描述了利用8位有限字段的普通多重奇偶阵列的属性和构造。
M.M.Blaum等人在题为“Method and Means for Encoding andRebuilding the Data Contents of Up to Two Unavailable DASDs in a DASDArray Using Simple Non-Recursive Diagonal and Row Parity”的美国专利号第5,579,475号中公开了距离d=3的阵列的操作。N.K.Ouchi于1993年3月在IBM Technical Disclosure Bulletin,第36:03卷的“Two-LevelDASD Failure Recover Method”中公开了用于从具有失效的距离d=3的阵列重构数据时所需要的操作。
然而,一些阵列设计,比如乘积码(包括RAID 51),易于受到某些存储单元失效图案的影响。这些阵列表现得有些好似它们拥有局部冗余一样。
发明内容
本发明提供了一种技术,其通过使得阵列中的局部冗余在整个阵列系统上全局可用,来改进存储系统的可靠性。此外,本发明提供了一种减轻存储系统的失效图案敏感性的技术。另外,本发明提供了一种技术,其使得对存储系统的维护比对常规的存储系统的维护推迟相当长的时间。
本发明实施例的优点通过一种方法来提供,该方法用于提高具有这样的多个阵列,从而每个阵列具有多个存储单元的存储系统的容错性。存储系统的阵列包括基于擦除或错误纠正码的冗余,擦除或错误纠正码比如奇偶校验码、Winograd码、对称码、Reed-Solomon码、EVENODD码或EVENODD码的派生。存储系统的容错性通过系统的最小汉明距离D来给定。系统的最小距离因而是各条带的所有最小汉明距离的最小值,也就是D=min(di)。当施主阵列的最小距离与受主阵列的最小距离之差大于或等于2时,从多个阵列中选择施主阵列。施主存储单元是基于对施主阵列的最小性能影响在施主阵列中选择的。受主存储单元是从受主阵列中选择的。至少一部分丢失的信息然后从受主阵列重建到施主阵列中的所选存储单元上。受主信息是基于受主阵列的改进的性能来选择的。在丢失的信息被重建到所选存储单元上之前,向施主阵列指示所选存储单元已被捐赠(donated)。优选地,在从多个阵列中选择施主阵列之前,受主阵列的最小汉明距离是d≥2。当备用存储单元变得可用时,备用存储单元以常规方式分配给所选阵列。
当在所选存储单元上重建来自受主阵列的至少一部分受主信息的步骤期间施主阵列的存储单元失效时,终止重建步骤,并且选择第二施主阵列。来自受主阵列的至少一部分丢失的受主信息被重建到第二施主阵列中的所选存储单元上。第二施主阵列的选择通过评价先前描述的条件来进行。
本发明还提供一种提高存储单元的阵列的容错性的方法,该阵列易于受到所选失效图案的影响。按照本发明,受主存储单元是继存储单元失效之后从存储单元的阵列中选择的。施主存储单元是从存储单元的阵列中这样选择的,从而使得阵列的容错性继重建操作之后提高。最后,至少一部分丢失的受主信息被重建到施主存储单元上。当备用单元变得可用时,备用单元以常规方式分配给该阵列。
另外,本发明提供一种数据存储系统,其具有多个阵列和系统阵列控制器。每个阵列具有多个存储单元,并且包括基于擦除或错误纠正码的冗余,擦除或错误纠正码比如奇偶校验码、Winograd码、对称码、Reed-Solomon码、EVENODD码或EVENODD码的派生。该系统阵列控制器连接每个阵列,并且检测多个阵列的第一阵列中的存储单元失效。然后在第二阵列的最小距离与第一阵列的最小距离之差大于或等于2时,该系统控制器选择多个阵列的第二阵列中的存储单元。来自第一阵列的至少一部分丢失的信息被重建到第二阵列的所选存储单元上。每个存储单元可以是HDD、易失性随机存取存储器装置、非易失性随机存取存储器装置、光存储装置或磁带存储装置。
本发明还提供一种数据存储系统,其具有多个存储单元的阵列以及阵列控制器。该阵列包括基于擦除或错误纠正码的冗余,擦除或错误纠正码比如奇偶校验码、Winograd码、对称码、Reed-Solomon码、EVENODD码或EVENODD码的派生。该阵列还易于受到所选失效图案和/或非统一的失效概率的影响。该阵列控制器连接该阵列,并且检测该阵列中第一存储单元的失效。该阵列控制器然后这样选择该阵列中的第二存储单元,使得该阵列的容错性继重建操作之后提高,并且将来自第一存储单元的至少一部分信息重建到第二存储单元上。该第二存储单元是基于阵列的失效图案和/或基于预定的目标图案来选择的。阵列的最小汉明距离在阵列控制器选择第二存储单元之前是d≥2,并且在完成将来自第一存储单元的至少一部分信息重建到第二存储单元上之时被增大。每个存储单元可以是HDD、易失性随机存取存储器装置、非易失性随机存取存储器装置、光存储装置或磁带存储装置。
附图说明
在相似标号指示相似元素的附图中,通过实例非限制性地说明了本发明,在附图中:
图1a示出了存储系统的典型配置,其具有连接至公共存储控制器的多个阵列;
图1b示出了存储系统的典型配置,其具有连接至不同的存储控制器的多个阵列;
图2示出了用于说明本发明的两个阵列的示范集;
图3示出了用于说明本发明的继阵列之一中两个驱动失效之后图2的阵列;
图4示出了按照本发明实施例的APX操作之后图2的阵列;
图5示出了对于存储单元失效图案具有敏感性的示范阵列;
图6示出了造成数据丢失的图5阵列的六个存储单元失效的示范图案;以及
图7示出了具有距离d=3的图5阵列的九个存储单元失效的示范目标图案。
具体实施方式
本申请涉及了题为“Anamorphic Codes”的美国专利申请序列号10/619,641(代理人卷号ARC92003014US1)、题为“Multi-path DataRetrieval From Redundant Array”的美国专利申请序列号10/619,633(代理人卷号ARC9)、以及题为“RAID 3+3”的美国专利申请序列号10/619,648(代理人卷号ARC9)。本申请还涉及了共同未决和共同转让的美国专利申请序列号10/600,593(代理人卷号YOR9-2003-0069US1)。
本发明引人注目地改进了存储系统的可靠性,并且和不具有奇偶交换的同等的存储系统相比,本发明使得存储系统的维护可被推迟相当长时间。于是,相对于由RAID系统所提供的可靠性程度,本发明提供了显著的可靠性改进。与将多阵列存储系统的每个阵列视为单独实体的RAID系统相对照,本发明将多阵列存储系统的各个阵列整体地耦合在一起,由此允许一个阵列的冗余可为另一阵列所用。这样的处理在这里被称为自动奇偶交换(APX)或称为APX操作。
按照本发明的实施例,APX操作允许阵列中的局部冗余对于整个阵列系统全局可用,由此随着存储单元数量的增加而提高系统的可靠性。APX还减少或消除了对于备用存储单元的需求。
为了利用具体实例来说明本发明的益处,考虑48个单元的存储系统,其包括六个存储单元的八个阵列且不具有备用存储单元。另外,示范的存储系统使用了具有距离d=4的对称码。对称码具有相等数量的数据单元和冗余单元以及从半数单元的任何组合的丢失中恢复的能力。利用APX,存储系统的距离在多至九个存储单元失效时保持在D=2。假定APX操作能够在这些操作期间少于两个失效时完成,则存储系统在十个失效时达到D=1。相对照地,使用十六个存储单元的三个阵列的RAID 6系统在两个那样少的存储单元失效时达到D=1。在进一步的对照中,使用十六个存储单元的三个阵列的RAID 51系统在三个那样少的存储单元失效时达到D=1。
而且,利用APX的存储系统随着失效的累加而适度地降级,由此在伴随着显著的成本节省时允许系统的维护得以推迟。因此,对于利用APX的存储系统的年度保修成本将显著地少于对于没有APX的相应存储系统的年度保修成本。对于常规系统,一般在备用存储单元池耗尽时请求服务。当使用APX时,对于示范系统可以在多至九个单元失效之后请求服务。于是,当使用APX时,与没有APX的系统相比较,该系统能够在更长的间隔上维持给定距离。
APX允许阵列集内的阵列交换冗余,由此避免失效集中在阵列集的单个阵列上。例如,如果第一阵列的最小汉明距离比第二阵列的最小汉明距离小2或更多,则第二阵列可将存储单元捐赠给第一阵列。此后,第一阵列的容错性将提高,并且第二阵列的容错性将降低,但是只降低到不少于第一阵列的级别。因此,系统的最小距离将增大,由此提高了系统的容错性。
图1a示出了整体指示为100的示范存储系统,包括连接至公共阵列控制器101的两个存储阵列102和103。存储阵列102和103包括多个存储单元104,并且通过接口105与阵列控制器101通信。阵列控制器101通过接口106与其他控制器和主机系统通信。这样的配置允许阵列控制器与多个存储阵列通信。
图1b示出了整体指示为150的示范存储系统,包括分别连接至不同阵列控制器152和151的两个存储阵列153和154。存储阵列153通过接口157与阵列控制器152通信,存储阵列154通过接口156与阵列控制器151通信。阵列控制器151和152通过接口158和159分别与其他阵列控制器和存储系统通信。图1b中还示出了允许阵列控制器151和152相互通信的通信连接160。
图1a和1b中示出的阵列控制器可设计为硬件或软件控制器。术语“控制器”在这里一般用来指代上述配置的任一个。
图2示出了用于说明本发明的两个阵列201和202的示范集。阵列201包括存储单元1A,阵列202包括存储单元2A。每个阵列的存储单元A、B和C是数据存储单元,每个阵列的存储单元D、E和F是具有MDS码的冗余存储单元。因此,阵列201和202二者具有最小汉明距离d=4。图2中所示的配置被称为对称码,其中数据存储单元的数量等于冗余存储单元的数量。计算冗余,从而任何三个单元失效可通过对称码来纠正。擦除或错误纠正码(ECC),比如奇偶校验码、Winograd码、对称码、Reed-Solomon码、EVENODD码和EVENODD码的派生,可被用于产生冗余。如这里所用到的,术语“距离”意味着最小汉明距离。
图3示出了阵列201中的存储单元1C和1E失效之后图2的阵列。在存储单元1C和1E失效之后,阵列201具有距离d=2,而阵列202仍具有距离d=4。阵列201在不会丢失数据的情况下,仅可再容许一个失效。阵列202在不会丢失数据的情况下,仍可容许三个失效。总体的系统距离是阵列201的距离,即距离D=2。系统的总体容错性可通过利用APX来重新平衡冗余而提高,因为系统的距离从D=2增大到D=3。
重新平衡冗余是通过捐赠阵列202(称为施主阵列)内包含的存储单元、然后将所捐赠的存储单元提供给阵列201(称为受主阵列)——就好像所捐赠的存储单元是备用单元一样——来实现的。必须使得施主阵列知悉所捐赠的存储单元不再是施主阵列的一部分,以防止施主阵列读或写所捐赠的单元上的数据。可能有益的是,将来自受主阵列的失效存储单元之一分配给施主阵列,从而两个阵列保持恒定数量的存储单元并维护失效单元的知识。施主阵列无法向所捐赠的单元写入信息。该系统可选择捐赠哪个存储单元。用于选择施主单元的首要标准是基于选择对于施主阵列可靠性具有最小影响的施主单元。次要标准是基于选择对于性能具有最小影响的存储单元,比如具有最昂贵的冗余计算的单元。该系统可选择将来自失效单元的哪些数据重建到所捐赠的单元上。用于选择待重建的信息的首要标准是基于提供可靠性的最大增加的信息集。次要标准是选择继重建操作之后提供最佳阵列性能的信息集。在上面图3的实例中,受主阵列201将通过重建单元1C的信息集具有最佳性能,因为单元1C是数据单元。类似地,施主阵列202将通过捐赠存储冗余信息的单元比如单元2F具有最小性能影响。在这两种情况中,在APX操作之后,读命令于是可以被处理,而无需重构来自存储阵列201和202的冗余单元的数据。
将来自施主阵列的存储单元捐赠给受主阵列要求存储系统能够将来自一个阵列的存储单元分配给另一阵列。当施主和受主阵列连接至公共阵列控制器101时,如图1a中所示,则控制器101可在内部进行该操作。当施主和受主阵列连接至不同的控制器151和152时,如图1b所示,则控制器151和152交换信息。例如,比如以简单磁盘捆绑(JBOD)阵列配置的方式,这些控制器可通过通信连接160暴露(expose)各个驱动。可选择地,这些控制器可交换从所涉及的存储单元上的位置将要读和写的数据有关的信息。
可以通过人工指示所捐赠的单元已经在施主阵列中失效来实现捐赠。然而,有益的是以分段(piece-wise)的方式来进行捐赠。在重建期间已经与受主阵列数据一起写入的数据段是属于受主的。直至重建已经完成为止,施主阵列才不被允许写到所捐赠的单元,以使剩余段中的数据保持更新。在施主阵列中的存储单元在奇偶交换期间失效的情形下,优选的是终止捐赠操作,并且以不同的施主阵列来发起新的捐赠操作。施主阵列然后可重建到先前所捐赠的段上,用以增大阵列的距离。例如,如果该失效发生在捐赠操作的起始部分期间,则该方法撤消该捐赠并发起新捐赠,这将缩短该系统工作在减小的距离的持续时长。
一旦比如经过维护备用存储单元变得可用,则它可被分配用来替代失效单元的任一个。信息是以公知的方式重建到备用单元上的。将受主阵列的失效单元之一分配给施主阵列能够有助于该操作,因为它指示了失效单元属于哪个阵列。
图4示出了继按照本发明的APX操作之后的图2的阵列。图4中的重建的数据加了下划线。尽管在该系统中仍有两个失效存储单元,但是每个阵列中仅有一个失效存储单元。对于图4的系统配置,每个阵列现在具有距离d=3,还可容许两个失效而不会丢失数据。系统的整体距离现在是D=3。
利用APX,存储系统可容许比非此情况时更多的失效。在图24的实例中,系统失效的第一点在未利用APX时是四个单元失效。相对照地,当使用APX时,系统失效的第一点是六个单元失效。该改进并非通过要求附加的冗余或备用来实现,而是通过调整存储系统内冗余的全局分配以满足所述的存储单元失效的条件来实现。由APX提供的改进随着系统中阵列的数量增加而增加。
在具有相等距离阵列的存储系统中,施主阵列必须至少是距离d=3,从而能够进行APX操作。也就是说,施主阵列必须具有比受主阵列的距离至少大2的距离。一般来说,APX操作是优选地在受主阵列距离是2或更大时进行的,由此在APX操作期间出现硬错误或另外的存储单元失效时进行保护。
许多常规系统比如RAID 5使用了用于展开存取图案的分布式奇偶(也称为“去群集奇偶”)。在这样的系统中,每个存储单元具有分配给每个单元类型的部分(例如数据1、数据2、冗余1等等)。APX还可应用于利用分布式奇偶的系统。在这样的情况中,施主存储单元的选择不那么关键,因为冗余遍布于所有单元。该系统可选择简单地重建受主的失效存储单元的任一个。
当对于施主阵列有多个选择时,对于施主阵列的选择标准可基于比如利用率、装置使用年限、先前错误历史等考虑。
图24中所示的说明性实例以阵列来进行奇偶交换,其中冗余单元的数量与数据单元的数量相同。当阵列中存储单元的数量大于基本阵列中存储单元的数量时,APX操作能够与闪避(dodging)操作相结合地来进行,比如申请序列号(代理人卷号ARC920030014US1)所公开的,这里通过参照将其引入,以进一步提高系统可靠性。
一些阵列设计对于单元失效的图案是敏感的。在这样的阵列中,施主单元和受主单元二者可来自同一阵列。施主单元可基于阵列配置来选择。图5示出了包括30个存储单元的乘积码(product code)阵列500,其中行501-505形成RAID 6阵列(d=3),列511-516形成RAID 5阵列(d=2)。在阵列500中,D=6,具有14个冗余驱动。然而,只有某些六个失效的位置排列将造成阵列失效,如图6中所示,其中存储单元1J、1K、1M、3J、3K和3M已经失效。失效图案可被识别为第一行中三个失效匹配第二行中三个失效。该系统的容错性可通过利用APX来提高。该系统将以这样的方式来选择施主单元和受主单元,由此避免这些图案以及使阵列返回到D=3的条件。
对于图5的实例,该系统能够在九个失效处于如图7所示的排列时以这九个失效来维持D=3。这里,该阵列具有九个失效单元1N、2N、3N、4N、5H、5J、5K、5L和5M。该系统可选择具有高容错性的目标图案。随着失效出现,施主单元从目标图案中被选择以及分配给不是该目标图案的一部分的失效受主。对于图5的实例,APX操作可被进行数次,从而阵列可在达到D=2之前容许至少十个失效。有效距离由此已经通过利用APX而从D=6增大到D=12。在阵列保持至少D=2时,APX允许维护得以推迟,直至30个单元中的十个已经失效。在没有APX时,在仅有四个单元失效时维持D=2就需要维护。
如这里所用到的术语“失效”和“图案”是指信息从阵列中的逻辑位置而不是物理位置处擦除。这样的非MDS阵列可从所述的乘积码、低密度奇偶校验码、非统一的图表码、或者具有特定的图案易损性的任何码形成。
APX的使用可超出简单地增大存储系统的最小距离。在确定是否进行APX以及选择施主和受主时可以包括许多其他因素。例如,组件在不统一时的单独失效概率、造成数据丢失的失效的组合、以及对于系统性能的影响都可被考虑。在这样的情况中,系统的最小距离可在APX之后保持不变。
APX可与具有最小距离d≥3的其他阵列类型一起使用。此外,较小的阵列大小使得APX使用得更为有效率,以及允许包括小型阵列的大型系统实现高容错性。当存储系统具有备用池时,最佳的是在进行APX操作之前进行到备用池的重建。
APX还可针对存储单元上数据的子集来进行。例如,在一些配置中,重建时间可被减少。考虑图4的实例。替代了将单元1C的内容重建到单元2F上,可能有益的是将单元1C的一半重建到单元2F的一半上,单元1E的另一半重建到单元2E的一半上。净结果将是两个阵列均为D=3,但是重建时间可以减少,因为相同的数据量正在被重建,而两个施主驱动正在被使用。其他组合也是明显地可能的。
尽管本发明已经根据从HDD存储单元形成的存储阵列加以描述,本发明仍适用于从其他存储装置的阵列形成的存储系统,这些存储装置比如随机存取存储器(RAM)存储装置(易失性的和非易失性的)、光存储装置以及磁带存储装置。此外,本发明还适于虚拟化的存储系统,比如从网络附加存储器构建的阵列。另外本发明还适用于任何冗余系统,其中有一些将冗余组件与特定的组件子集相关联的状态信息,且该状态信息可利用捐赠操作来传递。
尽管本发明已经针对具体实例进行了描述,这些具体实例包括了实现本发明的当前优选实施例,但是本领域的普通技术人员将理解存在上述系统和技术的多种变形和变换,它们落入了如所附权利要求书中阐述的本发明的精神和范围之内。

Claims (21)

1.一种用于提高具有多个阵列的存储系统的容错性的方法,每个阵列具有多个存储单元,所述方法包括步骤:选择受主阵列;在施主阵列的最小距离与所述受主阵列的最小距离之差大于或等于2时,从所述多个阵列中选择所述施主阵列;选择所述施主阵列中的施主存储单元;以及在所述施主阵列中的所述选择的存储单元上重建来自所述受主阵列的至少一部分丢失的受主信息。
2.根据权利要求1的方法,其中在从所述多个阵列中选择所述施主阵列的所述步骤之前,所述受主阵列的最小汉明距离是d≥2。
3.根据权利要求1的方法,在所述选择的存储单元上重建所述丢失的信息的步骤之前,还包括向所述施主阵列指示所述选择的存储单元已被捐赠的步骤。
4.根据权利要求1的方法,还包括从所述受主阵列选择受主存储单元的步骤。
5.根据权利要求4的方法,其中所述受主存储单元的至少一部分丢失的内容被重建到所述施主存储单元上。
6.根据权利要求1的方法,其中所述施主存储单元进一步基于对所述施主阵列的最小性能影响来选择。
7.根据权利要求1的方法,还包括基于所述受主阵列的改进的性能来选择所述受主信息的步骤。
8.根据权利要求1的方法,其中所述存储系统的所述阵列包括基于擦除或错误纠正码的冗余。
9.根据权利要求8的方法,其中所述擦除或错误纠正码是奇偶校验码、Winograd码、对称码、Reed-Solomon码、EVENODD码或EVENODD码的派生中的一个。
10.根据权利要求9的方法,其中所述存储系统的所述阵列包括基于多个所述擦除或错误纠正码的乘积的冗余。
11.根据权利要求1的方法,其中当在所述选择的存储单元上重建来自所述受主阵列的至少一部分受主信息的步骤中所述施主阵列中的存储单元失效时,所述方法进一步包括步骤:终止在所述选择的存储单元上重建来自所述受主阵列的至少一部分受主信息的步骤;当第二施主阵列的最小距离与第二受主阵列的最小距离之差大于或等于2时,从所述多个阵列中选择所述第二施主阵列;选择所述第二施主阵列中的施主存储单元;以及在所述第二施主阵列中的所述选择的存储单元上重建来自所述受主阵列的至少一部分丢失的受主信息。
12.根据权利要求1的方法,其中当备用存储单元变得可用时,所述方法进一步包括将所述备用存储单元分配给选择的阵列的步骤。
13.一种提高存储单元的阵列的容错性的方法,所述阵列易于受选择的失效图案的影响,包括步骤:继存储单元失效之后,从所述存储单元的阵列中选择受主存储单元;这样从所述存储单元的阵列中选择施主存储单元,使得所述阵列的容错性在重建操作之后提高;将至少一部分丢失的受主信息重建到所述施主存储单元上。
14.一种数据存储系统,包括:多个阵列,每个阵列具有多个存储单元;以及系统阵列控制器,连接每个阵列,所述系统阵列控制器检测所述多个阵列的第一阵列中的存储单元失效,在第二阵列的最小距离与所述第一阵列的最小距离之差大于或等于2时,选择所述多个阵列的所述第二阵列中的存储单元,以及将来自所述第一阵列的至少一部分信息重建到所述第二阵列的所述选择的存储单元上。
15.根据权利要求14的数据存储系统,其中当备用单元变得可用时,将所述备用单元分配给所述第二阵列。
16.根据权利要求14的数据存储系统,其中至少一个阵列具有非统一的失效概率。
17.根据权利要求14的数据存储系统,其中所述系统阵列控制器包括多个阵列控制器,一个阵列控制器连接所述多个阵列的至少一个阵列,每个各个阵列控制器检测与所述阵列控制器相关联的每个阵列中的存储单元失效,在所述选择的存储单元的所述阵列的最小距离与和所述多个阵列控制器的第二阵列控制器相关联的阵列的最小距离之差大于或等于2时,所述多个阵列控制器的第一阵列控制器选择与所述第一阵列控制器相关联的阵列中的存储单元,以及所述第一和第二阵列控制器将来自与所述第二阵列控制器相关联的所述阵列中的至少一部分丢失的信息重建到与所述第一阵列控制器相关联的所述阵列中的所述选择的存储单元上。
18.根据权利要求17的数据存储系统,其中当备用单元变得可用时,将所述备用单元分配给所述选择的存储单元的所述阵列。
19.根据权利要求17的数据存储系统,其中至少一个阵列具有非统一的失效概率。
20.根据权利要求14的数据存储系统,其中所述数据存储系统的所述阵列包括基于擦除或错误纠正码的冗余。
21.一种数据存储系统,包括:具有多个存储单元的阵列,所述阵列易于受到选择的失效图案的影响;以及阵列控制器,连接所述阵列,所述阵列控制器检测所述阵列中第一存储单元的失效,这样选择所述阵列中的第二存储单元,使得所述阵列的容错性继重建操作之后提高,以及将来自所述第一存储单元的至少一部分信息重建到所述第二存储单元上。
CNB2004800204018A 2003-07-14 2004-07-07 阵列存储系统中的冗余 Expired - Fee Related CN100461119C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/619,649 2003-07-14
US10/619,649 US7281177B2 (en) 2003-07-14 2003-07-14 Autonomic parity exchange

Publications (2)

Publication Number Publication Date
CN1906592A true CN1906592A (zh) 2007-01-31
CN100461119C CN100461119C (zh) 2009-02-11

Family

ID=34062610

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800204018A Expired - Fee Related CN100461119C (zh) 2003-07-14 2004-07-07 阵列存储系统中的冗余

Country Status (10)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667299B (zh) * 2009-09-27 2011-12-21 大连海事大学 一种数字图像染色方法
WO2017072603A1 (en) * 2015-10-30 2017-05-04 International Business Machines Corporation Autonomic parity exchange in data storage systems
CN108228382A (zh) * 2018-01-11 2018-06-29 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法

Families Citing this family (13)

* 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 ストレージ装置、データ配置方法およびプログラム
US8046629B1 (en) 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
US7634686B2 (en) * 2006-07-24 2009-12-15 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
US8994934B1 (en) 2010-11-10 2015-03-31 Chemimage Corporation System and method for eye safe detection of unknown targets
US20150286531A1 (en) * 2012-12-20 2015-10-08 Hewlett-Packard Development Company, L.P. Raid storage processing
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 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
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 (en) * 1997-04-07 2002-10-28 Sony Corp CUTTING SYSTEM AND METHOD
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
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations
US6931576B2 (en) * 2002-01-07 2005-08-16 Sun Microsystems, Inc. Data integrity device providing heightened error protection in a data processing system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667299B (zh) * 2009-09-27 2011-12-21 大连海事大学 一种数字图像染色方法
WO2017072603A1 (en) * 2015-10-30 2017-05-04 International Business Machines Corporation Autonomic parity exchange in data storage systems
GB2559505A (en) * 2015-10-30 2018-08-08 Ibm Autonomic parity exchange in data storage systems
US10055278B2 (en) 2015-10-30 2018-08-21 International Business Machines Corporation Autonomic parity exchange in data storage systems
CN108780411A (zh) * 2015-10-30 2018-11-09 国际商业机器公司 数据存储系统中的自主奇偶交换
GB2559505B (en) * 2015-10-30 2020-08-19 Ibm Autonomic parity exchange in data storage systems
CN108780411B (zh) * 2015-10-30 2021-12-14 国际商业机器公司 数据存储系统中的自主奇偶交换
CN108228382A (zh) * 2018-01-11 2018-06-29 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法
CN108228382B (zh) * 2018-01-11 2021-08-10 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US7788569B2 (en) Autonomic parity exchange
US7562281B2 (en) Autonomic parity exchange
US5889934A (en) Data validation system for a group of data storage disks
JP5298393B2 (ja) 並列リードソロモンraid(rs−raid)アーキテクチャ、デバイス、および方法
JP3269552B2 (ja) ディスクドライブメモリ
CN101415024B (zh) 利用协作存储设备冗余地存储和检索数据
AU653671B2 (en) Improvements for high availability disk arrays
US7149847B2 (en) RAID 6 disk array architectures
EP0936534A2 (en) Recording device
WO2001022224A2 (en) Degraded parity-protected raid operation
CN1106560A (zh) 容错存储器系统
US20090132890A1 (en) Anamorphic Codes
IL104744A (en) High-availability disk arrays
US6792391B1 (en) Method and system for three disk fault tolerance in a disk array
CN1503224A (zh) 5级独立冗余磁盘阵列中多盘失败情况下的读写操作方法
JP3676793B2 (ja) ディスクアレイ装置
CN110532128B (zh) 一种降低数据更新代价的纠删码编码及数据重构方法
EP0559488A2 (en) Handling data in a system having a processor for controlling access to a plurality of data storage disks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171114

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171114

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171120

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171120

Address after: American New York

Patentee after: Core USA second LLC

Address before: Mei Guo

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20180707