Nor flash掉电保护方法及装置制造方法及图纸

技术编号:8862274 阅读:739 留言:0更新日期:2013-06-28 01:30
本申请公开了一种Nor?flash掉电保护方法,包括:在针对Nor?flash的类文件配置表FAT文件系统结构中增加写时备份区;进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram;设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引,拷贝所述备份block的数据到所述目标block。本申请还公开了一种Nor?flash掉电保护装置。本申请可实现对flash文件系统的有效保护。

【技术实现步骤摘要】

本申请涉及Nor flash处理
,尤其涉及Nor flash掉电保护方法及装置
技术介绍
Nor Flash是采用或非电路作为存储载体的一种闪存介质,是嵌入式系统的主要存储媒介。这种类型的flash介质写入速度慢、读取速度快,位交换几率低,支持随机寻址和片内执行,多应用在存储可执行文件等访问次数少但可靠性要求高的场所。Nor Flash写入操作具有以下两个特点:I)在已存储有内容的物理块block上修改目标位置的内容时,只能把目标比特bit的I (表示内容为空)修改为O (表示有内容),而不能把O修改为I。要想把目标位置的O改写为1,只能擦除该目标位置所对应的block (—般为64k或者128k),也就是说,要擦除包含有该目标位置的整个block。因此,一般情况下,向flash指定的目标位置改写内容时,需要先保存所述目标位置对应的block上的内容到随机存储器RAM,然后对所述block执行擦除动作,再从RAM写更新后的内容到flash上。2)在内容为空的block上写入时,flash介质的写入速度大约为5k/s,如果写入过程中掉电,本次实际写入的内容与期望写入的内容可能不一致,导致本次写入的内容不可预测。现有的类文件配置表FAT文件系统是一种针对Nor flash的文件系统,该类型文件系统的元数据和文件数据有相对固定的位置,并分开存储,所有的修改操作均原地执行。类FAT文件系统整体结构示意图如图1所示,其中,元数据区固定位于flash介质的前面区域,主要存储管理文件存储位置和目录关系的管理性数据;用户数据区,主要存储各个文件的实际内容。对于类FAT文件系统的写入操作也包括以下两方面:A、对已存储的数据进行修改,所述修改过程如图2所示,步骤如下:步骤1:把准备改写的目标block上的数据内容读取到RAM,并且在RAM中对准备改写的目标位置的内容进行更新;步骤2:擦除flash上的所述目标block的内容;步骤3:把RAM中更新后的内容写到所述目标block上。分析上述过程,如果改写过程中发生掉电,不仅更新的内容未写入目标block,还可能会破坏目标block上原有的内容,因为进行擦除操作时,会将所述目标位置对应的整个目标block的内容都擦除,因此,所述目标block上原有的有效内容也被擦除了,从而会破坏目标block上原有的内容,引起文件系统崩溃。B、在内容为空的block上写入,此时,如果掉电,实际写入的内容与期望写入的内容可能不一致,实际已写入多少内容以及写入的是什么内容,都是不确定的,即,对于写入数据的完整性和有效性均无法预测。上述无论是在对已存储的数据改写的过程中发生掉电,还是在内容为空的block上写入的过程中发生掉电,掉电重启后,对于之前掉电产生的结果也没有任何处理,无法继续完成因为掉电而中断的数据写入过程。综上所述,现有针对Nor flash的类FAT文件系统对掉电管理支持较差,如果改写过程发生掉电,不仅更新的内容未写入,还可能破坏原有的内容,引起文件系统崩溃;如果在内容为空的block上写入的过程中发生掉电,对于写入数据的有效性和完整性均无法预测。此外,掉电重启后,对于因为掉电而产生的上述问题也没有任何恢复处理。从而无法实现对flash文件系统的有效保护。
技术实现思路
有鉴于此,本申请提出一种Nor flash掉电保护方法,可实现对flash文件系统的有效保护。本申请还提出一种Nor flash掉电保护装置,可实现对flash文件系统的有效保护。为达到上述目的,本申请实施例的技术方案是这样实现的:—种Nor flash掉电保护方法,包括以下步骤:在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区;进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram ;设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引,拷贝所述备份block的数据到所述目标 block。一种Nor flash掉电保护装置,包括:写时备份区添加模块、数据备份模块、标记存储模块、标记获取模块和数据恢复模块,其中:写时备份区添加模块,用于在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区;数据备份模块,用于进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上;标记存储模块,用于在将待写入数据写到从写时备份区选择的备份block上之后,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram ;标记获取模块,用于设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引;数据恢复模块,用于在取出所述备份block和目标block的全局位置索引后,拷贝所述备份block的数据到所述目标block。本申请的有益效果为,通过在针对Nor flash的类FAT文件系统结构中增加写时备份区,从写时备份区选择一个block作为备份block,将待写入flash的数据写入Ram,将所述Ram中的数据写到备份block,然后记录正在写入标记及备份block和待写入的目标block的位置索引到Nvram;当发生异常掉电并重启时,如果正在写入标记已置位,表明重启前是异常掉电,需要对因为异常掉电而受到影响的flash文件系统进行恢复,此时,首先禁止其他用户对flash进行写操作,然后根据Nvram记录的block位置索引,找到备份block和目标block,将备份block的数据写到目标block。从而可以实现:当类FAT文件系统数据改写过程中发生掉电、或在内容为空的block上写入数据过程中发生掉电而引起文件系统数据紊乱时,在下次设备重启时可以继续完成掉电前的写操作过程,实现对flash文件系统的有效保护。附图说明图1为现有技术的类FAT文件系统整体结构示意图;图2为现有技术的数据改写流程示意图;图3为本申请实施例的方法流程图;图4为本申请实施例的类FAT文件系统结构示意图;图5为本申请实施例的在已存储有数据的目标block改写数据的流程示意图;图6为本申请实施例的在内容为空的目标block与入数据的流程不意图;图7为本申请实施例的装置功能模块结构示意图。具体实施例方式为了使本申请的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本申请进行详细说明。本申请提出一种Nor flash掉电保护方法,在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区;进行写操作时,将待写入数据写到随机存储器Ram,将所述Ram中的数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram ;设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标bl本文档来自技高网
...

【技术保护点】
一种Nor?flash掉电保护方法,其特征在于,包括以下步骤:在针对Nor?flash的类文件配置表FAT文件系统结构中增加写时备份区;进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram;设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引,拷贝所述备份block的数据到所述目标block。

【技术特征摘要】
1.一种Nor flash掉电保护方法,其特征在于,包括以下步骤: 在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区; 进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram ; 设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引,拷贝所述备份block的数据到所述目标block。2.根据权利要求1所述的方法,其特征在于,所述从写时备份区选择备份block的方法为: 写时备份区的block数量记为N,N为正整数,其中按顺序第一个block的全局位置索引记为M,上一次使用的备份block的全局位置索引记为K,判断K+1是否小于M+N,如果是,从写时备份区选择全局位置索引为K+1的block作为备份block,否则,从写时备份区选择全局位置索引为M的block作为备份block。3.根据权利要求1所述的方法,其特征在于,当所述写操作是在已存储有数据的所述目标block上改写数据时, 所述将待写入数据写到从写时备份区选择的备份block上,包括:将所述目标block上已存储的数据写入随机存储器Ram,在所述Ram中对所述数据进行改写,将所述Ram中改写后的数据写到所述备份block上; 所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,进一步包括:擦除所述目标block,将所述备份block上的数据写到所述目标block上。4.根据权利要求1所述的方法,其特征在于,当所述写操作是在内容为空的所述目标block上写入数据时, 所述将待写入数据写到从写时备份区选择的备份block上,包括:将待写入数据写入随机存储器Ram,将所述Ram中的数据写到所述备份block上; 所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,进一步包括:将所述备份block上的数据写到所述目标block上。5.根据权利要求3或4所述的方法,其特征在于,所述将所述备份block上的数据写到所述目标block上之后进一步包括:清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除所述备份block。6.根据权利要求1所述的方法,其特征在于,所述设备重启时,如果正在写入标记没有置位,则擦除写时备份区的所有数据。7.根据权利要求1所述的方法,其特征在于,所述从Nvram中取出所述备份block和目标block的全局位置索引之后和拷贝所述备份block的数据到所述目标block之前,进一步包括:如果所述目标block没有被擦除,则擦除所述目标block ;如果所述目标block已被擦除,则直接拷贝所述备份block的数据到所述目标block。8.根据权利要求1所述的方法,其特征在于,所述拷贝所述备份block的数据到所述目标block之后进一步包括:清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除写时备份区的全部数据。9.一种Nor flash掉电保护装置,其特征在于,所述装置包括:写时备份区添加模块、数据备份模块、标记存储模块、标记获取模块和数据恢复模块,其中: 写时备份区添加模块,用于在针对N...

【专利技术属性】
技术研发人员:李华生
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

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

1