关键字 |
汉明码,Reed-Solomon代码,EG-LPDC(欧几里得geometry-low密度奇偶校验)编码,纠错编码(ECCs),故障安全检测器(FSD)和闪光的记忆 |
介绍 |
闪存是一种电子计算机非易失性存储设备,可以电擦除和重组。用于记忆卡,USB闪存驱动器和固态硬盘在个人数字助理等应用平台、笔记本电脑、数字音频播放器、数码相机和手机。 |
我们关注NAND闪存记忆NAND Flash开发以来减少芯片面积需要实现一个给定的闪存容量,从而减少成本,增加最大芯片容量闪存可以与磁存储设备(如硬盘竞争。 |
但也有一些NAND闪存记忆的局限性。其中包括写/读扰乱,数据保留错误,坏块积累,写数量有限,压力引起的泄漏电流。近年来,由于细胞大小缩放,这些问题已成为关键。为了提高NAND闪存的可靠性和支持更长的寿命,使用硬件和软件技术的组合。 |
在我们的论文我们主要集中在软件出现错误控制编码技术,当数字数据存储在内存中,这是至关重要的一种机制,可以检测并纠正一定数量的错误。 |
错误校正码 |
纠错码(ECC)编码数据的译码器可以识别并纠正某些错误的数据。纠错码的研究始于1940年代末的香农的作品和汉明,此后,成千上万的论文已经发表。通常添加一个字符串编码的数据冗余比特数。当重建原始数据时,译码器检查编码信息,检查任何错误。 |
有两种基本类型的纠错码。 |
分组码,这被称为(n, k)代码。一块k数据位编码成为一块n比特称为码字。 |
卷积码,码字产生了依赖于之前的数据信息和一个给定的数字编码的消息。编码器状态变化与每条消息处理。码字的长度通常是恒定的。 |
NAND闪存记忆通常使用分组码。 |
分组码 |
块代码家庭可分为如图1所示: |
线性码,每一个有效的线性组合码字(如二进制总和)产生另一个有效的码字。线性码的例子有: |
循环码,每一个有效的循环移位的码字也产生一个有效的码字 |
汉明码,能够检测三个错误和正确的一个。 |
系统的代码,每个码字包含原始消息的确切的数据位长度k,之后或之前另一组检查长度问 |
在所有情况下,码字的时间比他们是基于数据字。 |
分组码被称为(n, k)代码。一块k数据位编码到一块n位码字。代码需要k数据位和计算(n−k)奇偶校验位的代码生成器的矩阵。 |
大多数分组码系统,在数据位保持不变,奇偶校验位 |
|
图1显示了纠错码的分类和它的子类别 |
SLC和多层陶瓷 |
NAND闪存使用浮置栅极晶体管的数组来存储信息。在传统的单层细胞(SLC)设备,每一位细胞只存储一个比特的信息。多级细胞(多层陶瓷)设备可以存储多一点每个细胞的部分一点一点细胞编码多个州收费。因为底层的一些细胞用于构造SLC和多层陶瓷都是相似的,SLC flash总是会更昂贵的比多层陶瓷flash在每gb的基础上。目前,SLC贵一倍,为低密度多层陶瓷flash部件。出于这个原因,多层陶瓷快闪记忆体已成为NAND闪存的主要形式,是约90%的flash部件运送。 |
图2说明了阈值电压的分布对SLC和多层陶瓷(3位)存储。随着存储水平数量的增加,存储密度的一个细胞提高可靠性的费用减少。 |
|
闪存产品代码ECC方案的实现 |
在本文中,我们建议使用的产品代码使用小组成代码行和列,实现高纠错能力由于交叉校验检查。这种编码的硬件开销较低,已成功用于嵌入式SRAM缓存和互连网络。 |
答:产品代码方案: |
基本产品代码技术形成一个长度代码与更高的ECC功能使用小型组成编码长度。普通长度代码相比,它从奇偶校验,高性能和低电路开销自组成编码的纠错能力低。 |
让C1 (n1, k1)线性代码,并让C2 (n2 k2)线性代码。这时,一个(n1n2 k1k2)线性代码可以形成的,每个码字可以安排在一个矩形的n1和n2列行,每一行是一个码字在C1, C2中的每一列都是码字,显示在图3。 |
这代码数组可以由第一次执行行(列)编码然后列(行)编码数据数组的大小(k1 X k2)。右下角的交叉校验块的大小(n1 - k1) X (n2 - k2)是通过编码的行(列)平价沿着其他维度,即。列(行)。 |
|
图3显示了产品代码的实现方案以及对于一个给定的行和列的奇偶校验信息的信息。 |
如果代码C1汉明距离d1和代码C2 h为汉明距离d2,产品的最低重量d1d2到底是代码。从而增加每个代码的最低重量提高错误模式的数量可以纠正代码中的数组。 |
为了提供高纠错能力在Flash中记忆,我们建议使用一个代码与多个纠错能力强的至少有一个维度。因为沿着行数据存储在内存中,我们建议使用更强的ECC在行,这样两个随机和突发错误可以有效地处理。此外,我们选择一个长码字在这方面提供良好的编码性能。 |
ECC和故障安全检测器(FSD) |
b .纠错代码: |
|
ECC的最小距离,d是最小数量的代码位任意两个码字之间的不同。的最大错误数d 1 ECC可以检测,和纠正的最大数量是d / 2。任何ECC表示一个三(n, k, d),代表代码长度,信息长度,分别和最小距离。 |
B。FSD-ECC定义 |
保证的限制ECC定义FSD-ECC如下。 |
定义我:我们是一个ECC与最小距离FSD-ECC如果它能检测的任意组合整体或更少的错误在接收到的码字和探测器电路。 |
定理:让c是一个ECC,最小距离d . c是FSD-ECC如果任何错误矢量的重量0 < e < d 1综合症向量的体重至少d e。 |
注意:以下证明依赖任何单一的事实错误检测器电路可以在最腐败的一个输出(一个综合症)。这可以很容易地满足任何电路通过实现电路的方式没有逻辑元素之间共享多个输出位;因此,任何一个错误电路中腐败最多一个输出(一个综合症)。 |
c . EG-LDPC代码(欧几里得geometry-low密度奇偶校验) |
在本文中,我们专注于一个类称为欧几里得几何的LDPC码(例如)LDPC码,这是构建确定性使用欧几里德几何学的点和线[10]。EG-LDPC代码,我们考虑循环,因此,他们的编码可以有效地实现线性移位寄存器。如代码最小距离也相当不错,可以派生分析。迭代,解码EG-LDPC代码通常不受来自error-floor瘟疫一些随机构造的LDPC码的问题。 |
由于这些原因,EG-LDPC代码都非常适合使用在光通信等应用程序,需要非常快的编码器和译码器和非常低的误比特率(伯斯)。 |
也比较EG-LDPC的速率是很重要的代码与其他代码理解如果低密度的有趣的性质和FSD-ECC代码利率下降为代价的。我们比较的EG-LDPC代码的代码,我们在这里使用一个可实现的编码速率上界和下界(汉明绑定)。EG-LDPC代码没有比实现吉尔伯特开往k和d值相同,他们并不比汉明范围大得多。因此,我们看到,我们实现了FSD财产不牺牲代码简洁。 |
FAULT-TOLERENT记忆系统概述 |
我们记忆系统设计大纲可以容忍错误系统的任何部分,包括存储单元和编码器使用故障安全检测器和校正器电路。特定ECC用于内存保护,让E的最大数量错误,代码可以纠正和D是错误比特的最大数量,它可以探测、打击系统在一个错误的组合,让ee, em和ec在编码器的数量错误,记忆单词,和校正器,让埃德和edc的错误数量两个探测器监测编码器和校正器单元。 |
1)任何一个错误的编码器或校正器电路可以在最腐败的一个码字(即。没有一个错误可以传播到多个码字比特); |
2)有一个故障安全检测器可以检测的任意组合错误接收到的码字与探测器电路中的错误。这个故障安全检测器可以验证的正确性编码器和校正操作。第一个属性很容易满足防止逻辑电路产生每个码字之间的分享一点一点或信息分别在编码器和校正器。我们定义一个代码的要求来满足第二属性。图表描述如下,信息被送入编码器编码信息向量,和故障安全检测器的编码器编码的有效性验证向量。如果探测器检测到任何错误,则必须重新进行编码操作生成正确的码字。码字然后被存储在内存中。在内存访问操作,存储的码字将访问内存单元。码字易受瞬态故障时存储在内存中。因此校正单元旨在正确检索代码中潜在的错误单词。 In our design (see Fig. 4) all the memory words pass through the corrector and any potential error in the memory words will be corrected. Similar to the encoder unit, a fault-secure detector monitors the operation of the corrector unit. All the units shown in Fig. 6 are implemented in fault-prone the only component which must be implemented in reliable circuitry are two OR gates that Accumulate the syndrome bits for the detectors. |
|
我们提出可靠的记忆系统的概述图4所示。Figure.4显示了容错内存架构,管线式校正器的设计是用于容错存储系统可以产生一个无损传输的数据。 |
|
Figure.5显示故障安全检测器低密度奇偶校验码的逻辑图(5)15日7日的检测一个错误可以确定在给定的输入代码以及一个安全的传输。 |
|
图6纠正代码使用多数门的输出。一旦代码位纠正码字循环移位和代码放置在位置和纠正。整个码字在“n”轮是可以纠正的 |
c .编码器 |
一个n位码字c,它编码一位信息向量乘以k位生成信息向量k x n位生成矩阵G;即专营c = EG-LDPC代码不是必须解码系统和信息位的编码向量,这是不可取的容错方法由于进一步的并发症和延迟,它增加了操作。然而,这些代码循环码[2]。我们使用过程[2]和[4]中提出的循环发电机矩阵转换为系统所有EG-LDPC代码在考虑发电机矩阵。 |
注意单位矩阵在左列。 |
图7显示了系统的生成矩阵生成(5)15日7日EG-LDPC代码。信息的编码向量由位奇偶校验位,其中每个校验位只是一个信息向量的内积和X的一列,从G =(我:X)。 |
|
|
图8显示了编码器电路计算的奇偶校验位(5)15日7日EG-LDPC代码。在这个图(,,,........)0 1 2 6我=我我我我是信息向量,并将复制到(........)0 6 c c的编码向量,c和其他编码向量,奇偶校验位,是线性求和(XOR)比特的信息。如果盖茨构建块由两个输入编码器电路需要22两个输入XOR门 |
表1显示了每个EG-LDPC码编码器电路的面积正在考虑基于发电机矩阵。一旦XOR函数已知,编码器结构非常类似于探测器结构图8所示。EG-LDPC代码;i0 16是7位信息向量。每个XOR门生成一个校验位的编码向量。码字由七位紧随其后八奇偶校验位的信息。 |
|
结果 |
结果从模拟获得每一块的verilog编程错误内存架构(图- 4),也从整体层次基础设计;我们获得了NAND闪存的设计。结果还包括波形获得verilog模拟(图9)XILINX-ise关于设计NAND闪存记忆,也显示了合成报告和RTL示意图(fig-10)。宏观统计数据(表2)给你减少硬件复杂性通过产品代码计划和EG-LDPC代码。 |
|
图9显示了得到的波形仿真表明,给出的输入就是我获得作为输出。e无损传输的数据有可能提出可靠的系统。 |
|
|
结论 |
错误检测和校正或错误控制技术,使数字数据在不可靠的通信通道的可靠传递或存储介质。错误检测的检测是在传输过程中错误造成的噪音或其他障碍从发射机到接收机。纠错是错误的检测和重建原始的错误数据。 |
本文没有硬件资源要求实现也很大程度上减少了。在这个报告中,完全能够容忍错误容错存储系统不仅在内存还在支持逻辑设计。增强的综合任务管理系统提出设计方法还将减少大量的周期来获得传输数据。 |
引用 |
- Chengen杨YunusEmre ChaitaliChakrabarti,“产品代码纠错方案在多层陶瓷NAND闪存记忆”,IEEE, IEEE超大规模集成(vlsi)系统,20卷,没有。2012年12月12日
- 年代。Gregori A.Cabrini, O。艺,G。Torelli”,为新一代闪存芯片上纠错技术,“Proc, IEEE 91卷,没有。4,第616 - 602页,2003年4月。
- t . Chen y萧、y杏和C。吴”,NAND闪存的adaptive-rate误差修正方案,“在Proc。27日IEEE VLSI测试电脑。,2009年,页53-58。
- 崔h·w·刘,w .唱“VLSI实现BCH纠错的多级细胞NAND闪存,“IEEE反式。中国非常大。(VLSI)系统。,vol. 18, no. 5, pp. 843–847, May 2010.
- g·吉布森,d .黎明”,不良网络内容使用神经网络分类,”菲尔。反式。罗伊。Soc。伦敦,A247卷,第551 - 529页,1955年4月。(引用)富人和骑士,人工智能,第二版,TataMcGraw希尔出版,2003年,pp.68 - 73。
- i s·雅各布斯和c·p . Bean微粒、薄膜和交换各向异性”,在磁性,第三卷,g . t .雷达手表和h·苏尔。纽约:学业,1963年,页271 - 350。
- R。H,拉赫曼,”标题纸只有第一个单词大写,“j .名字站。简写的。,in press.
- y Yorozu, m . Hirano k .奥卡河,y Tagawa,“电子能谱学研究磁媒体和塑料衬底界面,“IEEE Transl。j .增效。日本,2卷,第741 - 740页,1987年8月[摘要9年相依磁学日本,p。301年,1982年)。
- m .年轻,技术作家的手册。米尔谷,CA:大学科学,1989。
- l . m . Grupp a . m .·考尔菲德,j·科伯恩,Swanson, e . Yaakobi由P.H. Siegel, j·k·沃尔夫,”描述闪存:异常、观测和应用,“在Proc。第41届IEEE / ACM Symp.Microarch Int。(微),2009年,页33。
|