CN101059751A - 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统 - Google Patents

磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统 Download PDF

Info

Publication number
CN101059751A
CN101059751A CNA2007101008369A CN200710100836A CN101059751A CN 101059751 A CN101059751 A CN 101059751A CN A2007101008369 A CNA2007101008369 A CN A2007101008369A CN 200710100836 A CN200710100836 A CN 200710100836A CN 101059751 A CN101059751 A CN 101059751A
Authority
CN
China
Prior art keywords
data
disk array
disk
group
parity checking
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
CNA2007101008369A
Other languages
English (en)
Other versions
CN101059751B (zh
Inventor
卡尔·E·福汉
罗伯特·E·盖尔布雷斯
阿德里安·C·格哈德
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 CN101059751A publication Critical patent/CN101059751A/zh
Application granted granted Critical
Publication of CN101059751B publication Critical patent/CN101059751B/zh
Active 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/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1052RAID padding, i.e. completing a redundancy group with dummy data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations

Abstract

在诸如RAID-6之类环境的磁盘阵列环境中,通过增加并行性减少了与诸如再同步、重构、暴露模式的读操作之类的暴露模式操作相关联的总体性能开销。通过仅选择为求解特定奇偶校验带区的奇偶校验带区方程式所需的可能磁盘的子集,对磁盘阵列中的一个或多个磁盘的访问可以被省略,从而使被省略的磁盘自由地执行其它磁盘访问。此外,可以使与不同奇偶校验带区相关联的磁盘访问相交迭,以便能将为恢复一个奇偶校验带区的数据所必需的数据的检索与为另一奇偶校验带区所恢复的数据的存储同时执行。

Description

磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统
本专利申请是下述专利申请的分案申请:
申请号:200510126724.1
申请日:2005年11月21日
发明名称:磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统
本申请涉及下述由Carl Edward Forhan、Robert Edward Galbraith和Adrian Cuenin Gerhard于同一天提交的美国专利申请:“METHOD AND SYSTEMFOR ENHANCED ERROR IDENTIFICATION WITH DISK ARRAY PARITY CHECKING”,“RAID ENVIRONMENT INCORPORATING HARDWARE-BASED FINITE FIELDMULTIPLIER FOR ON-THE FLY XOR”,“METHOD AND SYSTEM FOR IMPROVED BUFFERUTILIZATION FOR DISK ARRAY PARITY UPDATES”和“METHOD AND SYSTEM FORRECOVERING FROM ABNORMAL INTERRUPTION OF A PARITY UPDATE OPERATION INA DISK ARRAY SYSTEM”。这些申请的每个并入本文以供参考。
技术领域
本发明涉及用于数据存储的数据保护方法,尤其涉及实现RAID-6的系统以及类似的数据保护和恢复策略。
背景技术
RAID代表独立磁盘冗余阵列(Redundant Array of Independent Disks),是这样一类冗余磁盘阵列存储模式,其中冗余磁盘阵列存储模式定义了众多配置和使用多个计算机磁盘驱动器,以获得各种级别的可用性、性能、容量和成本的方式,同时作为单个大容量驱动器呈现给软件应用程序。典型的RAID存储子系统(subsystem)可以用硬件或者软件来实现。在前者的情况下,RAID算法被封装到耦接到计算机输入/输出(“I/O”)总线的单独控制器硬件中,并且虽然增加很少或者没有增加中央处理单元(“CPU”)开销,但是所需的额外硬件仍然增加了整个系统的成本。另一方面,软件实现将RAID算法并到与操作系统一起由主处理器执行的系统软件中,从而避免了单独的硬件控制器的需要和成本,然而增加了CPU开销。
从RAID-0到RAID-6已经定义了各种RAID级别,每个都在前述因素中进行权衡。RAID-0只不过是常规的分带(striping),其中将用户数据分成块(chunk),这些块被存储在带区组上,该用户数据散布在多个磁盘上而不存在数据冗余。RAID-1等价于常规的“影像(shadowing)”或“镜像(mirror)”技术,并且是获得数据冗余最简单的办法,其通过对于每个磁盘都具有容纳相同数据的另一磁盘并且同时向两个磁盘写数据来获得数据冗余。RAID-0和RAID-1的组合通常被称作RAID-0+1,是通过分带影像组实现的,从而得到该两种RAID级别的相对的性能优点。RAID-2采用了被写在RAID组的成员上的汉明码(Hamming Code),其现在被认为并不很重要。
在RAID-3中,数据被分带在一组磁盘上,其中添加了用于保存奇偶校验数据的单独的专用盘。随着将用户数据写到其它盘而动态地计算奇偶校验数据,以便如果盘失效允许重构初始的用户数据而无需一个比特一个比特地复制数据。错误检验和纠正码(“ECC”)诸如异或(“XOR”)或者更复杂的里得-所罗门(Reed-Solomon)技术之类可以用来对二进制数据执行必要的数学计算以得到RAID-3和更高级别实现中的奇偶校验信息。虽然奇偶校验在盘失效的情况下允许重构用户数据,但是这种重构的速度是系统负载和所使用的特定算法的函数。
与RAID-3类似,称作RAID-4的RAID方案由N个数据盘和一个奇偶校验盘组成,其中奇偶校验盘扇区包含每个数据盘上相应扇区的逐位XOR。这使得在任一个盘失效的情况下RAID组中的数据内容可以保存。RAID-5是RAID-4的变型,其将奇偶校验分带在阵列中的所有磁盘上,以便使盘上的负载在统计上均衡。
RAID-6的名称用来通俗地描述下述冗余和复杂的ECC技术的RAID方案,其通过使用两个奇偶校验驱动器(通常称为“P”和“Q”驱动器)可以容忍两个磁盘失效而不丢失数据。尽管术语“奇偶校验”用于描述RAID-6技术中使用的码,但是这些码更恰当地说是一种ECC码而不仅仅是奇偶校验码。数据和ECC信息被分带在RAID组的所有成员上并且写性能通常低于RAID-5,这是因为在写操作期间三个单独的驱动器必须每个都被访问两次。不过,取决于所使用的“奇偶校验”驱动器的数目,RAID-6的原理可用于恢复多个驱动器失效。
某些RAID-6实现是基于里得-所罗门算法的,该算法依赖于伽罗华域(Galois Field)算术。对伽罗华域算术及RAID-6背后的数学的全面解释可以在各种资源中找到,因而,下面仅提供简单概述作为背景。RAID-6实现中所使用的伽罗华域算术发生在GF(2N)中。这是具有GF(2)中的系数的多项式对某N阶生成多项式取模得到的域。该域中的所有多项式为N-1或者更小阶,并且它们的系数都是0或者1,这意味着它们可以用全部在{0,1}中的N个系数的向量表示;即,这些多项式“看”起来就象N位的二进制数。该域中的多项式加法只是N比特XOR运算,其具有该域的每个元素是其自身的加性逆元(additive inverse)的属性,所以加法和减法是相同的运算。但是,该域中的多项式乘法可以利用基于对数的查表技术或者利用简单的组合逻辑来进行。
每个RAID-6校验码(即,P和Q)表示RAID-6阵列的数据盘上的数据与校验盘之一或者两者上的数据之间的不变关系或者公式。如果存在C个校验码并且一组F盘失效,F≤C,则可以通过选择这些公式中的F个公式并且在GF(2N)中同时对这些公式求解F个丢失的变量而重构失效磁盘。在目前所实现或者构思的RAID-6系统中,仅有2个校验盘,即校验盘P和校验盘Q。值得注意的是,校验盘P和Q对于阵列上数据和奇偶校验的每个带区都发生变化,从而校验数据并不写入专用盘而是相反分带在所有的盘上。
即使在不同系统中通过不同方式以不同成功程度地实现了RAID-6,仍然存在改进提供数据存储的RAID-6保护的效率和成本的持续需求。实现RAID-6的数学涉及重复性的复杂计算。据此,在现今和未来,努力改进实现RAID-6所需的电路的简易性、电路的成本、电路的效率仍是优先考虑的问题。
例如,现有RAID-6涉及的一个局限涉及与执行再同步(其中使用于奇偶校验带区的奇偶校验数据与当前的数据再同步)、重构(其中基于奇偶校验数据重新生成错误或丢失磁盘中的数据)或者其它暴露模式的操作(诸如暴露模式的读)相关联的性能开销。例如,再同步操作要求,对于磁盘阵列中所定义的每个奇偶校验带区,数据必须从所有磁盘中读出并且用于通过下述操作求解奇偶校验带区方程式,所述操作为:将来自每个磁盘的数据乘以适当值以及如乘积之和那样对乘后得到的数据进行异或以构建奇偶校验带区的奇偶校验值。此外,必须将作为求解该奇偶校验带区方程式的结果计算得到的奇偶校验值写到适当的磁盘中。此外,由于RAID-6设计对于每个奇偶校验带区依赖于两个奇偶校验值,所以对于每个奇偶校验带区前述处理通常必须执行两遍以生成两个奇偶校验值并且将其写到磁盘阵列中。
同样,为重构暴露的磁盘,每个奇偶校验带区的数据必须从所有其它磁盘中读出并且用来以与用于再同步的乘法操作及异或运算类似的方式求解奇偶校验带区方程式。求解奇偶校验带区方程式的结果是被写回到暴露磁盘中的数据。此外,对于诸如暴露模式的读操作之类的其它暴露模式的操作,虽然无需将奇偶校验带区方程式的结果存储回磁盘阵列,但是必须执行与重构操作类似的处理。
但是,在这些暴露模式的操作的每个中,从某些磁盘读数据以及向某些磁盘写数据的需求导致相当大的性能开销,相对于磁盘阵列上各种磁盘访问操作的顺序本性来说尤其如此。因而非常需要一种提高诸如RAID-6系统的磁盘阵列系统的性能以提高关于再同步、重构以及其它暴露模式的操作的性能的方式。
发明内容
本发明通过许多技术解决了与现有技术相关联的上述和其它问题,上述本发明的技术个别地或整体地增加关于访问磁盘阵列中的磁盘的并行性,并且由此降低了与诸如再同步、重构和暴露模式的读操作之类的暴露模式的操作相关联的性能开销。
具体来讲,根据本发明一个方面,提供了一种恢复包括多个磁盘的磁盘阵列中的数据的方法,该方法包括下述步骤:从磁盘阵列中读取与第一奇偶校验带区相关联的第一组数据;向磁盘阵列中写入通过处理该第一组数据而生成的结果值;以及在将该结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第二组数据。
根据本发明另一方面,提供了一种恢复包括多个磁盘的磁盘阵列中的数据的装置,包括:被配置成耦接到磁盘阵列中的多个磁盘的接口;以及耦接到该接口的磁盘阵列控制器,该磁盘阵列控制器被配置成通过下述操作恢复磁盘阵列中的数据:从磁盘阵列中读取与第一奇偶校验带区相关联的第一组数据;向磁盘阵列中写入通过处理该第一组数据而生成的结果值;以及在将该结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第二组数据。
例如,在一个方面,出于求解奇偶校验带区方程式的目的对磁盘阵列中磁盘的访问(例如,关于重构,暴露模式的读或其它暴露模式的操作)可以通过仅选择求解该奇偶校验带区访问所需的可能磁盘的子集、从而省略对一个或多个磁盘的访问来优化。通过这样做,当在特定时间段内执行多个这样的操作时,只要为不同的操作选择不同的磁盘子集通常就可以更好地平衡磁盘阵列中磁盘的利用率。
虽然可以使用其它磁盘阵列环境,但当在其中通过两个奇偶校验带区方程式使奇偶校验带区方程式中的数据相关的RAID-6环境中实施时,每个磁盘子集可以包括磁盘阵列的N个磁盘之中的N-2个磁盘。此外,虽然可以使用其它方式选择磁盘子集,但在一个实施例中,可以使用随机选择机制从而随机省略某些磁盘。
与本发明的该方面一致,可以访问具有N个磁盘的磁盘阵列,从而,对于磁盘阵列中所定义的多个奇偶校验带区的每个,从N个磁盘中选择要用于求解这样的奇偶校验带区的奇偶校验带区方程式的不同磁盘子集。然后可以启动仅从下述奇偶校验带区的所选择的磁盘子集中检索与每个奇偶校验带区相关联的数据的操作,这样检索的数据用于求解该奇偶校验带区的奇偶校验带区方程式。此外每个所选择的磁盘子集包括至多N-2个磁盘。
此外,在磁盘阵列系统中当恢复磁盘阵列中的数据(例如,再同步奇偶校验和数据,或者重构暴露磁盘的数据)时可以通过使与不同奇偶校验带区相关联的数据访问相交迭而增加并行性。特别地,与本发明这方面一致,恢复磁盘阵列的数据可以包括:检索与第一奇偶校验带区相关联的第一组数据,接着与向磁盘阵列中写入通过处理该第一组数据而生成的结果值,同时从磁盘阵列中读取与第二奇偶校验带区相关联的第二组数据。与当与恢复不同奇偶校验带区的数据相关联的访问和操作被顺序执行时的情况相比,通过使与不同奇偶校验带区相关联的读和写访问相交迭,可以以较少的开销恢复与多个奇偶校验带区相关联的数据。
附图说明
图1是根据本发明的原理的、可以实现RAID-6存储控制器的示例性计算机系统的框图。
图2是图示图1的RAID控制器的主要组件的框图。
图3描绘了根据本发明原理以交迭方式执行恢复操作以提高RAID-6系统中磁盘阵列利用率的流程图。
图4描绘了根据本发明原理利用随机选择要访问的磁盘来执行暴露模式的读操作以提高RAID-6系统中磁盘阵列利用率的流程图。
具体实施方式
下文中所讨论的实施例利用两种技术中的一个或者两个来在诸如RAID-6环境之类的磁盘阵列环境中增加与恢复数据相关联的并行性或者减少与恢复数据相关联的开销。下文中描述的一种技术关于诸如重构或暴露模式的读操作之类的操作选择要访问的磁盘的不同子集。下文中描述的另一种技术将与相对于多个奇偶校验带区执行的恢复操作相关联的读访问和写访问交迭。
下文中给出了实现前述技术的磁盘阵列环境的多个实施例。但是,在讨论这样的实施例之前,首先提供RAID-6的背景简述,随后是对其中可以实现前述技术的示例性硬件环境的描述。
一般RAID-6背景
这里用来描述RAID-6存储系统的专用术语符合本领域最易于接受的标准。特别地,存在N个驱动器,其中任何两个将被认为是奇偶校验驱动器,P和Q。利用伽罗华域算术,可以写出两个独立公式:
α0d00d10d2+...+α0dN-1=0      (1)
α0d01d12d2+...+αN-1dN-1=0    (2)
其中,这里所采用的“+”运算符表示异或(Exclusive-OR,XOR)操作。
在这些公式中,αX是有限域的元素,dX是来自第X个磁盘的数据。虽然P和Q盘对于数据的任意特定带区可以是N个磁盘的任一个,但是它们通常用dP和dQ表示。当更新磁盘之一的数据(即,dX)时,上面的两个公式分解为:
Δ=(旧dX)+(新dX)                         (3)
(新dP)=(旧dP)+((αQX)/(αPQ))Δ    (4)
(新dQ)=(旧dQ)+((αPX)/(αPQ))Δ    (5)
在最后两个公式的每个中,加号右边的项是常数乘以数据中的变化(即,Δ)。公式(4)和(5)的这些项通常分别表示为K1Δ和K2Δ。
在一个磁盘丢失或不可用的情况下,可以采用简单的XOR运算来恢复该磁盘的数据。例如,如果d1失效则可如下恢复d1
d1=d0+d1+d2+...                         (6)
在两个磁盘失效或者被“暴露”的情况下,上面的公式可以用来恢复磁盘的数据。例如,给定磁盘0到X并且假设磁盘A和B失效了,则该两个磁盘的任一磁盘的数据可以从剩余的磁盘中恢复。例如,如果要恢复磁盘A,则上面的公式变为:
dA=((αB0)/(αBA))d0+((αB1)/(αBA))d1+...+((αB0)/(αBA))dX    (7)
示例性硬件环境
在脑海中有了RAID-6的一般背景知识之后,可以将注意力转向附图,其中在几个附图中相同的附图标记表示系统的部件。图1图示了可以实现RAID-6或其它磁盘阵列的示例性计算机系统。为了本发明的目的,装置10可以实际上代表任何类型的计算机、计算机系统或者其它可编程的电子设备,包括客户端计算机、服务器计算机、便携式计算机、手持式计算机、嵌入式控制器等。此外,装置10可以采用例如集群式或分布式计算系统中的一个或多个联网的计算机来实现。下文中将称装置10为“计算机”,不过应该理解术语“装置”也可以包括与本发明一致的其它适当的可编程电子设备。
计算机10通常包括至少一个耦接到存储器14的处理器12。处理器12可以表示一个或多个处理器(例如,微处理器),存储器14可以表示随机存取存储器(RAM)设备,包括计算机10的主存以及任何辅助级别的存储器,例如高速缓存存储器、非易失或者备用存储器(例如,可编程或者闪存存储器)、只读存储器等。此外,存储器14可以视为包括物理上位于计算机10中别处的存储器存储,例如,处理器12中的任何高速缓存存储器以及用作虚拟存储器的任何存储容量,例如存储在磁盘阵列34上或者经由网络18存储在耦接到计算机10的另一台计算机(例如,客户端计算机20)上。
计算机10通常还接收多个输入和输出以与外部交换信息。对于与用户或者操作员的接口,计算机10通常包括一个或多个用户输入设备22(例如,其中有键盘、鼠标、跟踪球、操纵杆、触摸板和/或麦克风)以及显示器24(例如,其中有CRT显示器、LCD显示面板和/或扬声器)。此外,用户输入可以经由在网络上与计算机10连接的另一台计算机(例如,计算机20)或者经由专用工作站接口等接收。
对于额外的存储设备,计算机10还可以包括经由存储控制器或者适配器16存取的一个或多个大容量存储设备,例如,其中有可移动磁盘驱动器、硬盘驱动器、直接存取存储设备(DASD)、光盘驱动器(例如,CD驱动器,DVD驱动器,等等)和/或磁带驱动器。此外,计算机10可以包括与一个或多个网络18(例如,LAN、WAN、无线网和/或因特网)的接口以允许与耦接到网络的其它计算机交换信息。应该理解,如本领域公知的,计算机10通常包括处理器12与组件14、16、18、22、24的每个之间的适当的模拟和/或数字接口。
根据本发明的原理,大容量存储器控制器16有利于实现磁盘阵列34中的RAID-6存储保护。
计算机10在操作系统30的控制下运行,并且执行或者反之依赖于各种计算机软件应用程序、组件、程序、对象、模块、数据结构等等(例如,软件应用程序32)。此外,各种应用程序、组件、程序、对象、模块等等也可以在例如分布式或者客户机/服务器计算环境下在经由网络18耦接到计算机10的另一台计算机中的一个或多个处理器上执行,由此为实现计算机程序的功能所需的处理可以被分配到网络上的多台计算机上。
通常,为实现本发明实施例所执行的例程(不管被实现为操作系统的一部分或者特定应用程序,组件,程序,对象,模块或者指令序列,或者甚至为其子集)本文中都称之为“计算机程序代码”或者简称“程序代码”。程序代码通常包括一个或多个指令,其在各个时间驻留于计算机中的各种存储器或者存储设备中,并且当被计算机中的一个或多个处理器读取并执行时使得该计算机执行下述步骤,这些步骤是执行具体化本发明各个方面的步骤或者元件所必需的。此外,虽然本发明是在并且将继续在完全运行计算机和计算机系统功能的语境下描述的,但是本领域的技术人员将理解,本发明的各种实施例能够作为各种形式的程序产品而分发,并且不管用于实际携带该分发的计算机可读信号承载介质的具体类型如何本发明都同等适用。计算机可读信号承载介质的示例包括但不限于可记录型介质和诸如数字和模拟通信链路的传输型介质,可记录型介质例如其中有易失和非易失存储设备、软盘和其它可移动盘、硬盘驱动器、磁带、光盘(例如,CD-ROM,DVD,等等)。
此外,下文中描述的各种程序代码可以基于其中在本发明的特定实施例中实现的应用程序来标识。但是,应该理解,跟随的任何特定程序专用术语仅出于便利而使用,因而本发明不应限于仅用于由这样的专用术语标识和/或暗示的任何特定应用程序中。此外,给定通常无数的藉之可以将计算机程序组织成例程、过程、方法、模块、对象等等的方式,以及给定藉之将程序功能分配于驻留于特定计算机的各种软件层(例如,操作系统,库,API,应用程序,java应用小程序(applet),等等)中的各种方式,应该理解,本发明并不限于这里所描述的程序功能的特定组织和分配。
图2图示了磁盘阵列系统(例如RAID-6兼容系统)的控制子系统的框图。特别地,更详细地示出了图1的大容量存储控制器16包括RAID控制器202,该RAID控制器202通过系统总线208与处理器12耦接并且通过存储总线210耦接到各个磁盘驱动器212-218。如一名普通技术人员所熟知的,这些总线可以是本质上专有的或者遵循诸如SCSI-1、SCSI-2等工业标准的。RAID控制器包括执行下述程序代码的微处理器204,该程序代码实现用于数据保护的RAID-6算法并且通常驻留于位于RAID控制器的存储器中。特别地,要存储到磁盘212-218上的数据被用来产生奇偶校验数据,然后被拆开(break apart)并且分带于磁盘212-218上。磁盘驱动器212-218可以是直接通过总线210耦接到控制器202的单独磁盘驱动器或者可以包括其自身的磁盘驱动适配器,其允许一串单独磁盘驱动器连接到存储总线210。换言之,磁盘驱动器212可以在物理上实现为耦接到单个控制器的4或8个单独磁盘驱动器,该单个控制器连接到总线210。当数据在任一方向上在磁盘驱动器212-21 8和RAID控制器202之间交换时,提供缓冲器20以帮助数据传输。缓冲器206的使用有时可能在数据传输上产生瓶颈,并且众多缓冲器的引入可能增加RAID控制202的成本、复杂性和尺寸。这样,本发明的某些实施例涉及以经济有效的方式提供及利用这些缓冲器206。
应该理解,图1和图2中所示的实施例本质上仅是示例性的。例如,应该理解,本发明可适用于除RAID-6环境外的磁盘阵列环境。还应该理解,与本发明一致的磁盘阵列环境可以利用驻留于计算机的主存储器中的完全软件实现的控制算法,或者计算机或控制器中通过程序代码操纵的某些功能可以以硬件逻辑电路实现,反之亦然。因而,本发明不应限于这里所讨论的具体实施例。
增加RAID-6磁盘访问中的并行性
在RAID-6系统中,当执行诸如再同步奇偶校验和数据、重构磁盘或者执行暴露模式的读之类的恢复操作时,必须执行不同磁盘上的许多I/O操作以读取可用数据,如果适当则将所恢复的数据存储回到磁盘阵列中。在读取特定奇偶校验带区的数据之后,可以执行适当的计算以恢复磁盘阵列中磁盘上的数据或奇偶校验信息。本发明的实施例包括用于以最大化各种I/O操作的并行性以及更好平衡磁盘利用率的方式执行这些操作的技术。
例如,已经发现,可以通过选择性地省略磁盘阵列中关于各种恢复操作的、来自磁盘的访问来获得性能上的改进。如前所述,RAID-6被设计成处理两个磁盘失效,因而可以使用来自N-2个磁盘的数据求解上面的方程式(7)。如果两个磁盘失效了,则可使用剩余的N-2个磁盘从方程式(7)恢复磁盘的数据。即使当只有一个磁盘失效时,该磁盘的数据也可根据方程式(7)恢复。但是,请注意,应该理解,在这样的情况下,当求解该方程式时可以省略来自磁盘之一的数据。
在RAID-5实现中,从给定磁盘恢复奇偶校验或数据的任何尝试(例如,再同步奇偶校验和数据、重构磁盘或者执行暴露模式的读)都要求访问阵列中的所有其它磁盘。但是,已知RAID-6实现为求解一个奇偶校验带区方程式并不需要来自所有其它磁盘的数据,则我们发现关于求解这样的方程式可能甚至不需要访问一个磁盘。结果是,在与本发明一致的实施例中,可以期望省略对与检索用于求解奇偶校验带区的数据相关联的一个或多个磁盘的访问,由此降低了这些磁盘的总体利用率。
此外,虽然在需要求解一个奇偶校验带区方程式的所有情形下都可以省略一个特定磁盘,但是通常期望,关于诸如磁盘重构或者一系列暴露模式的读操作之类的恢复操作,在求解不同奇偶校验带区的奇偶校验带区方程式时选择不同的磁盘子集来省略。因而,与在恢复操作期间一个磁盘始终不被访问的情况不同,可以执行确定在给定恢复操作期间不使用哪个磁盘以便在所有磁盘中更好地平衡利用水平。
可以使用与本发明一致的各种方式选择磁盘的不同子集。在一个实施例中,可以使用随机选择。但是,在其它实施例中,可以使用其它负载平衡型的算法,例如轮盘制(round robin)选择。应该理解,不同子集的选择并不要求每个子集与所有其它子集不同,而是只要被包含到用于求解奇偶校验带区方程式的子集中的磁盘不时发生变化(例如,对每个奇偶校验带区,或者对于奇偶校验带区的子集),从而与每个奇偶校验带区都省略相同一个或多个磁盘的情况相比更好地平衡了磁盘阵列中磁盘的利用率。
此外还发现,关于各种恢复操作通过使与多个奇偶校验带区相关联的磁盘访问较低可以获得性能上的改进。例如,当再同步奇偶校验带区时,首先读数据驱动器,然后将奇偶校验计算的结果写到奇偶校验盘中。在常规的设计中,在正在读数据驱动器期间,奇偶校验盘保持空闲。与本发明一致的实施例通过使与恢复数据到多个奇偶校验带区相关联的读操作和写操作相交迭以减少给定磁盘阵列中的空闲时间而解决了该低效率的问题。除了RAID-6和类似环境外,本文所描述的交迭磁盘访问也可以用在其它磁盘阵列环境中,例如,用在RAID-5环境中。
图3中描绘了用于完成恢复操作(例如,再同步或重构操作)的示例性方法的流程图。根据该方法,用于两个不同奇偶校验再同步操作的访问被交织进行(interleave),从而对奇偶校验和数据盘的访问可以并行发生,因而减少了磁盘的空闲时间并且改进了用于执行重构和再同步所花费的时间。应该理解,用于两个或多个奇偶校验带区的重构操作以类似的方式进行。
在图3的流程图中,数据磁盘上分布在奇偶校验带区A中的一组数据用于计算奇偶校验带区A的奇偶校验值P和Q。此外,数据磁盘上分布在奇偶校验带区B中的一组数据用于计算奇偶校验带区B的奇偶校验值P和Q。在步骤302中,执行针对数据磁盘尤其是针对位于奇偶校验带区A中区域的第一组读操作以检索用于计算奇偶校验带区A的相应奇偶校验值P的一组数据。同时,将第二组读操作排队,该第二组读操作将从分配于每个数据磁盘上的奇偶校验带区B的区域中检索一组不同的数据,该组不同的数据用于计算奇偶校验带区B的相应的奇偶校验值B。一旦第一组读操作完成,则在步骤304中,可以将奇偶校验带区A的新奇偶校验值P写到P奇偶校验盘中,同时通过磁盘阵列的其它磁盘执行第二组读操作。在步骤306中,执行第三组读操作——这时是第二次从奇偶校验带区A检索数据以生成奇偶校验值Q,并且同时将奇偶校验带区B的奇偶校验值写到P奇偶校验磁盘中。接下来,在步骤308中,执行第四组读操作以读取来自奇偶校验带区B的一组数据,该组数据用于生成奇偶校验带区B的奇偶校验值Q。在执行这些后面的读操作的同时将奇偶校验带区A的奇偶校验值Q写到Q奇偶校验盘中。最终在步骤310中,将奇偶校验带区B的奇偶校验值Q写到Q奇偶校验盘中。
通过根据该算法交迭再同步和重构操作,更平等地利用奇偶校验盘和数据盘,这将提高再同步和重构功能的性能。受益于本直接公开的本领域普通技术人员将注意到,前述算法可以应用于交迭许多奇偶校验带区之间的操作。
例如,图4接下来图示了用于完成暴露模式的读操作以从暴露的磁盘取数据的示例性方法。根据该方法,图示了用于对两个奇偶校验带区的两个暴露的读操作的访问,其中一个这样的访问在步骤400中执行,另一个访问在步骤402中执行。在这两个操作中,N-2个磁盘的不同子集被从N-1个磁盘中随机选出并且生成暴露磁盘的数据,该N-1个磁盘包含来自奇偶校验带区的可以用于求解奇偶校验带区方程式的数据。结果是,在每个操作中,磁盘阵列中的一个磁盘将不被访问,从而使得该磁盘空出来执行其它操作(包括例如,处理交迭的访问,诸如上面关于图3讨论的)。应该理解,通过随机地从一系列操作中省略不同磁盘将有助于在磁盘阵列上更好地平衡磁盘利用率,并因而提供总体系统吞吐量。应该理解,重构操作可以以类似的方式利用这样的技术。
这样,本发明的实施例在RAID-6或类似磁盘阵列环境中提供了一种方法和系统,其使不同的磁盘访问操作交织和/或选择在执行恢复操作时要使用的不同磁盘以平衡磁盘利用率并且减少等待时间(latency)。在不背离本发明的精神和范围的条件下可以对所示的实施例进行各种修改。因而,本发明在于所附的权利要求。

Claims (21)

1.一种恢复包括多个磁盘的磁盘阵列中的数据的方法,该方法包括下述步骤:
从磁盘阵列中读取与第一奇偶校验带区相关联的第一组数据;
向磁盘阵列中写入通过处理该第一组数据而生成的结果值;以及
在将该结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第二组数据。
2.如权利要求1所述的方法,还包括:
向磁盘阵列中写入通过处理该第二组数据而生成的第二结果值;以及
在将该第二结果值写入磁盘阵列的同时,从磁盘阵列中读取第三组数据。
3.如权利要求2所述的方法,其中所述第一和第二结果值是通过使用至少一个奇偶校验带区方程式处理该第一和第二组数据而生成的。
4.如权利要求3所述的方法,其中,所述第三组数据与第一奇偶校验带区相关联,该方法还包括:
向磁盘阵列写入通过使用第二奇偶校验带区方程式处理第三组数据而生成的第三结果值。
5.如权利要求4所述的方法,还包括:
在将该第三结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第四组数据;以及
向磁盘阵列写入通过使用第二奇偶校验带区方程式处理第四组数据而生成的第四结果值。
6.如权利要求3所述的方法,其中所述第一和第二结果值每个包括奇偶校验值,并且写入第一和第二结果值的操作被执行来使第一和第二奇偶校验带区的奇偶校验和数据同步。
7.如权利要求3所述的方法,其中所述第一和第二结果值每个包括数据值,并且写入第一和第二结果值的操作被执行来重构磁盘阵列中磁盘的数据。
8.如权利要求2所述的方法,其中,所述第三组数据与第三奇偶校验带区相关联。
9.如权利要求1所述的方法,其中,所述向磁盘阵列中写入结果值的步骤包括向磁盘阵列中的第一磁盘写入结果值,并且从磁盘阵列读取第二组数据的步骤包括从不包括该第一磁盘的磁盘阵列中的磁盘子集中读取第二组数据。
10.一种恢复包括多个磁盘的磁盘阵列中的数据的装置,包括:
被配置成耦接到磁盘阵列中的多个磁盘的接口;以及
耦接到该接口的磁盘阵列控制器,该磁盘阵列控制器被配置成通过下述操作恢复磁盘阵列中的数据:从磁盘阵列中读取与第一奇偶校验带区相关联的第一组数据;向磁盘阵列中写入通过处理该第一组数据而生成的结果值;以及在将该结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第二组数据。
11.如权利要求10所述的装置,其中所述磁盘阵列控制器包括RAID-6控制器。
12.如权利要求10所述的装置,其中,所述磁盘阵列控制器被配置成执行选择不同子集、启动数据的检索和求解奇偶校验带区方程式操作中的至少一个操作。
13.如权利要求10所述的装置,还包括耦接到该接口的多个磁盘。
14.如权利要求10所述的装置,其中,所述磁盘阵列控制器还被配置成执行下述操作:向磁盘阵列中写入通过处理该第二组数据而生成的第二结果值,以及在将该第二结果值写入磁盘阵列的同时,从磁盘阵列中读取第三组数据。
15.如权利要求14所述的装置,其中,所述磁盘阵列控制器被配置成通过使用至少一个奇偶校验带区方程式处理该第一和第二组数据而生成该第一和第二结果值。
16.如权利要求15所述的装置,其中,所述第三组数据与第一奇偶校验带区相关联,并且所述磁盘阵列控制器还被配置成向磁盘阵列写入通过使用第二奇偶校验带区方程式处理第三组数据而生成的第三结果值。
17.如权利要求16所述的装置,其中所述磁盘阵列控制器还被配置成执行下述操作:在将该第三结果值写入磁盘阵列的同时,从磁盘阵列中读取与第二奇偶校验带区相关联的第四组数据,以及向磁盘阵列写入通过使用第二奇偶校验带区方程式处理第四组数据而生成的第四结果值。
18.如权利要求15所述的装置,其中所述第一和第二结果值每个包括奇偶校验值,并且所述磁盘阵列控制器被配置成写入第一和第二结果值以使第一和第二奇偶校验带区的奇偶校验和数据同步。
19.如权利要求15所述的装置,其中所述第一和第二结果值每个包括数据值,并且所述磁盘阵列控制器被配置成写入第一和第二结果值以重构磁盘阵列中磁盘的数据。
20如权利要求14所述的装置,其中,所述第三组数据与第三奇偶校验带区相关联。
21.如权利要求10所述的装置,其中所述磁盘阵列控制器被配置成通过向磁盘阵列中的第一磁盘写入结果值而向磁盘阵列中写入结果值,并且所述磁盘阵列控制器被配置成通过从不包括该第一磁盘的磁盘阵列中的磁盘子集中读取第二组数据而从磁盘阵列读取第二组数据。
CN200710100836.9A 2004-11-19 2005-11-21 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统 Active CN101059751B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/994,098 2004-11-19
US10/994,098 US20060123312A1 (en) 2004-11-19 2004-11-19 Method and system for increasing parallelism of disk accesses when restoring data in a disk array system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101267241A Division CN100345099C (zh) 2004-11-19 2005-11-21 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统

Publications (2)

Publication Number Publication Date
CN101059751A true CN101059751A (zh) 2007-10-24
CN101059751B CN101059751B (zh) 2013-06-12

Family

ID=36575805

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200710100836.9A Active CN101059751B (zh) 2004-11-19 2005-11-21 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统
CNB2005101267241A Active CN100345099C (zh) 2004-11-19 2005-11-21 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB2005101267241A Active CN100345099C (zh) 2004-11-19 2005-11-21 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统

Country Status (2)

Country Link
US (2) US20060123312A1 (zh)
CN (2) CN101059751B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI285313B (en) * 2005-06-22 2007-08-11 Accusys Inc XOR circuit, RAID device capable of recover a plurality of failures and method thereof
CN100403249C (zh) * 2006-06-19 2008-07-16 威盛电子股份有限公司 磁盘阵列及其数据存取方法
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US7788526B2 (en) * 2007-01-10 2010-08-31 International Business Machines Corporation Providing enhanced tolerance of data loss in a disk array system
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7970994B2 (en) * 2008-03-04 2011-06-28 International Business Machines Corporation High performance disk array rebuild
US8296515B1 (en) 2009-05-22 2012-10-23 Nvidia Corporation RAID-6 computation system and method
US8037391B1 (en) * 2009-05-22 2011-10-11 Nvidia Corporation Raid-6 computation system and method
US8510643B2 (en) * 2009-12-23 2013-08-13 Nvidia Corporation Optimizing raid migration performance
CN101923501B (zh) * 2010-07-30 2012-01-25 华中科技大学 一种磁盘阵列多级容错方法
US8707090B2 (en) 2011-10-19 2014-04-22 Hitachi, Ltd. Storage system
CN102419697B (zh) * 2011-11-02 2013-12-18 华中科技大学 垂直raid-6编码中单盘重构的方法
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US9594652B1 (en) * 2013-12-19 2017-03-14 Veritas Technologies Systems and methods for decreasing RAID rebuilding time
JP6273970B2 (ja) * 2014-03-28 2018-02-07 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US10528272B2 (en) * 2015-02-20 2020-01-07 International Business Machines Corporation RAID array systems and operations using mapping information
US10133630B2 (en) 2016-09-06 2018-11-20 International Business Machines Corporation Disposable subset parities for use in a distributed RAID
CN113407122B (zh) * 2016-12-21 2023-08-25 伊姆西Ip控股有限责任公司 Raid重建的方法和设备
US11537462B2 (en) * 2020-09-29 2022-12-27 Micron Technology, Inc. Apparatuses and methods for cyclic redundancy calculation for semiconductor device
CN114063908A (zh) * 2021-10-23 2022-02-18 苏州普福斯信息科技有限公司 一种基于raid的硬盘读写处理方法、设备及存储介质

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3688265A (en) 1971-03-18 1972-08-29 Ibm Error-free decoding for failure-tolerant memories
USRE34100E (en) * 1987-01-12 1992-10-13 Seagate Technology, Inc. Data error correction system
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5673412A (en) 1990-07-13 1997-09-30 Hitachi, Ltd. Disk system and power-on sequence for the same
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5537379A (en) 1991-05-10 1996-07-16 Discovision Associates Optical data storage and retrieval system and method
US5448719A (en) * 1992-06-05 1995-09-05 Compaq Computer Corp. Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure
JP2888401B2 (ja) * 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
WO1994029795A1 (en) 1993-06-04 1994-12-22 Network Appliance Corporation A method for providing parity in a raid sub-system using a non-volatile memory
US5530948A (en) 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5499253A (en) * 1994-01-05 1996-03-12 Digital Equipment Corporation System and method for calculating RAID 6 check codes
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
CN1124376A (zh) * 1994-12-06 1996-06-12 国际商业机器公司 改进的数据存储设备及操作方法
US5537534A (en) * 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
US5950225A (en) * 1997-02-28 1999-09-07 Network Appliance, Inc. Fly-by XOR for generating parity for data gleaned from a bus
US6092215A (en) * 1997-09-29 2000-07-18 International Business Machines Corporation System and method for reconstructing data in a storage array system
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US6101615A (en) * 1998-04-08 2000-08-08 International Business Machines Corporation Method and apparatus for improving sequential writes to RAID-6 devices
US6279050B1 (en) * 1998-12-18 2001-08-21 Emc Corporation Data transfer apparatus having upper, lower, middle state machines, with middle state machine arbitrating among lower state machine side requesters including selective assembly/disassembly requests
US6542960B1 (en) * 1999-12-16 2003-04-01 Adaptec, Inc. System and method for parity caching based on stripe locking in raid data storage
AU2001250942A1 (en) * 2000-03-22 2001-10-03 Interwoven, Inc. Method of and apparatus for recovery of in-progress changes made in a software application
US6370616B1 (en) * 2000-04-04 2002-04-09 Compaq Computer Corporation Memory interface controller for datum raid operations with a datum multiplier
US6766480B2 (en) * 2001-03-14 2004-07-20 Hewlett-Packard Development Company, L.P. Using task description blocks to maintain information regarding operations
US6687872B2 (en) * 2001-03-14 2004-02-03 Hewlett-Packard Development Company, L.P. Methods and systems of using result buffers in parity operations
US6567891B2 (en) * 2001-03-14 2003-05-20 Hewlett-Packard Development Company, L.P. Methods and arrangements for improved stripe-based processing
US20020194427A1 (en) * 2001-06-18 2002-12-19 Ebrahim Hashemi System and method for storing data and redundancy information in independent slices of a storage device
US6836820B1 (en) 2002-02-25 2004-12-28 Network Appliance, Inc. Flexible disabling of disk sets
US6944791B2 (en) * 2002-07-18 2005-09-13 Lsi Logic Corporation Method of handling unreadable blocks during write of a RAID device
US7065609B2 (en) 2002-08-10 2006-06-20 Cisco Technology, Inc. Performing lookup operations using associative memories optionally including selectively determining which associative memory blocks to use in identifying a result and possibly propagating error indications
US7082492B2 (en) 2002-08-10 2006-07-25 Cisco Technology, Inc. Associative memory entries with force no-hit and priority indications of particular use in implementing policy maps in communication devices
US7028136B1 (en) 2002-08-10 2006-04-11 Cisco Technology, Inc. Managing idle time and performing lookup operations to adapt to refresh requirements or operational rates of the particular associative memory or other devices used to implement the system
US6918007B2 (en) * 2002-09-09 2005-07-12 Hewlett-Packard Development Company, L.P. Memory controller interface with XOR operations on memory read to accelerate RAID operations
US7426611B1 (en) 2003-08-18 2008-09-16 Symantec Operating Corporation Method and system for improved storage system performance using cloning of cached data
JP2005115771A (ja) * 2003-10-09 2005-04-28 Hitachi Ltd ディスクアレイ装置
JP4288486B2 (ja) * 2003-11-17 2009-07-01 日本電気株式会社 ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路

Also Published As

Publication number Publication date
CN100345099C (zh) 2007-10-24
CN101059751B (zh) 2013-06-12
CN1776599A (zh) 2006-05-24
US20080046648A1 (en) 2008-02-21
US7669107B2 (en) 2010-02-23
US20060123312A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
CN100345099C (zh) 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统
CN100345098C (zh) 磁盘阵列控制器及磁盘阵列环境中的运行方法
CN100388221C (zh) 磁盘阵列从奇偶校验更新操作中断中恢复的方法和系统
CN100390746C (zh) 提高磁盘阵列奇偶校验更新的缓冲器利用率的方法和系统
CN100385405C (zh) 利用磁盘阵列奇偶校验的增强错误标识系统和方法
Gibson Redundant disk arrays: Reliable, parallel secondary storage
CN101652752B (zh) 用于独立磁盘冗余阵列(raid)系统的文件服务器
US20050229023A1 (en) Dual redundant data storage format and method
US6871317B1 (en) Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
Lee Software and Performance Issues in the Implementation of a RAID Prototype
Pirahandeh et al. Energy-aware and intelligent storage features for multimedia devices in smart classroom
US8006127B2 (en) File server for redundant array of independent disks (RAID) system
Thomasian et al. Performance of two-disk failure-tolerant disk arrays
Thomasian et al. A performance evaluation tool for RAID disk arrays
US20110185119A1 (en) Parity generator for redundant array of independent discs type memory
Curry et al. Arbitrary dimension reed-solomon coding and decoding for extended raid on gpus
US20050278612A1 (en) Storage device parity computation
US7398460B1 (en) Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US9645745B2 (en) I/O performance in resilient arrays of computer storage devices
Thomasian Clustered RAID arrays and their access costs
Wu et al. SOSRAID-6: A Self-Organized Strategy of RAID-6 in the Degraded Mode
Fu et al. Rebuild strategies for clustered redundant disk arrays
Du et al. An Advanced Data Redistribution Approach to Accelerate the Scale-Down Process of RAID-6
Lee in the Implementation of a RAID Prototype

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