[发明专利]一种数据纠错方法及装置有效
| 申请号: | 201310135916.3 | 申请日: | 2013-04-18 |
| 公开(公告)号: | CN103218271A | 公开(公告)日: | 2013-07-24 |
| 发明(设计)人: | 赵麒 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F11/10 | 分类号: | G06F11/10 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 纠错 方法 装置 | ||
技术领域
本发明涉及微电子技术领域,尤其涉及一种数据纠错方法及装置。
背景技术
固态硬盘(Solid State Disk,SSD)是用固态电子存储芯片阵列而制成的硬盘,由于它的存储介质为与非闪存(NAND Flash),因此具有低功耗、无噪声、抗震动、存储密度大、传输速度快等优点。
由于NAND Flash的材料和工艺的特点,在NAND Flash的读写使用和存放过程中很容易产生坏块,因此通常使用错误检查和纠正(Error Correcting Code,ECC)技术来保证数据存取的完整性。ECC是在NAND Flash的每一个页面上用额外的存储空间来保存校验数据;如图1所示,为ECC纠错示意图;当写入数据的时候进行数据编码,即根据原始数据计算出具有固定长度的校验数据,并将校验数据存放在NAND Flash的冗余位中,当读取数据的时候进行数据解码,即通过校验数据对读取的数据进行纠错,若当前数据出错位(bit)数在校验数据的纠错能力内,则可以将数据校正过来,若当前数据出错位数不在校验数据的纠错能力内,则无法完成校正。ECC能校正多少位数据与校验数据位数有关,一般来说,能校正的数据越多,需要的校验数据位数也就越多,通过校正数据,可以弥补NAND Flash的硬件缺陷,延长NAND Flash的使用寿命。
然而,为了减少输出数据的出错率,SSD对ECC纠错能力的要求越来越高,因此,ECC的校验数据的纠错位数在不断增加,通常每次均使用超长纠错位数的校验数据对从NAND Flash中读取的数据进行纠错,由于每次都使用超长纠错位数的校验数据对读取的数据进行纠错,而使用超长纠错位数的校验数据对读取的数据进行纠错的复杂度较高,因此会影响数据的纠错效率,进而影响访问数据的速度。
发明内容
本发明实施例提供一种数据纠错方法及装置,用以解决现有技术中从NAND Flash中读取的数据进行纠错的效率较低,导致访问数据速度慢的问题。
第一方面,提供一种数据纠错方法,包括:
从存储器中读取被请求的数据及所述被请求数据的N种校验数据;其中,N为大于1的正整数,且所述N种校验数据能够纠错的数据位数不同;
按照所述N种校验数据的纠错位数由少到多的顺序,依次采用不同种的校验数据对所述被请求的数据进行纠错,直到采用所述N种校验数据中的一种校验数据对所述被请求的数据完成纠错,或直到采用纠错位数最多的校验数据对所述被请求的数据纠错失败。
结合第一方面,在第一种可能的实现方式中,所述N种校验数据由以下步骤生成:
根据待写入所述存储器中的原始数据,生成纠错位数最多的校验数据;其中,所述待写入的原始数据为所述被请求的数据对应的被写入所述存储器之前的数据;
针对任意一种非纠错位数最多的校验数据,根据所述待写入存储器中的原始数据和至少一种其它纠错位数的校验数据生成所述非纠错位数最多的校验数据;其中,所述其它纠错位数的校验数据比所述非纠错位数最多的校验数据能够纠错的数据位数多。
结合第一方面,或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,N=2。
结合第一方面,或第一方面的第一或第二种可能的实现方式,在第三种可能的实现方式中,所述按照所述N种校验数据的纠错位数由少到多的顺序,依次对所述被请求的数据进行纠错之前,还包括:
分别确定采用所述N种校验数据进行纠错时需占用的存储器带宽;
则所述按照所述N种校验数据的纠错位数由少到多的顺序,依次对所述被请求的数据进行纠错,具体包括:
针对一种纠错位数的校验数据,在采用该校验数据进行纠错时,占用确定的存储器带宽进行纠错;其中,所述确定的存储器带宽为确定的采用该校验数据进行纠错时需占用的存储器带宽,且针对任意两种纠错位数的校验数据,采用纠错位数少的校验数据进行纠错时占用的存储器带宽大于采用纠错位数多的校验数据进行纠错时占用的存储器带宽。
结合第一方面,或第一方面的第一至三种可能的实现方式,在第四种可能的实现方式中,所述存储器为与非闪存NAND Flash。
第二方面,提供一种数据纠错装置,包括:
读取模块,用于从存储器中读取被请求的数据及所述被请求数据的N种校验数据,并将读取的所述被请求的数据和N种校验数据传输至纠错模块;其中,N为大于1的正整数,且所述N种校验数据能够纠错的数据位数不同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310135916.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:以液化天然气为燃料的拖拉机
- 下一篇:一种测试FPGA开发板的装置和方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





