书签 分享 收藏 举报 版权申诉 / 17

NORFLASH掉电保护方法及装置.pdf

  • 上传人:a1
  • 文档编号:4755323
  • 上传时间:2018-11-07
  • 格式:PDF
  • 页数:17
  • 大小:5.20MB
  • 摘要
    申请专利号:

    CN201310099627.2

    申请日:

    2013.03.26

    公开号:

    CN103176920A

    公开日:

    2013.06.26

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的驳回IPC(主分类):G06F 12/16申请公布日:20130626|||实质审查的生效IPC(主分类):G06F 12/16申请日:20130326|||公开

    IPC分类号:

    G06F12/16

    主分类号:

    G06F12/16

    申请人:

    杭州华三通信技术有限公司

    发明人:

    李华生

    地址:

    310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

    优先权:

    专利代理机构:

    北京德琦知识产权代理有限公司 11018

    代理人:

    谢安昆;宋志强

    PDF完整版下载: PDF下载
    内容摘要

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

    权利要求书

    权利要求书
    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掉电保护装置,其特征在于,所述装置包括:写时备份区添加模块、数据备份模块、标记存储模块、标记获取模块和数据恢复模块,其中:
    写时备份区添加模块,用于在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区;
    数据备份模块,用于进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上;
    标记存储模块,用于在将待写入数据写到从写时备份区选择的备份block上之后,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram;
    标记获取模块,用于设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引;
    数据恢复模块,用于在取出所述备份block和目标block的全局位置索引后,拷贝所述备份block的数据到所述目标block。

    10.   根据权利要求9所述的装置,其特征在于,所述数据备份模块在将待写入数据写到从写时备份区选择的备份block上时,所述从写时备份区选择备份block,包括:
    写时备份区的block数量记为N,N为正整数,其中按顺序第一个block的全局位置索引记为M,上一次使用的备份block的全局位置索引记为K,判断K+1是否小于M+N,如果是,从写时备份区选择全局位置索引为K+1的block作为备份block,否则,从写时备份区选择全局位置索引为M的block作为备份block。

    11.   根据权利要求9所述的装置,其特征在于,当所述写操作是在已存储有数据的所述目标block上改写数据时,
    所述数据备份模块,具体用于:将所述目标block上已存储的数据写入随机存储器Ram,在所述Ram中对所述数据进行改写,将所述Ram中改写后的数据写到所述备份block上;
    所述装置进一步包括:
    数据改写模块,用于在所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,擦除所述目标block,将所述备份block上的数据写到所述目标block上。

    12.   根据权利要求9所述的装置,其特征在于,当所述写操作是在内容为空的所述目标block写入数据时,
    所述数据备份模块,具体用于:将待写入数据写入随机存储器Ram,将所述Ram中的数据写到所述备份block上;
    所述装置进一步包括:
    数据写入模块,用于在所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,将所述备份block上的数据写到所述目标block上。

    13.   根据权利要求11或12所述的装置,其特征在于,所述数据恢复模块,还用于在将所述备份block上的数据写到所述目标block上之后,清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除所述备份block。

    14.   根据权利要求9所述的装置,其特征在于,所述标记获取模块,还用于在所述设备重启时,如果正在写入标记没有置位,则擦除写时备份区的所有数据;
    所述数据恢复模块,还用于在所述从Nvram中取出所述备份block和目标block的全局位置索引之后和拷贝所述备份block的数据到所述目标block之前,如果所述目标block没有被擦除,则擦除所述目标block;如果所述目标block已被擦除,则直接拷贝所述备份block的数据到所述目标block;
    所述数据恢复模块,还用于在拷贝所述备份block的数据到所述目标block之后,清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除写时备份区的全部数据。

    说明书

    说明书Nor flash掉电保护方法及装置
    技术领域
    本申请涉及Nor flash处理技术领域,尤其涉及Nor flash掉电保护方法及装置。
    背景技术
    Nor Flash是采用或非电路作为存储载体的一种闪存介质,是嵌入式系统的主要存储媒介。这种类型的flash介质写入速度慢、读取速度快,位交换几率低,支持随机寻址和片内执行,多应用在存储可执行文件等访问次数少但可靠性要求高的场所。Nor Flash写入操作具有以下两个特点:
    1)在已存储有内容的物理块block上修改目标位置的内容时,只能把目标比特bit的1(表示内容为空)修改为0(表示有内容),而不能把0修改为1。要想把目标位置的0改写为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和目标block的全局位置索引,拷贝所述备份block的数据到所述目标block。
    本申请中,通过在类FAT文件系统结构中增加写时备份区,用于备份进行写操作时待写入flash的数据,记录正在写入标记(正在写入标记置位)及备份block和待写入的目标block的位置索引到掉电不易失位置,当发生掉电并重启时,如果正在写入标记已置位,则禁止对flash进行写操作,根据掉电不易失位置记录的block位置索引,找到备份block和目标block,拷贝备份block的数据到目标block。本申请方案以较小的开销,实现了类FAT文件系统上数据写操作过程的完整性和有效性,避免了异常掉电对于文件系统的破坏,可实现对flash文件系统的有效保护。
    本申请实施例的方法流程如图3所示,一种Nor flash掉电保护方法,包括以下步骤:
    步骤301:在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区。
    参照图1可知,类FAT文件系统结构包括元数据区和用户数据区,本申请实施例对现有的类FAT文件系统结构进行了扩展,即在类FAT文件系统结构中增加了一个写时备份区,如图4所示,所述写时备份区由一个物理块block或一个以上连续的block组成。
    写时备份区用于备份进行写操作时待写入flash的数据,写时备份区如果由一个block组成,则每次备份都使用这一个block,使用频率过多时容易损坏。写时备份区如果由一个以上block组成,则可以轮流使用各个block作为备份block,可延长使用寿命,此外,这些block可以是连续的,如此,可以更方便按全局位置索引顺序轮流选用这些block作为备份block。写时备份区位于整个flash介质的什么位置不重要,只要其包含的block是连续的即可。
    例如,如图4所示,写时备份区位于整个flash介质的尾部区域,由10个擦除单位的连续的block组成。正常写入过程需要从这10个Block中找到一个作为备份block,数据首先写到该block,然后拷贝到目标block。
    写时备份区中block的数量可以根据整个磁盘大小和使用频繁程度决定。例如,使用频率越大,block的数量也应越多。磁盘较小时,为保证用户数据的存储,block的数量可少一些。
    步骤302:进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram。
    这里的写操作分两种情况,第一种情况:所述目标block不为空,之前已存储有数据,需要在已存储有数据的所述目标block上改写数据;第二种情况:所述目标block的内容为空,需要在内容为空的所述目标block上写入数据。下面分别进行具体描述。
    当所述写操作是在已存储有数据的所述目标block改写数据时,如图5所示,包括以下步骤:
    S1、找到待改写的目标block。
    S2、将所述目标block上已存储的数据写入随机存储器Ram,在所述Ram中对所述数据进行改写。
    根据nor flash的特性,改写数据不能直接在nor flash上进行,因此,此处,先将目标block上的数据写入Ram,然后在Ram中对数据进行改写。
    S3、从写时备份区选择一个block作为备份block,将所述Ram中改写后的数据写到所述备份block上。
    从写时备份区选择block时可以根据实际需要来进行选择,选择方式可以有多种,例如可随机选择,也可采用如下方法:写时备份区的block数量记为N,N为正整数,其中按顺序第一个block的全局位置索引记为M,上一次使用的备份block的全局位置索引记为K,判断K+1是否小于M+N,如果是,从写时备份区选择全局位置索引为K+1的block作为备份block,否则,从写时备份区选择全局位置索引为M的block作为备份block。如此,可保证写时备份区的各个block被轮流使用,使用频率相当,保持负载均衡,延长使用寿命。
    例如,假设写时备份区由10个连续的block组成,第一个block的全局位置索引为990,上一次使用的备份block的全局位置索引为993,则判断994是否小于990+10=1000,显然是,因此,从写时备份区选择全局位置索引为994的block作为当前的备份block。
    S4、记录正在写入标记到非易失性随机访问存储器Nvram,同时记录所述备份block和目标block的全局位置索引到Nvram。
    即记录正在写入标记、所述备份block和目标block的全局位置索引到掉电不易失位置,所述正在写入标记通过使用一个比特位进行0、1赋值就可简单实现,保证即使发生异常掉电,也能从Nvram中找到上述记录。后续如果发生异常掉电,设备重启时可以根据Nvram中的正在写入标记及所述全局位置索引,继续完成对flash的写操作过程。
    S5、擦除所述目标block。
    所述目标block上已存储有数据,对其进行改写时就需要先擦除目标block上原有的数据,否则无法写入。
    S6、将所述备份block上的数据写到所述目标block上。
    所述将所述备份block上的数据写到所述目标block上时,需要先将所述备份block上的数据写入随机存储器Ram,再将所述Ram中的数据写到所述目标block。
    S7、清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引。
    S8、擦除所述备份block。
    步骤S7、S8是为了保证下次写操作的正常进行。
    当所述写操作是在内容为空的所述目标block写入数据时,如图6所示,包括以下步骤:
    T1、找到待写入的目标block。
    T2、将待写入flash的数据写入随机存储器Ram。
    T3、从写时备份区选择一个block作为备份block,将步骤T2所述Ram中的数据写到所述备份block上。
    需要先写入Ram,再将所述Ram中的数据写入备份block。
    T4、记录正在写入标记到非易失性随机访问存储器Nvram,同时记录所述备份block和目标block的全局位置索引到Nvram。
    T5、将所述备份block上的数据写到所述目标block上。
    T6、清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引。
    T7、擦除所述备份block。
    相对于现有写操作过程,本申请实施例在写操作过程中增加了正在写入标记,引入了写时备份区,并且将备份block和待写入的目标block的全局位置索引记录在了非易失性随机访问存储器Nvram中,以实现在异常掉电重启时可以继续完成写操作过程,实现对flash文件系统的有效保护。设备重启时的步骤如下步骤303.
    步骤303:设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引,拷贝所述备份block的数据到所述目标block。
    当正在执行写操作时,设备由于电源故障等原因可能会引起异常掉电,当设备掉电后重启时,判断正在写入标记是否已置位:
    如果正在写入标记已置位,表明重启前是异常掉电,需要继续上次未完成的写操作过程,具体执行步骤如下:
    首先,禁止对flash进行写操作,即禁止其他用户对flash进行写操作(本地可以对flash进行操作),然后从Nvram中取出所述备份block和目标block的全局位置索引,根据所述全局位置索引找到所述备份block和目标block,判断所述目标block是否已被擦除,即通过读取所述目标Block的内容,检查是否每个字节都为0xff来判断。如果所述目标block已被擦除,即内容为空,每个字节均为0xff,则拷贝所述备份block的数据到所述目标block;如果所述目标block没有被擦除,还存储有数据,则擦除所述目标block,也就是把所述目标Block的内容全部写为0xff,再拷贝所述备份block的数据到所述目标block,完成异常掉电未完成的写入过程。
    最后,清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除写时备份区的全部数据,以便于投入下一次的正常使用。因为有可能在上一次执行完写操作后,擦除备份block时发生异常掉电,使得备份block中还存储有数据。
    如果正在写入标记没有置位,表明不需要启动数据继续写入流程,此时,需要擦除写时备份区的所有数据,准备投入下一次使用。因为有可能在上一次执行写操作时,将待写入数据写到备份block后和记录正在写入标记前发生异常掉电了,使得备份block中还存储有数据。
    本申请实施例的装置功能模块结构如图7所示,一种Nor flash掉电保护装置,包括:写时备份区添加模块、数据备份模块、标记存储模块、标记获取模块和数据恢复模块,其中:
    写时备份区添加模块,用于在针对Nor flash的类文件配置表FAT文件系统结构中增加写时备份区;
    数据备份模块,用于进行写操作时,将待写入数据写到从写时备份区选择的备份物理块block上;
    标记存储模块,用于在将待写入数据写到从写时备份区选择的备份block上之后,记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到非易失性随机访问存储器Nvram;
    标记获取模块,用于设备重启时,如果正在写入标记已置位,则禁止对flash进行写操作,从Nvram中取出所述备份block和目标block的全局位置索引;
    数据恢复模块,用于在取出所述备份block和目标block的全局位置索引后,拷贝所述备份block的数据到所述目标block。
    较佳地,所述写时备份区由一个block或一个以上连续的block组成。
    较佳地,所述数据备份模块在将待写入数据写到从写时备份区选择的备份block上时,所述从写时备份区选择备份block,包括:
    写时备份区的block数量记为N,N为正整数,其中按顺序第一个block的全局位置索引记为M,上一次使用的备份block的全局位置索引记为K,判断K+1是否小于M+N,如果是,从写时备份区选择全局位置索引为K+1的block作为备份block,否则,从写时备份区选择全局位置索引为M的block作为备份block。
    当所述写操作是在已存储有数据的所述目标block上改写数据时,
    所述数据备份模块,具体用于:将所述目标block上已存储的数据写入随机存储器Ram,在所述Ram中对所述数据进行改写,将所述Ram中改写后的数据写到所述备份block上;
    所述装置进一步包括:
    数据改写模块,用于在所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,擦除所述目标block,将所述备份block上的数据写到所述目标block上。
    当所述写操作是在内容为空的所述目标block写入数据时,
    所述数据备份模块,具体用于:将待写入数据写入随机存储器Ram,将所述Ram中的数据写到所述备份block上;
    所述装置进一步包括:
    数据写入模块,用于在所述记录正在写入标记、以及所述备份block和待写入的目标block的全局位置索引到Nvram之后,将所述备份block上的数据写到所述目标block上
    较佳地,所述数据恢复模块,还用于在将所述备份block上的数据写到所述目标block上之后,清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除所述备份block。
    较佳地,所述标记获取模块,还用于在所述设备重启时,如果正在写入标记没有置位,则擦除写时备份区的所有数据。
    较佳地,所述数据恢复模块,还用于在所述从Nvram中取出所述备份block和目标block的全局位置索引之后和拷贝所述备份block的数据到所述目标block之前,如果所述目标block没有被擦除,则擦除所述目标block;如果所述目标block已被擦除,则直接拷贝所述备份block的数据到所述目标block。
    较佳地,所述数据恢复模块,还用于在拷贝所述备份block的数据到所述目标block之后,清除Nvram中的正在写入标记、以及所述目标block和备份block的全局位置索引,擦除写时备份区的全部数据。
    本申请中,通过引入写时备份区和正在写入标记,写操作过程中如果异常掉电,待写入的数据可以在下次重启时继续写入,可保证写入数据的有效性和完整性,也可以使因为掉电而出现数据紊乱的文件系统得到恢复,从而实现对flash文件系统的有效保护。
    以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

    关 键  词:
    NORFLASH 掉电 保护 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:NORFLASH掉电保护方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4755323.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1