关键字 |
纠错码(ecc),多单元控制器(mcu),存储器。 |
介绍 |
实现错误检测和纠正的一般思路是向消息中添加一些冗余位(即一些额外的数据),接收方可以使用它们来检查所传递消息的一致性,并拾取确定已损坏的数据。错误检测和纠错方案可以是系统的或非系统的:在系统方案中,发射机发送唯一的数据,并根据特定的逻辑附加固定数量的冗余位。如果只需要错误检测,接收器可以对接收到的数据位进行相同的逻辑检查,并将其输出与接收到的检查位进行比较;如果值不匹配,则在整个传输过程中的某个点发生了错误。用于错误检测和纠正的不同类型的代码。在使用非系统代码的系统中,消息被转换成至少具有与该消息相同位数的编码消息。错误检测和纠正用于减少软错误。现在有几种方法可以用来抑制记忆中的不安。例如,Bose - Chaudhuri-Hocquenghem码[8],Reed-Solomon码[9],穿孔差分集(PDS)码[10]和矩阵码已被用于与存储器中的mcu接触。雷竞技网页版这需要更多的面积,功率和延迟开销,因为编码和解码电路在这些复杂的代码中更复杂。 |
里德-穆勒码[14]是另一种能够检测和纠正比汉明码额外错误的保护码。这种保护规范的主要缺点是它的面积和功率要求更高。汉明码更多地用于纠正内存中的单个错误干扰(SEU),因为它们能够通过减少面积和性能开销来纠正单个错误。虽然在校正数据中的单位错误方面很出色,但不能校正双位错误。提出了另一类SEC-DED代码,用于检测干扰单个字节的任意数量的错误。这些代码比传统的SEC-DED代码更适用于保护字节组织存储器[15]b[16]。尽管它们的操作开销较小,并且适合于多次错误检测,但它们不能纠正更多的错误。还有一些附加代码,如[10]中讨论的可以纠正多个错误的单字节错误纠正、双字节错误检测(SBCDBD)代码。 |
单错误纠正,双错误检测和双邻接错误纠正(sec - ed - daec)代码提供了一种低成本的ECC方法来纠正[12]中提出的邻接错误。这段代码的唯一缺点是可能对许多错误中的一小部分进行错误纠正。随着CMOS技术缩小到纳米级,存储器通过越来越多的电子系统组合在一起,存储器单元中的软错误率增加,特别是当存储器在空间环境中工作时,由于大气的电离效应。 |
交叉技术已被用于抑制mcu。然而,由于单元和比较电路结构的硬件结构紧密耦合,交错技术在内容可寻址存储器(CAM)中可能无法实际应用。 |
提出了内置电流传感器(BICS),以协助进行单错误纠正和双错误检测代码,以提供防止细胞破坏的保护,它只能纠正一个单词中的两个错误。最近,二维矩阵码(MCs)被提出以低延迟有效地校正每个字的mcu,并且这个字被分成行和列。每行的位由汉明码保护,而奇偶校验则在每列中添加。对于基于Hamming的MC,当Hamming检测到两个错误时,激活垂直综合征位,从而对这两个错误进行校正。因此,MC只能纠正两个错误。采用汉明码的十进制算法已被设想应用于软件层面。它通过添加整数值来检测和纠正软错误。结果表明,该方法比其他编码具有更低的延迟开销。 |
本文的贡献是实现了一种新的基于除法符号的十进制矩阵码(DMC),以提高存储可靠性。所实现的DMC利用十进制算法(十进制整数加法和十进制整数减法)来识别错误。采用十进制算法最大限度地提高了错误检测能力,从而提高了存储器的可靠性。此外,由于采用DMC编码器本身作为解码器的一部分,在不干扰整个编解码过程的情况下,实现了编码器-重用技术(ERT),以最小化额外电路(编码器和解码器)的面积开销。 |
十进制矩阵代码的高性能实现 |
在本节中,DMC通过降低性能开销来确保在mcu存在的情况下的可靠性,并以基于所提出的技术对64位字进行编码和解码为例。 |
A.容错内存原理图 |
容错存储器的原理图如图1所示。首先,在编码(写)过程中,将信息位D提供给DMC编码器,从DMC编码器获得水平冗余位H和垂直冗余位V。在此编码过程之后,DMC码字被存储在存储器中。如果mcu发生在内存中,这些错误可以在解码(读)方法中纠正。由于十进制算法的优点,DMC具有很高的容错能力。在容错存储器中,使用编码器重用技术来减少额外电路的面积开销,并将在以下部分中介绍。 |
B. DMC编码器 |
在该DMC中,首先采用了除法符号和位矩阵的思想,即将N位的单词分成k个m位的符号(N = k × m),并将这些符号排列在k1 × k2的二维矩阵中(k = k1 × k2,其中k1和k2的值分别表示逻辑矩阵的行数和列数)。其次,通过对每行选定的符号执行十进制整数加法来产生水平冗余位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可通过十进制整数相加得到: |
|
C. DMC解码器 |
|
DMC解码器如图4所示,它由以下子模块组成,每个子模块在解码过程中执行特定的任务:综合征计算器、错误定位器和错误校正器。从图4中可以看出,必须从接收到的信息位D '中重新计算冗余位,并与原冗余位集进行比较,才能得到症候群位ΔH和S,然后错误定位器使用ΔH和S来检测和定位哪些位出现了错误。最后,在错误校正器中,这些错误可以通过反转错误位的值来纠正。 |
在该方案中,DMC的电路面积最小,并可重复使用其编码器。这是呼叫ERT。ERT可以在不干扰整个编码和解码过程的情况下减少DMC的面积开销。从图4中可以看出,DMC编码器也可以被重用来获得DMC解码器中的综合征位。因此,利用现有的编码器电路,可以使DMC的整个电路面积最小化。此外,图中显示了提议的解码器,其允许信号En用于决定编码器是否需要成为解码器的一部分。换句话说,En信号用于区分编码器和解码器,并且受存储器中写入和读取信号的管理。因此,在编码(写)模式下,DMC编码器只是一个执行编码操作的编码器。然而,在解码(读)模式下,该编码器用于计算解码器中的综合征位。这些都清楚地表明,额外电路的面积开销可以大大减少。 |
性能分析 |
利用Sim Altera 6.5e仿真器对DMC进行了性能仿真。利用XILINX ISE进行了仿真和综合。频率为132.258MHZ,电源电压为1.1 v,延时为7.038ns。4个输入lut 326和4个输入lut 326。IOBS第194号及编号:1。 |
结论 |
在这种方法中,我们实现了64位十进制矩阵码,用于检测和纠正存储器中的错误。为了避免mcu造成数据损坏,更复杂的纠错码(ecc)被广泛用于保护内存,但主要问题是它们需要更高的延迟开销。基于汉明码的矩阵码(MCs)被提出用于存储保护。与32位十进制矩阵码相比,该系统的错误检测和纠错率有所提高。 |
数字一览 |
|
参考文献 |
- 郭静,肖立义,会员,IEEE,毛志刚,会员,赵强,“基于十进制矩阵码的存储可靠性研究”,IEEE,非常大规模的整数。(VLSI)系统。,vol. 22, no. 1, pp.127-135, Mar 2013.
- 王志强,王志强,王志强,王志强,“基于SRAM芯片的多比特干扰研究”,电子工程学报。,第52卷,no。6,第2433-2437页,2005年12月
- 李建平,谷口明,叶hagi, K. Shimbo, T. Toba,“从250 nm到22 nm设计规则对sram中中子诱导软误差的影响”,《电子工程学报》。电子器件,第57卷,第57期。7,第1527-1538页,2010年7月。
- C. Argyrides和D. K. Pradhan,“高可靠性芦苇穆勒编码的改进解码算法”,IEEE国际版。系统。9月11日,On Chip Conf2007,第95-98页。
- A. Sanchez-Macian, P. Reviriego和J. A. Maestro,“汉明SEC-DAED和扩展汉明sec - ed - taed码通过选择性缩短和位放置,”IEEE翻译。设备板牙。Rel.,待出版。
- 刘世杰,刘志强,“基于差分集码的高效逻辑故障检测”,计算机工程学报。超大尺度积分。(VLSI)系统。,vol. 20, no. 1, pp. 148–156, Jan. 2012.
- 朱明,肖丽艳,宋丽丽,张玉军,罗宏伟,“基于多比特误码的故障安全存储”,电子学报。J.,第四十二卷,第2号。3,第553-561页,2011年3月。
- 李建军,“基于并行双纠错码的多比特误码设计”,《计算机工程与应用》,第4期。固态电路,2008年9月,第222-225页。
- G. Neuberger, D. L. Kastensmidt和R. Reis,“优化Reed-Solomon代码以提高内存容错性的自动技术”,IEEE设计测试计算。,第22卷,第2期。1,第50-58页,1 - 2月。2005.
- P. Reviriego, M. Flanagan, and J. A. Maestro,“存储器应用的三重纠错码(64,45)”,IEEE Trans。设备Mater.Rel。,第12卷,no。1,第101-106页,2012年3月。
- 黄仁杰,“基于软错误失效模型的交错距离选择”,《电气与电子工程学报》。诊断。科学。,vol. 56, no. 4, pp.2111–2118, Aug. 2009.
- K. Pagiamtzis和A. Sheikholeslami,“内容可寻址存储器(CAM)电路和架构:教程和调查”,IEEE j .固态电路,vol. 41, no。3,页712-727,2003年3月。
- [13]王志强,王志强,“基于SRAM的多比特扰流技术研究”,电子工程学报。Nucl.Sci。,vol. 52, no. 6, pp. 2433–2437, Dec. 2005.
- 李建平,谷口明,叶海吉,林林海,“从250nm到22nm设计规则对sram中中子诱导软误差的影响”,《电子工程学报》。电子器件,第57卷,第57期。7,第1527-1538页,2010年7月。
- C. Argyrides和D. K. Pradhan,“高可靠性芦苇穆勒编码的改进解码算法”,IEEE国际版。系统。9月11日,On Chip Conf2007,第95-98页。
- A. Sanchez-Macian, P. Reviriego和J. A. Maestro,“汉明SEC-DAED和扩展汉明sec - ed - taed码通过选择性缩短和位放置,”IEEE翻译。设备板牙。Rel.,待出版。
- 刘世杰,刘志强,“基于差分集码的高效逻辑故障检测”,计算机工程学报。超大尺度积分。(VLSI)系统。,vol. 20, no. 1, pp. 148–156, Jan. 2012.
- 朱明,肖丽艳,宋丽丽,张玉军,罗宏伟,“基于多比特误码的故障安全存储”,电子学报。J.,第四十二卷,第2号。3,第553-561页,2011年3月。
- 李建军,“基于并行双纠错码的多比特误码设计”,《计算机工程与应用》,第4期。固态电路,2008年9月,第222-225页。
- G. Neuberger, D. L. Kastensmidt和R. Reis,“优化Reed-Solomon代码以提高内存容错性的自动技术”,IEEE设计测试计算。,第22卷,第2期。1,第50-58页,1 - 2月。2005.
- P. Reviriego, M. Flanagan, and J. A. Maestro,“存储器应用的三重纠错码(64,45)”,IEEE Trans。设备板牙。Rel卷。12,没有。1,第101-106页,2012年3月。
- 黄仁杰,“基于软错误失效模型的交错距离选择”,《电气与电子工程学报》。诊断。科学。,vol. 56, no. 4, pp.2111–2118, Aug. 2009.
|