纠错处理的方法、装置及固态硬盘设备制造方法及图纸

技术编号:5540124 阅读:244 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种纠错处理的方法、装置和固态硬盘设备,方法包括:根据错误检查和纠正ECC算法与进行ECC纠错的硬盘的颗粒特性的对应关系,在ECC模块中嵌入至少与所述硬盘的颗粒特性对应的至少两种ECC算法;根据当前进行ECC纠错的硬盘的颗粒特性,选择相应的ECC算法进行ECC纠错处理。本发明专利技术在对硬盘进行ECC处理的过程中,通过在ECC编码模块设置多个ECC算法,使得可以根据实际应用的颗粒特性选择相应的ECC算法,能够满足各个供应商的不同的需求,同时改善ECC处理的效果。

【技术实现步骤摘要】

本专利技术涉及数据存储技术,特别涉及一种纠错处理的方法、装置和固态硬盘设备。
技术介绍
固态硬盘多使用NAND Flash (与非门闪存)来实现,NAND Flash是一种非易失性 随机访问存储介质,其特点是断电后数据不丢失,它不同于传统的易失性随机访问存储介 质和挥发性存储器,可以作为外部存储器使用。固体硬盘的NAND Flash在使用过程会出现翻转导致数据出错,所以在使用NAND Flash的固态硬盘需要配备错误检查和纠正(Error Checking and Correcting,以下简称 ECC)模块。目前NAND Flash在出厂时都会有最低配备ECC纠错位数的要求,如4bits/512B、 24bits/lKB等;但是ECC纠错的位数越多带来的功耗就越大,固态硬盘的读取速度也会带 来影响。另外,为了保证固态硬盘的可靠性,在ECC将要出现不可纠正的ECC错误时往往采 取ECC预警,如采用8bits/512Bytes的ECC纠错,在出现6bit错误就启动预警,系统再根 据具体的情况做容错处理;现有技术的方案中,考虑到实现复杂度和成本的问题,通常是采用固定的ECC算 法和固定的ECC预警处理。固定的ECC算法如采用4bits/512Bytes的ECC纠错、采用 8bits/512Bytes的ECC纠错;固定的ECC预警如采用8bits/512Bytes的ECC纠错,在出现 6bit错误时就启动预警,系统再根据具体的情况做容错处理。但ECC错误在NAND Flash中实际出现的情况比较复杂,由于各供应商的NAND Flash颗粒之间是有差别的,所以各种颗粒在使用过程中的ECC错误位数出现的规律也不 尽相同,固定的ECC算法在需要纠错位数较多的情况下要耗费很大的功耗,并且在读取的 时候影响速度;固定的预警水线不能兼容多家厂商,以Mbits/IK Bytes的ECC纠错为例, 假设ECC预警水线设为20bit,针对不同供应商的实际的ECC出错曲线,该预警水线值可能 会有问题,例如符合了 A供应商的ECC出现特点但未必符合B供应商的ECC出现特点。另外,ECC错误位数出现的规律与擦/写次数之间也是有关系的,现有技术方案并 没有考虑擦/写次数对出现ECC的影响,依然以Mbits/IK Bytes的ECC纠错为例,在擦/ 写1000次后读20,000次可能会出现Mbit ECC错误;而在擦/写10次后读20,000次可 能仅仅出现^it ECC错误;不考虑不同供应商的ECC分布区别以及不考虑擦/写次数对出 现ECC的影响,在实际应用时会带来问题。因此,采用固定的ECC算法和固定的ECC预警处理的方式,缺乏灵活性,不能满足 多个供应商的不同的需求,ECC处理的效果也比较差。
技术实现思路
本专利技术实施例公开了一种纠错处理的方法、装置和固态硬盘设备,通过在ECC编 码模块中设置多个ECC算法单元,使得可以根据实际应用的颗粒特性选择相应的ECC算法, 改善ECC处理的效果。本专利技术实施例提供了一种纠错处理的方法,包括根据错误检查和纠正ECC算法与进行ECC纠错的硬盘的颗粒特性的对应关系,在 ECC模块中嵌入与所述硬盘的颗粒特性对应的至少两种ECC算法;根据当前进行ECC纠错的硬盘的颗粒特性,选择相应的ECC算法进行ECC纠错处理。本专利技术实施例还提供了一种纠错处理的装置,包括错误检查和纠正ECC模块;所述ECC模块包括ECC算法单元和选择单元;所述ECC算法单元中嵌入至少两种ECC算法,所述ECC算法与进行ECC纠错的硬 盘的颗粒特性相对应;所述选择单元用于根据当前进行ECC纠错硬盘的颗粒特性,选择相应的ECC算法 进行ECC纠错处理。本专利技术实施例还提供了一种固态硬盘设备,包括处理器、存储模块、控制器、内存 以及接口模块;其中所述控制器包括上述的纠错处理的装置。本专利技术在对硬盘进行ECC处理的过程中,通过在ECC编码模块设置多个ECC算法, 使得可以根据实际应用的颗粒特性选择相应的ECC算法,能够满足各个供应商的不同的需 求,同时改善ECC处理的效果。附图说明图Ia为本专利技术一实施例提供的纠错处理的方法流程图;图Ib为本专利技术一实施例提供的ECC模块进行ECC编码处理的示意图;图Ic为本专利技术一实施例提供的ECC模块进行EEC解码处理的示意图;图加为本专利技术一实施例提供的纠错预警的方法流程图;图2b为本专利技术一实施例提供的根据擦/写次数设置ECC预警水线的示意图;图3为本专利技术一实施例提供的纠错处理的装置的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例 中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。在本专利技术实施例中,在对固态硬盘进行ECC纠错处理的过程中,通过在ECC模块设 置多个ECC算法单元,使得可以根据实际应用的颗粒特性选择相应的ECC算法,能够满足各 个供应商的不同的需求,同时改善ECC处理的效果。本实施例提供的纠错处理的方法的流程图如图Ia所示,本实施例的执行主体可 以为ECC模块,方法包括步骤11、根据ECC算法与进行ECC纠错的硬盘的颗粒特性的对应关系,在ECC模块 中嵌入与所述硬盘的颗粒特性相对应的至少两种ECC算法;本实施例中采用的ECC模块参见图Ib和图Ic所示,其中图Ib为ECC模块进行编 码处理的示意图,图Ic为ECC模块进行解码处理的示意图。在ECC模块中设置有ECC算法单元,ECC算法单元中设置有至少两种ECC算法,如 8bit/512B、12bit/512B、24bit/lKB等,实际的算法模块包含且不限于此,可以根据不同供 应商的需求设计相应的算法,不同供应商生产的NAND Flash的颗粒特性是有差别的,而不 同NAND Flash的颗粒特性需要使用不同的ECC算法进行ECC纠错,才能达到最有效的效果。本实施例中,考虑到的固态硬盘的颗粒特性可包括多个方面,比如可以是擦/写 (Program/Erase)次数、CPU占用率、内存占用率等。以考虑擦/写次数为例进行说明,比如, 使用供应商A的NAND Flash的固态硬盘A的颗粒特性,与使用供应商B的NAND Flash的固 态硬盘B的颗粒特性会有所不同。例如在擦/写了 1000次后,固态硬盘A在读操作10000 次时,ECC错误位数为libit ;而固态硬盘B在读操作10000次时,ECC错误位数为6bit。因此,对于固态硬盘A,在擦/写了 1000次后,可能使用ECC算法A会有比较好的 ECC处理效果,而对于固态硬盘B,在擦/写了 1000次后,可能使用ECC算法B会有比较好 的处理效果。不同供应商的NAND Flash,可以根据统计的方式得出其颗粒特性所对应的最 有效的ECC算法。使用不同供应商的NAND Flash的固态硬盘,由于不同NAND Flash颗粒特性不同, 其对应的最有效的ECC算法也不同。为了更好的进行ECC处理,预先建立该固态硬盘的颗 粒特性与ECC算法的对应关系。比如,固态硬盘A,本文档来自技高网
...

【技术保护点】
一种纠错处理的方法,其特征在于,包括:根据错误检查和纠正ECC算法与进行ECC纠错的硬盘的颗粒特性的对应关系,在ECC模块中嵌入与所述硬盘的颗粒特性对应的至少两种ECC算法;根据当前进行ECC纠错的硬盘的颗粒特性,选择相应的ECC算法进行ECC纠错处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:周建华
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1