在线刊号(2320-9801)印刷刊号(2320-9798)
Iswarya Gopal, Rajasekar .T
|
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问国际计算机与通信工程创新研究杂志
瞬态多单元扰动(MCUs)已成为辐射环境下存储器可靠性的主要问题。为了防止mcu造成数据损坏,更复杂的纠错码(ecc)被广泛使用。存储器单元的软误码率正在迅速上升。单片机已成为存储器中一个严重的可靠性问题。提出了一种新的基于除号的十进制矩阵编码(DMC),以提高内存可靠性,降低内存延迟开销。该算法利用十进制算法来获得最大的错误检测能力。为了在不影响整个编码和解码过程的前提下,尽量减少额外电路的面积开销,提出了编码复用技术(ERT)。ERT使用DMC编码器本身作为解码器的一部分。NAND闪存密度的增加导致闪存的误码率急剧增加,这大大降低了纠错码(ECC)处理多位错误的能力。Meta-Cure利用内置的ECC和复制来保护包含关键数据(如文件系统元数据)的页面。冗余对在运行时形成,并分布到不同的物理页以防止出现故障。
关键字 |
十进制算法,纠错码(ecc),内存,多单元扰乱(mcu),元治疗。 |
我的介绍。 |
单比特扰动是影响存储器可靠性的主要问题,瞬态多单元扰动(MCUs)是影响辐射环境下存储器可靠性的主要问题。为了防止mcu造成数据损坏,更复杂的纠错码(ecc)被广泛用于保护内存,但主要问题是它们需要更高的延迟开销。最近,基于汉明码的矩阵码(MCs)被提出用于存储器保护。主要问题是它们是双重纠错码,纠错能力在所有情况下都没有提高。 |
1.1纠错码:纠错码(ECC)或前向纠错码(FEC)是一种向消息中添加冗余数据或校验数据的系统,这样,即使在传输过程中或在存储中引入了许多错误(不超过所使用代码的能力),接收方也可以恢复该消息。由于接收方不必要求发送方重传数据,因此在前向纠错中不需要后向信道,因此它适用于广播等单工通信。纠错码经常用于底层通信,以及介质中的可靠存储,如cd、dvd、硬盘和RAM。 |
1.2存储器:术语“存储器”意为主存储器,通常与可寻址半导体存储器有关,即由硅基晶体管组成的集成电路,用于例如主存储器,但也用于计算机和其他数字电子设备的其他用途。半导体存储器主要有两种类型的易失性存储器和非易失性存储器。 |
2相关工作 |
容错存储器原理图:所提出的容错存储器原理图如图1所示。首先,在编码(写入)过程中,将信息位D馈送到DMC编码器,然后从DMC编码器获得水平冗余位H和垂直冗余位V。当编码过程完成后,得到的DMC码字存储在存储器中。如果mcu发生在内存中,这些错误可以在解码(读取)过程中被纠正。由于十进制算法的优点,本文提出的DMC具有较高的容错能力和较低的性能开销。在容错存储器中,为了减少额外电路的面积开销,提出了ERT技术。它使用整数值相加来检测和纠正软错误。 |
提议的DMC编码器:在提议的DMC中,首先执行除符号和排列矩阵思想,即将N位字分成k个m位的符号(N = k × m),并将这些符号排列在k1 × k2的二维矩阵中(k = k1 × k2,其中k1和k2的值分别表示逻辑矩阵中的行数和列数)。其次,通过对每行所选符号执行十进制整数加法产生水平冗余位H。在这里,每个符号都被视为一个十进制整数。第三,在每列的位之间通过二进制运算获得垂直冗余位V。值得注意的是,除法符号和排列矩阵都是在逻辑中实现的,而不是在物理中实现的。因此,提出的DMC不需要改变内存的物理结构。 |
为了说明所提出的DMC方案,以一个32位字为例,如图2所示。从D0到D31的单元格是信息位。这个32位的字被分成8个4位的符号。K1 =2和k2=4同时被选择。H0-H19为水平止回位;V0到V15为垂直校验位。但需要指出的是,当k和m选择不同的值时,最大修正能力(即可以修正的mcu最大尺寸)和冗余位数是不同的。因此,应仔细调整k和m,以使校正能力最大化,并使冗余位数最小化。例如,当k = 2×2, m = 8时,只能纠正1位的错误,冗余位数为40位。当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 34. In order to enhance the reliability of memory, the error correction capability is first considered, so k = 2 × 4 and m = 4 are utilized to construct DMC |
水平冗余位:水平冗余位H由数据位的异或得到,如下所示: |
H4H3H2H1H0 = D3D2D1D0⊕D11D10D9D8 (1) |
H9H8H7H6H5 = D7D6D5D4⊕D15D14D13D12 (2) |
水平冗余位H14H13H12H10和H19H18H17H16H15也是如此,其中“+”表示十进制整数加法。 |
垂直冗余位:垂直冗余位V,可通过十进制和二进制运算得到 |
V0 = D0⊕D16 (3) |
V1 = D1⊕D17 (4) |
其余的垂直冗余位也是如此。编码可以通过从(1)到(4)的十进制和二进制加法运算来执行。所示的编码器使用多位加法器和异或门计算冗余位 |
提出的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中,然后这些错误可以通过 |
D0⊕S0 (7) |
本文提出的DMC解码器如图3.4所示,该解码器由以下子模块组成,每个子模块在解码过程中执行特定的任务:综合征计算器、错误定位器和错误校正器。从图中可以看出,必须从接收到的信息位D '重新计算冗余位,并与原始冗余位集进行比较,才能得到综合征位ΔH和S。然后错误定位器使用ΔH和S来检测和定位哪些位发生了错误。最后,在错误校正器中,可以通过反转错误位的值来纠正这些错误。 |
3算法 |
A.编码/解码算法 |
拟议的准则是有系统的。在编码过程中,数据位可以直接复制,校验位使用与矩阵对应的异或网络生成。 |
解码算法如下: |
1)使用h矩阵对应的异或网络生成综合征。 |
2)如果症候是全零向量,则没有检测到错误,否则发生一个或多个错误。 |
3)如果症候与h矩阵的任何列相匹配,则检测到单个错误,错误位置为对应的列位置。对应的位应该翻转以纠正错误。 |
4)否则,如果综合征与n-1个相邻双误差综合征中的任何一个相匹配,则检测到一个双相邻误差,并使用纠错逻辑生成相应的位位。 |
5)其他发生不可纠正错误(UE)(即两个不相邻错误或两个以上错误)。 |
与传统的SEC-DED码相比,唯一的额外开销来自解码步骤的第4步。图5显示了基本的错误检测和修正框图。如果遇到非零综合征,则OR门标记一个错误指示。如果症候群匹配任何单个错误症候群,则症候群解码器在错误位位置生成1。否则,如果综合征匹配任何相邻的双错误综合征,则解码器在错误的相邻位位置生成1。否则综合征解码器的输出为全零输出。综合征解码器由3输入或门组成,其输入由r输入与门的输出驱动。解码器的第i个输出当且仅当在第i位出现一个错误或在位出现两个相邻错误或 |
四、仿真结果 |
提出的DMC已经在VERILOG中实现,用ModelSim进行了模拟,并通过给定的各种输入测试了功能。采用XILINX 0.18μm工艺合成了编码器和解码器。得到了额外电路的输出面积、功率和关键路径延时。 |
图4显示了使用Xilinx软件的总等效门数为893,门数可能随相应的套件而变化。 |
图。5给出了给定DMC解码器的功率分析,使用Xilinx软件得到的总功率为752.74。 |
五、结论与未来工作 |
本文提出的保护代码采用十进制算法进行错误检测,从而检测出更多的错误并进行修正。结果表明,该方案具有较好的内存保护性能,减少了冗余。因此,今后的工作将针对所提议的技术及其实施进行。 |
参考文献 |
|