The invention provides a data storage method and a memory, which includes: establishing an ECC table, recording the first ECC value of the data source page and the second ECC value of the data target page; updating the ECC table; loading the ECC table to detect whether the first ECC value exceeds the first preset threshold; and correcting the data source page with the ECC module if the first ECC value exceeds the first preset threshold; If the first ECC value does not exceed the first preset threshold, the second ECC value is detected to exceed the second preset threshold; if the second ECC value exceeds the second preset threshold, the ECC module is used to correct the data source page; if the second ECC value does not exceed the second preset threshold, the copyback mode is used to copy the data; this method can reduce the error exceeding caused by the copyback function. ECC error correction range, reduce the risk of data errors.
【技术实现步骤摘要】
一种数据存储方法及存储器
本专利技术涉及数据存储
,尤其涉及一种数据存储方法及存储器。
技术介绍
现有的NandFlash存储器,一般先将数据采用SLC写入NAND模块中,待SLC的空块用到一定程度后再使用copyback功能将SLC中的数据快速拷贝到MLC块或者TLC块中,因为单纯使用SLC的话会导致容量减少(MLC减少一半,TLC减少三分之二),采用copyback功能是为了提高速度,因为数据不需要传输到外部,只是在NandFlash内部数据搬移。现在通常采用降低MLC/TLC的ECC来保证数据准确,例如ECC硬件模块可以纠错60bit,在扫描的时候SLC的错误bit数为10bit,MLC/TLC中错误bit数超过20bit则代表数据出错,后续不再使用,但是这些块其实是可以保留使用的,10+20=30<60,小于ECC硬件纠错范围内,为了给后续留有30bit出错点的余量。现有的NandFlash的设计原理上存在缺陷,数据需要ECC硬件模块纠错,ECC硬件模块纠错是需要将数据从Nand中读出来,经过ECC硬件模块运算后才可以纠错,但是copyback整个过程是在NandFlash内部进行的,这样会导致SLC中的错误bit并没有被纠错就写入了MLC/TLC中,例如flash开始保留了30bit的余量,但是随着SLC与TLC的擦写次数增加,两个块的错误bit都会升高,假如SLC错误bit为15,TLC错误bit为50,一旦使用copyback命令拷贝数据的话,最终的错误bit为15+50=65>60(ECC硬件纠错最大值),导致数据出错。专 ...
【技术保护点】
1.一种数据存储方法,其特征在于,包括:建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;更新所述ECC表格;加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。
【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:建立ECC表格,记录数据来源页的第一ECC值以及数据目标页的第二ECC值;更新所述ECC表格;加载所述ECC表格,检测所述第一ECC值是否超过第一预设阈值;如果所述第一ECC值超过所述第一预设阈值,则采用ECC模块对所述数据来源页进行纠错;如果所述第一ECC值没有超过第一预设阈值,则检测第二ECC值是否超过第二预设阈值;如果所述第二ECC值超过所述第二预设阈值,则采用ECC模块对所述数据来源页进行纠错;如果所述第二ECC值没有超过所述第二预设阈值,则采用copyback模式拷贝数据。2.根据权利要求1所述的数据存储方法,其特征在于,更新所述ECC表格包括第一ECC值的更新和第二ECC值的更新;空闲时扫描所述数据来源页进行第一ECC值的更新;正常读取数据时扫描所述数据目标页进行第二ECC值的更新。3.根据权利要求1所述的数据存储方法,其特征在于,所述第一预设阈值为5bit-15bit。4.根据权利要求3所述的数据存储方法,其特征在于,所述第二预设阈值为15bit-25bit。5.根据权利要求1所述的数据存储方法,其特征在于,采用ECC模块对所述数据来源页进行纠错,包括:生成读取命令;根据所述读取命令,ECC模块从所述数据来源页中读取数据进行纠错;纠错完成后生成写入命令;ECC模块根据所述写入命令将纠错后的数据写入数据来源页中。6.根据权利要求5所述的数据存储方法,其特征在于,如果所述第二ECC值没有超过所述第二预设阈值,则检测所述第一ECC...
【专利技术属性】
技术研发人员:李虎,罗胜,
申请(专利权)人:深圳市德名利电子有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。