CN106328209B - 存储器单粒子多位翻转容错方法及电路 - Google Patents
存储器单粒子多位翻转容错方法及电路 Download PDFInfo
- Publication number
- CN106328209B CN106328209B CN201510386190.XA CN201510386190A CN106328209B CN 106328209 B CN106328209 B CN 106328209B CN 201510386190 A CN201510386190 A CN 201510386190A CN 106328209 B CN106328209 B CN 106328209B
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- error
- memory
- error correction
- 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.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种存储器单粒子多位翻转容错方法及电路,包括:向存储器写入数据时,将输入数据A<15:0>进行编码,生成校验位P<5:0>,并将校验位P<5:0>及对应的输入数据A<15:0>输入到存储器;从存储器读出数据时,分别读出与输入数据A<15:0>对应的存储数据A'<15:0>及与校验位P<5:0>对应的检验位P'<5:0>,并进行解码,生成纠错码S<5:0>,根据纠错码S<5:0>对存储数据A'<15:0>进行纠错,得到最终数据D<15:0>。本发明能对任意相邻两位错误数据纠正,与传统的扩展汉明码相比,在不增加校验位的条件下,将存储器抗单粒子翻转能力提高近一倍。
Description
技术领域
本发明属于集成电路抗辐照设计加固领域,尤其涉及一种存储器单粒子多位翻转容错方法及电路。
背景技术
单粒子效应是指高能带电粒子在穿过微电子器件的灵敏区时,沉积能量,产生足够数量的电荷,这些电荷被器件电极收集后,造成器件逻辑状态的非正常改变或器件损坏,它是一种随机效应。除了空间高能粒子以外,各种核辐射、电磁辐射环境也是产生单粒子效应的主要原因。单粒子翻转是辐照环境下集成电路最常见的一种单粒子效应,它会导致存储数据的错误。
空间辐射环境中的高能粒子在芯片中引起的单粒子翻转事件严重威胁到空间飞行器电子系统的可靠性。特别是随着单位面积上器件的集成度不断提高,特征尺寸及工作电压不断降低,导致单粒子翻转事件所需的临界电荷越来越小,导致单粒子翻转事件发生的概率也越来越高。存储器作为指令和数据保存的核心器件,广泛应用于各类卫星,空间飞行器与探测器的电子系统中。处于空间环境的存储器件容易被太空环境中的各种射线或高能粒子击中,一旦存储器中发生单粒子翻转导致数据信息存储错误,可能会引起空间电子设备失效,甚至系统崩溃,造成空间任务失败。因此,提高存储器的抗单粒子翻转能力,对空间电子设备的生存能力至关重要。目前存储器的加固方法主要有两种:
工艺加固技术:工艺加固是指使用特殊的工艺流程和不同的工艺参数从而使器件具有良好的抗辐射特性,例如通过采用SOI(Silicon on Insulator)工艺,使用全介质隔离技术,可以有效减小重离子轨迹上的电荷收集量,从而达到提高抗单粒子翻转性能的目的。但抗辐照加固工艺成本高,可选择的工艺线少,集成度通常落后于商用工艺。
设计加固技术:相对于工艺加固,设计加固可以使用较先进的商用工艺生产线,从而使电子器件的成本更低、集成度更高、速度更快、功耗更低。目前纠错编码是一种不但可以检测错误而且还可以定位错误位置并进而纠正错误的一类编码,是半导体存储器的一种重要容错技术。汉明码是常用的纠错码,由于其简单,易于实现等特点在存储器中得到广泛使用。
目前的抗辐照存储器加固常用方案中,工艺加固可以有效减小单粒子轨迹上的电荷收集,但造价昂贵,可选择的工艺线少,集成度通常比商用工艺落后三代左右;纠错编码设计加固方案中,目前常用于存储器的扩展汉明码纠错能力较弱,难以满足深亚微米工艺存储器的可靠性需求。
发明内容
(一)要解决的技术问题
本发明的目的在于提供一种存储器单粒子多位翻转容错方法及电路,提高了存储器抗单粒子翻转能力。
(二)技术方案
本发明提供一种存储器单粒子多位翻转容错方法,包括:
S1,向存储器写入数据时,将16位的输入数据A<15:0>进行编码,生成6位的校验位P<5:0>,并将所述校验位P<5:0>及对应的输入数据A<15:0>输入到所述存储器;
S2,从所述存储器读出数据时,分别读出与所述输入数据A<15:0>对应的16位存储数据A'<15:0>及与所述校验位P<5:0>对应的6位检验位P'<5:0>,将该存储数据A'<15:0>及该检验位P'<5:0>进行解码,生成6位纠错码S<5:0>,根据所述纠错码S<5:0>对所述存储数据A'<15:0>进行纠错,得到最终数据D<15:0>。
(三)有益效果
本发明提供的存储器单粒子多位翻转的容错方法,能对任意相邻两位错误数据纠正,与传统的扩展汉明码相比,在不增加校验位的条件下,将存储器抗单粒子翻转能力提高近一倍。
附图说明
图1是本发明提供的存储器单粒子多位翻转的容错方法的流程图。
图2是本发明提供的存储器单粒子多位翻转容错电路的结构示意图。
图3是本发明提供的存储器单粒子多位翻转容错电路中生成校验位P0的电路示意图。
图4是本发明提供的存储器单粒子多位翻转容错电路中生成纠错码S0的电路示意图。
图5是本发明提供的存储器单粒子多位翻转容错电路中存储数据位A'0与A'1的纠错电路示意图。
图6是本发明提供的存储器单粒子多位翻转容错电路中生成错误标志Error_flag的电路示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供一种存储器单粒子多位翻转的容错方法,在数据写入时,通过编码器生成校验位,并将校验位存入存储器,在数据读出时,解码器根据校验位生成纠错码,通过此纠错码对读出的数据进行纠错,保证读出数据的正确性,提高了存储器抗单粒子翻转能力。
如图1所示,图1是本发明提供的存储器单粒子多位翻转的容错方法的流程图,该方法包括:
S1,写入数据时,将输入数据A<15:0>输入到编码器,编码器通过编码方程组对输入数据A<15:0>进行编码,生成校验位P<5:0>,
A<m:n>表示m-n+1位的二进制数据A,第一位到最后一位分别是An、An+1…Am。
其中,编码方程组为:
S2,读出数据时,存储器分别读出与所述输入数据A<15:0>对应的存储数据A'<15:0>及与所述校验位P<5:0>对应的检验位P'<5:0>,将读出的存储数据A'<15:0>及其对应的检验位P'<5:0>输入到解码器,解码器根据存储数据A'<15:0>及编码方程组计算出校验位P”<5:0>,再将计算出的校验位P”<5:0>与存储器中读出的校验位P'<5:0>作异或运算,得到所述纠错码S<5:0>,可以用如下方程式表示:
将存储数据A'<15:0>及对应的纠错码S<5:0>输入到纠错电路;
纠错电路根据纠错码S<5:0>判断出存储数据A'<15:0>中的错误数据位,其中,错误数据位为一位数据位或两位相邻的数据位,对错误数据位进行取反操作,从而对存储数据A'<15:0>进行纠错,输出最终数据D<15:0>,本方法能对任意相邻两位错误数据纠正,与传统的扩展汉明码相比,在不增加校验位的条件下,将存储器抗单粒子翻转能力提高近一倍;另外,纠错电路还输出错误标志Error_flag,其中,错误标志Error_flag是二进制一位数据,S<5:0>等于0时,错误标志Error_flag为0,表示没有错误数据位,S<5:0>不等于0时,错误标志Error_flag为1,表示有错误数据位。
如图2所示,图2是本发明提供的存储器单粒子多位翻转容错电路的结构示意图,存储器单粒子多位翻转容错电路包括编码器、解码器及纠错电路,其中:
编码器通过编码方程组对输入数据A<15:0>进行编码,生成校验位P<5:0>,其中,结合图3所示生成校验位中P0的逻辑门电路,编码方程组为:
再将校验位P<5:0>及对应的输入数据A<15:0>输入到存储器;
结合图4所示生成纠错码S0的逻辑门电路,解码器分别读出存储数据A'<15:0>及其对应的检验位P'<5:0>,根据存储数据A'<15:0>及编码方程组计算出校验位P”<5:0>,再将计算出的校验位P”<5:0>与存储器中读出的校验位P'<5:0>作异或运算,得到所述纠错码S<5:0>,可以用如下方程式表示:
将存储数据A'<15:0>及对应的纠错码S<5:0>输入到纠错电路;
结合图5所示对存储数据位A'0与A'1的进行纠错的逻辑门电路,纠错电路根据纠错码S<5:0>判断出存储数据A'<15:0>中的错误数据位,其中,错误数据位为一位数据位或两位相邻的数据位,对错误数据位进行取反操作,从而对存储数据A'<15:0>进行纠错,输出最终数据D<15:0>,本方法能对任意相邻两位错误数据纠正,与传统的扩展汉明码相比,在不增加校验位的条件下,将存储器抗单粒子翻转能力提高近一倍。
结合图6所示生成错误标志Error_flag的逻辑门电路,纠错电路还输出错误标志Error_flag,其中,S<5:0>等于0时,错误标志Error_flag为0,表示没有错误数据位,S<5:0>不等于0时,错误标志Error_flag为1,表示有错误数据位。
值得注意的是,由于将校验位P<5:0>也作为数据输入到存储器,读出校验位时也可能出现数据位错误,故纠错码S<5:0>不仅可以对存储数据A'<15:0>进行纠错,还可以对读出的校验位P'<5:0>进行纠错,同样,也能对任意相邻两位错误数据纠正。如表格1和表格2所示,表格1是纠错码与一位错误位置的对应关系,表格2是纠错码与一位错误位置的对应关系:
表1 纠错码与一位错误位置的对应关系
表2 纠错码与两位相邻错误位置的对应关系
根据纠错码与错误位置对应关系表可以设计出纠错电路,例如,当数据位A'<0>出现错误时,生成的纠错码S<5:0>=011010,此时纠错电路将数据位A'0取反,其它数据位保持不变,输出正确数据,如果数据位A'0与A'1同时出现错误,则生成的纠错码为S<5:0>=111001,此时纠错电路将数据位A'0与A'1取反,其它数据位保持不变,输出正确数据,其它数据位类似,这里就不在赘述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种存储器单粒子多位翻转容错方法,其特征在于,包括:
S1,向存储器写入数据时,将16位的输入数据A<15:0>进行编码,生成6位的校验位P<5:0>,并将所述校验位P<5:0>及对应的输入数据A<15:0>输入到所述存储器,其中,对所述输入数据A<15:0>进行编码,生成所述校验位P<5:0>时采用的编码方程组为:
S2,从所述存储器读出数据时,分别读出与所述输入数据A<15:0>对应的16位存储数据A′<15:0>及与所述校验位P<5:0>对应的6位检验位P′<5:0>,将该存储数据A′<15:0>及该检验位P′<5:0>进行解码,生成6位纠错码S<5:0>,根据所述纠错码S<5:0>对所述存储数据A′<15:0>进行纠错,得到16位的最终数据D<15:0>。
2.根据权利要求1所述的存储器单粒子多位翻转容错方法,其特征在于,在所述步骤S2中,先根据所述存储数据A′<15:0>计算出6位校验位P″<5:0>,再将该校验位P″<5:0>与所述校验位P′<5:0>作异或运算,得到所述纠错码S<5:0>。
3.根据权利要求1所述的存储器单粒子多位翻转容错方法,其特征在于,在所述步骤S2中,在得到最终数据D<15:0>时,还输出错误标志Error_flag,其中,所述纠错码S<5:0>等于0时,该错误标志Error_flag为0,表示没有错误数据位,所述S<5:0>不等于0时,该错误标志Error_flag为1,表示有错误数据位。
4.根据权利要求3所述的存储器单粒子多位翻转容错方法,其特征在于,在所述步骤S2中,对所述存储数据A′<15:0>进行纠错时,根据所述纠错码S<5:0>判断出所述存储数据A′<15:0>中的错误数据位,再对所述错误数据位进行取反操作。
5.根据权利要求4所述的存储器单粒子多位翻转容错方法,其特征在于,所述错误数据位为一位数据位或两位相邻的数据位。
6.一种存储器单粒子多位翻转容错电路装置,其特征在于,包括编码器、解码器及纠错电路,其中:
所述编码器用于对输入数据A<15:0>进行编码,生成校验位P<5:0>,并将所述校验位P<5:0>及该输入数据A<15:0>输入到存储器,其中,所述编码器通过编码方程组对所述输入数据A<15:0>进行编码,生成所述校验位P<5:0>,其中,编码方程组为:
所述解码器用于从所述存储器分别读出与所述输入数据A<15:0>对应的存储数据A′<15:0>及与所述校验位P<5:0>对应的检验位P′<5:0>,
并根据所述存储数据A′<15:0>及其对应的检验位P′<5:0>进行解码,生成纠错码S<5:0>;
所述纠错电路根据所述纠错码S<5:0>对所述存储数据A′<15:0>进行纠错,得到最终数据D<15:0>。
7.根据权利要求6所述的存储器单粒子多位翻转容错电路装置,其特征在于,所述解码器用于先根据所述存储数据A′<15:0>计算出校验位P″<5:0>,再将计算出的校验位P″<5:0>与所述校验位P′<5:0>作异或运算,得到所述纠错码S<5:0>。
8.根据权利要求6所述的存储器单粒子多位翻转容错电路装置,其特征在于,所述纠错电路在得到最终数据D<15:0>时还输出错误标志Error_flag,其中,所述纠错码S<5:0>等于0时,错误标志Error_flag为0,表示没有错误数据位,所述纠错码S<5:0>不等于0时,错误标志Error_flag为1,表示有错误数据位。
9.根据权利要求8所述的存储器单粒子多位翻转容错电路装置,其特征在于,所述纠错电路根据纠错码S<5:0>判断出所述存储数据A′<15:0>中的错误数据位,再对所述错误数据位进行取反操作,从而对所述存储数据A′<15:0>进行纠错。
10.根据权利要求9所述的存储器单粒子多位翻转容错电路装置,其特征在于,所述错误数据位为一位数据位或两位相邻的数据位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510386190.XA CN106328209B (zh) | 2015-06-30 | 2015-06-30 | 存储器单粒子多位翻转容错方法及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510386190.XA CN106328209B (zh) | 2015-06-30 | 2015-06-30 | 存储器单粒子多位翻转容错方法及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106328209A CN106328209A (zh) | 2017-01-11 |
CN106328209B true CN106328209B (zh) | 2020-01-21 |
Family
ID=57726402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510386190.XA Active CN106328209B (zh) | 2015-06-30 | 2015-06-30 | 存储器单粒子多位翻转容错方法及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106328209B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910938A (zh) * | 2018-09-17 | 2020-03-24 | 北京兆易创新科技股份有限公司 | 一种数据纠正方法、装置、存储设备及存储介质 |
CN109766213B (zh) * | 2018-12-28 | 2022-09-06 | 上海微阱电子科技有限公司 | 一种基于汉明码实现数据纠错的存储器电路 |
CN111782438B (zh) * | 2019-04-04 | 2022-08-05 | 西南科技大学 | 一种改进的抗辐射加固矩阵码译码电路 |
CN110096909B (zh) * | 2019-04-19 | 2021-04-20 | 深圳忆联信息系统有限公司 | 一种保证efuse秘钥稳定性的方法及其系统 |
CN114679263B (zh) * | 2022-02-18 | 2023-08-11 | 青岛理工大学 | 基于纠缠态粒子的超密编码通信协议 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506365A (en) * | 1982-11-22 | 1985-03-19 | Ncr Corporation | Error correction system |
CN1896959A (zh) * | 2005-07-12 | 2007-01-17 | 中国科学院空间科学与应用研究中心 | 一种静态数据存储的纠错编码装置 |
CN101067972A (zh) * | 2007-04-23 | 2007-11-07 | 北京芯技佳易微电子科技有限公司 | 一种存储器检错纠错编码电路及利用其读写数据的方法 |
CN101551764A (zh) * | 2009-02-27 | 2009-10-07 | 北京时代民芯科技有限公司 | 基于同步冗余线程与编码技术的抗单粒子效应系统及方法 |
CN101894590A (zh) * | 2009-05-21 | 2010-11-24 | 成都市华为赛门铁克科技有限公司 | 存储数据纠错的编码和译码方法,装置以及存储数据纠错设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100803373B1 (ko) * | 2007-02-09 | 2008-02-13 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 데이터 에러 측정 회로 |
-
2015
- 2015-06-30 CN CN201510386190.XA patent/CN106328209B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506365A (en) * | 1982-11-22 | 1985-03-19 | Ncr Corporation | Error correction system |
CN1896959A (zh) * | 2005-07-12 | 2007-01-17 | 中国科学院空间科学与应用研究中心 | 一种静态数据存储的纠错编码装置 |
CN101067972A (zh) * | 2007-04-23 | 2007-11-07 | 北京芯技佳易微电子科技有限公司 | 一种存储器检错纠错编码电路及利用其读写数据的方法 |
CN101551764A (zh) * | 2009-02-27 | 2009-10-07 | 北京时代民芯科技有限公司 | 基于同步冗余线程与编码技术的抗单粒子效应系统及方法 |
CN101894590A (zh) * | 2009-05-21 | 2010-11-24 | 成都市华为赛门铁克科技有限公司 | 存储数据纠错的编码和译码方法,装置以及存储数据纠错设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106328209A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106328209B (zh) | 存储器单粒子多位翻转容错方法及电路 | |
Tambatkar et al. | Error detection and correction in semiconductor memories using 3D parity check code with hamming code | |
CN102915768B (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
Sridevi et al. | Implementation of error correction techniques in memory applications | |
Argyrides et al. | Matrix codes: Multiple bit upsets tolerant method for SRAM memories | |
Sharma et al. | An HVD based error detection and correction of soft errors in semiconductor memories used for space applications | |
US9043683B2 (en) | Error protection for integrated circuits | |
US9041428B2 (en) | Placement of storage cells on an integrated circuit | |
Silva et al. | Extended matrix region selection code: An ECC for adjacent multiple cell upset in memory arrays | |
Maheswari et al. | Error Detection and Correction in SRAM Cell Using DecimalMatrix Code | |
Silva et al. | An efficient, low-cost ECC approach for critical-application memories | |
CN110489268B (zh) | 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统 | |
CN109119110B (zh) | 一种闪存存储电路的抗总剂量效应加固方法 | |
Satyanarayana et al. | Design and implementation of error detection and correction system for semiconductor memory applications | |
Jin et al. | TMR group coding method for optimized SEU and MBU tolerant memory design | |
Toghuj | Modifying Hamming code and using the replication method to protect memory against triple soft errors | |
CN202838976U (zh) | 基于edac模块的三模冗余对存储器的容错装置 | |
CN114880161A (zh) | 用于数据存储校正的基于(23,12)Golay码的双相邻纠错码 | |
Kamalakannan et al. | Implementation of error correction technique based on decimal matrix code | |
Faraj | ’Design Error Detection and Correction System based on Reed_Muller Matrix for Memory Protection’ | |
US20140201599A1 (en) | Error protection for integrated circuits in an insensitive direction | |
Singh et al. | Ram error detection and correction using HVD implementation | |
Santhia et al. | Error detection and correction using decimal matrix code: Survey | |
Sadi et al. | Soft error tolerance in memory applications | |
US11182246B1 (en) | Continuous error coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |