STAR码的编码方法及其解码方法技术

技术编号:30785543 阅读:19 留言:0更新日期:2021-11-16 07:47
本发明专利技术涉及一种STAR码的编码方法及其解码方法,在确定第二检验列的检验位与第三检验列的校验位后,再确定公共因子,最后将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。基于此,不同于传统的STAR码,仅在计算后两个校验列时,会在部分校验位上添加公共因子,有效地提高编码效率和降低更新复杂度。在获取待解码STAR码的校验列擦除情况后,根据校验列擦除情况与公共因子对待解码STAR码进行解码,恢复失效校验列。基于此,根据STAR码的公共因子在选定校验位的添加,提高STAR码的解码效率。STAR码的解码效率。STAR码的解码效率。

【技术实现步骤摘要】
STAR码的编码方法及其解码方法


[0001]本专利技术涉及信息
,特别是涉及一种STAR码的编码方法及其解码方法。

技术介绍

[0002]二进制最大距离可分(MDS)阵列码被广泛用于各类存储系统中,如廉价磁盘冗余阵列,其具有两个主要优点:(1)在给定的容错水平下,存储冗余最小化;(2)在编码和解码中只涉及异或运算。具体来说,(n,k,m)二进制MDS阵列码是大小为m
×
n的阵列,对km个信息比特进行编码以获得(n

k)m个校验比特,其中nm个比特(包括km个信息比特和(n

k)m个校验比特)存储在m
×
n阵列中。为满足MDS特性,意味着系统可以以最小的存储冗余容忍n列中的任意r=n

k个故障。为支持具有更新密集型工作负载的存储应用(例如数据库),需要构造二进制MDS阵列码,二进制阵列码在编码/解码中引起的异或数方面具有更小的编码/解码复杂度,并且在受单个信息比特变化影响的校验位的平均数量方面具有更小的更新复杂度。
[0003]目前对二进制MDS阵列码进行了很好的研究,例如,EVENODD、X码和RDP是常见的二进制MDS阵列码,可以适应任何r=2列的擦除。特别是,EVENODD码具有设计良好的数学结构,激发了许多的后续研究,例如STAR码和广义EVENODD码,STAR码使用三个校验列,而广义EVENODD码使用了两个以上的校验列扩展了EVENODD码的结构。目前,有一种EVENODD+码被提出,可以实现渐近最优的更新复杂度,但是只有r=2个校验列。另一种TIP码具有r=3个校验列,并且实现了最优的更新复杂度,但是比现有的二进制MDS阵列码(例如STAR码)具有高得多的解码复杂度。而STAR码具备具有r=3个校验列,具备三容错能力。然而,STAR码的更新复杂度较高,且编码解码也不够高效。

技术实现思路

[0004]基于此,有必要针对STAR码的更新复杂度较高,且编码解码也不够高效这一不足,提供一种STAR码的编码方法及其解码方法。
[0005]一种STAR码的编码方法,包括步骤:
[0006]确定第二检验列的检验位与第三检验列的校验位;
[0007]确定公共因子;
[0008]将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。
[0009]上述的STAR码的编码方法,在确定第二检验列的检验位与第三检验列的校验位后,再确定公共因子,最后将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。基于此,不同于传统的STAR码,仅在计算后两个校验列时,会在部分校验位上添加公共因子,有效地提高编码效率和降低更新复杂度。
[0010]在其中一个实施例中,第二检验列的校验位如下式:
[0011][0012]第三检验列的校验位如下式:
[0013][0014]其中,给定一个奇数m≥k,定义(m

1)
×
(k+3)阵列码;对于j=0,1,

,k

1,列j称为信息列,存储信息位b
0,j
,b
1,j


,b
m

2,j
;对于j=k,k+1,k+2,列j称为校验列,用于存储校验位;所有块的下标都需取模m运算;给定(m

1)
×
k位信息数组b
i,j
,i=0,1,

,m

2和j=0,1,

,k

1,为所有的j列定义一个虚拟行b
m

1,j
=0。
[0015]在其中一个实施例中,公共因子包括第一公共因子b
m

1,k+1
与第二公共因子b
m

1,k+2

[0016]其中,第一公共因子如下式:
[0017][0018]其中,第二公共因子如下式:
[0019][0020]其中,第一公共因子被添加至第二校验列,第二公共因子被添加至第三校验列。
[0021]在其中一个实施例中,将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位的过程,包括步骤:
[0022]将公共因子添加至第二检验列的个校验位与第三检验列的个校验位。
[0023]一种STAR码的编码装置,包括:
[0024]校验位确定模块,用于确定第二检验列的检验位与第三检验列的校验位;
[0025]公共因子确定模块,用于确定公共因子;
[0026]公共因子添加模块,用于将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。
[0027]上述的STAR码的编码装置,在确定第二检验列的检验位与第三检验列的校验位后,再确定公共因子,最后将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。基于此,不同于传统的STAR码,仅在计算后两个校验列时,会在部分校验位上添加公共因子,有效地提高编码效率和降低更新复杂度。
[0028]一种计算机存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现上述任一实施例的STAR码的编码方法。
[0029]上述的计算机存储介质,在确定第二检验列的检验位与第三检验列的校验位后,
再确定公共因子,最后将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。基于此,不同于传统的STAR码,仅在计算后两个校验列时,会在部分校验位上添加公共因子,有效地提高编码效率和降低更新复杂度。
[0030]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的STAR码的编码方法。
[0031]上述的计算机设备,在确定第二检验列的检验位与第三检验列的校验位后,再确定公共因子,最后将公共因子添加至第二检验列的选定检验位与第三检验列的选定检验位。基于此,不同于传统的STAR码,仅在计算后两个校验列时,会在部分校验位上添加公共因子,有效地提高编码效率和降低更新复杂度。
[0032]一种STAR码的解码方法,包括步骤:
[0033]获取待解码STAR码的信息列和校验列擦除情况;
[0034]根据信息列和校验列擦除情况与公共因子对待解码STAR码进行解码,恢复失效信息列和校验列。
[0035]上述的STAR码的解码方法,在获取待解码STAR码的信息列和校验列擦除情况后,根据信息列和校验列擦除情况与公共因子对待解码STAR码进行解码,恢复失效信息列和校验列。基于此,根据STAR码的公共因子在选定校验位的添加,提高STAR码的解码效率。
[0036]在其中一个实施例中,根据信息列和校验列擦除情况与公共因子对待解码STAR码进行解码的过程,包括步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种STAR码的编码方法,其特征在于,包括步骤:确定第二检验列的检验位与第三检验列的校验位;确定公共因子;将所述公共因子添加至所述第二检验列的选定检验位与所述第三检验列的选定检验位。2.根据权利要求1所述的STAR码的编码方法,其特征在于,所述第二检验列的校验位如下式:所述第三检验列的校验位如下式:其中,给定一个奇数m≥k,gcd(m,l)=1,l=1,2,

,k

1,定义(m

1)
×
(k+3)阵列码;对于j=0,1,

,k

1,列j称为信息列,存储信息位n
0,j
,b
1,j


,b
m

2,j
;对于j=k,k+1,k+2,列j称为校验列,用于存储校验位;所有块的下标都需取模m运算;给定(m

1)
×
k位信息数组b
i,j
,i=0,1,

,m

2和j=0,1,

,k

1,为所有的j列定义一个虚拟行b
m

1,j
=0。3.根据权利要求2所述的STAR码的编码方法,其特征在于,所述公共因子包括第一公共因子b
m

1,k+1
与第二公共因子b
m

1,k+2
;其中,第一公共因子如下式:其中,第二公共因子如下式:其中,第一公共因子被添加至所述第二校验...

【专利技术属性】
技术研发人员:侯韩旭李柏晴付宏
申请(专利权)人:东莞理工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1