关键字 |
纠错码(ecc),平均故障时间(MTTF),内存,汉明码,多单元打乱(mcu),内存。 |
介绍 |
实现错误检测和纠正的一般思想是向消息中添加一些冗余(即一些额外的数据),接收方可以使用它来检查传递消息的一致性,并拾取被确定为损坏的数据。错误检测和纠正方案可以是系统的,也可以是非系统的:在系统方案中,发射机发送唯一的数据,并附加固定数量的校验位(或奇偶数据),这些校验位是通过某种确定性算法从数据位中导出的。如果只需要错误检测,接收器可以简单地对接收的数据位应用相同的算法,并将其输出与接收检查位进行比较;如果值不匹配,则在整个传输过程中的某个点发生了错误。纠错码通常用于底层通信,以及诸如cd、dvd、硬盘和RAM等介质中的可靠存储。 |
在使用非系统代码的系统中,唯一消息被转换为至少与唯一消息具有相同位数的编码消息。错误检测和纠正代码的目的是防止软错误,这些软错误在内存中表现为位翻转。目前有几种技术用于记忆中的中门扰动。例如,使用Bose-Chaudhuri-Hocquenghem编码[8],reid - solomon编码[9],穿孔差分集(PDS)编码[10],以及矩阵代码与存储器中的mcu进行联系。雷竞技网页版但是这些编码需要更多的面积、功率和延迟开销,因为在这些复杂的编码中,编码和解码电路更加复杂。Reed-Muller码[14]是另一种保护码,能够检测和纠正额外的错误比汉明码。这种保护代码的主要缺点是它的面积和功率惩罚 |
汉明码更多地用于纠正内存中的单个错误扰乱(SEU),因为它们能够通过减少面积和性能开销来纠正单个错误[13]。虽然在纠正数据字中的单个错误方面很出色,但它们不能纠正由单个事件打乱引起的双位错误。已提出对基本的SEC-DED汉明码进行扩展,形成一种特殊的码类,称为萧码,以提高解码逻辑[14]的速度、成本和可靠性。 |
另一类被称为单错误纠正、双错误检测、单字节错误检测的SEC-DED码被提出用于检测干扰单个字节的任意数量的错误。这些代码比传统的SEC-DED代码更适合于保护字节组织的存储器[15][16]。尽管它们的操作开销较小,并且适合于多个错误检测,但它们不能纠正多个错误。还有其他代码,如单字节错误纠正、双字节错误检测(SBC-DBD)代码、双错误纠正、三重错误检测(DEC-TED)代码,可以纠正[10]中讨论的多个错误。 |
单错纠正、双错检测和双邻接错误纠正(SEC-DED-DAEC)代码提供了一种低成本的ECC方法来纠正[12]中提出的相邻错误。这段代码的唯一缺点是可能会对许多错误中的一小部分进行错误纠正。 |
随着CMOS技术缩小到纳米级,并且通过越来越多的电子系统将存储器组合在一起,存储器单元中的软误差率迅速增加,特别是当存储器由于大气中子、α粒子和宇宙射线的电离效应而在太空环境中运行时。 |
交错技术被应用于单片机的约束,它在物理排列中重新排列单元,将同一逻辑字中的位分离成不同的物理字。然而,由于单元和比较电路结构的硬件结构紧密耦合,交织技术在内容寻址存储器(CAM)中可能无法实际应用。 |
内置电流传感器(BICS)被提出来协助单错校正和双错检测代码,以提供对mcu的保护。但是,这种方法一个字只能纠正两个错误。 |
最近,在二维矩阵码(MCs)中,一个字在逻辑上被分为多行多列,以低解码延迟有效地纠正每个字的mcu。每行的位由汉明码保护,而奇偶校验码则添加在每列中。对于基于Hamming的MC,当Hamming检测到两个误差时,将激活垂直综合征位,从而对这两个误差进行修正。因此,MC在所有情况下只能纠正两个错误。提出了一种将十进位算法与汉明码相结合的方法,并将其应用于软件层面。它使用整数值相加来检测和纠正软错误。结果表明,该方法比其他编码具有更低的时延开销。 |
本文提出了一种基于除号的十进制矩阵编码(DMC),以提高存储可靠性。本文提出的DMC采用十进制算法(十进制整数加法和十进制整数减法)进行误差识别。采用十进制算法的优点是最大限度地提高了错误检测能力,从而提高了存储器的可靠性。此外,由于ERT使用DMC编码器本身作为解码器的一部分,因此在不影响整个编码和解码过程的情况下,提出了编码器重用技术(ERT),以最大限度地减少额外电路(编码器和解码器)的面积开销 |
|
2提出了DMC |
在本节中,DMC通过降低性能开销来确保存在mcu时的可靠性,并基于所提议的技术作为一个64位字的编码和解码示例。 |
A.容错存储器的原理图 |
所提出的容错存储器原理如图所示。首先,在编码(写入)过程中,将信息位D馈给DMC编码器,并从DMC编码器获得水平冗余位H和垂直冗余位V。当编码过程完成后,得到的DMC码字存储在存储器中。如果微控制器发生在存储器中,这些错误可以在解码(读取)方法中纠正。由于十进制算法的优点,所提出的DMC具有较高的容错能力和较低的性能开销。在容错存储器中,提出了ERT技术以减少额外电路的面积开销,并将在以下部分介绍。 |
B.提议的DMC编码器 |
在提出的DMC中,首先实现了除符号和位矩阵思想,即将N位字分成k个m位的符号(N = k × m),并将这些符号排列在k1 × k2二维矩阵(k = k1 × k2)中,其中k1和k2的值表示no。分别为逻辑矩阵中的行和列)。其次,通过对每行所选符号执行十进制整数加法产生水平冗余位H。在这里,每个符号都被视为一个十进制整数。第三,在每列的位之间通过二进制运算得到垂直冗余位V。值得注意的是,除法符号和排列矩阵都是在逻辑中实现的,而不是在物理中实现的。因此,提出的DMC不需要改变内存的物理结构。 |
为了解释所提出的DMC方案,我们以一个64位字为例,如图2所示。从D0到D63的单元格是信息位。这个64位的字被分成16个4位的符号。K1 = 2和k2 = 4同时被选择。H0-H39为水平止回位;V0到V31是垂直校验位。但需要指出的是,当选择k和m的不同值时,最大修正能力(即可以修正的mcu的最大尺寸)和冗余位数是不同的。因此,必须仔细调整k和m,以降低校正能力,并尽量减少冗余位的数量。例如,当k = 2×2, m = 8时,只能纠正1位错误,冗余位数为80位。当k = 4 × 4, m = 2时,可以纠正3位误差,冗余位数减少到32位。 However, when k = 2 × 4 and m = 4, the maximum correction capability is up to 5 bits and the number of redundant bits is 72. In this paper, in order to enhance the reliability of memory, the error correction capability is first measured, so k = 2 × 8 and m = 4 are utilized to construct DMC. |
水平冗余位H可以通过十进制整数相加得到,如下所示: |
H4h3h2h1h0 = d3d2d1d0 + d19d18d17d16 (1) |
H9h8h7h6h5 = d7d6d5d4 + d23d22d21d20 (2) |
对于水平冗余位H14H13H12H11H10、H19H18H17H16H15H16、H24H23H22H21H20、H29H28H27H26H25、H34H33H32H31H30和H39H38H37H36H35,“+”表示十进制整数加法。对于垂直冗余位V,我们有 |
V0 = d0 ^ d31 (3) |
V1 = d1 ^ d32 (4) |
其余的垂直冗余位也是如此 |
编码可以通过从(1)到(4)的十进制和二进制加法运算来执行。使用多位加法器和异或门计算冗余位的编码器如图所示。图中H39 ~ H0为水平冗余位,V31 ~ V0为垂直冗余位,剩余的U63 ~ U0为直接从D31复制到D0的信息位。 |
C.提议的DMC解码器 |
为了得到一个被纠正的单词,解码过程是必需的。例如,首先,接收到的冗余位H4H3H2H1H0 '和V0 ' -V3 '由接收到的信息位D '生成。其次,水平综合征位ΔH4H3H2H1H0和垂直综合征位S3−S0的计算方法如下: |
Δh4h3h2h1h0 = h4h3h2h1h0 '−h4h3h2h1h0 (5) |
S0 = V0 ' ^ V0 (6) |
其余的垂直综合征位也是如此,其中“−”表示十进制整数减法。当ΔH4H3H2H1H0和S3−S0等于0时,存储的码字在符号0中有原始的信息位,没有错误发生。当ΔH4H3H2H1H0和S3−S0为非零时,检测到的错误(在本例中错误的数量为4)定位在符号0中,然后可以通过 |
D0correct = D0 ^ S0 (7) |
|
|
|
所提出的DMC解码器如图所示,它由以下子模块组成,每个子模块在解码过程中执行特定的任务:综合征计算器、错误定位器和错误校正器。从图中可以看出,必须从接收到的信息位D '重新计算冗余位,并与原始冗余位集进行比较,才能得到综合征位ΔH和S。然后错误定位器使用ΔH和S来检测和定位哪些位发生了错误。最后,在错误校正器中,可以通过反转错误位的值来纠正这些错误。 |
|
该方案通过复用DMC编码器,减小了DMC的电路面积。这是呼叫紧急救援队。ERT可以在不影响整个编码和解码过程的情况下降低DMC的面积开销。从图中可以看出,DMC编码器也可用于DMC解码器中的综合征位的获取。因此,利用现有的编码器电路,可以使DMC的整个电路面积最小化。另外,图中所示为所提出的解码器,其允许信号En用于决定编码器是否需要成为解码器的一部分。换句话说,En信号用于区分编码器和解码器,并且它在内存中受写和读信号的管理。因此,在编码(写)模式下,DMC编码器只是一个执行编码操作的编码器。然而,在解码(读取)模式下,该编码器用于计算解码器中的综合征位。这些明显显示了额外电路的面积开销是如何大大降低的。 |
3仿真结果 |
|
|
|
|
|
四。结论 |
在提出的方法中,我们实现了64位十进制矩阵代码,用于检测和纠正内存中的错误。为了避免mcu造成数据损坏,更复杂的纠错码(ecc)被广泛用于保护内存,但主要问题是它们需要更高的延迟开销。最近,基于汉明码的矩阵码(MCs)被提出用于存储器保护。该系统较32位十进制矩阵码提高了检错率和纠错率。 |
表格一览 |
|
|
数字一览 |
|
|
参考文献 |
- 郭靖,肖立毅,IEEE成员,毛志刚,IEEE成员,赵强,“基于十进制矩阵编码的多单元扰动增强内存可靠性”IEEE, 2013。Very Large scaleinteger。(VLSI)系统。,vol. 22, no. 1, pp.127-135, Mar 2013.
- D. Radaelli, H. Puchner, S. Wong,和S. Daniel,“150纳米SRAM器件中多比特扰动的研究”,IEEE跨核。科学。,vol. 52, no. 6, pp. 2433–2437, Dec. 2005.
- E. Ibe, H. Taniguchi, Y. Yahagi, K. Shimbo,和T. Toba,“从250 nm到22 nm设计规则的sram中中子诱导软误差的缩放影响,”IEEE Trans。电子器件,第57卷,no。第7页,1527-1538,2010年7月。
- C. Argyrides和D. K. Pradhan,“高可靠芦苇穆勒编码的改进译码算法”,《IEEE Int》。系统。芯片会议,2007年9月,第95-98页。
- A. Sanchez-Macian, P. Reviriego和J. A. Maestro,“通过选择性缩短和位放置来扩展Hamming SEC-DAED和Hamming SEC-DED-TAED代码”,IEEE Trans。设备板牙。Rel.,待出版。
- S. Liu, P. Reviriego和J. A. Maestro,“基于差分集代码的内存应用程序的高效多数逻辑故障检测”,IEEETrans。超大规模积分。(VLSI)系统。,vol. 20, no. 1, pp. 148–156, Jan. 2012.
- 朱敏,肖丽颖,宋丽丽,张玉杰,罗宏伟,“基于多比特干扰的故障安全存储器混合编码,”电子学报。第42卷第1期。3,第553-561页,2011年3月。
- R. Naseer和J. Draper,“并行双错误纠正码设计以减轻sram中的多位干扰”,Proc. 34 Eur。固体电路,2008年9月,第222-225页。
- G. Neuberger, D. L. Kastensmidt和R. Reis,“一种用于优化Reed-Solomon代码以提高内存容错性的自动技术”,IEEE设计测试计算。,第22卷,no。1,第50-58页,1月- 2月2005.
- P. Reviriego, M. Flanagan,和J. A. Maestro,“内存应用程序的A(64,45)三重纠错码”,IEEE Trans。设备板牙。Rel.,第12卷,no。1,页101-106,2012年3月。
- S. Baeg, S. Wen, R. Wong,“基于软误差失效模型的交错距离选择”,IEEE, 2013。诊断。科学。,vol. 56, no. 4, pp. 2111– 2118, Aug. 2009.
- K. Pagiamtzis和A. Sheikholeslami,“内容寻址存储器(CAM)电路和架构:教程和调查”,IEEE j .固态电路,第41卷,no. 1。3,第712-727页,2003年3月。
- D. Radaelli, H. Puchner, S. Wong,和S. Daniel,“150纳米SRAM器件中多比特扰动的研究”,IEEE Trans。诊断。科学。,vol. 52, no. 6, pp. 2433–2437, Dec. 2005.
- E. Ibe, H. Taniguchi, Y. Yahagi, K. Shimbo,和T. Toba,“从250 nm到22 nm设计规则的sram中中子诱导软误差的缩放影响,”IEEE Trans。电子器件,第57卷,no。第7页,1527-1538,2010年7月。
- C. Argyrides和D. K. Pradhan,“高可靠芦苇穆勒编码的改进译码算法”,《IEEE Int》。系统。芯片会议,2007年9月,第95-98页。
- A. Sanchez-Macian, P. Reviriego和J. A. Maestro,“通过选择性缩短和位放置来扩展Hamming SEC-DAED和Hamming SEC-DED-TAED代码”,IEEE Trans。设备板牙。Rel.,待出版。
- S. Liu, P. Reviriego,和J. A. Maestro,“基于差分集代码的高效多数逻辑故障检测”,IEEE传输。超大规模积分。(VLSI)系统。,vol. 20, no. 1, pp. 148–156, Jan. 2012.
- 朱敏,肖丽颖,宋丽丽,张玉杰,罗宏伟,“基于多比特干扰的故障安全存储器混合编码,”电子学报。第42卷第1期。3,第553-561页,2011年3月。
- R. Naseer和J. Draper,“并行双错误纠正码设计以减轻sram中的多位干扰”,Proc. 34 Eur。固态电路,2008年9月,第222-225页。
- G. Neuberger, D. L. Kastensmidt和R. Reis,“一种用于优化Reed-Solomon代码以提高内存容错性的自动技术”,IEEE设计测试计算。,第22卷,no。1,第50-58页,1月- 2月2005.
- P. Reviriego, M. Flanagan,和J. A. Maestro,“内存应用程序的A(64,45)三重纠错码”,IEEE Trans。设备板牙。Rel.,第12卷,no。1,页101-106,2012年3月。
- S. Baeg, S. Wen, R. Wong,“基于软误差失效模型的交错距离选择”,IEEE, 2013。诊断。科学。,vol. 56, no. 4, pp. 2111– 2118, Aug. 2009.
|