一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法与流程

文档序号:13641946阅读:227来源:国知局
本发明涉及低冗余矩阵码构造方法,具体为集成电路存储器抗辐射加固领域中抗多单元翻转的错误纠错码的设计。
背景技术
:在深亚微米尺寸,存储器面临的一个重要威胁是多单元翻转。该现象可以使得存储器的多个单元翻转,从而严重影响电子系统的性能和功能。使用错误纠错码对其加固是一个很好的方法,但是对于两个以上的错误,必须使用纠正能力较高的错误纠错码。但是,编码器和译码器的面积、功耗和延迟将会很大,从而会影响存储器的性能。因此,需要构造一种新的错误纠错码来对存储器进行加固保护。在本发明中,主要是采用了拉丁方来构造了一种新型低冗余矩阵码,来对存储器进行抗多单元翻转的加固。技术实现要素:本发明是为了解决现有编码器和译码器对存储器进行加固的方式,影响存储器性能的问题,本发明提供了一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法。一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法,所述基于拉丁方矩阵构造的低冗余矩阵码为错误纠错码;该方法包括如下:步骤一:对于一个i位信息位,将其排列成一个m×n的矩阵;i位信息位依次为m1m2m3......mi-2mi-1mi;其中,m≠4,m为行数,n为列数,i为大于或等于8的整数;步骤二:构建n位拉丁方矩阵,根据n位拉丁方矩阵对i位信息位进行编码操作,获得的2n位冗余位;所述n位拉丁方矩阵为n×n的矩阵;2n位冗余位包括n位水平冗余位和n位垂直冗余位;n位水平冗余位依次为h1h2h3......hn-2hn-1hn;n位垂直冗余位依次为v1v2v3......vn-2vn-1vn;步骤三:对读出的2n位冗余位和读出的i位数据位进行译码操作,获得2n位校正子,且2n位校正子包括n位水平校正子和n位垂直校正子;所述读出的i位数据为通过对i位信息位进行读取获得;读出的2n位冗余位为通过对n位水平冗余位和n位垂直冗余位进行读取获得;n位水平校正子依次为sh1sh2sh3......shn-1shn;n位垂直校正子为依次为sv1sv2sv3......svn-1svn;读出的i位数据位依次为m′1m′2m′3......m′i-2m′i-1m′i;读出的n位水平冗余位为h′1h′2h′3......h′n-2h′n-1h′n;读出的n位垂直冗余位为v′1v′2v′3......v′n-2v′n-1v′n;步骤四:n位水平校正子和n位垂直校正子均作为低冗余矩阵码;当n位水平校正子和n位垂直校正子中的所有位均为‘0’时,则判定读出的i位数据位未发生错误;当n位水平校正子和n位垂直校正子中任何一位出现‘1’时,则判定读出的i位数据位发生错误,且读出的i位数据位中发生错误的相应数据位的编号与出现‘1’时所对应的校正子编号相同;然后,对读出的i位数据位中发生错误的相应数据位进行按位取反,从而实现了对读出的错误数据位进行纠偏,进一步实现了对存储器进行加固。优选的是,sh1至shn中每一位的取值为1或0;sv1至svn中每一位的取值为1或0。优选的是,所述步骤二中,构建n位拉丁方矩阵,根据n位拉丁方矩阵对i位信息位进行编码操作,获得的2n位冗余位的具体过程为:步骤二一:根据m×n的矩阵构造相应的n位拉丁方矩阵,且由上至下取n位拉丁方矩阵中m行、n列的矩阵,并将取的m×n的矩阵m×n的信息位与i位信息位构造的m×n的矩阵的信息位相对应;步骤二二:按照n位拉丁方矩阵中的m×n的矩阵的计算方式,依次对i位信息位构造的m×n的矩阵中所有行的相应信息位进行异或处理,依次获得相应的水平冗余位,从而获得n位水平冗余位;步骤二三:按照n位拉丁方矩阵中的m×n的矩阵的计算方式,依次对i位信息位构造的m×n的矩阵中每一列的所有信息位进行异或处理,依次获得相应的垂直冗余位,从而获得n位垂直冗余位。优选的是,所述步骤三中,对读出的2n位冗余位和读出的i位数据位进行译码操作,获得2n位校正子的具体过程包括:获得n位水平校正子的过程和获得n位垂直校正子的过程;其中,获得n位水平校正子的过程为:依次对读出的每一位水平冗余位及读出的与其相对应的数据位进行异或处理,获得相应的水平校正子,从而获得n位水平校正子;获得n位垂直校正子的过程为:依次对读出的每一位垂直冗余位及读出的与其相对应的数据位进行异或处理,获得相应的垂直校正子,从而获得n位垂直校正子。优选的是,所述m=2、n=8时,本发明带来的有益效果是,本发明针对单粒子翻转效应中的多单元翻转效应,利用拉丁方,设计了一种新型低冗余矩阵码,其具有较高的纠正能力,纠正能力提高了80%以上,同时避免了编码器和译码器用于纠错时带来的开销。由于基于拉丁方矩阵构造的低冗余矩阵码属于错误纠错码,因此,本发明所述基于拉丁方矩阵构造的低冗余矩阵码也可以用于对磁盘整列以及信息通讯等领域进行保护。采用本发明所述基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法,其低冗余矩阵码可以纠正随机1位错误、连续2位错误、直至最大连续n-1位错误,需要冗余位的个数为2n。具体实施方式具体实施方式一:本实施方式所述一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法,所述基于拉丁方矩阵构造的低冗余矩阵码为错误纠错码;该方法包括如下:步骤一:对于一个i位信息位,将其排列成一个m×n的矩阵;i位信息位依次为m1m2m3......mi-2mi-1mi;其中,m≠4,m为行数,n为列数,i为大于或等于8的整数;步骤二:构建n位拉丁方矩阵,根据n位拉丁方矩阵对i位信息位进行编码操作,获得的2n位冗余位;所述n位拉丁方矩阵为n×n的矩阵;2n位冗余位包括n位水平冗余位和n位垂直冗余位;n位水平冗余位依次为h1h2h3......hn-2hn-1hn;n位垂直冗余位依次为v1v2v3......vn-2vn-1vn;步骤三:对读出的2n位冗余位和读出的i位数据位进行译码操作,获得2n位校正子,且2n位校正子包括n位水平校正子和n位垂直校正子;所述读出的i位数据为通过对i位信息位进行读取获得;读出的2n位冗余位为通过对n位水平冗余位和n位垂直冗余位进行读取获得;n位水平校正子依次为sh1sh2sh3......shn-1shn;n位垂直校正子为依次为sv1sv2sv3......svn-1svn;读出的i位数据位依次为m′1m′2m′3......m′i-2m′i-1m′i;读出的n位水平冗余位为h1'h'2h'3......h'n-2h'n-1h'n;读出的n位垂直冗余位为v′1v′2v′3......v′n-2v′n-1v′n;步骤四:n位水平校正子和n位垂直校正子均作为低冗余矩阵码;当n位水平校正子和n位垂直校正子中的所有位均为‘0’时,则判定读出的i位数据位未发生错误;当n位水平校正子和n位垂直校正子中任何一位出现‘1’时,则判定读出的i位数据位发生错误,且读出的i位数据位中发生错误的相应数据位的编号与出现‘1’时所对应的校正子编号相同;然后,对读出的i位数据位中发生错误的相应数据位进行按位取反,从而实现了对读出的错误数据位进行纠偏,进一步实现了对存储器进行加固。本实施方式中,本发明针对单粒子翻转效应中的多单元翻转效应,利用拉丁方,设计了一种新型低冗余矩阵码,其具有较高的纠正能力,同时其编码器和译码器带来的开销较小。由于基于拉丁方矩阵构造的低冗余矩阵码属于错误纠错码,因此本发明所述基于拉丁方矩阵构造的低冗余矩阵码也可以用于对磁盘整列以及信息通讯等领域进行保护,拉丁方的计算方式为现有技术。采用本发明所述基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法,其低冗余矩阵码可以纠正随机1位错误、连续2位错误、直至最大连续n-1位错误,需要冗余位的个数为2n。具体实施方式二:本实施方式与具体实施方式一所述的一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法的区别在于,sh1至shn中每一位的取值为1或0;sv1至svn中每一位的取值为1或0。具体实施方式三:本实施方式与具体实施方式一所述的一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法的区别在于,所述步骤二中,构建n位拉丁方矩阵,根据n位拉丁方矩阵对i位信息位进行编码操作,获得的2n位冗余位的具体过程为:步骤二一:根据m×n的矩阵构造相应的n位拉丁方矩阵,且由上至下取n位拉丁方矩阵中m行、n列的矩阵,并将取的m×n的矩阵m×n的信息位与i位信息位构造的m×n的矩阵的信息位相对应;步骤二二:按照n位拉丁方矩阵中的m×n的矩阵的计算方式,依次对i位信息位构造的m×n的矩阵中所有行的相应信息位进行异或处理,依次获得相应的水平冗余位,从而获得n位水平冗余位;步骤二三:按照n位拉丁方矩阵中的m×n的矩阵的计算方式,依次对i位信息位构造的m×n的矩阵中每一列的所有信息位进行异或处理,依次获得相应的垂直冗余位,从而获得n位垂直冗余位。具体实施方式四:本实施方式与具体实施方式一所述的一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法的区别在于所述步骤三中,对读出的2n位冗余位和读出的i位数据位进行译码操作,获得2n位校正子的具体过程包括:获得n位水平校正子的过程和获得n位垂直校正子的过程;其中,获得n位水平校正子的过程为:依次对读出的每一位水平冗余位及读出的与其相对应的数据位进行异或处理,获得相应的水平校正子,从而获得n位水平校正子;获得n位垂直校正子的过程为:依次对读出的每一位垂直冗余位及读出的与其相对应的数据位进行异或处理,获得相应的垂直校正子,从而获得n位垂直校正子。具体实施方式五:本实施方式与具体实施方式一、二、三或四所述的一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法的区别在于,所述m=2、n=8时,本实施方式,针对单粒子翻转效应中的多单元翻转效应,利用8位的拉丁方矩阵,具体参见表1,且表1中的从上至下读取2行8列,该2行8列构成的矩阵与m1~m16构成的矩阵相对应,即:表1中,第1行第1列对应表2中的m1、第1行第2列对应表2中的m2、第1行第3列对应表2中的m3、第1行第4列对应表2中的m4、第1行第5列对应表2中的m5、第1行第6列对应表2中的m6、第1行第7列对应表2中的m7、第1行第8列对应表2中的m8、第2行第1列对应表2中的m9、第2行第2列对应表2中的m10、第2行第3列对应表2中的m11、第2行第4列对应表2中的m12、第2行第5列对应表2中的m13、第2行第6列对应表2中的m14、第2行第7列对应表2中的m15、第2行第8列对应表2中的m16。表18位拉丁方1234567823456781345678124567812356781234678123457812345681234567本发明对16位的信息位进行保护来说明其构造方法,在本实施例中,以2行8列来说明,主要原因是可以获得最大的纠正能力,如表2所示,m1~m16是信息位,h1~h8是水平冗余位,v1~v8是垂直冗余位。表216位低冗余矩阵码结构图m1m2m3m4m5m6m7m8h1h2h3h4m9m10m11m12m13m14m15m16h5h6h7h8v1v2v3v4v5v6v7v8本实施方式中,获得n位水平校正子和n位垂直校正子后,将n位水平校正子作为一个整体,将n位垂直校正子作为一个整体,根据n位水平校正子和n位垂直校正子的图样来确定错误图案以及其位置。例如,m=2、n=8,当m′1~m′7发生翻转后,n位水平校正子将是sh1sh2sh3sh4sh5sh6sh7sh8=11111110;n位垂直校正子将会是sv1sv2sv3sv4sv5sv6sv7sv8=11111110。这两个n位校正子与其它错误图案的整体校正子不同,也就是说,此整体校正子是唯一的。因此,可以得出是m1'~m'7发生翻转,只需将其按位取反即可。通过类似的分析可以得出,上述构造的矩阵码将会纠正随机1位错误,直至最大连续7位错误,并且只需要16位的冗余位。如果m=4,则不能对全部的临近两位错误进行纠正,见表1所示,如果m=4,则第1位和第32位信息位发生两个错误时候的水平校正子和垂直矫正子,与第16位和第17位信息位发生两个错误时候的水平校正子和垂直矫正子将会一样,这将导致构造的码不能够正确识别错误的位置和图案,也将会导致不能够正确的纠正错误,因此,m的取值不能为4。本发明所述一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法不局限于上述各实施方式所记载的具体过程,还可以是上述各实施方式所记载的技术特征的合理组合。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1