基于二维检错纠错编码的sram抗辐射加固方法

文档序号:9349817阅读:280来源:国知局
基于二维检错纠错编码的sram抗辐射加固方法
【技术领域】
[0001] 本发明涉及一种SRAM抗辐射方法,特别是涉及一种基于二维检错纠错编码的 SRAM抗辐射加固方法。
【背景技术】
[0002] 在SRAM系统级抗单粒子翻转效应加固技术中,基于海明码、三模冗余(TMR)错误 检测与校正(EDAC)的加固技术被普遍采用。
[0003] 文献"抗单粒子翻转效应的SRAM研究与设计[J].固体电子学研究与进展,陈楠, 魏廷存等.Oct.,2013, Vol. 33, No. 5. "公开了一种采用海明码校验的EDAC抗单粒子辐射加 固方法,该系统结构主要由SRAM、EDAC编码电路、EDAC解码校验电路组成。SRAM的数据 写入和读出都经过EDAC模块处理,其中EDAC编码电路给写入数据产生冗余校验位,并将数 据位与冗余校验位组合成海明码存储到SRAM,EDAC解码校验电路对读出数据进行"纠一检 二"纠错处理。
[0004] 利用海明码校验的EDAC方法可以对存储数据实现"纠一检二"功能,而且海明码 编码效率较高(海明码(12, 8)分组,编码效率高达67%),一定程度上可以提高SRAM抗单 粒子翻转效应能力。但海明码纠错能力比较低,只能纠正一位错码,单粒子福射效应导致的 多位翻转(MBU)很难处理。同样,如果单独使用三模冗余的编码分组(24, 8),也只能纠正一 位错码,而且编码效率只有33%,不能处理单粒子辐射效应导致的多位翻转问题。

【发明内容】

[0005] 为了克服现有SRAM抗辐射方法SRAM抗单粒子翻转能力差的不足,本发明提供一 种基于二维检错纠错编码的SRAM抗辐射加固方法。该方法首先对写入数据进行横向正反 码(16, 8)编码,对同列数据进行纵向海明码(12, 8)编码,即基于正反码和海明码交叉校验 的二维检错纠错编码;然后当发生单粒子效应导致多位翻转问题时,利用二维检错纠错算 法,依次对读出数据进行解码运算。本发明充分利用横向正反码、纵向海明码的交叉校验能 力,能有效提高SRAM检错纠错能力,使SRAM能纠正2位以上错码,即处理单粒子效应导致 的多位翻转问题,从而进一步提高SRAM抗单粒子翻转能力。
[0006] 本发明解决其技术问题所采用的技术方案是:一种基于二维检错纠错编码的 SRAM抗辐射加固方法,其特点是采用以下步骤:
[0007] 步骤一、扫描统计横向最大错码数Ex、纵向最大错码数Ey ;
[0008] 步骤二、判断横向最大错码数Ex和纵向最大错码数Ey是否等于0,如果是则转步 骤十六,否则转步骤三;
[0009] 步骤三、判断横向最大错码数Ex是否大于1,如果是转步骤六,否则转步骤四;
[0010] 步骤四、横向扫描正反码纠单错;
[0011] 步骤五、判断横向最大错码数EX、纵向最大错码数Ey是否等于0,如果是则转步骤 十六,否则转步骤十七;
[0012] 步骤六、判断纵向最大错码数Ey是否大于1,如果是转步骤九,否则转步骤七;
[0013] 步骤七、扫描纵向海明码纠单错;
[0014] 步骤八、判断横向最大错码数Ex、纵向最大错码数Ey是否等于0,如果是则转步骤 十六,否则转步骤十七;
[0015] 步骤九、扫描横向正反码纠单错;
[0016] 步骤十、扫描统计横向最大错码数Ex、纵向最大错码数Ey ;
[0017] 步骤十一、判断横向最大错码数Ex是否大于1,如果是转步骤十三,否则转步骤 十二;
[0018] 步骤十二、判断横向最大错码数Ex、纵向最大错码数Ey是否等于0,如果是则转步 骤十六,否则转步骤十七;
[0019] 步骤十三、判断纵向最大错码数Ey是否大于1,如果是转步骤十七,否则转步骤 十四;
[0020] 步骤十四、扫描纵向海明码纠单错;
[0021] 步骤十五、判断横向最大错码数Ex、纵向最大错码数Ey是否等于0,如果是则转步 骤十六,否则转步骤十七;
[0022] 步骤十六、所有错码纠正,二维检错纠错结束;
[0023] 步骤十七、存在不可纠正错码,二维检错纠错结束。
[0024] 本发明的有益效果是:该方法首先对写入数据进行横向正反码(16, 8)编码,对同 列数据进行纵向海明码(12, 8)编码,即基于正反码和海明码交叉校验的二维检错纠错编 码;然后当发生单粒子效应导致多位翻转问题时,利用二维检错纠错算法,依次对读出数据 进行解码运算。本发明充分利用横向正反码、纵向海明码的交叉校验能力,有效地提高了 SRAM检错纠错能力,使SRAM能纠正2位以上错码,即处理单粒子效应导致的多位翻转问题, 从而进一步提高了 SRAM抗单粒子翻转能力。
[0025] 下面结合附图和【具体实施方式】对本发明作详细说明。
【附图说明】
[0026] 图1是本发明方法提出的二维检错纠错编码。
[0027] 图2是图1中2位错码同行的错误类型图。
[0028] 图3是图1中2位错码同列的错误类型图。
[0029] 图4是图1中2位错码既不同行也不同列的错误类型图。
[0030] 图5是图1中3位错码同行或者同列的错误类型图。
[0031] 图6是图1中3位错码两两同行或者同列的错误类型图。
[0032] 图7是图1中3位错码中2位同行或者同列的错误类型图。
[0033] 图8是图1中3位错码既不同行也不同列的错误类型图。
[0034] 图9是图1中4位错码两两同行或者同列的错误类型图。
[0035] 图10是二维检错纠错算法流程图。
[0036] 图11是本发明基于二维检错纠错编码的SRAM抗辐射加固方法的流程图。
[0037] 图12是横向正反码编码原理图。
[0038] 图13是纵向海明码编码原理图。
[0039] 图14是横向正反码解码原理图。
[0040] 图15是纵向海明码解码原理图。
【具体实施方式】
[0041] 参照图1-15。本发明基于二维检错纠错编码的SRAM抗辐射加固方法具体步骤如 下:
[0042] 本发明二维检错纠错编码方法横向采用正反码编码,纵向对应列采用海明码编 码。为适应SRAM存储结构按字节编码,横向正反码8位信息码对应8位监督码,其码距为 4,能纠单错检双错,且具有实现简单的特点;纵向采用(12,8)分组的海明码,其码距为4, 同样具有纠单错检双错能力,具有编码效率高的特点。
[0043] 本发明归纳整理了二维检错纠错编码的4位以内所有可能错码类型,针对不同错 码类型,基于二维检错纠错编码的交叉校验纠错方法分析如下:
[0044] (I) 1位错码情况;
[0045] 无论采用横向或纵向检错纠错算法,1位错码都能纠正。
[0046] (2) 2位错码情况;
[0047] 2位错码位置分布可以分为:2位错码在同一行、2位错码在同一列、2位错码既不 同行也不同列共三种情况。
[0048] (a)在同一行的2位错码可通过纵向检错纠错算法纠正;
[0049] (b)在同一列的2位错码可通过横向检错纠错算法纠正;
[0050](c)不同行列的2位错码通过横向正或者纵向检错纠错算法都能纠正;
[0051](3) 3位错码情况;
[0052] 类似步骤(2)中2位错码位置分布,3位错码位置分布可以分为3位错码在同一行 或者同一列、3位错码中两两同行或者同列、3位错码中2位同行或者同列、3位错码既不同 行也不同列共四种情况;
[0053](a)如果是3位错码在同一行,采用纵向检错纠错算法纠正,如果3位错码在同一 列,采用横向检错纠错纠正;
[0054](b)如果3位错码两两
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1