CN104796157A - 存储器抗多位翻转分块矩阵码加固方法 - Google Patents
存储器抗多位翻转分块矩阵码加固方法 Download PDFInfo
- Publication number
- CN104796157A CN104796157A CN201510201240.2A CN201510201240A CN104796157A CN 104796157 A CN104796157 A CN 104796157A CN 201510201240 A CN201510201240 A CN 201510201240A CN 104796157 A CN104796157 A CN 104796157A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- sub
- correction
- 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.)
- Pending
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
存储器抗多位翻转分块矩阵码加固方法,涉及抗辐射加固电路领域。解决了目前错误纠正码存在纠错能力低、可靠性差、硬件性能开销大、成本高的问题。本发明是将要保护的数据在逻辑上进行模块划分及矩阵布局,通过相应的编码模块和译码模块,使得在具有高水平纠正能力的同时,消耗很小的面积和功耗开销;并且,用户可以根据不同需求,调整数据矩阵的参数,在纠正能力和性能开销之间进行权衡,得到最优方案;相比较传统的二维码的纠正能力更强,甚至比差集码的纠正能力还要强,并且具有比差集码的低面积和更小的功能开销的特性,适用于对可靠性和性能要求较高的存储器。
Description
技术领域
本发明涉及抗辐射加固电路领域。
背景技术
集成电路的可靠性一直是设计者和使用者最关心的问题之一。随着集成电路步入纳米级工艺制造阶段,在其性能获得大幅提高的同时,特征尺寸的缩小也带来了诸多问题,如电源电压的降低、频率的增大、设计复杂度的增加等,使得集成电路对空间辐射环境更加敏感。对于航空航天应用的电子器件,在空间中被各种高能粒子轰击后,会产生多种辐射效应,严重影响电路的正常工作,甚至造成失效。在多种辐射效应中,单粒子翻转造成的软错误,是影响存储器可靠性的主要因素。当辐射粒子穿过器件时,在其路径上会产生电子空穴对,在电场的作用下,电荷积累到一定程度,就会翻转存储单元的输出逻辑值,造成电路存储信息发生错误。随着集成电路工艺尺寸发展到深亚微米领域后,同一块晶圆上可以放置更多的电路,相邻单元之间的距离随着存储单元密度的不断增加而缩小,因此,一次单粒子事件造成存储器多个单元同时发生翻转的几率大大增加,并逐渐占软错误的主要地位,这些多位翻转普遍集中在相邻单元间。
错误纠正码是一种有效的存储器容错技术,其原理如图1所示。在对存储器进行写操作时,通过一定的编码算法,对保护的信息数据进行计算,得到冗余数据,构成码字,写入存储器。而后,在对存储器进行读操作时,存储数据中出现的错误,只要在码的纠正能力范围之内,都可以通过相应的译码算法,恢复出原始的信息数据。目前广泛采用的两类典型错误纠正码如二维码和差集码,其中,二维码硬件性能开销小,但纠错能力低,不能处理足够多位的错误。差集码纠错能力高,但硬件性能开销大,不适用于对性能要求较高的存储器。因此,在纠错能力和性能开销中进行折中考虑,设计一种高可靠性、低开销的错误纠正码是非常有必要的。
发明内容
本发明为了解决目前错误纠正码存在纠错能力低、可靠性差、硬件性能开销大、成本高的问题,提出了一种存储器抗多位翻转分块矩阵码加固方法。
本发明提出的存储器抗多位翻转分块矩阵码加固方法是通过以下步骤实现的:
步骤一、将一个k位宽字数据D划分为多个m位宽的数据块,并将这些数据块编号后排列成k1×k2的数据矩阵,即k=k1×k2×m,且相邻的k2个数据块处于非同行、非同列;
步骤二、对k1×k2的数据矩阵的每一行,以数据块为单位进行十进制加法计算,获得水平冗余位H;对k1×k2的数据矩阵的每一列,以数据块为单位进行二进制异或计算,获得垂直冗余位V,并通过编码器获得码字C={D,H,V};
步骤三、译码器对码字C进行读取,并按照步骤二的方法对数据矩阵重新计算获得水平冗余位H’和垂直冗余位V’;
步骤四、根据 获得水平数据块校正子SH,根据 获得垂直数据位校正子SV;
步骤五、根据获得垂直数据块校正子S;
步骤六、选取数据矩阵当中的按编号顺序的第一个数据块作为起始数据块,并判断以该数据块为起始的连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性,获得每个数据块的正确性信号;
步骤七、将每个数据块的正确性信号与起始数据块的每一位数据位异或,获得修正后的数据块;
步骤八、按数据块编号顺序选取下一数据块作为起始数据块,并重复执行步骤六和步骤七,直至修正所有数据块,并将修正后的数据块按数据块编号的先后顺序依次输出,获得正确的数据信息。
有益效果:本发明所提出的存储器抗多位翻转分块矩阵码加固方法是将要保护的数据在逻辑上进行模块划分及矩阵布局,通过相应的编码模块和译码模块,其中步骤一和步骤二属于编码部分,步骤三至步骤八属于译码部分,使得在具有高水平纠正能力的同时,消耗很小的面积和功耗开销;并且,用户可以根据不同需求,调整数据矩阵的参数,在纠正能力和性能开销之间进行权衡,得到最优方案。
附图说明
图1为错误纠正码的原理图;
图2为当k为32、m为4、k1为4、k2为2时的数据矩阵布局示意图。
图3为译码器的工作原理示意图,其中,Dcorrect为修正后的数据块,MUX为数据选择器,D_reg为寄存器,f1为获得垂直数据位校正子SV的功能模块,f2为获得水平数据块校正子SH的功能模块,f3为获得每个数据块的正确性信号的功能模块,OR为或门,round为译码控制信号,load为数据加载信号。
具体实施方式
具体实施方式一、结合图2说明本具体实施方式,本具体实施方式所述的存储器抗多位翻转分块矩阵码加固方法是通过以下步骤实现的:
步骤一、将一个k位宽字数据D划分为多个m位宽的数据块,并将这些数据块编号后排列成k1×k2的数据矩阵,即k=k1×k2×m,且相邻的k2个数据块处于非同行、非同列;
步骤二、对k1×k2的数据矩阵的每一行,以数据块为单位进行十进制加法计算,获得水平冗余位H;对k1×k2的数据矩阵的每一列,以数据块为单位进行二进制异或计算,获得垂直冗余位V,并通过编码器获得码字C={D,H,V};
步骤三、译码器对码字C进行读取,并按照步骤二的方法对数据矩阵重新计算获得水平冗余位H’和垂直冗余位V’;
步骤四、根据 获得水平数据块校正子SH,根据 获得垂直数据位校正子SV;
步骤五、根据获得垂直数据块校正子S;
步骤六、选取数据矩阵当中的按编号顺序的第一个数据块作为起始数据块,并判断以该数据块为起始的连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性,获得每个数据块的正确性信号;
步骤七、将每个数据块的正确性信号与起始数据块的每一位数据位异或,获得修正后的数据块;
步骤八、按数据块编号顺序选取下一数据块作为起始数据块,并重复执行步骤六和步骤七,直至修正所有数据块,并将修正后的数据块按数据块编号的先后顺序依次输出输出,获得正确的数据信息。
本实施方式所述的存储器抗多位翻转分块矩阵码加固方法是将要保护的数据在逻辑上进行模块划分及矩阵布局,通过相应的编码模块和译码模块,其中步骤一和步骤二属于编码部分,步骤三至步骤八属于译码部分,使得在具有高水平纠正能力的同时,消耗很小的面积和功耗开销;并且,用户可以根据不同需求,调整数据矩阵的参数,在纠正能力和性能开销之间进行权衡,得到最优方案。
具体实施方式二、本具体实施方式与具体实施方式一所述的存储器抗多位翻转分块矩阵码加固方法的区别在于,所述步骤六中判断连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性的过程为:
当数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S同时为1时,输出的数据块的正确性信号为1,否则,输出的数据块的正确性信号为0。
下面,结合图2以32比特字节为例具体说明本发明所提出的方法:
编码部分:
将一个32位宽字数据D0-D31按顺序划分为8个4位宽的数据块,并将这些数据块排列成一个4×2的矩阵形式,如图2所示。由于数据的划分及布局是在逻辑上完成,而非物理上,因此不需要改变存储器的版图。
针对数据矩阵的每一行,以数据块为单位进行十进制的加法运算,得到水平冗余位H0-H19,如公式一至公式四所示:
H0H1H2H3H4=D0D1D2D3+D28D29D30D31 公式一,
H5H6H7H8H9=D16D17D18D19+D4D5D6D7 公式二,
H10H11H12H13H14=D8D9D10D11+D20D21D22D23 公式三,
H15H16H17H18H19=D24D25D26D27+D12D13D14D15 公式四,
针对数据矩阵的每一列,以数据位为单位进行二进制异或运算,获得垂直冗余位V0-V7,如公式五所示:
Vi=Di⊕Di+8⊕Di+16⊕Di+24 i=0,1,...,7 公式五,
最后通过编码器获得码字C0-C59={D0-D31,H0-H19,V0-V7}。
译码部分:
译码器对码字进行读取,并对数据矩阵重新计算获得水平冗余位H0’-H19’和垂直冗余位V0’-V7’。
根据公式六至公式九获得水平数据块校正子SH0-SH3:
根据公式十获得垂直数据位校正子SV0-SV7:
再根据公式十一和公式十二,获得垂直数据块校正子S0-S1:
选取数据矩阵当中的按编号顺序的第一个数据块作为起始数据块,并根据公式十三判断以该数据块为起始的连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性,获得每个数据块的正确性信号:
公式十三,
将每个数据块的正确性信号与起始数据块的每一位数据位异或,获得修正后的数据块;
选取下一数据块作为起始数据块,并重复执行步骤六和步骤七,直至修正所有数据块,并将修正后的数据块按数据块编号的先后顺序依次输出输出,获得正确的数据信息,结合公式十三,每个周期的i,j,m,n,k的值如表1所示:
表1
针对32比特位字节应用在本发明中的方法中,对比分块矩阵码、二维码和差集码的纠正能力和性能开销,结果如表2和表3所示:
表2
表3
从上表中可以看出,本发明所提出的存储器抗多位翻转分块矩阵码加固方法的纠正能力相比较传统的二维码的纠正能力更强,甚至比差集码的纠正能力还要强,并且具有比差集码的低面积和更小的功能开销的特性,适用于对可靠性和性能要求较高的存储器,用户可根据不同需求,调整k1和k2的值,在纠正能力和时钟周期之间进行折中,具有更高的实用价值。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应视为属于本发明所提交的权利要求书确定的专利保护范围。
Claims (2)
1.存储器抗多位翻转分块矩阵码加固方法,其特征在于,它是通过以下步骤实现的:
步骤一、将一个k位宽字数据D划分为多个m位宽的数据块,并将这些数据块编号后排列成k1×k2的数据矩阵,即k=k1×k2×m,且相邻的k2个数据块处于非同行、非同列;
步骤二、对k1×k2的数据矩阵的每一行,以数据块为单位进行十进制加法计算,获得水平冗余位H;对k1×k2的数据矩阵的每一列,以数据块为单位进行二进制异或计算,获得垂直冗余位V,并通过编码器获得码字C={D,H,V};
步骤三、译码器对码字C进行读取,并按照步骤二的方法对数据矩阵重新计算获得水平冗余位H’和垂直冗余位V’;
步骤四、根据 获得水平数据块校正子SH,根据 获得垂直数据位校正子SV;
步骤五、根据获得垂直数据块校正子S;
步骤六、选取数据矩阵当中的按编号顺序的第一个数据块作为起始数据块,并判断以该数据块为起始的连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性,获得每个数据块的正确性信号;
步骤七、将每个数据块的正确性信号与起始数据块的每一位数据位异或,获得修正后的数据块;
步骤八、按数据块编号顺序选取下一数据块作为起始数据块,并重复执行步骤六和步骤七,直至修正所有数据块,并将修正后的数据块按数据块编号的先后顺序依次输出,获得正确的数据信息。
2.根据权利要求1所述的存储器抗多位翻转分块矩阵码加固方法,其特征在于,所述步骤六中判断连续k2个数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S的一致性的过程为:
当数据块的水平数据块校正子SH、垂直数据位校正子SV以及垂直数据块校正子S同时为1时,输出的数据块的正确性信号为1,否则,输出的数据块的正确性信号为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510201240.2A CN104796157A (zh) | 2015-04-24 | 2015-04-24 | 存储器抗多位翻转分块矩阵码加固方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510201240.2A CN104796157A (zh) | 2015-04-24 | 2015-04-24 | 存储器抗多位翻转分块矩阵码加固方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104796157A true CN104796157A (zh) | 2015-07-22 |
Family
ID=53560709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510201240.2A Pending CN104796157A (zh) | 2015-04-24 | 2015-04-24 | 存储器抗多位翻转分块矩阵码加固方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104796157A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107680629A (zh) * | 2017-10-30 | 2018-02-09 | 中北大学 | 一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005109A1 (en) * | 2004-06-30 | 2006-01-05 | Stmicroelectronics S.R.L. | Method and system for correcting errors in electronic memory devices |
CN104409103A (zh) * | 2014-09-22 | 2015-03-11 | 中国空间技术研究院 | 一种新颖的宇航用存储器二维编码加固方法及电路装置 |
-
2015
- 2015-04-24 CN CN201510201240.2A patent/CN104796157A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005109A1 (en) * | 2004-06-30 | 2006-01-05 | Stmicroelectronics S.R.L. | Method and system for correcting errors in electronic memory devices |
CN104409103A (zh) * | 2014-09-22 | 2015-03-11 | 中国空间技术研究院 | 一种新颖的宇航用存储器二维编码加固方法及电路装置 |
Non-Patent Citations (1)
Title |
---|
JING GUO ETC.: "Enhanced Memory Reliability Against Multiple Cell Upsets Using Decimal Matrix Code", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107680629A (zh) * | 2017-10-30 | 2018-02-09 | 中北大学 | 一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法 |
CN107680629B (zh) * | 2017-10-30 | 2020-08-25 | 中北大学 | 一种基于拉丁方矩阵构造的低冗余矩阵码对存储器进行加固方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915768B (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
US10725841B1 (en) | Method and apparatus for error detection and correction | |
CN103325425B (zh) | 存储器控制器 | |
CN104282340A (zh) | 一种固态盘闪存芯片阈值电压感知方法及系统 | |
Li et al. | Efficient implementations of 4-bit burst error correction for memories | |
Lee et al. | Low-power, resilient interconnection with orthogonal latin squares | |
CN105356968A (zh) | 基于循环置换矩阵的网络编码的方法及系统 | |
CN104409103A (zh) | 一种新颖的宇航用存储器二维编码加固方法及电路装置 | |
Liu et al. | Low redundancy matrix-based codes for adjacent error correction with parity sharing | |
Sai et al. | Diagonal hamming based multi-bit error detection and correction technique for memories | |
CN102761340B (zh) | 一种bch并行编码电路 | |
CN101499325B (zh) | 一种具有可变纠错能力的非易失性存储系统及方法 | |
CN107301881B (zh) | 一种基于4位相邻和3位突发纠错码的sram存储器抗辐射加固方法及存储器系统 | |
Piestrak et al. | Designing efficient codecs for bus-invert berger code for fully asymmetric communication | |
CN104796157A (zh) | 存储器抗多位翻转分块矩阵码加固方法 | |
CN110222006B (zh) | 基于rram的处理器架构及控制方法 | |
Neale | Design and analysis of an adjacent multi-bit error correcting code for nanoscale SRAMs | |
CN202838976U (zh) | 基于edac模块的三模冗余对存储器的容错装置 | |
CN205647493U (zh) | 一种自纠正多位错误的有限状态机电路 | |
CN114756403B (zh) | 一种基于网络编码的ram利用率提升方法 | |
Neelima et al. | MODIFIED MATRIX CODES FOR SHIELDING MEMORIES AGAINST ADJACENT ERRORS | |
CN109639289B (zh) | 一种qc-ldpc编码算法及实现方法 | |
Tejas et al. | Multiple Bit Error Correction Codes for Memories in Satellites | |
CN106095610B (zh) | 一种保护32位存储器数据的低冗余正交拉丁码扩展方法 | |
Zhang et al. | Radiation Environment-Constrained FPGA Reinforcement Technology and Reliability Research Utilizing Error Control Coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150722 |
|
WD01 | Invention patent application deemed withdrawn after publication |