CN103176920A - Nor flash掉电保护方法及装置 - Google Patents

Nor flash掉电保护方法及装置 Download PDF

Info

Publication number
CN103176920A
CN103176920A CN2013100996272A CN201310099627A CN103176920A CN 103176920 A CN103176920 A CN 103176920A CN 2013100996272 A CN2013100996272 A CN 2013100996272A CN 201310099627 A CN201310099627 A CN 201310099627A CN 103176920 A CN103176920 A CN 103176920A
Authority
CN
China
Prior art keywords
block
backup
data
writing
target block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013100996272A
Other languages
English (en)
Inventor
李华生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2013100996272A priority Critical patent/CN103176920A/zh
Publication of CN103176920A publication Critical patent/CN103176920A/zh
Pending legal-status Critical Current

Links

Images

Abstract

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

Description

Nor flash掉电保护方法及装置
技术领域
本申请涉及Nor flash处理技术领域,尤其涉及Nor flash掉电保护方法及装置。
背景技术
Nor Flash是采用或非电路作为存储载体的一种闪存介质,是嵌入式系统的主要存储媒介。这种类型的flash介质写入速度慢、读取速度快,位交换几率低,支持随机寻址和片内执行,多应用在存储可执行文件等访问次数少但可靠性要求高的场所。NorFlash写入操作具有以下两个特点:
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文件系统的有效保护。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

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的全局位置索引,擦除写时备份区的全部数据。
CN2013100996272A 2013-03-26 2013-03-26 Nor flash掉电保护方法及装置 Pending CN103176920A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100996272A CN103176920A (zh) 2013-03-26 2013-03-26 Nor flash掉电保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100996272A CN103176920A (zh) 2013-03-26 2013-03-26 Nor flash掉电保护方法及装置

Publications (1)

Publication Number Publication Date
CN103176920A true CN103176920A (zh) 2013-06-26

Family

ID=48636813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100996272A Pending CN103176920A (zh) 2013-03-26 2013-03-26 Nor flash掉电保护方法及装置

Country Status (1)

Country Link
CN (1) CN103176920A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699344A (zh) * 2013-11-05 2014-04-02 威盛电子股份有限公司 非易失性存储器装置及其操作方法
CN104810055A (zh) * 2015-05-08 2015-07-29 京东方科技集团股份有限公司 Flash芯片读写控制电路和方法、AMOLED应用电路
CN106155596A (zh) * 2016-08-03 2016-11-23 深圳市文鼎创数据科技有限公司 数据写入方法及装置
CN107870926A (zh) * 2016-09-26 2018-04-03 北京信威通信技术股份有限公司 一种实时存储的方法及装置
CN107992763A (zh) * 2017-11-06 2018-05-04 北京东土科技股份有限公司 一种文件系统的掉电保护方法及装置
CN111596863A (zh) * 2020-05-20 2020-08-28 歌尔科技有限公司 一种数据读取方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539891A (zh) * 2008-03-17 2009-09-23 凤凰微电子(中国)有限公司 一种嵌入式快闪存储器、存储系统及其数据掉电保护方法
CN101876927A (zh) * 2009-11-30 2010-11-03 北京握奇数据系统有限公司 实现fat32文件系统的断电保护方法和装置
CN102609332A (zh) * 2011-01-19 2012-07-25 上海华虹集成电路有限责任公司 智能ic卡数据防掉电保护方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539891A (zh) * 2008-03-17 2009-09-23 凤凰微电子(中国)有限公司 一种嵌入式快闪存储器、存储系统及其数据掉电保护方法
CN101876927A (zh) * 2009-11-30 2010-11-03 北京握奇数据系统有限公司 实现fat32文件系统的断电保护方法和装置
CN102609332A (zh) * 2011-01-19 2012-07-25 上海华虹集成电路有限责任公司 智能ic卡数据防掉电保护方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699344A (zh) * 2013-11-05 2014-04-02 威盛电子股份有限公司 非易失性存储器装置及其操作方法
CN103699344B (zh) * 2013-11-05 2016-08-17 威盛电子股份有限公司 非易失性存储器装置及其操作方法
CN104810055A (zh) * 2015-05-08 2015-07-29 京东方科技集团股份有限公司 Flash芯片读写控制电路和方法、AMOLED应用电路
WO2016180093A1 (zh) * 2015-05-08 2016-11-17 京东方科技集团股份有限公司 Flash芯片读写控制电路和方法、AMOLED应用电路
CN104810055B (zh) * 2015-05-08 2018-09-07 京东方科技集团股份有限公司 Flash芯片读写控制电路和方法、AMOLED应用电路
US10262741B2 (en) 2015-05-08 2019-04-16 Boe Technology Group Co., Ltd. Read and write control circuit and method of flash chip, and AMOLED application circuit
CN106155596A (zh) * 2016-08-03 2016-11-23 深圳市文鼎创数据科技有限公司 数据写入方法及装置
CN106155596B (zh) * 2016-08-03 2020-01-17 深圳市文鼎创数据科技有限公司 数据写入方法及装置
CN107870926A (zh) * 2016-09-26 2018-04-03 北京信威通信技术股份有限公司 一种实时存储的方法及装置
CN107992763A (zh) * 2017-11-06 2018-05-04 北京东土科技股份有限公司 一种文件系统的掉电保护方法及装置
CN111596863A (zh) * 2020-05-20 2020-08-28 歌尔科技有限公司 一种数据读取方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN103577121B (zh) 一种基于Nand Flash的高可靠线性文件存取方法
CN106407050B (zh) 一种数据存储方法
KR100843543B1 (ko) 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
US20150186261A1 (en) Data storage device and flash memory control method
CN103176920A (zh) Nor flash掉电保护方法及装置
CN109783017B (zh) 一种存储设备坏块的处理方法、装置及存储设备
CN101840380B (zh) 保护元数据免受意外断电影响的装置和方法
CN105718217B (zh) 一种精简配置存储池数据一致性维护的方法及装置
CN103049349B (zh) 基于分层存储的快照方法及系统
EP3489956B1 (en) Erase management in memory systems
US7725646B2 (en) Method of using a flash memory for a circular buffer
CN101673243B (zh) 数据储存装置与方法
CN102667703A (zh) 用于虚拟磁带库系统中的优化回收处理的系统和方法
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN101819543A (zh) 快照数据处理方法和系统以及存储设备
CN106294007B (zh) 一种数据恢复方法及装置
CN103996412A (zh) 一种用于智能卡非易失性存储器的掉电保护方法
CN103544110A (zh) 一种基于固态盘的块级连续数据保护方法
CN109213690A (zh) 一种l2p表的重建方法及相关装置
CN104516959A (zh) 一种管理数据库日志的方法及装置
CN104978148A (zh) 数据写入方法及装置、数据读取方法及装置
CN103617101A (zh) 一种掉电保护方法及装置
CN106104515A (zh) 利用非易失性存储器的文件系统设计和故障恢复方法
US11119657B2 (en) Dynamic access in flash system
US9336250B1 (en) Systems and methods for efficiently backing up data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130626

RJ01 Rejection of invention patent application after publication