18颗粒任意位宽存储接口的单颗粒容错方法技术

技术编号:8323305 阅读:199 留言:0更新日期:2013-02-14 00:25
一种18颗粒任意位宽存储接口的单颗粒容错方法,包括:采用256+32编码形式的纠错编码矩阵,并采用数据纵向积累校验字的方式进行校验;其中,纠错编码矩阵包括288行32列,其中纠错编码矩阵自上而下分为18个子矩阵,每个子矩阵包括16行32列;其中,在用Hi表示纠错编码矩阵的第i行、用Erj和Eri以及Ebi和Ebj表示单位矩阵情况下,纠错编码矩阵H满足以下3个条件:第一,任意子矩阵内各行向量线性不相关;第二,任意两个子矩阵满足Hi*Eri!=Hj*Erj(i!=j),Erj和Eri的取值范围为{1,2,3,4,5,6,…255};第三,任意三个子矩阵满足Hi*Ebi+Hj*Ebj!=Hk*Erk(i!=j),Ebi,Ebj取值范围为{1,2,4,8,16,32,…128}。本发明专利技术提供了一种能够针对18片任意位宽颗粒的存储接口提供单颗粒容错能力、且能高效检出双颗粒故障的单颗粒容错方法。

【技术实现步骤摘要】

本专利技术涉及计算
,更具体地说,本专利技术涉及一种。
技术介绍
存储接口纠错技术是提升数据安全、保障系统可靠性的一种重要措施,目前比较普遍的是采用64+8纠单错编码技术,即每64位数据扩展8位校验码,可以纠正任何一位数据(或校验位)的误码。对于一些需要更高可靠性级别的系统比如高可靠服务器,一些大公司采用了单颗粒故障容错技术,通过一些手段可以纠正任何一个存储颗粒的任意误码。例如,IBM公司采用了 ChipKill技术(该技术及其名称为IBM公司拥有专利),SUN 公司米用Extended ECC技术,HP公司米用ChipSpare技术,Intel公司为SDDC技术。这些技术及专利,都可以容忍或纠正单颗粒故障,这些技术从原理上可分为以下三类I)校验字分散;其中将一个完整校验字数据分布在不同的颗粒上,使得任意颗粒上属于同一校验字的数据不超过最大纠错能力;这样任意颗粒故障,对于每一个受影响的校验字来说,都属于可纠正错误,因而可以容忍单颗粒故障。以64+8编码为例,将72位数据分布在72片不同的存储颗粒上,对于X4类型颗粒,就有4个64+8校验字,任意颗粒故障, 将同时影响4个校验字,但对于每个校验字都是只有I位错误,因此都属于可纠正错。2)提升编码纠错能力;其中采用更有效率的纠错码技术,目前常见的有128+16编码,可以纠正对界的4位以内任意故障,因此,对于不大于X4类型的存储颗粒,都可以容忍单颗粒故障。3)增加校验位开销;其中扩展了校验位开销,目前见到的有128+24编码,可以纠正对界的8位以内任意故障,因此,对于不大于X8类型的存储颗粒,都可以容忍单颗粒故障。但是,目前各大公司现有的单颗粒容错方法,都无法解决以下问题1)对于18片颗粒的存储接口,都无法做到单颗粒容错;2)对于X8颗粒的存储接口,都无法用1/9的校验开销,在单颗粒容错的同时,做到高效率的双颗粒故障检错,目前能做到X8颗粒单颗粒容错的技术只有128+16的所罗门编码技术,但是其检出双颗粒故障的概率只有93% ;3)对于X16颗粒的存储接口,都无法用1/9的校验开销,做到单颗粒容错。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种一种能够针对18片任意位宽颗粒(理论上支持X1/X2/X4/X8/X16)的存储接口提供单颗粒容错能力、 并且能高效率的检出双颗粒故障(检出率大于99. 36%)的单颗粒容错方法。根据本专利技术,提供了一种,其特征在于包括采用256+32编码形式的纠错编码矩阵,并采用数据纵向积累校验字的方式进行校验;其中,纠错编码矩阵包括288行32列,其中纠错编码矩阵自上而下3分为18个子矩阵,每个子矩阵包括16行32列;其中,在用Hi表示纠错编码矩阵的第i行、用Erj和Eri以及Ebi和Ebj表示单位矩阵情况下,纠错编码矩阵H满足以下3个条件第一,任意子矩阵内各行向量线性不相关;第二,任意两个子矩阵满足 Hi*Eri!=Hj*Erj(i!=j),Erj 和 Eri 的取值范围为{1,2, 3,4, 5,6,…255};第三,任意三个子矩阵满足 Hi*Ebi+Hj*Ebj!=Hk*Erk(i!=j),Ebi,Ebj 取值范围为{1,2,4, 8, 16,32,...128}。优选地,通过256+32编码的纠错编码矩阵H进行单块数据错定位及双块数据错检出;其中,将256位数据和32位校验码一起发送到目标方;目标方收到数据和校验码后,依照相同的纠错编码矩阵H,从收到的数据重新计算得到新校验码,并根据新校验码计算同步字;然后根据同步字计算特征码;并根据特征码判断在传输中是否发生了误码。 优选地,对于18片X4颗粒组成的存储接口,前16片颗粒提供数据,后2片颗粒提供校验位,其中将前8片颗粒提供数据与倒数第2片颗粒提供的校验位合并为一个校验字, 将第9至第16片颗粒提供数据与最后一片颗粒提供的校验位合并为一个校验字。优选地,对于18片X8颗粒组成的存储接口,前16片颗粒提供数据,后2片颗粒提供校验位,其中将前4片颗粒提供数据与倒数第2片颗粒提供的校验位的前半部分合并为一个校验字,将第5至第8片颗粒提供数据与倒数第2片颗粒提供的校验位的后半部分合并为一个校验字,将第9至第12片颗粒提供数据与最后一片颗粒提供的校验位的前半部分合并为一个校验字,将第13至第16片颗粒提供数据与最后一片颗粒提供的校验位的后半部分合并为一个校验字。优选地,对于18片X16颗粒组成的存储接口,前16片颗粒提供数据,后2片颗粒提供校验位,其中将前2片颗粒提供数据与倒数第2片颗粒提供的前两拍校验位合并为一个校验字,将第3至第4片颗粒提供数据与倒数第2片颗粒提供的第三拍至第四拍校验位合并为一个校验字,将第5至第6片颗粒提供数据与倒数第2片颗粒提供的第五拍至第六拍校验位合并为一个校验字,将第7至第8片颗粒提供数据与倒数第2片颗粒提供的后两拍校验位合并为一个校验字;将第9至第10片颗粒提供数据与最后一片颗粒提供的前两拍校验位合并为一个校验字,将第11至第12片颗粒提供数据与最后一片颗粒提供的第三拍至第四拍校验位合并为一个校验字,将第13至第14片颗粒提供数据与最后一片颗粒提供的第五拍至第六拍校验位合并为一个校验字,将第15至第16片颗粒提供数据与最后一片颗粒提供的后两拍校验位合并为一个校验字。根据本专利技术的可应用在需要高可靠性的系统中,可以在只有18片存储颗粒的存储接口环境下,提供任意单颗粒故障的容忍度,即任意单颗粒故障不影响系统正常运行,同时,对于任意双颗粒故障,有高于99. 36%的检出率。附图说明结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中图IA至图II示意性地示出了本专利技术实施例所采用的纠错编码矩阵的一个具体示例。图2示意性地示出了在本专利技术实施例中采用的校验字配置。图3示意性地示出了在本专利技术实施例中采用的校验字配置。图4示意性地示出了在本专利技术实施例中采用的校验字配置。需要说明的是,附图用于说明本专利技术,而非限制本专利技术。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。具体实施方式为了使本专利技术的内容更加清楚和易懂,下面结合具体实施例和附图对本专利技术的内容进行详细描述。在根据本专利技术实施例的中,采用 256+32编码形式的纠错编码矩阵,并采用数据纵向积累校验字的方式进行校验;其中,纠错编码矩阵包括288行32列,其中纠错编码矩阵自上而下分为18个子矩阵,每个子矩阵包括16行32列;其中,在用Hi表示纠错编码矩阵的第i行、用Erj和Eri以及Ebi和Ebj表示单位矩阵情况下,纠错编码矩阵H满足以下3个条件第一,任意子矩阵内各行向量线性不相关;第二,任意两个子矩阵满足把吨1^!=扣吨1^_(丨!=」)3幻和Eri的取值范围为 {I, 2,3,4,5,6,…255};第三,任意三个子矩阵满足Hi*Ebi+Hj*Ebj!=Hk*Erk(i!=j),Ebi,Ebj取值范围为 {I, 2,4,8,16,32,…128}。下面将具体描述本专利技术的具体优选实施方式。I)容量更大的纠错编码矩阵——256+32编码如图IA至图II所示,纠错编码矩阵H为288行本文档来自技高网
...

【技术保护点】
一种18颗粒任意位宽存储接口的单颗粒容错方法,其特征在于包括:采用256+32编码形式的纠错编码矩阵,并采用数据纵向积累校验字的方式进行校验;其中,纠错编码矩阵包括288行32列,其中纠错编码矩阵自上而下分为18个子矩阵,每个子矩阵包括16行32列;其中,在用Hi表示纠错编码矩阵的第i行、用Erj和Eri以及Ebi和Ebj表示单位矩阵情况下,纠错编码矩阵H满足以下3个条件:第一,任意子矩阵内各行向量线性不相关;第二,任意两个子矩阵满足Hi*Eri!=Hj*Erj(i!=j),Erj和Eri的取值范围为{1,2,3,4,5,6,…255};第三,任意三个子矩阵满足Hi*Ebi+Hj*Ebj!=Hk*Erk(i!=j),Ebi,Ebj取值范围为{1,2,4,8,16,32,…128}。

【技术特征摘要】
1.一种18颗粒任意位宽存储接口的单颗粒容错方法,其特征在于包括采用256+32编码形式的纠错编码矩阵,并采用数据纵向积累校验字的方式进行校验;其中,纠错编码矩阵包括288行32列,其中纠错编码矩阵自上而下分为18个子矩阵,每个子矩阵包括16行32列;其中,在用Hi表示纠错编码矩阵的第i行、用Erj和Eri以及Ebi和Ebj表示单位矩阵情况下,纠错编码矩阵H满足以下3个条件 第一,任意子矩阵内各行向量线性不相关; 第二,任意两个子矩阵满足Hi*Eri ! =Hj*Erj (i ! =j),Erj和Eri的取值范围为{I, 2,3,4,5,6,…255}; 第三,任意三个子矩阵满足Hi*Ebi+Hj*Ebj!=Hk*Erk(i!=j),Ebi,Ebj取值范围为{I, 2,4,8,16,32,…128}。2.根据权利要求I所述的18颗粒任意位宽存储接口的单颗粒容错方法,其特征在于,通过256+32编码的纠错编码矩阵H进行单块数据错定位及双块数据错检出;其中,将256位数据和32位校验码一起发送到目标方;目标方收到数据和校验码后,依照相同的纠错编码矩阵H,从收到的数据重新计算得到新校验码,并根据新校验码计算同步字;然后根据同步字计算特征码;并根据特征码判断在传输中是否发生了误码。3.根据权利要求I或2所述的18颗粒任意位宽存储接口的单颗粒容错方法,其特征在于,对于18片X4颗粒组成的存储接口,前16片颗粒提供数据,后2片颗粒提供校验位,其中将前8片颗粒提供数据与倒数第2片颗粒提供的校验位合并为一个校验字,将第9至第16片颗粒提供数据...

【专利技术属性】
技术研发人员:高剑刚徐江川姚玉良宋新亮吴智施得君胡舒凯
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1