买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种EVENODD码的构造方法_东莞理工学院_201880000729.5 

申请/专利权人:东莞理工学院

申请日:2018-06-01

公开(公告)日:2019-03-19

公开(公告)号:CN109496298A

主分类号:G06F11/10(2006.01)I

分类号:G06F11/10(2006.01)I

优先权:

专利状态码:失效-发明专利申请公布后的驳回

法律状态:2023.10.31#发明专利申请公布后的驳回;2019.04.12#实质审查的生效;2019.03.19#公开

摘要:本发明适用于编解码算法技术改进领域,提供了一种EVENODD码的构造方法,EVENODD码是用于纠正RAID‑6中的两磁盘故障情况的二进制阵列码,具有渐近最优化的编、解码复杂度。然而,EVENODD码的更新复杂性是次优的。我们提出了一种新的二进制MDS阵列码构造,即EVENODD+码,使得EVENODD+码的编码、解码和更新复杂度低于EVENODD。而且EVENODD+码更新复杂度能达到渐近最优化。

主权项:1.一种EVENODD+码的构造方法,其特征在于,所述EVENODD+码的构造方法包括以下步骤:S1、在m‑1×k+2的EVENODD+码的中,第j个信息列的第i个信息比特为bi,j,其中i=0,1,…,m‑2,j=0,1,…,k‑1。令bm‑1,j=0,其中j=0,1,…,k‑1,第k列即第一个校验列由以下公式计算为:取0≤i≤m‑2,第k+1列即第二个校验列由以下公式计算为:将上述方程的矩阵表示为EVENODD+m,k;m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。

全文数据:一种EVENODD码的构造方法技术领域本发明属于编解码算法技术改进领域,尤其涉及一种EVENODD码的构造方法。背景技术阵列码已经广泛应用于存储系统中,如使用廉价磁盘冗余阵列RAID[1]以提高数据可靠性。其中,RAID-6阵列码使用独立两个磁盘存储奇偶校验码,并且能容纳任意两个磁盘故障。假设一个大小为r×n的二进制阵列码,其中数组中的每个条目存储一个比特数据。阵列码的n列中,前k列称为信息列,对应为k个信息比特,剩余的n-k列称为校验列,对应为n-k个校验比特。实际上阵列码是最大距离可分码MDS。即取任意k列就能解码出原始信息比特;也就是说,可以容纳任意n-k列失效。注意这里的MDS属性是通过列权来衡量的,而不是汉明重量其中行数r取决于阵列码的结构。除了MDS属性以外,其他一些重要的性能指标,如编码复杂度即构造校验比特所需的XOR次数,解码复杂度即从存活的编码比特中恢复失效信息比特所需的XOR次数和更新复杂度即受单个信息比特变化影响的校验比特更新的平均个数。其中,更新复杂度影响小写更新的性能,并且是具有密集型更新工作负载的存储应用程序如数据库的关键指标。所以设计出尽可能低更新复杂度的阵列码具有重大意义。以往文献中有许多二进制MDS阵列码的构造方法。EVENODD码[2]和RDP码[3]是能纠正两磁盘失效的阵列码的代表。其他二进制MDS阵列码有如X-code[4],Liberationcode[5],H-code[6],C-code[7],HVcode[8]和Shortcode[9]。EVENODD码在[10]中被设计出良好的能扩展出更多校验列的代数结构。因此,在这项研究中,我们专注于扩展EVENODD码以提高其性能。发明内容本发明的目的在于提供一种EVENODD码的构造方法,旨在解决编解码复杂、更新复杂度高的技术问题。本发明是这样实现的,一种EVENODD码的构造方法,所述EVENODD码的构造方法包括以下步骤:S1、在m-1×k+2的EVENODD+码的中,第j个信息列的第i个信息比特为bi,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令bm-1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:将上述方程的矩阵表示为EVENODD+m,k;m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。本发明的进一步技术方案是:所述EVENODD+m,k中具有两个校验列,在m-1×k+2的阵列码中令j=0,1,…,k-1,前j列称为信息列,存储信息比特,令j=k,k+1,后j列称为校验列,存储校验比特。本发明的进一步技术方案是:其特征在于,所述EVENODD+m,k在m是一个奇整数且m除1之外的所有因子均与k互素时是MDS阵列码。本发明的进一步技术方案是:所述EVENODD+m,k码的编、解码和更新复杂度分别为本发明的有益效果是:新的EVENODD+码结构有效的降低了更新复杂度和编解码的难度;能容纳更多校验列的扩展构造和针对列失效情况的有效的修复算法的设计。附图说明图1是本发明实施例提供的EVENODD码的构造方法流程图。具体实施方式如图1所示,本发明提供的EVENODD码的构造方法,所述EVENODD码的构造方法包括以下步骤:S1、在m-1×k+2的EVENODD+码的中,第j个信息列的第i个信息比特为bi,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令bm-1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:将上述方程的矩阵表示为EVENODD+m,k;m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。EVENODD码通过构建一个p-1×k+2的矩阵来存储原始信息比特和校验比特,其中p为素数且p≥k。阵列码的前k列为信息列,最后两列为校验列1。令i=0,1,…,p-2,j=0,1,…,k+1,bi,j表示为矩阵中第j信息列的第i个比特。第k列中的校验比特bi,k通过以下公式计算:第k+1列中的校验比特bi,k+1通过以下公式计算:当j=0,1,…,k-1时,bp-1,j=0,同时注意:上述的下标是以模p为单位。计算得到EVENODD码的编码复杂度为p-12k-1-1,这是最优的情况[2]。但是,EVENODD码的更新复杂度为这是次优的情况。注意:具有2个校验比特的二进制MDS阵列码的最优更新复杂度为现在,我们设计出EVENODD+码,它是EVENODD码的扩展结构。EVENODD+码属于MDS码且拥有与EVENODD码相同的容错率为2的能力。在特殊情况下,它也可化简为EVENODD码。经过实验证明EVENODD+码相比于EVENODD码具有更低的编解码、更新复杂度,而且EVENODD+码的更新复杂度是渐进最优化的。EVENODD+码的设计原理如下。在原始的EVENODD码中,bp-1,k+1被添加到第k+1列中的每个校验比特,从而使得更新复杂度为次优化。因此,EVENODD+码的主要思路是保留MDS属性,但避免在第k+1列中的每个校验比特中加入一个特殊比特。这有助于EVENODD+码降低了更新复杂度。注意,这里EVENODD码的定义是指[2]中原始EVENODD码的简化版代码,我们通过从原始p-1×p+2的EVENODD码中删除p-k个信息列获得这个码。原始的EVENODD代码可以看作是当k=p的简化版EVENODD码的特例。表格I:EVENODD+9,3注:b8,4=b7,1+b6,2b0,0b0,1b0,2b0,0+b0,1+b0,2b0,0+b7,2+b8,4b1,0b1,1b1,2b1,0+b1,1+b1,2b1,0+b0,1+b8,4b2,0b2,1b2,2b2,0+b2,1+b2,2b2,0+b1,1+b0,2b3,0b3,1b3,2b3,0+b3,1+b3,2b3,0+b2,1+b1,2b4,0b4,1b4,2b4,0+b4,1+b4,2b4,0+b3,1+b2,2b5,0b5,1b5,2b5,0+b5,1+b5,2b5,0+b4,1+b3,2b6,0b6,1b6,2b6,0+b6,1+b6,2b6,0+b5,1+b4,2b7,0b7,1b7,2b7,0+b7,1+b7,2b7,0+b6,1+b5,2EVENODD+的新结构我们现在提出EVENODD+码具有两个校验列。给定一个奇整数m≥k,接下来我们定义一个大小为m-1×k+2的阵列码。令j=0,1,...,k-1,前j列称为信息列,存储信息比特,即b0,j,b1,j,...,bm-2,j。令j=k,k+1,后j列称为校验列,存储校验比特,即b0,j,b1,j,…,bm-2,j。注:下标除非另有说明,否则在整篇论文中均为取模m为单位。给定大小为m-1×k的信息阵列bi,j,其中i=0,1,…,m-2和j=0,1,…,k-1。我们假设bm-1,j=0,令j=0,1,…,k-1。第k列由以下公式计算:取0≤i≤m-21第k+1列由以下公式计算:注:我们将上述方程中定义的矩阵表示为EVENODD+m,k。EVENODD+m,k码和原始的EVENODD码的主要区别有两点。第一,在EVENODD+m,k码中每一列的比特数更加灵活,即m是一个满足定理1见第三节的奇整数,而p是EVENODD中的素数。第二,两个码中的第k+1列上的校验比特是不同的。在EVENODD+m,k中,我们只将bm-1,k+1添加到第k+1列上的前个校验比特上面,而在EVENODD码中bp-1,k+1将会被添加到第k+1列上所有的校验比特。以上两个差异使EVENODD+m,k码比EVENODD码能达到渐进最佳更新复杂度和更低的编、解码复杂度。当m=p=k时,EVENODD+m,k码可以简化为EVENODD码。表格I表明了:EVENODD+9,3码的一个例子,其中b8,4被添加到第4列中的头两个校验比特中。MDS属性将证明定理1中EVENODD+m,k码的MDS属性,同时也给出了能纠正任意两列失效情况的解码方法。定理1.EVENODD+m,k码“当且仅当”m是一个奇整数除了1之外的所有除数都大于k-1时是MDS阵列码。证明:“当”。我们注意到当m是一个奇整数时除了1之外的所有除数都大于k-1,EVENODD+m,k码是MDS阵列码。换句话说即任意两列失效后可以都重建出km-1个信息比特。重建可分为3种情况:i从所有的信息列中解码ii从任意k-1个信息列和一个校验列中解码iii从任意k-2个信息列和两个校验列中解码。首先讨论i,我们可以直接从k个信息列中获得km-1个信息比特。其次讨论ii,首先我们假设第f列和第k+1列失效,其中0≤f≤k-1。我们可以通过以下公式1恢复第f列的信息比特:bi,k+bi,0+bi,1+…+bi,f-1+bi,f+1+…+bi,k-1=bi,f取i=0,1,…,m-2。然后,我们假设第f列和第k列失效,其中0≤f≤k-1.取时,bi-f,f可以通过以下公式恢复:上面的第一个等式来自公式2。如果f=0,其他的信息比特bi,0可以通过以下公式修复:上面第一个等式来自公式2,取除此以外,如果f≥1,我们可以设则bm-f-1,f可以通过以下公式恢复:上面的第一个等式来自公式2,最后一个等式来自bm-1,f=0。现在,bm-f-1,f已经计算出来,我们可以修复bi-f,f如下:取因此我们可以通过第二种方式恢复第f列。最后,讨论iii。在不失一般性的前提下,我们假设两个失效的信息列分别是f和g,其中0≤f≤g≤k-1。当我们想解码出第f、g列时,我们首先通过将第k和k+1列的所有校验比特相加得到bm-1,k+1。方法如下:m-1,k+15在上面的等式中,3来自1和2;4来自bm-1,j=0,取j=0,1,…,k-1;5来自{-j,1-j,…,m-1-j}={0,1,…,m-1}modm,当我们让bi,k+1-bm-1,k+1同时让b′i,k+1=bi,k+1,而取最后我们通过公式2可以得到:取i=0,1,…,m-1。接着,我们取i=0,1,…,m-1,从b′i,k+1和bi,k中减去存活的k-2个信息列的k-2m-1个信息比特,然后得到如下2m个比特:bi,f+bi,g和bg-f+i,f+bi,g取i=0,1,…,m-16回顾之前,bm-1,f=bm-1,g=0,我们可推导出:然后我们计算b2g-f+m-1,f和b2g-f+m-1,g如下:当i=0,1,…,m-1,信息比特big-f+m-1,f和big-f+m-1,g可以通过下列情况迭代解码:{m-1+ig-fmodm|1≤i≤m-1}={0,…,m-2}7其中,1≤g-f≤k-1而且m的所有除数除了1都大于k-1,这时我们可以得到gcdg-f,m=1。首先我们证明当i≠j时,m-1+ig-fmodm≠m-1+jg-fmodm。如果当1≤i≤j≤m-1时m-1+ig-fmodm=m-1+jg-fmodm,则存在整数l使得m-1+jg-f=lm+m-1+ig-f上述等式可以化简为:j-ig-f=lm由于gcdg-f,m=1,所以我们得到j-i|m。但是,这是不可能的,因为1≤i≤j≤m-2。同样,我们可以证明,对于1≤i≤m-1,m-1+ig-fmodm≠m-1因此,等式7成立。所以,当m是奇数时m的所有除数除了1都大于k-1,我们可以对第f和g列解码出所有的信息比特。“当且仅当”。如果EVENODD+m,k码是MDS码,那么我们可以从任意k列中恢复所有的信息比特。考虑到我们希望从其他k-2个信息列和2个校验列中恢复第f和g列信息列的情况。通过上述iii的相同程序,如果等式7成立,我们恢复第f和g列信息列的所有信息比特。由于只有gcdg-f,m=1时公式7才成立,m的所有除数除了1都大于k-1。这就完成了证明。我们通过表格I中m=9,k=3的例子在展示iii的重建方法。假设第f和g信息列失效,其中1≤f≤g≤2。我们可以将第3、4列的所有校验比特求和来计算b8,4:在b0,4和b1,4中减去b8,4后我们可以得到18个下列比特:bi,3=bi,0+bi,1+bi,2和b′i,4=bi,0+bi-1mod9,1+bi-2mod9,2,其中i=0,1,…,8。然后从bi,3和b′i,4中减去bi,l,其中i=0,1,…,8。当l={0,1,2}\{g,f}时得到18个下列比特:bi,f+bi,g和bg-f+imod9,f+bi,gi=0,1,…,8.当b8,f=b8,g=0时,我们可以得到bg-f+imod9,f=bg-f+imod9,f+b8,g,和bg-f+imod9,g=bg-f+imod9,f+bg-f+imod9,f+bg-f+imod9,g其他信息比特可以迭代地恢复。我们注意到定理1中证明的第三种情况,通过公式3将所有2m-1个校验比特求和得到bm-1,k+1的计算过程是关键点。根据公式3,如果在第k+1列包含bm-1,k+1中有偶数个校验比特,则我们总能计算得到bm-1,k+1。这也是我们为啥把bm-1,k+1添加到第k+1列前个校验比特的原因之一。但是为了确保任意k-1个信息列和第k+1列能恢复出所有的信息比特,第k+1列包含bm-1,k+1中校验比特的数量不应少于个。复杂度分析下面的定理给出了EVENODD+m,k码的编、解码和更新复杂度。注意:我们只考虑当2个数据块失效时的解码复杂度。定理2.EVENODD+m,k码的编、解码和更新复杂度分别为证明:首先,考虑编码复杂度。根据公式1,计算第k列需要进行k-1m-1次异或运算。根据公式2,计算第k+1列需要进行k-1m-1+k-2次异或运算。因此,编码复杂度为2km-2m-k。然后考虑两数据块失效的解码复杂度。解码过程在定理1的证明中已经给出。首先,我们通过公式5计算bm-1,k+1需要2m-3次异或运算。然后通过公式6计算需要次异或运算。最后我们恢复失效的2m-1个信息比特需要2m-3次异或运算。因此,解码复杂度为最后,考虑更新复杂度。如果一个信息比特发生改变,我们平均需要更新第k列的一个校验比特和第k+1列的个校验比特。因此,更新复杂度为将归一化的编码复杂度定义为编码复杂度与信息比特数的比率,而归一化解码复杂度则定义为解码复杂度与信息比特数量的比率。通过定理2,可以得到EVENODD+m,k码的归一化编码复杂度为而EVENODD码的归一化编码复杂度为因此,当m=pk时,EVENODD+m,k码的归一化编码复杂度略小于EVENODD码。根据定理2,EVENODD+m,k码的归一化解码复杂度为而EVENODD码的则为因此,当m=pk时,EVENODD+m,k码的归一化解码复杂度略小于EVENODD码。根据定理2,EVENODD+m,k码的更新复杂度为如果m>>k,那么更新复杂度接近最优值为因此当m远大于k时,更新复杂度渐进最优化。EVENODD码的更新复杂度为当m=pk时EVENODD码的更新复杂度要严格大于EVENODD+m,k码。表格II给出了EVENODD码和EVENODD+m,k码的更新复杂度和文献[11]中的例子k=7,m=p取值范围为7~53。我们发现当m7时,EVENODD+m,k码的更新复杂度比EVENODD码更低,而且这个优势随m的增大变得更加明显。由于m=49时不是素数,我们没有在表格II中的EVENODD码和文献[11]给出结果。表格II:EVENODD码、EVENODD+m,k7码和文献[11]中的例子的更新复杂度mEVENODDEVENODD+m,k[11]例子72.71432.71432.1429112.77142.42862.0857132.78572.35712.0714172.80352.26892.0536192.80952.23812.0476232.81822.19482.0390292.82652.15312.0306312.82292.14292.0286372.83332.11902.0238412.83572.10712.0214432.83672.10202.0204472.83852.09322.018649na2.0893na532.84072.08242.0165尽管[11]中的例子具有最佳的更新复杂度,但是没有给出当两个编码列失效时怎样解码出信息比特的方法.同时,[11]中的例子中具有更多校验列的一般化也不一定是MDS码。我们提出了EVENODD+m,k码,这是EVENODD码的新构造,具有渐进最优的更新复杂度,而编、解码复杂度也略低EVENODD码.在降低复杂度的方向上我们的主要思路是只在第二个校验列中将bm-1,k+1添加到前个检验比特,而在传统的EVENODD码中则是将bp-1,k+1添加到第二个校验列的所有校验比特中.至此,我们也将研究能容纳更多校验列的扩展构造和针对列失效情况的有效的修复算法的设计。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种EVENODD+码的构造方法,其特征在于,所述EVENODD+码的构造方法包括以下步骤:S1、在m-1×k+2的EVENODD+码的中,第j个信息列的第i个信息比特为bi,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令bm-1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:将上述方程的矩阵表示为EVENODD+m,k;m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。2.根据权利要求1所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+m,k中具有两个校验列,在m-1×k+2的阵列码中令j=0,1,…,k-1,前j列称为信息列,存储信息比特,令j=k,k+1,后j列称为校验列,存储校验比特。3.根据权利要求2所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+m,k在m是一个奇整数且m除1之外的所有因子均与k互素时是MDS阵列码。4.根据权利要求3所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+m,k码的编、解码和更新复杂度分别为

百度查询: 东莞理工学院 一种EVENODD码的构造方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。