[发明专利]ECC参数可配置的存储器控制装置有效
申请号: | 201010219290.0 | 申请日: | 2010-07-02 |
公开(公告)号: | CN101882467A | 公开(公告)日: | 2010-11-10 |
发明(设计)人: | 张江安;张钦 | 申请(专利权)人: | 中颖电子有限公司 |
主分类号: | G11C16/06 | 分类号: | G11C16/06;G11C29/42 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陈亮 |
地址: | 200335*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ecc 参数 配置 存储器 控制 装置 | ||
技术领域
本发明涉及一种存储器相关的装置,尤其涉及一种带有数据纠错编码的存储器控制装置。
背景技术
随着人们生活的信息化程度越来越高,数字化的数据存储也是无处不在,成为当今信息社会不可缺少的关键技术。NAND型闪存(也可以称为NAND Flash)是一种新兴的数字存储介质,应用越来越广泛。在NAND Flash的实际应用中,纠错码(Error-Correcting Code,ECC)技术起着至关重要的作用。这是由于NAND Flash在读写数据的过程中会发生比特错误。应用于NAND Flash的ECC码主要有Hamming码、RS码和BCH码。Hamming码只能纠正1bit错误和检查2bit错误,因此随着NAND Flash对ECC码纠错能力的要求不断提高,Hamming码逐渐被其他具有更强纠错能力的线性分组码(如BCH码和RS码)所取代。特定设计的BCH码可以在一定范围内进行多比特纠错,而特定设计的RS码可以在一定范围内进行多符号纠错(一个符号由若干比特表达)。在本文以下部分,ECC码指BCH码和RS码。
各种ECC码的算法不尽相同,但基本原理是一样的:将原有数据经过编码运算,生成相应的监督码,然后将原始数据与监督码一同存储;在解码时原始数据与监督码一同参与运算。如果存储中有一定的错误,并且在该ECC码的纠错能力范围之内,则可以恢复出无误的原始数据。由此可见,ECC码是通过增加冗余数据的方法来实现抗干扰,保证数据的正确性。而增加冗余数据的代价是NAND Flash要增加一块冗余的存储空间来存放冗余数据。这部分增加的存储空间被称为Spare区。
ECC码运算复杂,运算量大,为了保证实时性,NAND Flash应用系统中的ECC码运算一般以硬件方式来实现,进行ECC码编码和解码运算的硬件模块被称为ECC模块。图1所示为一个典型的NAND Flash应用系统。该系统包含一片或多片NANDFlash、一个中央处理器CPU和一个NAND Flash控制器。NAND Flash控制器包含ECC模块、闪存接口等。ECC模块负责对写入NAND Flash的数据进行ECC编码,以及对由NAND Flash读出的数据进行ECC解码(包含可能的纠错操作)。
传统的ECC模块设计一般都采用编码数据分组长度以及纠错比特/符号数为固定值的方式,比如数据长度为512Byte且需要8bit纠错,则设计的ECC模块为8bitECC/525Byte。这种设计方式的最大的限制在于,当应用发生变化时,ECC模块需要重新设计。以NAND Flash的控制芯片(比如常见的U盘、SD卡的控制芯片)设计为例,NAND Flash对ECC的需求从最早的1bit/520Byte,到后来的4bit/528Byte,一直到24bit/1040Byte,不断在改变。相应地,ECC模块也需要不断地修改设计。甚至为了兼容不同的需求,出现了同一个芯片中同时存在几种不同的ECC模块的情形,显然这对于芯片的研发成本还是芯片本身的硬件成本都是不小的开销。另外,在NAND Flash应用中,也有对不同长度数据进行纠错编码的需求,比如希望同一个ECC模块能够分别对长为512Bytes和1024Bytes的数据进行编码。显然,固定的数据分组长度也不能完全适应人们对NAND Flash应用的要求。
发明内容
本发明的目的在于解决上述问题,提供了一种ECC参数可配置的存储器控制装置,可在一定范围内对ECC模块的数据分组长度和纠错能力进行配置,从而不但可以满足NAND Flash管理软件对多种ECC编码长度的要求,而且可以满足多种NAND Flash对其控制器ECC模块不同纠错能力的要求,从而延长NAND Flash控制器的生命周期。
本发明的技术方案为:本发明揭示了一种ECC参数可配置的存储器控制装置,包括
存储器接口,用于连接存储器;
ECC码数据分组长度寄存器,用于存储ECC编码时的数据分组长度;
迭代初始值存储单元,用于存储根据预设的纠错比特/符号数和该ECC码数据分组长度寄存器中存储的数据分组长度计算得到的用于ECC解码过程的钱搜索算法的一组迭代初始值;
ECC模块,在ECC编码时基于由预设的纠错比特/符号数得到的生成多项式对数据进行ECC编码,在ECC解码时基于该迭代初始值存储单元中的该组迭代初始值,利用钱搜索算法进行ECC解码。
根据本发明的ECC参数可配置的存储器控制装置的一实施例,该迭代初始值存储单元是迭代初始值寄存器组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中颖电子有限公司,未经中颖电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010219290.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体器件及其制造方法
- 下一篇:太阳能电池及其制造方法