CN100495353C - 数据存储器阵列 - Google Patents

数据存储器阵列 Download PDF

Info

Publication number
CN100495353C
CN100495353C CNB2004800203903A CN200480020390A CN100495353C CN 100495353 C CN100495353 C CN 100495353C CN B2004800203903 A CNB2004800203903 A CN B2004800203903A CN 200480020390 A CN200480020390 A CN 200480020390A CN 100495353 C CN100495353 C CN 100495353C
Authority
CN
China
Prior art keywords
data storage
data
storage unit
storage subsystem
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2004800203903A
Other languages
English (en)
Other versions
CN1902592A (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 CN1902592A publication Critical patent/CN1902592A/zh
Application granted granted Critical
Publication of CN100495353C publication Critical patent/CN100495353C/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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
    • 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/1059Parity-single bit-RAID5, i.e. RAID 5 implementations
    • 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/1064Parity-single bit-RAID3, i.e. RAID 3 implementations

Abstract

一种数据存储子系统,包括:3个数据存储单元;3个校验存储单元;以及与3个数据存储单元及3个校验存储单元相连接的阵列控制器,阵列控制器能够容忍任何3个数据存储单元的故障和校验存储单元的故障,任何3个数据存储单元的故障和校验存储单元的故障可以在存储在数据存储子系统上的数据丢失之前发生。信息作为诸如Winograd码、Reed-Solomon码、EVENODD码或者EVENODD码的派生码的对称的最大距离可分码被存储在数据存储子系统上。阵列控制器确定校验存储单元的内容,使得数据存储单元和校验存储单元的任何三个疑符均可以由阵列控制器进行校正。阵列控制器仅使用六个IO操作对包含在数据存储单元和校验存储单元中的任一个存储单元中的数据块进行更新。

Description

数据存储器阵列
技术领域
本发明涉及存储系统。具体地,本发明涉及用于提供改善的存储单元的阵列的性能、保护和效率的系统和方法。
背景技术
本说明书中使用下面的定义,这些定义的目的在于描述而非限制:
“码元”是指存储单元上的数据块。
“基本阵列”是指包括用于错误或疑符(erasure)修正码的阵列单元的码元集。
“阵列”是指保持一个或多个基本阵列的存储单元集。
“条带”是指阵列中的基本阵列。
n是指基本阵列中数据单元的数量。
r是指基本阵列中冗余单元的数量。
m是指阵列中存储单元的数量。
d是指阵列的最小汉明距离。
D是指存储系统的最小汉明距离。
IOw是指执行更新写入的IO的数量。
一个阵列中存储单元的总数量为m=n+r。
存储系统通常依赖于用于防止由于存储单元的故障而导致数据丢失的RAID技术。但是,基于增加的存储单元的容量,目前的RAID设计正在达到它们的使用极限。这里所用的符号(X+Y)将被用于表示X数据单元和Y冗余单元。现在大部分的系统使用RAID5(n+1)或单个镜像(1+1)作为基本的阵列设计。这些类型的存储系统的配置具有最小汉明距离D=2,所以可以防止单个存储单元的故障。这里所用的术语“距离”是指最小汉明距离。但是,在RAID 5系统配置中,多个驱动器的故障和硬盘错误的可能已经增加了数据丢失事件的发生。实践中已经注意到了导致数据丢失的多个存储单元的丢失。
已经提出了许多阵列配置用于处理这种高故障率。例如,已经提出用于处理高故障率的方案有:具有距离D=3的RAID 6(n+2)、具有距离D=3的双镜像(1+2)以及具有距离D=4的RAID51(n+(n+2))。但是,所有这些阵列配置都有一些缺点,下面将结合表1和图2对此进行说明。
仍然需要一种在常规方法上提供改善的性能、保护和效率的阵列配置。
发明内容
本发明提供一种阵列配置,该阵列配置相比常规的方法提供了改善的性能、保护和效率。
本发明的优点由与三个数据存储单元和三个校验存储单元相连接的阵列控制器提供:(3+3)配置,这里称之为RAID 3+3阵列。信息作为对称的最大距离可分码被存储在数据存储子系统上,诸如Winograd码、EVENODD码或EVENODD码的派生码或者Reed-Solomon码。阵列控制器确定校验存储单元的内容,使得数据存储单元和校验存储单元的任何三个疑符均可以由阵列控制器进行校正。任何三个存储单元的故障,数据存储单元和校验存储单元,都可以在存储在数据存储子系统上的数据丢失之前发生。阵列控制器仅使用六个IO操作对包含在阵列中的数据块进行更新而同时保持校验存储单元的内容,从而使得数据存储单元和校验存储单元的任何三个疑符可以由阵列控制器进行校正。二个IO操作为读操作,四个IO操作为写操作。更具体地,读操作从不是正在被更新的数据存储单元中读取数据,并且四个写操作将数据写入到正在被更新的数据存储单元以及三个校验存储单元中。
附图说明
本发明通过示例而不是限制的方式在附图中进行描述,其中,相同的标号表示相同的元件,其中:
图1表示根据本发明一个实施例的RAID 3+3存储子系统;
图2表示对不同的常规系统配置和根据本发明的一个实施例的RAID 3+3系统配置的相对保护进行比较的图形。
图3表示根据本发明的一个实施例的RAID 3+3存储子系统,其中该子系统配置为多个条带,每个条带由一个RAID 3+3基本阵列组成,其中在存储单元中布置数据和检验码元用于使得存取热点最小。
具体实施方式
本发明提供一种新的存储系统配置,与以前的常规存储系统配置相比,该系统配置具有很大的优势。在这方面,本发明的存储系统配置提供了性能、保护和效率的最好的组合。本发明的存储系统配置也可以完全地使得处理错误从而增加保护等级的新技术成为可能。参见,例如,主题为“失真代码”的美国专利申请10/619,641(律师卷号ARC920030014US1)、主题为“自动奇偶变换”的美国专利10/619,649(律师卷号ARC9-2003-0015US1)以及主题为“从冗余阵列进行多路径数据检索”的美国专利申请10/619,633(律师卷号ARC9-2003-0016US1),这些专利申请在此引入作为参考。
图1表示RAID 3+3存储子系统100。子系统100包括阵列控制器101、包含数据的三个数据存储单元A、B和C以及包括冗余信息的三个检验存储单元P、Q和R。数据存储单元A、B和C以及检验存储单元P、Q和R通常为硬盘驱动器(HDD),但是在这里将称之为存储单元,因为本发明可用于从其它诸如随机存取存储器(RAM)存储器设备、光存储器设备和磁带存储器设备的存储器设备阵列构成的存储系统。存储单元A、B、C、P、Q和R通过接口102与阵列控制器101通信。阵列控制器101通过接口103与其它的控制器和主机系统(未示出)通信。这种配置允许阵列控制器101与多个存储阵列通信。
存储子系统100的配置被称为对称码,其中,数据存储单元的数量与冗余存储单元的数量相等,为MDS。阵列控制器101从数据单元的内容计算冗余信息,从而使得所有的数据可以从六个存储单元的任何三个存储单元中得到恢复。
有许多种计算冗余数据的方法。优选的方法是使用Winograd码。Winograd码是仅利用异或(XOR)操作计算冗余数据的高效的编码。有种高效的用于计算3+3码的Winograd码(如美国专利申请10/600,593(律师卷号YOR9-2003-0069US1)所述),该美国专利申请在此引入作为参考。也有仅利用XOR操作的EVENODD码的扩展,但是,它们没有Winograd码效率高。参见,例如,1995年2月出版的关于计算机的IEEE Trans.第44卷第2期第192页-第202页的由M.Blaum et al.所著的“EVENODD:An Efficient Scheme ForTolerating Double Disk Failures In A RAID Architecture”,以及由H.Jin et al.编辑、纽约州的IEEE&Wiley出版社出版的“HighPerformance Mass Storage and Parallel I/O:Technologies andApplications”的第14章第1872001页的由M.Blaum et al.所著的“The EVENODD Code and its Gerneralization”。
RAID3+3存储子系统100的数据效率为1/2。作为较大存储系统一部分的存储子系统,RAID 3+3阵列100的配置在关于故障恢复及写性能方面相比常规存储子系统具有多个优势。
例如,RAID 3+3子系统100可以容忍三个存储单元中任何存储单元的故障,而不会丢失数据集。这是最大距离可分(MDS)疑符码的特性;例如,RAID 3+3存储子系统100使用的Winograd码、EVENODD码或EVENODD码的派生码或Reed-Solomon码。故障恢复允许在不太紧急的情况下对用于常规RAID系统配置的RAID 3+3存储子系统100进行修补。也就是,通过提供更多的冗余,增加了修补断掉的子系统的机会,从而允许在出现由存储单元的故障而导致的数据丢失之前较长的间隔。另外,通过保持子系统内低的存储单元的数量,从而与使用大量存储单元的子系统相比,这就降低了每个子系统中的单元发生故障的机会。
当D≥2(即留有冗余)时在修补阶段有一个额外的好处,即,允许在该修补过程中正在使用的任何单元的进一步的可能小的数据丢失事件的恢复。另外,当一个或数个存储单元发生故障时,RAID 3+3子系统100的阵列控制器101能够修补来自返回不正确数据的任何存储单元的数据。
表1:
 
RAID配置 汉明距离 存储效率 写损失
RAID5 2 93.8% 4
Mirror 2 50% 2
RAID6 3 87.5% 6
RAID 2+2 3 50% 4
2x Mirror 3 33.3% 3
RAID n+3 4 81.3% 8
RAID 3+3 4 50% 6
RAID 51 4 43.8% 6
3x Mirror 4 25% 4
表1比较了不同的常规系统配置和根据本方明的一个实施例的RAID 3+3系统配置的数据存储效率和写性能损失。第一栏(最左边)列出了多个常规的系统配置,包括根据本发明的一个实施例的RAID 3+3系统配置。第二栏表示最小汉明距离,第三栏表示数据存储效率,第四栏表示在表1的第一栏中列出的不同系统配置的写性能损失。忽略备用的每个相应系统配置的数据存储效率值是在假定阵列大小为m=16个存储单元的情况下计算的。写性能损失值表示小块写入IO操作的数量。
图2表示对表1中所列的系统配置在一段时间上的相对保护进行比较的图形。横坐标列出了系统配置,包括根据本发明的实施例的RAID 3+3系统配置。纵坐标表示由各个系统配置提供的相对保护级,该保护级由正确的纵坐标进行量化。在图2的例子中,其中假定,阵列大小为m=16,250GB存储单元的MTBF为100万小时,硬件错误率为1/1014比特。保护级1上的水平线201表示选择的保护目标是每5年第百万存储单元出现一次数据丢失事件。从图2的左侧开始,RAID 5系统配置和镜像系统配置(均为距离D=2的方案)提供的保护级不符合所选择的保护目标(线201),表明需要提供比这两种系统配置更强的方案。距离D=3的RAID 6(n+2)系统配置具有高的效率,但是在可靠性方面则离目标很远。对称的2+2系统配置和2x镜像系统配置均为距离D=3的方案,接近所选择的保护目标(线201)。这两种系统具有相似的保护级,但是2x镜像配置设计牺牲效率以换取性能。RAID n+3系统配置为距离D=4的方案,具有高的效率,但是具有很差的写性能,其基本上与距离D=3的方案具有相同的保护级。因此,为了获得高效率需要有一个很大的可靠性的折衷。
图2中三个最右边的系统配置的均为距离D=4,并且它们都比其它6种配置要可靠得多。在这三种系统配置中,根据本发明的RAID3+3系统配置具有三个最右边的系统配置中最高的效率,并且具有与RAID 51系统配置相同的写行为。3x镜像系统设计为提高写性能牺牲了基本效率。图2中所示的所有D=4的系统配置具有足够的保护空间,足够用于存储系统的未来的换代(大于4个数量级)。
根据本发明实施例的RAID 3+3系统配置获得距离D=4,而仅需要小块写入的6个IO。
常规的更新技术用于线性MDS码以根据数据变化更新奇偶校验信息。常规的技术要求从数据驱动器中读取旧数据,从奇偶驱动器读取相应的旧奇偶校验,写新数据,计算新的奇偶校验并将该新的奇偶信息写入奇偶驱动器。这里根据数据变化更新奇偶校验的常规技术称为更新奇偶校验的“前向方法”。因此,执行前向方法的更新写入的IO的数量为:
= 2 D
第二种可用于更新MDS码中的奇偶校验的方法这里称为更新奇偶校验的“补充方法”。在该补充方法中,首先从不是正在被更新的数据驱动器中读取现存的数据,然后写入新的数据和奇偶校验值。执行该补充更新方法的更新写操作的IO的数量为:
Figure C200480020390D00103
= n + r
= m
因此,在一些情况下,补充方法比常规的前向方法更有效率。当
IOwcomp≦IOwfwd,               (3)
n+r≦2(r+1)
n≦r+2.             (4)
表达式(4)表示具有高冗余级的阵列配置通过使用更新奇偶校验的补充方法而因此具有更好的IO效率。补充方法也将IO负载更平均地在系统的存储单元中展开,因为每个设备有一个IO—或者为读或者为写。相反,前向方法包括在存取设备上进行读-修改-写操作,从而导致局部化的存取模式。当例如附近数据被缓存时,补充方法可能也具有更好的实施特征。
当补充方法被用于更新写时,n=r的对称码提供了进一步的性能优点。在对称码中,汉明距离为D=r+1。在通常的MDS情况下,执行更新的IO的数量显示为IOwfwd=2D。对于使用补充方法的对称码更新,则为:
IOw Sym = m - - - ( 5 )
= n + r
= 2 r
= 2 D - 2 .
因此,比使用前向更新方法的通常MDS码的情况下节省了两个IO。这意味着在相同写性能的情况下,对称码可以获得比通常MDS码大1的最小汉明距离。
参照图1,考虑对单元B进行更新写的情形。使用补充方法,从单元A和C中读取相关的旧数据,然后将新数据写入单元B,并将新的校验信息写到单元P、Q和R。相反,常规的前向方法则需要从单元B、P、Q和R读取相关的旧数据,然后将新数据写到B,并将新的校验信息写到P、Q和R。因此,补充方法使用6个IO,而常规的前向方法则需要8个IO。
使用3x镜像也可以获得D=4。这仅需要4个IO用于更新写,但它的效率是1/4。RAID 51系统设计及其派生设计使用前向方法及其副本可以在6个IO上获得距离D=4,但具有效率<1/2。
可以使用具有根据本发明的RAID 3+3系统配置的分布奇偶校验来避免热点。当数据存取模式被局部化时,就可能会出现热点。RAID5使用分布奇偶校验(也称为解汇聚奇偶校验)来避免由于具有专用的奇偶校验存储单元(已知为RAID 4)而引入的热点。使用前向更新方法的RAID系统将由于读-修改-写操作而在奇偶校验单元上具有热点。当使用补充更新方法的RAID系统避免这种类型的热点时,写活动将集中在校验单元上。图3表示一种在存储单元上分布奇偶校验以便获得阵列元素的均衡分布的方法。这包括将存储单元集中的数据剥成条带,使得每个存储单元具有所有类型的元素(A、B、C、P、Q和R)。参照图3,存储单元1显示为列,条带1显示为行。对于每个连续的条带各个元素从1单元旋转到右侧。很清楚,可以利用许多其它的条带配置来避免热点。
虽然本发明已经描述了从HDD存储单元构成的存储阵列,但是,本发明也可用于其它诸如随机存取存储器(RAM)存储设备、光存储设备和磁带存储设备的存储设备阵列构成的存储系统。另外,本发明也可用于虚拟存储系统中,例如从网络所附的存储器构成的阵列。本发明还可用于具有一些将冗余分量和具体的分量子集相关联的状态信息并且该状态信息可以使用外发操作被传递的任何冗余系统中。
虽然为了清楚起见已经对上述发明进行了详细的描述,但是很明显可以进行某些落入所附权利要求范围中的改变和修改。因此,本发明实施例被认为是示例性的而非限制性的,并且本发明不限于这里给出的细节,而是可以在所附的权利要求书的范围及等价方案中进行修改。

Claims (14)

1.一种数据存储子系统,包括:三个数据存储单元;三个校验存储单元;以及与所述三个数据存储单元及所述三个校验存储单元相连接的阵列控制器,所述阵列控制器确定所述校验存储单元的内容,并且所述阵列控制器使用六个IO操作对包含在所述数据存储单元和所述校验存储单元中的任一个中的数据块进行更新,使得所述数据存储单元和所述校验存储单元的任何三个疑符均能够由所述阵列控制器进行校正。
2.根据权利要求1所述的数据存储子系统,其中,信息作为对称的最大距离可分码被存储在所述数据存储子系统上。
3.根据权利要求2所述的数据存储子系统,其中,所述最大距离可分码为Winograd码。
4.根据权利要求2所述的数据存储子系统,其中,所述最大距离可分码为Reed-Solomon码。
5.根据权利要求2所述的数据存储子系统,其中,所述最大距离可分码为EVENODD码。
6.根据权利要求2所述的数据存储子系统,其中,所述最大距离可分码为EVENODD码的派生码。
7.根据权利要求1所述的数据存储子系统,其中,两个IO操作为读操作,4个IO操作为写操作。
8.根据权利要求7所述的数据存储子系统,其中,所述读操作从不是正在被更新的数据存储单元中读取数据,所述4个写操作将数据写入到正在被更新的数据存储单元以及所述的3个校验存储单元中。
9.根据权利要求1所述的数据存储子系统,其中,任何三个数据存储单元的故障和校验存储单元的故障能够在存储在所述数据存储子系统上的数据丢失之前发生。
10.根据权利要求1所述的数据存储子系统,其中,数据能够从部分可读的存储单元恢复。
11.根据权利要求1所述的数据存储子系统,其中,当所有的三个数据存储单元已经发生故障时,所述阵列控制器能够恢复任何存储在所述数据存储子系统上的数据。
12.一种对存储在数据存储子系统上的数据进行更新的方法,所述数据存储子系统包括三个数据存储单元、三个校验存储单元以及与所述三个数据存储单元和所述三个校验存储单元相连接的阵列控制器,所述阵列控制器确定所述校验存储单元的内容,从而使得所述数据存储单元和所述校验存储单元的任何三个疑符能够由所述阵列控制器校正,所述方法包括步骤:
从两个不是正在被更新的数据存储单元读取旧的数据;以及
将新的数据写入正在被更新的数据存储单元以及所述的三个校验存储单元。
13.根据权利要求12所述的方法,其中,信息作为对称的最大距离可分码被存储在所述数据存储子系统上。
14.根据权利要求13所述的方法,其中,所述最大距离可分码为Winograd码、Reed-Solomon码和EVENODD码中的一个,或者为EVENODD码的派生码。
CNB2004800203903A 2003-07-14 2004-07-07 数据存储器阵列 Active CN100495353C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/619,648 2003-07-14
US10/619,648 US7254754B2 (en) 2003-07-14 2003-07-14 Raid 3+3

Publications (2)

Publication Number Publication Date
CN1902592A CN1902592A (zh) 2007-01-24
CN100495353C true CN100495353C (zh) 2009-06-03

Family

ID=34062609

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800203903A Active CN100495353C (zh) 2003-07-14 2004-07-07 数据存储器阵列

Country Status (8)

Country Link
US (3) US7254754B2 (zh)
EP (1) EP1644819A2 (zh)
JP (1) JP2009514056A (zh)
KR (1) KR100985444B1 (zh)
CN (1) CN100495353C (zh)
CA (1) CA2532766C (zh)
TW (1) TWI338219B (zh)
WO (1) WO2005006173A2 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2348640B1 (en) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematic encoding of chain reaction codes
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
US7139960B2 (en) 2003-10-06 2006-11-21 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US7134066B2 (en) * 2003-10-20 2006-11-07 International Business Machines Corporation Generalized parity stripe data storage array
US8645622B2 (en) * 2003-11-18 2014-02-04 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors
KR101041762B1 (ko) * 2003-12-01 2011-06-17 디지털 파운튼, 인크. 통신 채널을 통해 소스로부터 목적지로 데이터를 송신 및 인코딩하는 방법
WO2005112250A2 (en) 2004-05-07 2005-11-24 Digital Fountain, Inc. File download and streaming system
JP2006268524A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd 記憶装置、その制御方法及びプログラム
US7742755B2 (en) * 2005-09-19 2010-06-22 Silverbrook Research Pty Ltd Retrieving a bill via a coded surface
US7506200B2 (en) * 2006-01-25 2009-03-17 International Business Machines Corporation Apparatus and method to reconfigure a storage array disposed in a data storage system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US7506201B2 (en) * 2006-08-28 2009-03-17 International Business Machines Corporation System and method of repair management for RAID arrays
US7702853B2 (en) * 2007-05-04 2010-04-20 International Business Machines Corporation Data storage system with power management control and method
CN101802797B (zh) 2007-09-12 2013-07-17 数字方敦股份有限公司 生成和传达源标识信息以实现可靠的通信
US8086797B2 (en) 2008-06-06 2011-12-27 Pivot3 Method and system for distributing commands to targets
US8219750B2 (en) * 2008-06-30 2012-07-10 Pivot3 Method and system for execution of applications in conjunction with distributed RAID
WO2010049276A1 (en) * 2008-10-28 2010-05-06 International Business Machines Corporation Multiple erasure protection
US8176247B2 (en) * 2008-10-28 2012-05-08 Pivot3 Method and system for protecting against multiple failures in a RAID system
US8656131B2 (en) 2008-10-31 2014-02-18 Dot Hill Systems Corporation Method and apparatus for expanding a virtual storage device
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US8392805B2 (en) 2010-07-15 2013-03-05 Hewlett-Packard Development Company, L. P. Non-MDS erasure codes for storage systems
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8386841B1 (en) * 2010-07-21 2013-02-26 Symantec Corporation Systems and methods for improving redundant storage fault tolerance
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8433979B2 (en) 2011-02-28 2013-04-30 International Business Machines Corporation Nested multiple erasure correcting codes for storage arrays
US9058291B2 (en) 2011-02-28 2015-06-16 International Business Machines Corporation Multiple erasure correcting codes for storage arrays
US8527699B2 (en) 2011-04-25 2013-09-03 Pivot3, Inc. Method and system for distributed RAID implementation
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8468423B2 (en) * 2011-09-01 2013-06-18 International Business Machines Corporation Data verification using checksum sidefile
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8874995B2 (en) * 2012-02-02 2014-10-28 International Business Machines Corporation Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
WO2014140677A1 (en) 2013-03-15 2014-09-18 Emc Corporation Offloading raid update operations to disk controllers
US10685037B2 (en) * 2013-12-18 2020-06-16 Amazon Technology, Inc. Volume cohorts in object-redundant storage systems
US9870284B2 (en) 2015-05-27 2018-01-16 International Business Machines Corporation First responder parities for storage array
WO2017039274A1 (ko) * 2015-08-30 2017-03-09 엘지전자 주식회사 무선 통신 시스템에서 클러스터 기반 협력 전송 방법 및 이를 위한 장치
US10055278B2 (en) * 2015-10-30 2018-08-21 International Business Machines Corporation Autonomic parity exchange in data storage systems
US10031803B2 (en) 2015-12-14 2018-07-24 International Business Machines Corporation Distributed coding for multiple dimensional parities
US11454448B2 (en) * 2017-11-27 2022-09-27 Dana Canada Corporation Enhanced heat transfer surface
CN109496298A (zh) * 2018-06-01 2019-03-19 东莞理工学院 一种evenodd码的构造方法
US11151056B2 (en) * 2019-04-25 2021-10-19 EMC IP Holding Company LLC Efficient virtualization layer structure for a data storage system

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU630635B2 (en) 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
US5128944A (en) * 1989-05-26 1992-07-07 Texas Instruments Incorporated Apparatus and method for providing notification of bit-cell failure in a redundant-bit-cell memory
JPH03172026A (ja) * 1989-11-30 1991-07-25 Nec Corp 符号化復号化方式
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
US5204836A (en) * 1990-10-30 1993-04-20 Sun Microsystems, Inc. Method and apparatus for implementing redundancy in parallel memory structures
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
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
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 富士通株式会社 ディスクアレイ装置
US5485571A (en) * 1993-12-23 1996-01-16 International Business Machines Corporation Method and apparatus for providing distributed sparing with uniform workload distribution in failures
US5862158A (en) * 1995-11-08 1999-01-19 International Business Machines Corporation Efficient method for providing fault tolerance against double device failures in multiple device systems
US5809332A (en) * 1996-06-03 1998-09-15 Emc Corporation Supplemental communication between host processor and mass storage controller using modified diagnostic commands
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 株式会社エクシング 音・動画再生システム
US5793683A (en) * 1997-01-17 1998-08-11 International Business Machines Corporation Wordline and bitline redundancy with no performance penalty
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
US5867433A (en) * 1997-07-11 1999-02-02 Vanguard International Semiconductor Corporation Semiconductor memory with a novel column decoder for selecting a redundant array
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 富士通株式会社 ディスクアレイ装置
KR19990051729A (ko) * 1997-12-19 1999-07-05 정선종 이중 어레이 제어기를 갖는 래이드 시스템의 구조
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
US6381715B1 (en) * 1998-12-31 2002-04-30 Unisys Corporation System and method for performing parallel initialization and testing of multiple memory banks and interfaces in a shared memory module
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
MY134095A (en) * 2000-10-23 2007-11-30 Ibm Method and apparatus for performing drive-based updates to disk array controllers
US20020069317A1 (en) * 2000-12-01 2002-06-06 Chow Yan Chiew E-RAID system and method of operating the same
US6775794B1 (en) * 2001-05-23 2004-08-10 Applied Micro Circuits Corporation Use of activity bins to increase the performance of disk arrays
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
JP2003196032A (ja) * 2001-12-26 2003-07-11 Nec Corp ストレージ装置のライトキャッシュ制御方法及びストレージ装置
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations
US7350126B2 (en) * 2003-06-23 2008-03-25 International Business Machines Corporation Method for constructing erasure correcting codes whose implementation requires only exclusive ORs
US7069382B2 (en) * 2003-09-24 2006-06-27 Aristos Logic Corporation Method of RAID 5 write hole prevention

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems. JAMES S.PLANK.SOFTWARE-PRACTICE AND EXPERIENCE,Vol.27 No.9. 1997
A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems. JAMES S.PLANK.SOFTWARE-PRACTICE AND EXPERIENCE,Vol.27 No.9. 1997 *

Also Published As

Publication number Publication date
EP1644819A2 (en) 2006-04-12
TWI338219B (en) 2011-03-01
US8108750B2 (en) 2012-01-31
WO2005006173A9 (en) 2006-02-23
US20050015700A1 (en) 2005-01-20
US20080016413A1 (en) 2008-01-17
WO2005006173A2 (en) 2005-01-20
WO2005006173A3 (en) 2006-06-08
US20080126890A1 (en) 2008-05-29
US7788569B2 (en) 2010-08-31
JP2009514056A (ja) 2009-04-02
KR20060052772A (ko) 2006-05-19
CN1902592A (zh) 2007-01-24
CA2532766C (en) 2011-04-05
US7254754B2 (en) 2007-08-07
CA2532766A1 (en) 2005-01-20
KR100985444B1 (ko) 2010-10-06
TW200515146A (en) 2005-05-01

Similar Documents

Publication Publication Date Title
CN100495353C (zh) 数据存储器阵列
US9213604B2 (en) Semiconductor memory controlling device which writes data and error correction codes into different semiconductor storage drives
CN101415024B (zh) 利用协作存储设备冗余地存储和检索数据
CN101868830B (zh) 容错非易失性集成电路存储器
CN103793182B (zh) 用于可扩展存储保护的系统和方法
CN102023815B (zh) 在固态存储器中实现raid
US6675318B1 (en) Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension
US7984325B2 (en) Storage control device, data recovery device, and storage system
CN103392172B (zh) 纠正存储阵列中的擦除
US7797611B2 (en) Creating an error correction coding scheme and reducing data loss
US7657823B1 (en) Efficient RAID ECC controller for RAID systems
EP2605140A1 (en) Parallel Reed-Solomon RAID (RS-RAID) Architecture, Device, and Method
US20080016416A1 (en) Autonomic Parity Exchange
CN102520890B (zh) 基于gpu的rs-draid系统及存储设备数据控制方法
CN104035830A (zh) 一种数据恢复方法和装置
CN103229243A (zh) 用于在非易失性存储设备中以冗余方式存储数据块的存储控制器和系统
US20050086575A1 (en) Generalized parity stripe data storage array
CN104516679A (zh) 一种raid数据处理方法及装置
CN100465908C (zh) 数据存储阵列
CN1959648B (zh) 创建纠错编码方案的方法和减少数据损失的设备
CN102411516A (zh) 一种raid5数据重建的方法及装置
JP2005166016A (ja) ディスクアレイ装置
CN116249969A (zh) 具有内置冗余的数据存储系统以及恢复和存储数据的方法
JP2006268286A (ja) ディスクアレイ装置

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

Effective date of registration: 20171107

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: 20171107

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