NandFlash存储器写操作过程掉电防护方法

文档序号:6486785阅读:591来源:国知局
NandFlash存储器写操作过程掉电防护方法
【专利摘要】一种NandFlash存储器写操作过程掉电防护方法,在NandFlash存储器中定义一个交换块,交换块用来备份原块数据;若在NandFlash存储器写操作过程中出现掉电,则重新上电时,对交换块和原块的每个扇区分别进行ECC校验,从而判断原块数据和交换块数据的有效性。本发明实现了:(1)即使掉电,也能保证原块与交换块一定有一份数据正确,保证了下次上电时可恢复的数据来源;(2)原块与交换块的数据正确性判断通过ECC校验结果来判断;(3)只有在一种状况下需要恢复,即原块数据ECC校验错误,且交换块中数据ECC校验正确,其他情况无须进行恢复。
【专利说明】NandFIash存储器写操作过程掉电防护方法
【技术领域】
[0001]本发明涉及一种NandFlash存储器写操作过程掉电防护实现方法。
【背景技术】
[0002]由于NandFlash的按页读写/按块擦除的属性,即页编程操作之前需要对整块擦 除。若在擦除操作过程出现掉电,则极有可能出现该块中原有效数据被擦除,而待写入的数 据未被写入的状况,以FAT32文件系统为例,若该块存储数据为文件数据区,则影响相对较 小,若该块存储数据为FAT表或文件目录区,则会导致整个FAT32文件系统崩溃,显然这种 状况不是被允许的。
[0003]CN200610066985.3专利中的备份区,主要是用来作冗余用,目的是为了提高可靠 性,就是用多个地方来存储同样的数据。该专利重点是两个方面:A:平衡存储以提高存储 器的使用寿命:使用备份区提到可靠性,如有三个备份区,即使I个区数据被破坏,还有 两个区数据有效,类似于N/M表决系统。故没有解决掉电保护的问题。

【发明内容】

[0004]本发明的目的是提供一种在NandFlash存储器写操作过程中出现掉电的防护方法。
[0005]为实现上述目的,本发明采用以下技术方案:
一种NandFlash存储器写操作过程掉电防护方法,在NandFlash存储器中定义一个交 换块,交换块用来备份原块数据;若在NandFlash存储器写操作过程中出现掉电,则重新上 电时,对交换块和原块的每个扇区分别进行ECC校验,从而判断原块数据和交换块数据的 有效性;若交换块中存在扇区ECC校验错误,则表明交换块中没有有效的可供恢复的数据, 则直接跳出掉电保护操作,执行在线编程器正常操作;若交换块各扇区ECC校验正确,则需 进一步判断原块数据有效性;若原块各扇区ECC校验正确,则直接跳出掉电保护操作,执行 在线编程器正常操作;若原块存在扇区ECC校验错误,则将交换块中的数据回写到原块。
[0006]上述NandFlash存储器写操作过程如下:先将定义的交换块擦除,擦除后,将原块 数据备份到交换块中;接着,擦除原块中旧的数据,将交换块中的原首数据回写至原块,再 将新的待写入数据写至原块,最后将交换块中的原尾数据回写至原块。
[0007]采用上述技术方案的本发明,对任何块进行擦除前,先将该块数据复制到交换块 中,这样即可实现某一块原数据至少有一份正确(原块或交换块),其正确性通过这两个块 中各扇区的ECC校验结果进行判断,该块中各扇区ECC校验正确则表明该块数据有效,该块 中存在扇区ECC校验错误则表明该块数据无效。当出现写操作时掉电,则下一次上电会通 过对各扇区的ECC校验结果进行判别,若原块数据无效,则可将交换块中的数据还原到原 块,若原块数据有效,则不用任何处理。这样可保证即使新数据未被成功写入,但不会出现 原有效数据丢失。
[0008]综上,本发明实现了:(1)即使掉电,也能保证原块与交换块一定有一份数据正确,保证了下次上电时可恢复的数据来源;(2)原块与交换块的数据正确性判断通过ECC校 验结果来判断;(3)只有在一种状况下需要恢复,即原块数据ECC校验错误,且交换块中数 据ECC校验正确,其他情况无须进行恢复。
【专利附图】

【附图说明】
[0009]图1为本发明所涉及存储结构描述。
[0010]图2为本发明NandFlash存储器写操作流程图。
[0011]图3为本发明掉电后数据恢复流程图。
【具体实施方式】
[0012]一种NandFlash存储器写操作过程掉电防护方法,在NandFlash存储器中定义一 个交换块,交换块用来备份原块数据;若在NandFlash存储器写操作过程中出现掉电,则重 新上电时,对交换块和原块的每个扇区分别进行ECC校验,从而判断原块数据和交换块数 据的有效性。上述的ECC校验为本领域技术人员所熟知的现有技术。由于ECC校验是按扇 区来操作,相对于按块来操作的标志,I块需要256个扇区标志,按扇区进行ECC校验判断数 据有效性可以准确的判断每个扇区数据的有效性。
[0013]如图1所示,以三星的某NANDFLASH存储器为例说明:该FLASH为1GB,由8192块 组成,每块128KB,每页2KB,每扇区512B。图中201为一个扇区,该FLASH的每扇区除512B 数据外,还有16B的OOB区域,图中2011为该扇区的512B数据,2012为该扇区ECC校验结 果(占OOB区域4个字节),2013为原块中对应的该扇区的扇区号(占OOB区域4个字节)。
[0014]如图2所示,本发明NandFlash存储器写操作流程,它先将定义的交换块擦除,擦 除后,将原块数据备份到交换块中,此时交换块有一份与原块完全一样的数据,且交换块中 数据与原块数据是完全影射的。接着,擦除原块中旧的数据,将交换块中的原首数据回写至 原块,再将新的待写入数据写至原块,最后将交换块中的原尾数据回写至原块。
[0015]若在写操作过程中出现掉电,则重新上电时,可通过分别对交换块及原块中256 个扇区进行ECC校验,即可判断出原块及交换块的数据有效性。若交换块中存在扇区ECC 校验错误,则表明交换块中没有有效的可供恢复的数据,则直接跳出掉电保护操作,执行在 线编程器正常操作;若交换块各扇区ECC校验正确,则需进一步判断原块数据有效性;若原 块各扇区ECC校验正确,则直接跳出掉电保护操作,执行在线编程器正常操作;若原块存在 扇区ECC校验错误,则将交换块中的数据回写到原块。需要说明的是,在回写的过程中,原 块的位置通过从交换块中扇区号的位置读出,该位置就是上次备份时的源地址。
[0016]虽然本发明已结合优选实施例进行说明,但要理解到,根据上述描述的许多替换、 修改和变化对本专业技术人员而言是显而易见的,因此,预期已包含所有所述权利要求的 精神以及范围内的替换、修改与变化。在这里提出的和在附图中所表示的所有内容,应该被 解释为是说明性的和非限制性的。
【权利要求】
1.一种NandFlash存储器写操作过程掉电防护方法,其特征在于:在NandFlash存储 器中定义一个交换块,交换块用来备份原块数据;若在NandFlash存储器写操作过程中出 现掉电,则重新上电时,对交换块和原块的每个扇区分别进行ECC校验,从而判断原块数据 和交换块数据的有效性;若交换块中存在扇区ECC校验错误,则表明交换块中没有有效的可供恢复的数据,则 直接跳出掉电保护操作,执行在线编程器正常操作;若交换块各扇区ECC校验正确,则需进 一步判断原块数据有效性;若原块各扇区ECC校验正确,则直接跳出掉电保护操作,执行在 线编程器正常操作;若原块存在扇区ECC校验错误,则将交换块中的数据回写到原块。
2.根据权利要求1所述的NandFlash存储器写操作过程掉电防护方法,其特征在于, NandFlash存储器写操作过程如下:先将定义的交换块擦除,擦除后,将原块数据备份到交 换块中;接着,擦除原块中旧的数据,将交换块中的原首数据回写至原块,再将新的待写入 数据写至原块,最后将交换块中的原尾数据回写至原块。
【文档编号】G06F12/16GK103530242SQ201210232680
【公开日】2014年1月22日 申请日期:2012年7月6日 优先权日:2012年7月6日
【发明者】许李纳, 华正杰, 李会同, 杨清祥, 杨立军 申请人:河南思维自动化设备股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1