1 / 8
文档名称:

一种存储器抗单粒子翻转的纠错检错方法.docx

格式:docx   大小:19KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

一种存储器抗单粒子翻转的纠错检错方法.docx

上传人:开心果 2023/8/31 文件大小:19 KB

下载得到文件列表

一种存储器抗单粒子翻转的纠错检错方法.docx

相关文档

文档介绍

文档介绍:该【一种存储器抗单粒子翻转的纠错检错方法 】是由【开心果】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【一种存储器抗单粒子翻转的纠错检错方法 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。一种存储器抗单粒子翻转的纠错检错方法专利名称:一种存储器抗单粒子翻转的纠错检错方法技术领域:本发明涉及一种存储器的纠错检错方法,特别是一种存储器抗单粒子翻转的纠二检多错方法。背景技术:在各类微处理器中,各种存储单元(数据存储器、程序存储器、寄存器、触发器)占据了芯片面积的30%—70%,是芯片中对瞬时干扰最为敏感的部分。星载微处理器受空间辐射的影响,存储单元会发生单粒子翻转(singleeffectupset)问题,因而引起程序出错,如果SEU问题不能及时得到解决,可能会引起微处理器工作异常。EDAC(ErrorDetectionAndCorrection)技术能有效的解决SEU问题,同时不依赖于工艺。随着电子技术的不断发展,以及人们对SEU(SingleEffectUpset)认识的不断深入,生产厂商已由生产专门的EDAC芯片发展到带有EDAC功能的微处理芯片。国内外都有过对SEU现象的检测,检测结果表明,SEU产生的时间与物理地址有着4艮大的离散性,在考察整个存储器芯片的SEU情况时,对于较大工艺尺寸的存储设备,在较短的时间内没有发现字节或字出现多比特翻转。因此,目前在大多存储器编码纠检错技术中多采用纠一检二的纠错方法,、名称为空间计算机抗单粒子翻转的存储器纠检错与自动回写方法的专利公开的一种纠检错方法,该方法仅能对存储器的单个数据错误进行纠正,当发生两位及以上错误时便无法确定出错位置。空间高能粒子能够产生足够的电离电荷和LET(LinearEnergyTransfer,线性能量传输密度)值,它们是SEU发生的重要影响因素。随着集成电路工艺的不断提高,一方面,存储电路发生逻辑翻转的临界电荷减小,另一方面,对于相同LET值,电路收集电荷的能力不断增强,当高能带电粒子通过存储器时,在粒子通过的路径上将产生电离电荷,沉积在器件灵敏区中的电荷部分被电极收集,当收集到的电荷超过电路状态的临界电荷时,电路就会出现翻转(即SEU)。因此,在超深亚微米集成电路中,更容易发生SEU问题,同时考虑到空间辐射环境在地域和时间变化的复杂性,会增加单个离子产生的电荷为两个相邻的单元分享的可能,导致存储单元受辐射的影响主要发生一位和两位翻转。这种情况下,目前所采用的纠一检二错方法已无法满足要求。现有的纠二检多错方法,如题名为《一种卫星存储器纠档r错系统设计》(淮阳工学院报,2007年第3期)文献报道的一种纠检错方法,该方法在定位错误时,认为当校验位发生一位或两位错误时,错误图样为0,当一位信息数据和一位校验数据同时发生错误时,错误图样同于只有一位信息数据发生错误时的情况,即对校验数据发生的错误并未进行处理。由于存储器中,同一信息数据和校验数据还会被再次使用,如果不对校验数据错误及时进行纠检,在空间辐射的影响下,就可能引起不可纠的多位错,再次读取该数据时可能产生错误的校正子,这样就无法准确的识别错误类型,导致判断错误,从而影响纠检错结果的准确性。发明内容本发明的技术解决问题是克服现有技术的不足,提供了一种纠错能力强、操作简单的存储器抗单粒子翻转的纠二检多错方法。本发明的技术解决方案是一种存储器抗单粒子翻转的纠错检错方法,其特征在于步骤如下(1)从CPU接收K位信息数据;(2)生成与所述K位信息数据对应的N位校验数据A;(3)将所述K位信息数据和所述N位校验数据A存入存储器;(4)从存储器中读出所述K位信息数据,并釆用步骤(2)方法重新生成与所述K位信息数据对应的N位校验数据B;(5)将校验数据A和校验数据B进行异或运算,得到校正子;(6)通过校正子定位信息数据和校验凄t据A中的错误,若产生一位或两位数据错误,则纠正数据错误并输出正确的数据;若产生三位或可检测的三位以上的数据错误,则提示产生不可纠正错误。所述步骤(2)中生成N位校验数据A的方法为采用公式P=,其中M为将K位信息数据以8位为单位分组后形成的1x8行向量,G为与8位信息数据对应的生成矩阵,其具体形式根据纠检错能力和信息数据的位数K确定,P为生成的与8位信息数据对应的校验数据,K/8组数据并行处理,即可得到校验数据A。当所述信息数据的位数K为8、可纠检8位信息数据中的2位错误时,所述的生成矩阵G的形式为formulaseeoriginaldocumentpage2所述的校验数据A或校验数据B的位数N与信息数据的位数K可以相等,也可以不相等。所述步骤(6)中通过校正子定位信息数据和校验数据A中错误的方法为根据校正子与奇偶校验矩阵H中每一列的对应关系进行数据错误定位,若校正子与奇偶校验矩阵H中只有一列对应相同,则可判断信息数据或校验数据A中产生一位数据错误;若校正子与奇偶校验矩阵H中某两列的按位异或运算结果对应相同,则可判断信息数据或校验数据A中产生两位数据错误,奇偶校验矩阵H的形式为//=[&;/^],其中/为单位矩阵。所述步骤(6)中对产生的一位数据4^吴进行纠正的方法为将奇偶校验矩阵H中与校正子相同的列的对应位进行取反操作。所述步骤(6)中对产生的两位数据错误进行纠正的方法为将奇偶校-验矩阵H中按位异或运算的结果与校正子相同的两列的对应位进行取反操作。本发明与现有技术相比的优点在于1)本发明方法能够纠正数据位和校验位总和位中的一位或两位数据错误,纠错能力强;2)本发明方法可对K/8组凄t据并行采用生成矩阵G进行纠检错码,最多能够纠正K/4个数据错误,并在实际应用到存储器纠检错时,具有较短的延时,可有效提高存储器抗单粒子翻转的能力;3)本发明方法同时对信息数据和校验数据进行纠检错,对校验数据发生的错误及时纠正,提高了错误判断的准确性,并可减小实际应用时在回写信息数据和校验数据时的系统功耗;4)实际应用时,可将校验数据的生成方法形成编码模块,并在解码过程中复用,大大提高系统资源的利用率。由于编码模块是由多个异或门实现的,如果对32位数据编码,要用到的异或门有九十个左右,复用编码模块,可以减少EDAC电路的功耗;同时空间辐射环境可能会对EDAC电路产生影响,如果对EDAC模块进行加固,复用编码模块可以降低加固代价。图1为本发明存储器抗单粒子翻转纠检错方法的流程框图。具体实施方式如图1所示,为本发明方法的原理框图,当EDAC电踪"接收到CPU写信号时,EDAC编码模块接收K位信息数据(根据CPU的处理能力,K可为8、16、32、64等),并对接收到的K位信息数据进行编码,生成N位校验数据A。编码时采用公式P二M'G进行计算,并生成相应的编码模块,其中M为将K位信息数据以8位为单位分组后(分为K/8组)形成的1x8行向量,G为生成矩阵,P为生成的与8位信息数据对应的校验数据,并行采用这种处理过程,即可得到校验数据A。G为生成矩阵,其具体形式根据纠检错能力和信息数据的位数K确定。-生成校验数据A后,将K位信息数据和N位校验数据A存入存储器。根据选取生成矩阵G的不同,校验数据A的位数N与信息数据的位数K可以相等,也可以不相等。当EDAC电5g4妄收到CPU读信号时,从存储器中读出上述存入的K位信息数据和N位校验数据A,并复用编码模块重新生成与K位信息数据对应的N位校验数据B。将校验数据A和校验数据B进行异或运算,得到校正子,同时生成奇偶校验矩阵H,H的形式为//=[^;;/8],其中/为单位矩阵。当由G生成的码字能够纠正两个错误时,该码的奇偶校验矩阵f^[G、/,]的特征为H中不多于4个列向量之和均不等于0,即该码的最小距离不小于5。根据奇偶校验矩阵H中与校正子相同的列的对应关系,判断数据错误位置,对产生的一位或两位数据错误进行纠正。若校正子与奇偶校I^矩阵H中只有一列对应相同,则可判断信息数据或校验数据A中产生一位数据4晉误;若校正子与奇偶校验矩阵H中某两列的异或运算结果对应相同,则可判断信息数据或校验数据A中产生两位数据错误,将发生错误对应位进行取反操作即可完成错误纠正。,将数据送给CPU;B.—位错的可能数据位发生一位错或是校验位发生一位4昔,对相应位进行取反操作,数据得到纠正;>数据位和校验位各发生一位4普;>数据位发生两位错,校验位中没有错误;>数据位中没有发生错误,校验位中发生了两位错误;这三种情况下,都是对相应位进行取反操作,数据得到纠正。,报告给系统进行处理。实施例该例中对8位数据进行编码纠检错,如果需要对16位、32位数据同时进行纠检错,可以使用两个、四个并行编解码模块来实现。当EDAC电路接收到CPU写j言号时,写入数据M=[00010100],利用如下形式的生成矩阵G对其进行编码(选取线性分组码),生成校验数据A=,将产生的校验数据A和信息数据生成原始数据C=—同存储在相应的存储单元中,存储时信息数据在左,校验数据在右,高位在左,低位在右。假设由于存储器受到空间辐射环境的影响,存储器受到单粒子轰击,其中存储数据C的第14位(即数据位的第6位)和第3位(即校验数据的第3位)存储单元发生逻辑翻转,原始数据C=的值变为R=[01010**********]。EDAC接收CPU的读信号时,对要从存储器读出的数据R=[01010**********]进行纠检错,先对R的高8位数据重新编码,产生校验数据B=,B与R的低8位(即校验数据A)异或产生校正子S-[O1100001],此时的奇偶校验矩阵H的形式为通过奇偶校验矩阵H中与校正子相同的列的对应关系可以判断出在数据位的第6位和校验位的第3位各发生一位错误,通过对相同列的对应位进行取反才喿作,即可得到正确凄t据C=。本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。,其特征在于步骤如下(1)从CPU接收K位信息数据;(2)生成与所述K位信息数据对应的N位校验数据A;(3)将所述K位信息数据和所述N位校验数据A存入存储器;(4)从存储器中读出所述K位信息数据,并采用步骤(2)方法重新生成与所述K位信息数据对应的N位校验数据B;(5)将校验数据A和校验数据B进行异或运算,得到校正子;(6)通过校正子定位信息数据和校验数据A中的错误,若产生一位或两位数据错误,则纠正数据错误并输出正确的数据;若产生三位或可检测的三位以上的数据错误,则提示产生不可纠正错误。2、根据权利要求1所述的一种存储器抗单粒子翻转的纠错4全错方法,其特征在于所述步骤(2)中生成N位校验数据A的方法为采用公式P=,其中M为将K位信息数据以8位为单位分组后形成的1x8行向量,G为与8位信息数据对应的生成矩阵,其具体形式根据纠检错能力和信息数据的位数K确定,P为生成的与8位信息数据对应的校验数据,K/8组数据并行处理,即可得到校验数据A。3、根据权利要求2所述的一种存储器抗单粒子翻转的纠错纟企错方法,其特征在于当所述信息数据的位数K为8、可纠检8位信息数据中的2位错误时,所述的生成矩阵G的形式为4、根据权利要求1或2所述的一种存储器抗单粒子翻转的纠错检错方法,其特征在于所述的校验数据A或校验数据B的位数N与信息数据的位数K可以相等,也可以不相等。5、根据权利要求1或2所述的一种存储器抗单粒子翻转的纠错检错方法,其特征在于所述步骤(6)中通过校正子定位信息数据和校验数据A中错误的方法为根据校正子与奇偶校验矩阵H中每一列的对应关系进行数据错误定位,若校正子与奇偶校验矩阵H中只有一列对应相同,则可判断信息数据或校验数据A中产生一位数据错误;若校正子与奇偶校验矩阵H中某两列的按位异或运算结果对应相同,则可判断信息数据或校验数据A中产生两位数据错误,奇偶4交验矩阵H的形式为=其中/为单位矩阵。6、根据权利要求1或2所述的一种存储器抗单粒子翻转的纠错4企错方法,其特征在于所述步骤(6)中对产生的一位数据错误进行纠正的方法为将奇偶校验矩阵H中与校正子相同的列的对应位进行取反操作。7、根据权利要求1或2所述的一种存储器抗单粒子翻转的纠错检错方法,其特征在于所述步骤(6)中对产生的两位数据错误进行纠正的方法为将奇偶校验矩阵H中按位异或运算的结果与校正子相同的两列的对应位进行取反操作。全文摘要一种存储器抗单粒子翻转的纠错检错方法,步骤为(1)从CPU接收K位信息数据;(2)生成与K位信息数据对应的N位校验数据A;(3)将K位信息数据和N位校验数据A存入存储器;(4)从存储器中读出所述K位信息数据,并采用步骤(2)方法重新生成与K位信息数据对应的N位校验数据B;(5)将校验数据A和校验数据B进行异或运算,得到校正子;(6)通过校正子定位信息数据和校验数据A中的错误,若产生一位或两位数据错误,则纠正数据错误并输出正确的数据;若产生三位或可检测的三位以上的数据错误,则提示产生不可纠正错误。该方法纠错能力强、操作简单,可对单粒子效应引起的存储器一位或两位错误进行有效纠检。