[发明专利]NAND Flash存储芯片的校验算法无效
申请号: | 201210251133.7 | 申请日: | 2012-07-19 |
公开(公告)号: | CN102789817A | 公开(公告)日: | 2012-11-21 |
发明(设计)人: | 万籁民;韦献康;刘绍海 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G11C29/56 | 分类号: | G11C29/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | nand flash 存储 芯片 校验 算法 | ||
技术领域:
本发明属于NAND Flash存储芯片校验算法领域,更具体地说,涉及一种NAND Flash存储芯片多位查错及两位纠错的校验算法。
背景技术:
现今,NAND Flash存储芯片作为嵌入式领域的一种常见存储介质,相比于NOR Flash存储芯片,NAND Flash存储芯片具有更快的读写速度和能够存储更多的数据的优点。因此,NAND Flash存储芯片一直以来广受嵌入式设备厂商的青睐,但由于NAND Flash存储芯片不能像NOR Flash存储芯片那样能保持存储数据的高可靠性,从而如何提高NAND Flash存储芯片内存储数据的可靠性,变成了所有使用者的难题。
NAND Flash芯片的基本构成,通常由多个块组成,每个块由多个页组成,每个页由数据区及Spare area区组成(NAND Flash芯片存储的数据分有效数据和元数据,元数据负责有效数据的管理,元数据存储的区域叫Spare area区)。块是作为NAND Flash擦除的最小单位,页一般作为读写的最小单位。对于每个页上的Spare area区及数据区而言,数据区主要负责存放用户数据信息,而Spare area区常用来存放纠错校验码。
常见NAND Flash存储芯片中存在有三种典型的情况会导致数据翻转从而使得数据错误:
1、漂移翻转
漂移翻转指的是,NAND Flash芯片中cell的电压值慢慢发生改变,变的和原始值不一样了。
2、编程效应引起的翻转
对于某个页面的编程操作(即擦或写操作),引起非相关的其他页面的某个位跳变了。
3、读翻转
此效应是,对一个页进行数据读取操作,却使得对应的某个位的数据,产生了永久性的变化,即NAND Flash上该位的值发生改变。
NAND Flash的工艺特点使其存储的数据在写入和读出的时会不一致,因此NAND Flash采用专门的ECC(Error Checking and Correction)校验算法保证读出数据的正确性。ECC校验算法能够针对NAND Flash的一个页进行一位纠错和两位查错,然而通过高压力的测试发现,NAND Flash每页出现两位错误的情况也时有发生,一旦发生两位错误时,会导致建立在NAND Flash上的文件系统崩溃,为此急需研究一种校验算法以减少文件系统崩溃的风险。
发明内容:
本发明的目的在于克服上述现有技术之不足,提供一种能够保证纠正一位及两位错误,并能发现多位错误的NAND Flash存储芯片的校验算法,以及确保存放在NAND Flash芯片内数据的完整性及准确性。
为了实现上述发明目的,本发明采用了以下技术方案:
一种NAND Flash存储芯片的校验算法,根据写入每页数据的行列异或值、Hash值到Spare area区,通过读取的每页数据内容、Spare area区中的行列异或值、Spare area区中的Hash值,三者的运算结果进行错误数据的定位和纠错。
包括以下步骤:
1)将每页所有数据按照相同行列进行划分,对同一行上的所有点进行异或运算得到异或值,并对同一列上的所有点进行异或运算得到异或值,将行、列的异或值写入Spare area区;
2)将数据区进行Hash值运算,将运算的结果按双份存放在Spare area区;
3)取出存放在Spare area区中的行列异或值及Hash值;
4)取出数据内容,计算数据内容中的Hash值,并与第(3)步骤中的Hash值进行对比,如果完全一致则直接返回,如果不完全一致则继续执行步骤(5);
5)根据数据计算结果发现的错误数量及其位置,并根据错误出现的不同条件,进行纠错:
条件1:
出现列错误0、行错误1时,根据计算的错误行所在的坐标确定错误行所在的位置,对该行所有的位依次进行异或处理,每进行一位异或处理就进行验证整个数据内容的Hash值,如果该Hash值与保存在Sparearea区的Hash值不相等,则将错误位进行恢复,并开始对下一位进行异或处理并再次验证Hash值,直到验证的Hash值完全一致时,返回正确;当所在行上的所有位进行异或处理后,仍未得到相等的Hash值时,返回错误。
条件2:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210251133.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种强度可调握力器
- 下一篇:一种基于单片机的车床电动尾座智能控制装置