CN104881365A - 基于纠删码相似性的raid-6可扩展方法 - Google Patents

基于纠删码相似性的raid-6可扩展方法 Download PDF

Info

Publication number
CN104881365A
CN104881365A CN201510291852.5A CN201510291852A CN104881365A CN 104881365 A CN104881365 A CN 104881365A CN 201510291852 A CN201510291852 A CN 201510291852A CN 104881365 A CN104881365 A CN 104881365A
Authority
CN
China
Prior art keywords
disk
code
block
check
rang
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.)
Pending
Application number
CN201510291852.5A
Other languages
English (en)
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201510291852.5A priority Critical patent/CN104881365A/zh
Publication of CN104881365A publication Critical patent/CN104881365A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种基于纠删码相似性的RAID-6可扩展方法,本发明提出了一整套框架,用于扩展基于MDS编码的RAID-6冗余磁盘阵列,它统一地管理多种MDS编码,以此来达到更高的扩展性,在这个框架中,我们还设计了一系列中间编码,这些中间编码相互间非常容易转换,同时具有各个MDS编码的特性,成为将这些MDS编码联系在一起的纽带,本发明能支持灵活、高效的磁盘阵列规模扩展,与传统的RAID扩展方案相比,该方法减少了多达44.1%的IO数量,减少95.2%的时间消耗,将数据迁移速度提升了20倍。

Description

基于纠删码相似性的RAID-6可扩展方法
技术领域
本发明涉及一种基于纠删码相似性的RAID-6可扩展方法。
背景技术
随着存储系统中多盘同时出错的几率越来越高,冗余磁盘阵列,尤其是能支持双盘同时失效的RAID-6阵列,受到了人们广泛关注。传统的RAID-6实现是基于各种纠删码技术,而其中的一类称之为最大距离可分编码(MDS)的技术,在RAID-6系统中更为流行。MDS编码可以被归类为水平编码和垂直编码。现有的RAID-6编码:RAID-6编码的实现很多是基于纠删码。纠删码还可以细分为两类:最大距离可分码(MDS)与非最大距离可分码(non-MDS)。在RAID-6中,最大距离可分编码又可以细分为两类:水平编码和垂直编码。水平编码包括了Reed-Solomon Code,X-Code,HDP,H-Code,EVENODD,RDP等等。
RAID-6调整规模所期望具有的特点:在调整磁盘阵列的规模时,我们需要通过移动一些数据,使得在调整过后,数据在磁盘上的分布仍然均匀。在数据迁移的过程中,我们更希望在各个磁盘上保持均匀的工作负载,并且移动尽可能少的数据块和校验块。这里总结出六点在调整阵列规模中,我们希望调整算法能达到的特性:
1)数据均匀分布,每个磁盘具有相同数量的数据块和校验块,从而保持负载均衡;
2)最少的数据/校验块移动。增加m块磁盘的理论最少移动数量为而减少m块磁盘的理论最少移动数为
3)快速寻址,在完成磁盘调整规模后,块在阵列中的物理地址仍然可以用很小的代价计算出来;
4)最少校验盘修改与计算。在扩容中,一次数据块移动会带来其原有校验块的修改,以及新位置所对应的校验块的修改,因此这一部分代价应当尽可能小;
5)支持双向扩展。一个理想的阵列规模调整算法,应当同时支持增加磁盘和减少磁盘;
6)最小颗粒度。任何情况下能支持增加或减少一块磁盘。
发明内容
本发明的目的在于提供一种基于纠删码相似性的RAID-6可扩展方法,能够支持灵活的磁盘阵列规模扩展。
为解决上述问题,本发明提供一种基于纠删码相似性的RAID-6可扩展方法,包括:
对于任意一种MDS编码,假定它的名称为Code-X,支持p+x块磁盘,p为质数,1≤x≤2,按照以下规则为Code-X扩展m块磁盘,|m|≤3:
若-1≤x+m≤2,则从当前的MDS编码Code-X出发,分m次扩展,每次扩展出一块磁盘,最终我们会得到Sp+x+m-Code,扩展的路径是Code-X→Sp+x-Code→Sp+x+1-Code→…→Sp+x+m-Code,其中,Sp+x-Code表示p+x块磁盘的校验盘的编码,Sp+x+1-Code表示p+x+1块磁盘的校验盘的编码,Sp+x+m-Code表示p+x+m块磁盘的校验盘的编码;
若x+m<-1或者x+m>2,找到一个新的p'满足-1≤x+m-(p-p')≤2,从p+x块磁盘扩展到p'+x块磁盘,再从当前的p'+x块磁盘出发,分m次扩展,每次扩展出一块磁盘。
进一步的,在上述方法中,对于Sp-1-Code的校验盘的编码方式如下:
C i , i = Σ j = 0 p - 2 C i , j ( j ≠ i , j ≠ p - 2 - i ) C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i ) ,
其中,0≤i≤p-2,0≤j<n,n表示扩展前磁盘阵列的数量,n为正整数,Ci,i表示磁盘阵列中第i行第i列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块。
进一步的,在上述方法中,Sp-1-Code解码的方程如下:
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) ,
其中,失效的磁盘编号为f1,需要恢复的块为
进一步的,在上述方法中,对于Sp-Code的校验盘的编码方式如下:
C i , p - 1 = Σ j = 0 p - 2 C i , j C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i ) ,
其中,Ci,p-1表示磁盘阵列中第i行第p-1列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块,〈p-3-i-j〉p表示将p-3-i-j的值对p取模。
进一步的,在上述方法中,Sp-Code解码的方程如下:
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) .
进一步的,在上述方法中,Sp+1-Code的校验盘的编码方式如下:
C i , p = Σ j = 0 p - 2 C i , j C i , p - i - 1 = Σ j = 0 p - 1 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 1 - i ) ,
其中,Ci,p表示磁盘阵列中第i行第p列的校验块,Ci,p-i-1磁盘阵列中第i行第p-i-1列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块。
进一步的,在上述方法中,Sp+1-Code的解码方式如下:
r = ⟨ p - 2 - i - f 1 ⟩ p C i , f 1 = C r , p - 1 - r ⊕ Σ j = 0 p - 1 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) .
与现有技术相比,本发明通过对于任意一种MDS编码,假定它的名称为Code-X,支持p+x块磁盘,p为质数,1≤x≤2,按照以下规则为Code-X扩展m块磁盘,|m|≤3,若-1≤x+m≤2,则从当前的MDS编码Code-X出发,分m次扩展,每次扩展出一块磁盘,最终我们会得到Sp+x+m-Code,扩展的路径是Code-X→Sp+x-Code→Sp+x+1-Code→…→Sp+x+m-Code,其中,Sp+x-Code表示p+x块磁盘的校验盘的编码,Sp+x+1-Code表示p+x+1块磁盘的校验盘的编码,Sp+x+m-Code表示p+x+m块磁盘的校验盘的编码;若x+m<-1或者x+m>2,找到一个新的p'满足-1≤x+m-(p-p')≤2,从p+x块磁盘扩展到p'+x块磁盘,再从当前的p'+x块磁盘出发,分m次扩展,每次扩展出一块磁盘,能够支持灵活、高效的磁盘阵列规模扩展
附图说明
图1是本发明一实施例的基于纠删码相似性的RAID-6可扩展方法的三层结构图;
图2是本发明一实施例的S-code的解码方式示意图;
图3是本发明一实施例的从Sp-1-Code到Sp-Code之间的扩容示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提供一种基于纠删码相似性的RAID-6可扩展方法,包括:
对于任意一种MDS编码,假定它的名称为Code-X,支持p+x块磁盘,p为质数,1≤x≤2,按照以下规则为Code-X扩展m块磁盘,|m|≤3:
若-1≤x+m≤2,则从当前的MDS编码Code-X出发,分m次扩展,每次扩展出一块磁盘,最终我们会得到Sp+x+m-Code,扩展的路径是Code-X→Sp+x-Code→Sp+x+1-Code→…→Sp+x+m-Code,其中,Sp+x-Code表示p+x块磁盘的校验盘的编码,Sp+x+1-Code表示p+x+1块磁盘的校验盘的编码,Sp+x+m-Code表示p+x+m块磁盘的校验盘的编码;
若x+m<-1或者x+m>2,找到一个新的p'满足-1≤x+m-(p-p')≤2,从p+x块磁盘扩展到p'+x块磁盘,再从当前的p'+x块磁盘出发,分m次扩展,每次扩展出一块磁盘。具体的,对于任意一种MDS编码(假定它的名称为Code-X,支持p+x块磁盘),我们按照以下规则为其扩展m块磁盘:
(1)如果-1≤x+m≤2,我们就分m次扩展,每次扩展出一块磁盘。我们从当前的MDS编码出发,最终我们会得到Sp+x+m-Code,而扩展的路径是:Code-X→Sp+x-Code→Sp+x+1-Code→…→Sp+x+m-Code
(2)如果x+m<-1或者x+m>2,我们需要找到一个新的p'满足-1≤x+m-(p-p')≤2。首先,我们从p+x块磁盘扩展到p'+x块磁盘,这一过程完全在基于Code-X完成,现有的一些方法可以帮助加速这一步骤。
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,Sp-1-Code的校验盘的编码方式如下:
C i , i = Σ j = 0 p - 2 C i , j ( j ≠ i , j ≠ p - 2 - i ) C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i ) ,
其中,0≤i≤p-2,0≤j<n,n表示扩展前磁盘阵列的数量,n为正整数,Ci,i表示磁盘阵列中第i行第i列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块。
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,Sp-1-Code解码的方程如下:
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) ,
其中,失效的磁盘编号为f1,需要恢复的块为
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,对于Sp-Code的校验盘的编码方式如下:
C i , p - 1 = Σ j = 0 p - 2 C i , j C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i ) ,
其中,Ci,p-1表示磁盘阵列中第i行第p-1列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块。
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,Sp-Code解码的方程如下:
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) .
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,Sp+1-Code的校验盘的编码方式如下:
C i , p = Σ j = 0 p - 2 C i , j C i , p - i - 1 = Σ j = 0 p - 1 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 1 - i ) ,
其中,Ci,p表示磁盘阵列中第i行第p列的校验块,Ci,p-i-1磁盘阵列中第i行第p-i-1列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第〈p-3-i-j〉p行第j列的数据块或校验块,〈p-3-i-j〉p表示将p-3-i-j的值对p取模。
本发明的基于纠删码相似性的RAID-6可扩展方法的一优选的实施例中,Sp+1-Code的解码方式如下:
r = ⟨ p - 2 - i - f 1 ⟩ p C i , f 1 = C r , p - 1 - r ⊕ Σ j = 0 p - 1 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) .
详细的,为了克服RAID-6系统的调整规模问题,本发明提出一种统一化管理MDS编码以及支持双向扩展(增加/减少磁盘)的框架。图1展示了该方法的三层结构,最上层是管理层,然后是中间编码层,最下面是MDS编码仓库。
管理层(Management Layer,ML)包括了一个统一管理MDS编码的用户接口,以及实现阵列规模调整的代码。管理层提供的接口包括提供MDS编码的信息,以及提供增加磁盘/减少磁盘的操作。
中间编码层(Intermediate Code Layer,ICL)包括了中间可扩展编码(ScalableIntermediate Code,S-Code),这套编码是RAID-6系统在磁盘数量为p-1,p,p+1,p+2四种情形时的解决方案,即四种MDS编码,其中p是一个质数。
下面我们把这四种编码分别记作Sp-1-Code,Sp-Code,Sp+1-Code和Sp+2-Code。这四种S-Code之间有着极为相似的设计,因此在它们之间相互转换的代价很小。每一种S-Code都可以与一种现实系统中的MDS编码对应,于是我们通过易于相互转化的S-Code,将多种不同的MDS编码联系在一起。
MDS Code Repos itory,MCR)包括了一些现有的MDS编码方案,例如EVENODD,RDP,H-Code,HDP等。当一个新的MDS编码加入到编码仓库中时,它与中间编码联系将被建立起来。
所述磁盘扩展的过程,我们先定义两种类型的扩展,一种叫高效扩展(下称HE,High Efficiency),另一种叫低效扩展(下称LE,Low Efficiency)。HE能以很少的代价实现在MDS编码之间的双向扩展,这些代价包括数据迁移量,校验修改量,计算量,等等。
中间编码层:在这一部分,我们介绍在该方法用于将MDS编码联系起来的中间编码S-Code。适用于不同磁盘数量的S-Code之间有很强的相似性。这四种中间编码的适用磁盘数量和设计思路如下(设p为一个质数):
Sp-1-Code:适用于p-1块磁盘(一种HDP编码的变种)
Sp-Code:适用于p块磁盘(缩减版的Sp+1-Code)
Sp+1-Code:适用于p+1块磁盘(一种H-Code的变种)
Sp+2-Code:适用于p+1块磁盘(即EVENODD编码)
如图2所示,编码与解码:假设Cij表示磁盘阵列中第i行第j列的数据块或校验块,其中0≤i≤p-2,0≤j<n。
Sp-1-Code的校验盘的编码方式如下:
C i , i = Σ j = 0 p - 2 C i , j ( j ≠ i , j ≠ p - 2 - i ) C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i )
Sp-1-Code解码的方程如下(假设失效的磁盘编号为f1,需要恢复的块为):
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p )
对于Sp-Code的校验盘的编码方式如下:
C i , p - 1 = Σ j = 0 p - 2 C i , j C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i )
Sp-Code的解码方式如下:
r = ⟨ p - 3 - i - f 1 ⟩ p C i , f 1 = C r , p - 2 - r ⊕ Σ j = 0 p - 2 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p )
Sp+1-Code的校验盘的编码方式如下:
C i , p = Σ j = 0 p - 2 C i , j C i , p - i - 1 = Σ j = 0 p - 1 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 1 - i )
Sp+1-Code的解码方式如下:
r = ⟨ p - 2 - i - f 1 ⟩ p C i , f 1 = C r , p - 1 - r ⊕ Σ j = 0 p - 1 C ⟨ i + f 1 - j ⟩ p , j ( j ≠ f 1 , j ≠ ⟨ i + f 1 + 1 ⟩ p ) .
对于S-Code的观察:仔细研究上述几种S-Code之间的相似性,我们可以得出以下观察结果:
1)数据块数量的改变:对于固定的质数p,Sk-Code(p-1≤k≤p+2),即有k个磁盘的S-Code,在每个编码条带中,数据块的数量为(p-1)×(k-2),而校验块的数量恒定为2(p-1);
2)校验链长度的改变:校验链定义为一个校验块的计算所涉及到的其他数据块或校验块的集合。当S-Code的磁盘数量改变时,校验链的长度也随之发生改变;
3)校验块生成的复杂性的改变由于校验链的长度随磁盘数量增加,其编码的复杂性也增加。
统一化用户管理接口:统一化用户管理接口可以提供该方法中MDS编码的信息,以及提供增加、删除MDS编码的流程。它提供的MDS编码信息包含了编码名称,提供磁盘的数量,编码与解码的方程,等等。添加一个编码的算法描述如下:
高效扩展与低效扩展:假设磁盘阵列中,总的数据量为B,根据RAID-0的扩展结果,在n块磁盘的基础上增加m块磁盘,能达到数据分布均衡的最小移动数据的量为mB/(n+m)。相似地,从n块磁盘中减少m块磁盘,为了达到数据分布均衡,最少的数据移动量为|m|B/n。
在RAID-6中,等量与两块磁盘的容量用作校验块,而实际数据块占据了n-2块磁盘,因此最优的数据或校验移动在增加和减少m块磁盘时,分别变成mB/(n-2+m)和|m|B/(n-2),由此可以算出,增加或减少一块磁盘时,需要移动的数据总量约为:
1 2 ( B n - 2 + 1 + B n - 2 ) ≈ B n - 2
由这一等式,我们给出高效扩展(HE)的定义:
定义1:对于任意两个编码Code-X1与Code-X2,假设这两种编码分别支持p+x1和p+x2块磁盘,并且-1≤x1≤x2≤2,|x1-x2|≤1,如果数据块与校验块在任意一个转换方向上(Code-X1扩展到Code-X2,或Code-X2缩减到Code-X1)需要的移动量不超过B/(p-x1+2),那么它们之间的转换就被认为是高效扩展,反之则是低效扩展。
扩展算法:该方法中的扩展算法来自于不同MDS编码的格局上的差异。两种编码的差异越小,扩展算法就会越简单。参考图3,下述算法2描述了这一快速转换的具体步骤(在第一列增加一个空磁盘,然后将其余磁盘的数据移过来,从而保证数据分布的均衡)。
综上所述,如何能让基于MDS编码的RAID-6磁盘阵列拥有良好的扩展能力,是当下人们所面临的一个重大挑战,为了应对这个挑战,我们提出了一整套框架,用于扩展基于MDS编码的RAID-6冗余磁盘阵列,它统一地管理多种MDS编码,以此来达到更高的扩展性,在这个框架中,我们还设计了一系列中间编码,这些中间编码相互间非常容易转换,同时具有各个MDS编码的特性,成为将这些MDS编码联系在一起的纽带,本发明能支持灵活、高效的磁盘阵列规模扩展,与传统的RAID扩展方案相比,该方法减少了多达44.1%的IO数量,减少95.2%的时间消耗,将数据迁移速度提升了20倍。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (7)

1.一种基于纠删码相似性的RAID-6可扩展方法,其特征在于,包括:
对于任意一种MDS编码,假定它的名称为Code-X,支持p+x块磁盘,p为质数,1≤x≤2,按照以下规则为Code-X扩展m块磁盘,|m|≤3:
若-1≤x+m≤2,则从当前的MDS编码Code-X出发,分m次扩展,每次扩展出一块磁盘,最终我们会得到Sp+x+m-Code,扩展的路径是Code-X→Sp+x-Code→Sp+x+1-Code→…→Sp+x+m-Code,其中,Sp+x-Code表示p+x块磁盘的校验盘的编码,Sp+x+1-Code表示p+x+1块磁盘的校验盘的编码,Sp+x+m-Code表示p+x+m块磁盘的校验盘的编码;
若x+m<-1或者x+m>2,找到一个新的p'满足-1≤x+m-(p-p')≤2,从p+x块磁盘扩展到p'+x块磁盘,再从当前的p'+x块磁盘出发,分m次扩展,每次扩展出一块磁盘。
2.如权利要求1所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,对于Sp-1-Code的校验盘的编码方式如下:
C i , i = Σ j = 0 p - 2 C i , j ( j ≠ i , j ≠ p - 2 - i ) C i , p - 2 - i = Σ j = 0 p - 2 C ⟨ p - 3 - i - j ⟩ p , j ( j ≠ p - 2 - i ) ,
其中,0≤i≤p-2,0≤j<n,n表示扩展前磁盘阵列的数量,n为正整数,Ci,i表示磁盘阵列中第i行第i列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第<p-3-i-j>p行第j列的数据块或校验块,<p-3-i-j>p表示将p-3-i-j的值对p取模。
3.如权利要求2所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,Sp-1-Code解码的方程如下:
r = &lang; p - 3 - i - f i &rang; p C i , f 1 = C r , p - 2 - r &CirclePlus; &Sigma; j = 0 p - 2 C &lang; i + f 1 - j &rang; p , j ( j &NotEqual; f 1 , j &NotEqual; &lang; i + f 1 + 1 &rang; p ) ,
其中,失效的磁盘编号为f1,需要恢复的块为Ci,f1
4.如权利要求3所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,对于Sp-Code的校验盘的编码方式如下:
C i , p - 1 = &Sigma; j = 0 p - 2 C i , j C i , p - 2 - i = &Sigma; j = 0 p - 2 C &lang; p - 3 - i - j &rang; p , j ( j &NotEqual; p - 2 - i ) ,
其中,Ci,p-1表示磁盘阵列中第i行第p-1列的校验块,Ci,p-2-i磁盘阵列中第i行第p-2-i列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第<p-3-i-j>p行第j列的数据块或校验块。
5.如权利要求4所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,Sp-Code解码的方程如下:
r = &lang; p - 3 - i - f i &rang; p C i , f 1 = C r , p - 2 - r &CirclePlus; &Sigma; j = 0 p - 2 C &lang; i + f 1 - j &rang; p , j ( j &NotEqual; f 1 , j &NotEqual; &lang; i + f 1 + 1 &rang; p ) .
6.如权利要求5所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,Sp+1-Code的校验盘的编码方式如下:
C i , p = &Sigma; j = 0 p - 2 C i , j C i , p - i - 1 = &Sigma; j = 0 p - 1 C &lang; p - 3 - i - j &rang; p , j ( j &NotEqual; p - 1 - i ) ,
其中,Ci,p表示磁盘阵列中第i行第p列的校验块,Ci,p-i-1磁盘阵列中第i行第p-i-1列的校验块,Cij表示磁盘阵列中第i行第j列的数据块或校验块,表示磁盘阵列中第<p-3-i-j>p行第j列的数据块或校验块。
7.如权利要求6所述的基于纠删码相似性的RAID-6可扩展方法,其特征在于,Sp+1-Code的解码方式如下:
r = &lang; p - 2 - i - f 1 &rang; p C i , f 1 = C r , p - 1 - r &CirclePlus; &Sigma; j = 0 p - 1 C &lang; i + f 1 - j &rang; p , j ( j &NotEqual; f 1 , j &NotEqual; &lang; i + f 1 + 1 &rang; p ) .
CN201510291852.5A 2015-05-31 2015-05-31 基于纠删码相似性的raid-6可扩展方法 Pending CN104881365A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510291852.5A CN104881365A (zh) 2015-05-31 2015-05-31 基于纠删码相似性的raid-6可扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510291852.5A CN104881365A (zh) 2015-05-31 2015-05-31 基于纠删码相似性的raid-6可扩展方法

Publications (1)

Publication Number Publication Date
CN104881365A true CN104881365A (zh) 2015-09-02

Family

ID=53948867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510291852.5A Pending CN104881365A (zh) 2015-05-31 2015-05-31 基于纠删码相似性的raid-6可扩展方法

Country Status (1)

Country Link
CN (1) CN104881365A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293526A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种三盘容错阵列的可扩展方法及系统
CN109062724A (zh) * 2018-07-21 2018-12-21 湖北大学 一种纠删码转换方法及终端
WO2020029417A1 (zh) * 2018-08-09 2020-02-13 东莞理工学院 一种二进制mds阵列编码的编码框架方法
CN111831223A (zh) * 2020-06-19 2020-10-27 华中科技大学 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN112799604A (zh) * 2021-03-18 2021-05-14 河北工业大学 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012792A (zh) * 2010-11-02 2011-04-13 华中科技大学 一种快速重构的raid-6编码及重构方法
CN102419697A (zh) * 2011-11-02 2012-04-18 华中科技大学 垂直raid-6编码中单盘重构的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012792A (zh) * 2010-11-02 2011-04-13 华中科技大学 一种快速重构的raid-6编码及重构方法
CN102419697A (zh) * 2011-11-02 2012-04-18 华中科技大学 垂直raid-6编码中单盘重构的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHENTAO WU, XUBIN HE: "A Flexible Framework to Enhance RAID-6 Scalability via Exploiting the Similarities among MDS Codes", 《2013 42ND INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293526A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种三盘容错阵列的可扩展方法及系统
CN106293526B (zh) * 2016-08-05 2019-04-12 上海交通大学 一种三盘容错阵列的可扩展方法及系统
CN109062724A (zh) * 2018-07-21 2018-12-21 湖北大学 一种纠删码转换方法及终端
CN109062724B (zh) * 2018-07-21 2019-04-05 湖北大学 一种纠删码转换方法及终端
WO2020029417A1 (zh) * 2018-08-09 2020-02-13 东莞理工学院 一种二进制mds阵列编码的编码框架方法
CN111831223A (zh) * 2020-06-19 2020-10-27 华中科技大学 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN111831223B (zh) * 2020-06-19 2021-06-11 华中科技大学 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN112799604A (zh) * 2021-03-18 2021-05-14 河北工业大学 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法
CN112799604B (zh) * 2021-03-18 2022-06-17 河北工业大学 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法

Similar Documents

Publication Publication Date Title
CN104881365A (zh) 基于纠删码相似性的raid-6可扩展方法
CN103336785B (zh) 一种基于网络编码的分布式存储方法及其装置
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN104868925A (zh) 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN106788891A (zh) 一种适用于分布式存储的最优局部修复码构造方法
CN105703782B (zh) 一种基于递增移位矩阵的网络编码方法及系统
CN111078460B (zh) 一种快速纠删码计算方法
US20160274972A1 (en) Mds erasure code capable of repairing multiple node failures
CN103746774A (zh) 一种高效数据读取的容错编码方法
CN104407807A (zh) 一种针对rs编码存储集群的存储扩容方法
CN105811996B (zh) 一种基于准循环ldpc的数据处理方法及系统
Yang et al. A systematic piggybacking design for minimum storage regenerating codes
CN103593253A (zh) 一种基于异或的垂直raid-6编码方法
CN105356968A (zh) 基于循环置换矩阵的网络编码的方法及系统
CN102843212B (zh) 编解码处理方法及装置
CN104866244A (zh) 一种平衡条带写的raid-6i/o调度方法
CN105808170A (zh) 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法
CN109358980A (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN114115729B (zh) 一种raid下的高效数据迁移方法
US20150227425A1 (en) Method for encoding, data-restructuring and repairing projective self-repairing codes
CN104866243A (zh) 优化输入输出负载的raid-6横向斜向校验编码及解码方法
CN103023515B (zh) 基于块列循环的cmmb中ldpc编码器和编码方法
Ivanichkina et al. Mathematical methods and models of improving data storage reliability including those based on finite field theory
CN106788455B (zh) 一种基于包的最优局部可修复系统码的构造方法
CN110268397B (zh) 应用于数据仓库系统的高效优化数据布局方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150902

WD01 Invention patent application deemed withdrawn after publication