一种异常掉电后的数据修复方法及装置制造方法及图纸

技术编号:29295276 阅读:42 留言:0更新日期:2021-07-17 00:50
本发明专利技术公开了一种异常掉电后的数据修复方法,上述方法包括:在设备重新上电时,对分区上的所有块进行扫描,获取分区内的所有数据块;对所有所述数据块内的数据页进行读取,并将读取失败的数据页进行删除。通过实施本发明专利技术实施例能够在不对系统文件进行备份的前提下,解决设备异常掉电后的数据修复问题,使得设备重新上电后能够正常开机启动,节约设备的存储空间。空间。空间。

A data repair method and device after abnormal power failure

【技术实现步骤摘要】
一种异常掉电后的数据修复方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种异常掉电后的数据修复方法及装置。

技术介绍

[0002]对于目前消费电子产品中,经常将SPI NAND FLASH作为存储介质;基于SPI NAND FLASH的存储介质的嵌入式系统,所应用的文件系统,基本上都会有垃圾回收的设计,而且这个垃圾回收的是一个后台执行的线程,只要后台空闲,或可用的数据块比较少时,垃圾回收的线程就会执行,对SPINAND上的数据进行搬移的操作,此时若出现异常断点,而消费的电品产品中,总会有碰到有异常断电的可能,如果刚好这些文件在系统执行垃圾回收过程中搬移数据写到另一个块上时,此时断电了,那么此页就会可能因数据没有写完整,比如OOB的ECC数据没有写下去,那么此页就会出现ECC出错的问题,导致文件损坏,这样在重新上电时,会读取到损坏的文件而导致异常,无法正常启动。
[0003]为解决上述问题,现有技术采用文件备份的方式对异常掉电时所损坏的数据进行修复,具体做法为:将所有文件都进行备份当异常掉电后,重新上电时,系统在扫描文件的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种异常掉电后的数据修复方法,适用于设置有SPI NAND FLASH的设备,其特征在于,包括:在设备重新上电时,对分区上的所有块进行扫描,获取分区内的所有数据块;对所有所述数据块内的数据页进行读取,并将读取失败的数据页进行删除。2.如权利要求1所述的异常掉电后的数据修复方法,其特征在于,所述对分区上的所有块进行扫描,获取分区内的所有数据块,具体包括:扫描一所述块,从所扫描的块的初始数据页开始读取数据页中的OOB数据;在读取成功时,根据所读取的OOB数据判断所扫描的块是否为数据块;若是,则将所扫描的块标识为数据块;在读取失败时,判断当前所读取的数据页是否为所扫描的块中的最后一页,若是,则将所扫描的块进行擦除;若否,则对当前所读取的数据页的下一数据页的OOB数据进行读取;在扫描完所述分区内的所有块后,获取所述分区内的所有数据块。3.如权利要求1所述的异常掉电后的数据修复方法,其特征在于,对所有所述数据块内的数据页进行读取,并将读取失败的数据页进行删除,具体包括:从一所述数据块内的最后一数据页开始读取数据块内的数据页;在当前的数据页读取成功时,判断当前数据块内的所有数据页是否读取完毕;若是,则读取下一个数据块,若否,则对当前所读取的数据页的上一数据页进行读取;在当前的数据页读取失败时,将当前所读取的数据页删除后,对当前所读取的数据页的上一数据页进行读取;在将所有所述数据块的数据页读取完毕时,完成所述设备的数据修复。4.如权利要求2所述的异常掉电后的数据修复方法,其特征在于,还包括:若根据所读取的OOB数据判断所扫描的块不为数据块,则继续判读所扫描的块是否为坏块,若是,则将所扫...

【专利技术属性】
技术研发人员:黎兴建胡胜发
申请(专利权)人:广州安凯微电子股份有限公司
类型:发明
国别省市:

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

1