CN106095610B - 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 - Google Patents
一种保护32位存储器数据的低冗余正交拉丁码扩展方法 Download PDFInfo
- Publication number
- CN106095610B CN106095610B CN201610393856.9A CN201610393856A CN106095610B CN 106095610 B CN106095610 B CN 106095610B CN 201610393856 A CN201610393856 A CN 201610393856A CN 106095610 B CN106095610 B CN 106095610B
- Authority
- CN
- China
- Prior art keywords
- code
- orthogonal latin
- data bit
- data
- matrix
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000004224 protection Effects 0.000 title claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims abstract description 63
- 238000010276 construction Methods 0.000 claims abstract description 12
- 239000013598 vector Substances 0.000 claims description 31
- 238000012937 correction Methods 0.000 claims description 29
- 208000011580 syndromic disease Diseases 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000007334 memory performance Effects 0.000 abstract description 2
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 239000002245 particle Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000191 radiation effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
一种保护32位存储器数据的低冗余正交拉丁码扩展方法,本发明涉及低冗余正交拉丁码扩展方法。本发明是要解决现有存储器容错技术需要耗费较多的冗余位及较大的硬件开销,严重影响存储器性能的问题,而提出的一种保护32位存储器数据的低冗余正交拉丁码扩展方法。该方法是通过一、总结正交拉丁码奇偶校验矩阵H的构造规则;二、构成新的H’矩阵;步骤三、根据步骤二扩展得到的H’矩阵,通过对32位数据位编码,获得相应的码字C;步骤四、采用大数逻辑译码算法纠正错误将步骤三得到的码字C中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta等步骤实现的。本发明应用于低冗余正交拉丁码扩展领域。
Description
技术领域
本发明涉及低冗余正交拉丁码扩展方法,特别涉及适用于保护32位存储器数据的低冗余正交拉丁码扩展方法。
背景技术
软错误是造成存储器失效的主要故障类型之一。应用于航空航天领域的存储器,在空间中各种高能粒子的辐射下,会受到多种辐射效应影响,其中最主要的是单粒子翻转效应。当粒子穿过器件时,在其路径上会产生电子空穴对,在电场的作用下,电荷积累到一定程度,会改变节点电位,翻转存储单元的输出逻辑值,造成电路存储信息发生错误,即软错误。随着集成电路工艺特征尺寸的不断缩小,由于电荷共享现象,单个粒子事件可能会造成多个存储单元发生翻转,并逐渐占据软错误的主要地位。因此,存储器抗多单元翻转加固技术是抗辐射加固领域的一项主要研究内容。
错误纠正码是广泛采用的一种存储器容错技术。通过对存储器本体增加冗余单元、编码电路和译码电路,对所保护数据进行一定的运算来完成容错功能。针对存储器多单元翻转现象,需要采用纠正能力强的多位错误纠正码,但这类码通常译码复杂,需要耗费较大的译码电路面积,严重影响存储器的性能。近些年来业界广泛研究一步大数逻辑可译码,典型有差集码、欧氏几何码、正交拉丁码等,一步大数逻辑译码方法可以通过简单的逻辑判别,消耗很小的译码电路面积,纠正多位错误,并具有很小的延迟开销,非常适用于对高速存储器的保护。在一步大数逻辑可译码中,差集码和欧氏几何码可保护的数据宽度较局限,且纠正能力唯一,而正交拉丁码在该方面具有优势,可以对不同宽度的数据提供不能程度的保护,可灵活运用于存储器加固。正交拉丁码是基于正交拉丁方构造的一类错误纠正码,它对16位、25位、64位等数据提供2位、3位等纠正能力。然而,并没有直接适用于存储器常用的32位数据,而是需要对(96,64)码进行缩减,得到(60,32)码来对其进行保护,耗费的冗余位较多,硬件开销也较大。因此,通过对正交拉丁码的扩展,在保证原有纠正能力的基础上,设计直接应用于32位存储器数据的低冗余错误纠正码是非常有必要的。
发明内容
本发明的目的是为了解决现有存储器容错技术需要耗费较多的冗余位及较大的硬件开销,严重影响存储器性能的问题,而提出的一种保护32位存储器数据的低冗余正交拉丁码扩展方法。
上述的发明目的是通过以下技术方案实现的:
步骤一、总结正交拉丁码奇偶校验矩阵H的构造规则;正交拉丁码奇偶校验矩阵H的构造规则包括规则1和规则2;
其中,规则1为正交拉丁码H矩阵中每一位数据都参与2t个冗余位的运算;规则2为最多出现一次矩阵H中任意两列中数字1的位置属于同一行的情况;
步骤二、根据规则1和规则2,当t=2或t=3时,在数据位为25位的原始的正交拉丁码H矩阵的基础上任意添加7个列向量,扩展成数据位为32位码;以及在H矩阵中添加行向量后,构成新的H’矩阵,使得构成新的H’矩阵同时满足规则1和规则2;其中,当t=2时,在H矩阵中添加3~8个行向量;当t=3时,在H矩阵中添加6~14个行向量;
步骤三、根据步骤二扩展得到的H’矩阵,通过对32位数据位编码,获得相应的码字C={d1,d2,...,d32,r1,r2,...,r23}或C={d1,d2,...,d32,r1,r2,...,r36};其中,d1,d2,...,d32为H’矩阵中第1至第32个数据位,r1,r2,...,r23为扩展正交拉丁码奇偶校验矩阵的第1至第23个冗余位,或,r1,r2,...,r36为扩展正交拉丁码奇偶校验矩阵的第1至第36个冗余位;
步骤四、采用大数逻辑译码算法纠正错误将步骤三得到的码字C中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta。
发明效果
本发明为了解决目前正交拉丁码没有直接应用于32位存储器数据保护的问题,提出了一种适用于保护32位存储器数据的低冗余正交拉丁码扩展方法,既保持原始正交拉丁码的纠正能力,相较于同尺寸缩短拉丁码,又具有更低的开销。
本发明所提出的适用于保护32位存储器数据的低冗余正交拉丁码扩展方法是以原始保护25位数据的正交拉丁码的奇偶校验矩阵为基础,基于分析拉丁码构造原则,添加7个列向量和多个行向量,扩展构造新的奇偶校验矩阵,该矩阵对应的扩展正交拉丁码可直接保护32位存储器数据。使用本发明提出的扩展方法构造的新码,保持了原有正交拉丁码的纠正能力,且仍可以采用一步大数逻辑译码方法,同时,相比于传统的缩短拉丁码,具有更少的冗余位和硬件开销。相较于传统的(60,32)码,本发明提出的(55,32)码冗余位减少了17.86%,译码器电路面积减少了11.90%,功耗降低了7.31%,相应的存储器加固系统电路面积减少了7.76%,功耗降低了6.34%。相较于传统的(68,32)码,本发明提出的(76,32)码冗余位减少了18.18%,译码器电路面积减少了4.27%,功耗降低了4.47%,相应的存储器加固系统电路面积减少了8.82%,功耗降低了4.56%。
附图说明
图1为具体实施方式一提出的大数逻辑译码算法流程图。
具体实施方式
具体实施方式一:本实施方式的一种保护32位存储器数据的低冗余正交拉丁码扩展方法,具体是按照以下步骤制备的:
步骤一、基于对正交拉丁码特点的分析,总结正交拉丁码奇偶校验矩阵H的构造规则;正交拉丁码奇偶校验矩阵H的构造规则包括规则1和规则2;
其中,规则1为正交拉丁码H矩阵中每一位数据都参与2t个冗余位的运算;规则2为最多出现一次矩阵H中任意两列中数字1的位置属于同一行的情况;
上述构造规则构造奇偶校验矩阵H同上使得正交拉丁码可采用实现简单、译码快速的一步大数逻辑译码方法(规则2),且具有最优化的一步大数逻辑译码器(规则1);
步骤二、根据规则1和规则2,当t=2或t=3时,在数据位为25位的原始的正交拉丁码H矩阵的基础上任意添加7个列向量,扩展成数据位为32位码;为保正原有正交拉丁码的纠正能力,及仍可采用一步大数逻辑译码方法,在H矩阵中添加行向量后,构成新的H’矩阵,使得构成新的H’矩阵同时满足规则1和规则2;由于矩阵越大,带来的硬件开销会越大,所以要在保证H’矩阵同时满足规则1和规则2的前提下,添加最少数量的行向量;比如基于纠正能力为2位错误的(45,25)码,要构成适用于32位数据的,最少需要添加3个行向量,构成(55,32)码,以保证H’矩阵同时满足规则1和规则2;其中,当t=2时,在H矩阵中添加3~8个行向量;当t=3时,在H矩阵中添加6~14个行向量;
数据位为25位的原始的正交拉丁码H矩阵具体为(45,25)正交拉丁码H矩阵:
所得到的新的奇偶校验矩阵H’,其对应的扩展正交拉丁码为(55,32)码,纠正能力为2位错误;
所述(55,32)扩展正交拉丁码奇偶校验矩阵具体为:
虚线里是扩展后添加的7个列向量和3个行向量;
本实施例所述的适用于保护32位存储器数据的低冗余正交拉丁码扩展方法是在基于原始保护25位数据的正交拉丁码的奇偶校验矩阵为基础,添加7个列向量和多个行向量,使得新的奇偶校验矩阵对应的扩展正交拉丁码可直接保护32位存储器数据;使用本发明提出的扩展方法构造的新码,保持了原有正交拉丁码的纠正能力,且仍可以采用一步大数逻辑译码方法,同时,相比于传统的缩短拉丁码,具有更少的冗余位开销和硬件开销;
步骤一至步骤二的过程中,以纠正能力为3位错误的原始的(55,25)正交拉丁码为基础,在其H矩阵中增加7个列向量和6个行向量;所得到的新的奇偶校验矩阵H’,其对应的扩展正交拉丁码为(68,32)码,纠正能力为3位错误;
所述的(68,32)扩展正交拉丁码奇偶校验矩阵具体为:
上述矩阵虚线部分代表的是扩展后添加的矩阵是7个列向量和6个行向量;
步骤三、根据步骤二扩展得到的H’矩阵,通过对32位数据位编码,获得相应的码字C={d1,d2,...,d32,r1,r2,...,r23}或C={d1,d2,...,d32,r1,r2,...,r36};其中,d1,d2,...,d32为H’矩阵中第1至第32个数据位,r1,r2,...,r23为(55,32)扩展正交拉丁码奇偶校验矩阵的第1至第23个冗余位,或,r1,r2,...,r36为(68,32)扩展正交拉丁码奇偶校验矩阵的第1至第36个冗余位;其中,冗余位r1,r2,...,r23或r1,r2,...,r36的计算方法依据2t个冗余位的运算方法;
步骤四、采用大数逻辑译码算法(译码器)纠正错误将步骤三得到的码字C中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta如图1;
针对32比特位存储器数据,比较传统采用的(60,32)和(76,32)缩短正交拉丁码与采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码,分析其纠正能力、码率及硬件综合结果,说明本发明所提出的方法的优势:
使用Matlab实现采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码的编码器和译码器,在两个码的码字中分别注入所有可能的1至2位、1至3位随机错误进行测试,验证(55,32)和(68,32)扩展正交拉丁码是否分别保持了原始正交拉丁码的2位和3位纠正能力;结果表明,采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码保持了原始正交拉丁码的纠正能力;
采用常用来对错误纠正码进行评估的一个指标——码率,即数据位长度与码字长度的比率,来比较传统采用的(60,32)和(76,32)缩短正交拉丁码与采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码;通常,码率越大,表明硬件开销越小;比较结果如表1所示:
表1码率比较
从上表可知,采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码具有更高的码率;
使用HDL硬件描述语言分别实现传统采用的(60,32)和(76,32)缩短正交拉丁码与采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码的编码器和译码器;并选取TSMC 65nm工艺库,采用Synopsis Design Compiler对其编码器、译码器和采用上述码保护的512字存储器阵列进行以延迟优化为目标的硬件综合分析,结果如表2至表6所示:
表2纠正能力为2位错误的码的编码器综合结果
表3纠正能力为2位错误的码的译码器综合结果
表4纠正能力为3位错误的码的编码器综合结果
表5纠正能力为3位错误的码的译码器综合结果
表6采用不同码保护的512字存储器综合结果
由表2和表4可知,(55,32)和(68,32)扩展正交拉丁码编码器的面积和功耗开销轻微大于传统采用的(60,32)和(76,32)缩短正交拉丁码,这是由于这四种码的奇偶校验矩阵重量相等,因此扩展码编码器的二输入异或门数略多于原始码编码器;但由于扩展码需要的冗余位更少,所以扩展码译码器的硬件开销要小于原始码译码器,且采用扩展码加固的存储器开销明显小于采用原始码加固的存储器,分别如表3、表5和表6所示;因此,由于冗余单元、编码器译码器电路共同决定着硬件开销,采用本发明所提出的方法构造的(55,32)和(68,32)扩展正交拉丁码更适用高速高性能的存储器应用。
本实施方式效果:
本实施方式为了解决目前正交拉丁码没有直接应用于32位存储器数据保护的问题,提出了一种适用于保护32位存储器数据的低冗余正交拉丁码扩展方法,既保持原始正交拉丁码的纠正能力,相较于同尺寸缩短拉丁码,又具有更低的开销。
本实施方式所提出的适用于保护32位存储器数据的低冗余正交拉丁码扩展方法是以原始保护25位数据的正交拉丁码的奇偶校验矩阵为基础,基于分析拉丁码构造原则,添加7个列向量和多个行向量,扩展构造新的奇偶校验矩阵,该矩阵对应的扩展正交拉丁码可直接保护32位存储器数据。使用本实施方式提出的扩展方法构造的新码,保持了原有正交拉丁码的纠正能力,且仍可以采用一步大数逻辑译码方法,同时,相比于传统的缩短拉丁码,具有更少的冗余位和硬件开销。相较于传统的(60,32)码,本实施方式提出的(55,32)码冗余位减少了17.86%,译码器电路面积减少了11.90%,功耗降低了7.31%,相应的存储器加固系统电路面积减少了7.76%,功耗降低了6.34%。相较于传统的(68,32)码,本实施方式提出的(76,32)码冗余位减少了18.18%,译码器电路面积减少了4.27%,功耗降低了4.47%,相应的存储器加固系统电路面积减少了8.82%,功耗降低了4.56%。
具体实施方式二:本实施方式与具体实施方式一不同的是:步骤一所述的每一位数据都参与2t个冗余位的运算具体为:
ri=da⊕db⊕dc⊕dd⊕de或ri=da⊕db⊕dc⊕dd⊕de⊕df
其中,ri为冗余位,i=1,2,...,10t;t为正交拉丁码的纠正能力,t=2,3;i为H矩阵的行数即冗余位个数;da为25位的原始的正交拉丁码H矩阵中第a个数据位;db为25位的原始的正交拉丁码H矩阵中第b个数据位;dc为25位的原始的正交拉丁码H矩阵中第c个数据位;dd为25位的原始的正交拉丁码H矩阵中第d个数据位;de为25位的原始的正交拉丁码H矩阵中第e个数据位;df为25位的原始的正交拉丁码H矩阵中第f个数据位;
规则1包括t=2和t=3两种情况;(45,25)正交拉丁码H矩阵中t=2,总结其奇偶校验矩阵H的构造规则为:每一位数据都参与到4个冗余位的运算;(55,25)正交拉丁码H矩阵中t=3,总结其奇偶校验矩阵H的构造规则为:每一位数据都参与到6个冗余位的运算。其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤二所述在数据位为25位的原始的正交拉丁码H矩阵的基础上任意添加7个列向量具体为:
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:步骤二为保证开销最低,当t=2时,所述在正交拉丁码H矩阵中添加3、5或6个行向量;当t=3时,所述在正交拉丁码H矩阵中添加6或10个行向量;
所述行向量具体为:
或
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:步骤四中采用大数逻辑译码算法(译码器)纠正错误将步骤三得到的码字C={d1,d2,...,d32,r1,r2,...,r23}中出现1~t位的随机错误所对应的码字C’译出正确的数据douta的具体过程:
1)计算校正子Si公式为:
Si=da'⊕db'⊕dc'⊕dd'⊕de'⊕ri';
其中,i=1,2,...,23;i为H’矩阵的行数;da'为码字C’中第a个数据位;db'为码字C’中第b个数据位;dc'为码字C’中第c个数据位;dd'为码字C’中第d个数据位;de'为码字C’中第e个数据位;df'码字C’中第f个数据位;
若32位的扩展正交拉丁码H’矩阵中第a个数据位da出现错误da’,则da’=!da,否则,da’=da,a=1,2,...,32;若冗余位ri出现错误,则ri’=!ri,否则,若冗余位ri未出现错误ri’=ri;i=1,2,...,23;ri’为码字C’中第i个冗余位;所述译码器结构如图1所示;C’为包含随机错误的码字;C’={d1’,d2’,...,d32’,r1’,r2’,...,r23’};
2)将根据步骤二扩展得到的H’矩阵中第a个数据位参与计算的2t个校正子Si,将Si输入到第a个大数逻辑判决器;对于每个大数逻辑判决器的输入,若2t个校正子Si中,Si值为1的个数大于等于t+1个时,则大数逻辑输出ea=1;否则Si值为1的个数小于t+1个时,大数逻辑输出ea=0;其中,a=1,2,...,32;
3)随机错误的纠正;根据公式douta=da'⊕ea计算得到纠正后的数据位douta(正确的数据)。其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:步骤四中采用大数逻辑译码算法(译码器)纠正错误将步骤三得到的码字C={d1,d2,...,d32,r1,r2,...,r36}中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta的具体过程:
1)计算校正子Si,公式为:
Si=da'⊕db'⊕dc'⊕dd'⊕de'⊕ri'或Si=da'⊕db'⊕dc'⊕dd'⊕de'⊕df'⊕ri';
其中,i=1,2,...,36;i为H’矩阵的行数即冗余位的个数;da'为码字C’中第a个数据位;db'为码字C’中第b个数据位;dc'为码字C’中第c个数据位;dd'为码字C’中第d个数据位;de'为码字C’中第e个数据位;df'码字C’中第f个数据位;
若32位的扩展正交拉丁码H’矩阵中第a个数据位da出现错误da’,则da’=!da,否则,da’=da,a=1,2,...,32;若冗余位ri出现错误,则ri’=!ri,否则,若冗余位ri未出现错误ri’=ri;da’为码字C’中第a个数据位,ri’为码字C’中第i个冗余位;所述译码器结构如图1所示;C’为包含随机错误的码字;C’={d1’,d2’,...,d32’,r1’,r2’,...,r36’};
2)将根据步骤二扩展得到的H’矩阵中第a个数据位参与计算的2t个校正子Si,将Si输入到第a个大数逻辑判决器;对于每个大数逻辑判决器的输入,若2t个校正子Si中,Si值为1的个数大于等于t+1个时,则大数逻辑输出ea=1;否则Si值为1的个数小于t+1个时,大数逻辑输出ea=0;其中,a=1,2,...,32,
3)随机错误的纠正;根据公式douta=da'⊕ea计算得到纠正后的数据位(正确的数据)douta。其它步骤及参数与具体实施方式一至五之一相同。
Claims (5)
1.一种保护32位存储器数据的低冗余正交拉丁码扩展方法,其特征在于,该方法具体是按照以下步骤进行的:
步骤一、总结正交拉丁码奇偶校验矩阵H的构造规则;正交拉丁码奇偶校验矩阵H的构造规则包括规则1和规则2;
其中,规则1为正交拉丁码H矩阵中每一位数据都参与2t个冗余位的运算,其具体过程为;
或
其中,ri为冗余位,i=1,2,…,10t;t为正交拉丁码的纠正能力,t=2,3;i为H矩阵的行数即冗余位个数;da为25位的原始的正交拉丁码H矩阵中第a个数据位;db为25位的原始的正交拉丁码H矩阵中第b个数据位;dc为25位的原始的正交拉丁码H矩阵中第c个数据位;dd为25位的原始的正交拉丁码H矩阵中第d个数据位;de为25位的原始的正交拉丁码H矩阵中第e个数据位;df为25位的原始的正交拉丁码H矩阵中第f个数据位;
规则2为最多出现一次矩阵H中任意两列中数字1的位置属于同一行的情况;
步骤二、根据规则1和规则2,当t=2或t=3时,在数据位为25位的原始的正交拉丁码H矩阵的基础上任意添加7个列向量,扩展成数据位为32位码;以及在H矩阵中添加行向量后,构成新的H’矩阵,使得构成新的H’矩阵同时满足规则1和规则2;其中,当t=2时,在H矩阵中添加3~8个行向量;当t=3时,在H矩阵中添加6~14个行向量;
步骤三、根据步骤二扩展得到的H’矩阵,通过对32位数据位编码,获得相应的码字C={d1,d2,…,d32,r1,r2,…,r23}或C={d1,d2,…,d32,r1,r2,…,r36};其中,d1,d2,…,d32为H’矩阵中第1至第32个数据位,r1,r2,…,r23为扩展正交拉丁码奇偶校验矩阵的第1至第23个冗余位,或,r1,r2,…,r36为扩展正交拉丁码奇偶校验矩阵的第1至第36个冗余位;
步骤四、采用大数逻辑译码算法纠正错误将步骤三得到的码字C中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta。
2.根据权利要求1所述一种保护32位存储器数据的低冗余正交拉丁码扩展方法,其特征在于:步骤二中当t=2时,在正交拉丁码H矩阵中添加3、5或6个行向量。
3.根据权利要求1所述一种保护32位存储器数据的低冗余正交拉丁码扩展方法,其特征在于:步骤二中当t=3时,在正交拉丁码H矩阵中添加6或10个行向量。
4.根据权利要求1所述一种保护32位存储器数据的低冗余正交拉丁码扩展方法,其特征在于:步骤四中采用大数逻辑译码算法纠正错误将步骤三得到的码字C={d1,d2,…,d32,r1,r2,…,r23}中出现1~t位的随机错误所对应的码字C’译出正确的数据douta的具体过程:
1)计算校正子Si公式为:
其中,i=1,2,…,23;da'为码字C’中第a个数据位;db'为码字C’中第b个数据位;dc'为码字C’中第c个数据位;dd'为码字C’中第d个数据位;de'为码字C’中第e个数据位;ri’为码字C’中第i个冗余位;C’为包含随机错误的码字;C’={d1’,d2’,…,d32’,r1’,r2’,…,r23’};
2)将根据步骤二扩展得到的H’矩阵中第a个数据位参与计算的2t个校正子Si,将Si输入到第a个大数逻辑判决器;若2t个校正子Si中,Si值为1的个数大于等于t+1个时,则大数逻辑输出ea=1;否则Si值为1的个数小于t+1个时,大数逻辑输出ea=0;其中,a=1,2,…,32;
3)随机错误的纠正;根据公式计算得到纠正后的数据位douta。
5.根据权利要求1所述一种保护32位存储器数据的低冗余正交拉丁码扩展方法,其特征在于:步骤四中采用大数逻辑译码算法纠正错误将步骤三得到的码字C={d1,d2,…,d32,r1,r2,…,r36}中出现的1~t位的随机错误所对应的码字C’译出正确的数据douta的具体过程:
1)计算校正子Si,公式为:
或其中,i=1,2,…,36;i为H’矩阵的行数即冗余位的个数;da'为码字C’中第a个数据位;db'为码字C’中第b个数据位;dc'为码字C’中第c个数据位;dd'为码字C’中第d个数据位;de'为码字C’中第e个数据位;df'码字C’中第f个数据位;
ri’为码字C’中第i个冗余位;C’为包含随机错误的码字;C’={d1’,d2’,…,d32’,r1’,r2’,…,r36’};
2)将根据步骤二扩展得到的H’矩阵中第a个数据位参与计算的2t个校正子Si,将Si输入到第a个大数逻辑判决器;若2t个校正子Si中,Si值为1的个数大于等于t+1个时,则大数逻辑输出ea=1;否则Si值为1的个数小于t+1个时,大数逻辑输出ea=0;其中,a=1,2,…,32;
3)随机错误的纠正:根据公式计算得到纠正后的数据位douta。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610393856.9A CN106095610B (zh) | 2016-06-06 | 2016-06-06 | 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610393856.9A CN106095610B (zh) | 2016-06-06 | 2016-06-06 | 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095610A CN106095610A (zh) | 2016-11-09 |
CN106095610B true CN106095610B (zh) | 2018-11-02 |
Family
ID=57448370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610393856.9A Expired - Fee Related CN106095610B (zh) | 2016-06-06 | 2016-06-06 | 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095610B (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792013B2 (en) * | 2008-07-31 | 2010-09-07 | Nokia Corporation | Low density lattice code generator matrices using mutually orthogonal latin squares |
-
2016
- 2016-06-06 CN CN201610393856.9A patent/CN106095610B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
A Method to Extend Orthogonal Latin Square Codes;Pedro Reviriego etc.;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》;20140731;第22卷(第7期);第1635-1639页 * |
Analytical Approach For Decoder Delay Reduction Sec-DEDDAEC;B.Swarupa etc.;《International Journal Of Engineering And Computer Science》;20151031;第4卷(第10期);第14670-14676页 * |
基于正交拉丁码的存储器抗多位翻转设计;李家强;《中国优秀硕学位论文全文数据库》;20150215(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106095610A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915768A (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
Richter et al. | New linear SEC-DED codes with reduced triple bit error miscorrection probability | |
Liu et al. | Low redundancy matrix-based codes for adjacent error correction with parity sharing | |
Cui et al. | Research and implementation of SEC-DED Hamming code algorithm | |
Pae et al. | Minimal aliasing single-error-correction codes for dram reliability improvement | |
CN107301881B (zh) | 一种基于4位相邻和3位突发纠错码的sram存储器抗辐射加固方法及存储器系统 | |
CN106095610B (zh) | 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 | |
Athira et al. | FPGA implementation of an area efficient matrix code with encoder reuse method | |
KR101355988B1 (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 | |
Gali et al. | Low power and energy efficient single error correction code using CDM logic style for IoT devices | |
Wilkerson et al. | SCALING THE MEMORY RELIABILITY WALL. | |
Sim et al. | Design of Two Interleaved Error Detection and Corrections Using Hsiao Code and CRC | |
CN1182657C (zh) | 用于降低乘积码译码所需存储量和复杂度的方法 | |
US9520899B2 (en) | Method for generating a maximized linear correcting code, method and device for decoding such a code | |
Maity et al. | Single and double-adjacent error correcting code (SDECC) with lower design overheads and mis-correction rate for SRAMs | |
Katheresh et al. | Low power NoC buffer protection using error correction code | |
Abbas et al. | Multiple cell upsets tolerant content-addressable memory | |
Alam et al. | Lightweight software-defined error correction for memories | |
Kang et al. | One-step majority-logic-decodable codes enable STT-MRAM for high speed working memories | |
KR101357544B1 (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 | |
Sadi et al. | Tolerating Soft Errors with Horizontal-Vertical-Diagonal-N-Queen (HVDNQ) Parity | |
Nakul et al. | Row-wise Hamming Code for Memory Applications | |
Cao et al. | Studies of the Linear Block Codes for Memory Protection | |
Sindhu et al. | A Review of Burst Error-Correction Codes with Parallel Decoding | |
CN104796157A (zh) | 存储器抗多位翻转分块矩阵码加固方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181102 |