CN109960611B - 数据恢复的方法、装置、电子设备及机器可读存储介质 - Google Patents

数据恢复的方法、装置、电子设备及机器可读存储介质 Download PDF

Info

Publication number
CN109960611B
CN109960611B CN201910170784.5A CN201910170784A CN109960611B CN 109960611 B CN109960611 B CN 109960611B CN 201910170784 A CN201910170784 A CN 201910170784A CN 109960611 B CN109960611 B CN 109960611B
Authority
CN
China
Prior art keywords
data block
data
metadata
block
stored
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.)
Active
Application number
CN201910170784.5A
Other languages
English (en)
Other versions
CN109960611A (zh
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 DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech 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 DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201910170784.5A priority Critical patent/CN109960611B/zh
Publication of CN109960611A publication Critical patent/CN109960611A/zh
Application granted granted Critical
Publication of CN109960611B publication Critical patent/CN109960611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

本申请提供一种数据恢复的方法、装置、电子设备及机器可读存储介质。在本申请中,获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识;若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。通过对nand flash的目标数据块以及备份数据块对应的元数据进行创建及比较;以及,通过对目标数据块的数据备份,使得当目标数据块在擦写时,即使发生nand flash意外掉电情况,也能最大程度保证存有一份可用数据,从而可以实现nand flash的数据的有效快速恢复。

Description

数据恢复的方法、装置、电子设备及机器可读存储介质
技术领域
本申请涉及存储技术领域,尤其涉及数据恢复的方法、装置、电子设备及机器可读存储介质。
背景技术
nand flash(与非闪存)是flash(闪存)的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案;同时由于nand flash具有容量较大,改写速度快等优点,也可适用于大量数据的存储,因而在业界得到了越来越广泛的应用,例如:数码相机及MP3随身听的记忆卡、体积小巧的U盘等。
发明内容
本申请提供一种数据恢复的方法,所述方法应用于flash设备,所述flash设备包括第一数据块、第二数据块,所述方法包括:
获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识;
若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
可选的,所述元数据还包括数据块存储的数据的版本号,还包括:
若所述标识为有效,则进一步比较所述第一数据块与所述第二数据块分别对应元数据的版本号;
若所述第一数据块对应元数据的数据块存储的数据的版本号小于所述第二数据块对应元数据的数据块存储的数据的版本号,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
可选的,所述基于所述第二数据块的数据,恢复所述第一数据块的数据,包括:
将所述第二数据块的数据拷贝到所述第一数据块;
更新所述第一数据块对应的元数据。
可选的,所述更新所述第一数据块对应的元数据,包括:
若所述标识为无效,则设置所述标识为有效;
设置所述第一数据块对应元数据的数据块存储的数据的版本号,为所述第二数据块对应元数据的数据块存储的数据的版本号的递增值。
可选的,所述flash设备为nand flash。
本申请还提供一种数据恢复的装置,所述装置应用于flash设备,所述flash设备包括第一数据块、第二数据块,所述装置包括:
获取模块,获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识;
恢复模块,若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
可选的,所述元数据还包括数据块存储的数据的版本号,所述恢复模块进一步:
若所述标识为有效,则进一步比较所述第一数据块与所述第二数据块分别对应元数据的版本号;
若所述第一数据块对应元数据的数据块存储的数据的版本号小于所述第二数据块对应元数据的数据块存储的数据的版本号,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
可选的,所述恢复模块进一步:
将所述第二数据块的数据拷贝到所述第一数据块;
更新所述第一数据块对应的元数据。
可选的,所述恢复模块进一步:
若所述标识为无效,则设置所述标识为有效;
设置所述第一数据块对应元数据的数据块存储的数据的版本号,为所述第二数据块对应元数据的数据块存储的数据的版本号的递增值。
可选的,所述flash设备为nand flash。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,通过对nand flash的目标数据块以及备份数据块对应的元数据进行创建及比较;以及,通过对目标数据块的数据备份,使得当目标数据块在擦写时,即使发生nand flash意外掉电情况,也能最大程度保证存有一份可用数据,从而可以实现nandflash的数据的有效快速恢复。
附图说明
图1是一示例性实施例提供的一种数据恢复的流程图。
图2是一示例性实施例提供的一种数据恢复的过程的流程图。
图3是一示例性实施例提供的一种数据恢复的装置的框图。
图4是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的数据恢复的相关技术,进行简单说明。
nand flash的存储结构通常分为三级:扇区(sector)、页(page)、块(block);其中,多个扇区sector组成一个页page,多个页page组成一个块block,多个块构成整个nandflash。
例如:某款nand flash的一个sector的容量是512字节;一个page由4个sector组成;则一个page的容量是2048字节;一个block由64个page组成;则一个block的容量是128千字节(KByte);上述nand flash总共由2048个block组成;则上述nand flash总容量是256兆字节(MByte)。
nand flash的写数据的实现,通常包括擦除和写入两个步骤。具体地,nand flash在写数据的时候,需要先将待写入数据对应的块(block)执行擦除操作,然后按页(page)写入数据;也即,在数据写入前,需要对待写入页(page)对应的块(block)执行擦除操作。
当nand flash在写数据到目标块时,若出现掉电,则极有可能出现该块存有的旧数据已被擦除,而新数据未被写入的状况。以文件系统基于nand flash作为存储介质为例,nand flash中的块所存储的数据为文件内容,则影响相对较小,若该块所存储的数据为上述文件系统的索引或分区新奇,则会导致上述文件系统崩溃。
而本申请旨在提出一种,基于nand flash的数据块对应的元数据以及目标数据块的备份,来实现对目标数据块的数据进行有效快速恢复的技术方案。
在实现时,flash设备包括第一数据块、第二数据块;获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识;若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
在以上方案中,通过对nand flash的目标数据块(第一数据块)以及备份数据块(第二数据块)对应的元数据进行创建及比较;以及,通过对目标数据块的数据备份,使得当目标数据块在擦写时,即使发生nand flash意外掉电情况,也能最大程度保证存有一份可用数据,从而可以实现nand flash的数据的有效快速恢复。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种数据恢复的方法,所述方法应用于flash设备,所述flash设备包括第一数据块、第二数据块,上述方法执行以下步骤:
步骤102、获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识。
步骤104、若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
以下通过具体的实施例,并结合“目标数据块的备份”、“目标数据块的恢复”,对本申请的技术方案进行详细描述,如图2所示例,执行如下步骤:
步骤202、目标数据块的备份
在本说明书中,上述flash设备是指,nand flash设备。
在本说明书中,上述第一数据块是指,待写入数据对应的上述flash设备中的一个或多个块(block),简称目标数据块。
而上述第二数据块是指,与上述第一数据块对应的容量相同的在上述flash设备中的一个或多个块(block),简称备份数据块。
其中,上述备份数据块可以保存在上述flash设备的预留的存储空间,例如:flash设备的头部空间或尾部空间,在本说明书中不进行特别限定。
在本说明书中,上述元数据是指,存储于上述flash设备中的,与上述目标数据块或上述备份数据块对应的,用于描述对应数据块的数据状态的数据;例如:上述目标数据块对应一个元数据,简称目标元数据;上述备份数据块对应另一个元数据,简称备份元数据。
在本说明书中,上述元数据可以保存在上述flash设备的预留的存储空间,例如:上述目标元数据及上述备份元数据可以存储于flash设备的头部空间或尾部空间,在本说明书中不进行特别限定。
在本说明书中,上述元数据包括对应数据块存储的数据是否有效的标识,简称标识。在示出的一种实施方式中,上述元数据包括的上述标识为0xff时,则标识对应数据块存储的数据是无效数据,也即上述标识为无效;上述标识为0x5a时,则标识对应块(block)存储的数据是有效数据,也即上述标识为有效。
在本说明书中,上述元数据还包括对应数据块存储的数据的版本号,简称版本号;其中,上述版本号用于指示目标数据块与备份数据块对应数据块存储的数据的新旧的情况,版本号越大则对应数据块存储的数据越新。
例如:上述目标数据块对应的元数据版本号为0,上述备份数据块对应的元数据版本号为1,则是指示上述备份数据块比上述目标数据块,存储的数据要新。
在本说明书中,上述flash设备预先针对上述目标数据块,创建与之对应的上述备份数据块,将上述目标数据块存储的数据复制一份到上述备份数据块中,并生成上述目标数据块对应的目标元数据以及上述备份数据块对应的备份元数据,上述过程简称为“格式化”。
在示出的一种实施方式中,经过上述“格式化”后,上述目标元数据以及上述备份元数据的具体字段的值,请参见表1所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 有效 0
备份元数据 有效 1
表1
在上述“格式化”之后,在上述flash设备正常不断电的场景下,上述flash设备若收到针对上述目标数据块的写数据请求时,则先把上述目标数据块的已有数据复制一份到上述备份数据块中,并更新上述备份元数据的版本号为原版本号的递增值,以上述递增值为1为例,具体请参见表2所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 有效 0
备份元数据 有效 2
表2
上述flash设备将上述目标数据块备份到上述备份数据块,以及更新上述备份元数据之后,针对上述目标数据块先执行擦除操作;其中上述擦除操作是指将上述目标数据块对应的目标元数据的标识设置为无效,具体请参见表3所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 无效 0
备份元数据 有效 2
表3
在上述擦除操作完后,执行新数据操作,具体地,上述flash设备将针对上述目标数据块的写数据请求的新数据写入到上述目标数据块中,并更新上述目标元数据的标识为有效;并更新上述目标元数据的版本号为上述备份元数据的版本号的递增值,以上述递增值为2为例,具体请参见表4所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 有效 4
备份元数据 有效 2
表4
基于表4所示,上述目标元数据的版本号大于上述备份元数据的版本号,则上述目标数据块对应存储的数据是新数据,上述备份数据块对应存储的数据是旧数据。
步骤204、目标数据块的恢复
在本说明书中,上述flash设备在收到针对上述目标数据块的写数据请求后,执行上述目标数据块的擦除和新数据写入过程,若在上述擦除过程中,上述flash设备发生异常掉电或重启等情况,则上述目标元数据可能存在上述标识为无效的情况,具体请参见表5所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 无效 0
备份元数据 有效 2
表5
若在上述新数据写入过程中,上述flash设备发生异常掉电或重启等情况,则上述目标元数据可能存在上述标识为有效,但上述目标元数据的版本号小于上述备份元数据的版本号的情况,具体请参见表6所示例:
标识(元数据字段) 版本号(元数据字段)
目标元数据 有效 0
备份元数据 有效 2
表6
在本说明书中,上述flash设备需要针对表5以及表6对应情况下的上述目标数据块的执行数据恢复操作。
在本说明书中,上述flash设备在上述异常掉电或重启等情况之后的下一次重启完成后,获取上述目标数据块对应的目标元数据,若上述目标元数据中的标识为无效(具体请参见表5所示例),则基于上述备份数据块的数据,恢复上述目标目标数据块的数据。
在示出的一种实施方式中,上述flash设备首先将上述备份数据块的数据拷贝到上述目标数据块;进一步更新上述目标数据块对应的目标元数据。
具体地,上述flash设备针对表5所示的目标元数据,进行修改,包括:若上述目标元数据的标识为无效,则设置上述目标元数据的标识为有效;设置上述目标元数据的版本号,为设置上述备份元数据的版本号的递增值,修改后的目标元数据的具体值,请参见表4所示例。
在示出的另一种实施方式中,若上述目标元数据中的标识为有效(具体请参见表6所示例),则上述flash设备进一步比较上述目标元数据与上述备份元数据的版本号。
若上述目标元数据的版本号小于上述备份元数据的版本号,例如:如表6所示例的上述目标元数据的版本号为0,而上述备份元数据的版本号为2,也即,上述目标元数据的版本号小于上述备份元数据的版本号。
上述flash设备,则基于上述备份数据块的数据,恢复上述目标数据块的数据。
在本说明书中,上述flash设备,首先将上述备份数据块的数据拷贝到上述目标数据块;进一步更新上述目标数据块对应的目标元数据。
具体地,上述flash设备针对表6所示的目标元数据,进行修改,包括:设置上述目标元数据的版本号,为设置上述备份元数据的版本号的递增值,修改后的目标元数据的具体值,请参见表4所示例。
在以上技术方案中,通过对nand flash的目标数据块以及备份数据块对应的元数据进行创建及比较;以及,通过对目标数据块的数据备份,使得当目标数据块在擦写时,即使发生nand flash意外掉电情况,也能最大程度保证存有一份可用数据,从而可以实现nand flash的数据的有效快速恢复。
图3是本申请一示例性实施例提供的一种数据恢复装置的框图。与上述方法实施例相对应,本申请还提供了一种数据恢复装置的实施例,所述装置应用于flash设备,所述flash设备包括第一数据块、第二数据块,请参考图3所示例的一种数据恢复装置30,所述装置包括:
获取模块301,获取所述第一数据块对应的元数据,其中,所述元数据标识用于指示对应数据块的数据状态,所述元数据包括数据块存储的数据是否有效的标识;
恢复模块302,若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
在本申请实施例中,所述元数据还包括数据块存储的数据的版本号,所述恢复模块302进一步:
若所述标识为有效,则进一步比较所述第一数据块与所述第二数据块分别对应元数据的版本号;
若所述第一数据块对应元数据的数据块存储的数据的版本号小于所述第二数据块对应元数据的数据块存储的数据的版本号,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
在本申请实施例中,所述恢复模块302进一步:
将所述第二数据块的数据拷贝到所述第一数据块;
更新所述第一数据块对应的元数据。
在本申请实施例中,所述恢复模块302进一步:
若所述标识为无效,则设置所述标识为有效;
设置所述第一数据块对应元数据的数据块存储的数据的版本号,为所述第二数据块对应元数据的2数据块存储的数据的版本号的递增值。
在本申请实施例中,所述flash设备为nand flash。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的数据恢复装置的实施例可以应用在图4所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图4所示,为本申请的数据恢复装置所在电子设备的一种硬件结构图,除了图4所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图3所示装置的一种电子设备的硬件结构,请参见图4,图4为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口401、处理器402、机器可读存储介质403和总线404;其中,通信接口401、处理器402、机器可读存储介质403通过总线404完成相互间的通信。其中,通信接口401,用于进行网络通信。处理器402可以是一个中央处理器(CPU),处理器402可以执行机器可读存储介质403中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质403可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质403可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图4所示的硬件结构描述。
此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图4中的机器可读机器可读存储介质403,所述机器可执行指令可由数据处理装置中的处理器402执行以实现以上描述的方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种数据恢复的方法,其特征在于,所述方法应用于flash设备,所述flash设备包括第一数据块、第二数据块,所述方法包括:
获取所述第一数据块对应的元数据,其中,所述元数据包括数据块存储的数据是否有效的标识,以及数据块存储的数据的版本号;所述数据块存储的数据是否有效,与执行所述数据块的擦除和新数据写入过程中,所述flash设备发生掉电的时机相关;
若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据;
若所述标识为有效,则进一步比较所述第一数据块与所述第二数据块分别对应元数据的数据块存储的数据的版本号;
若所述第一数据块对应元数据的数据块存储的数据的版本号小于所述第二数据块对应元数据的数据块存储的数据的版本号,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二数据块的数据,恢复所述第一数据块的数据,包括:
将所述第二数据块的数据拷贝到所述第一数据块;
更新所述第一数据块对应的元数据。
3.根据权利要求2所述的方法,其特征在于,所述更新所述第一数据块对应的元数据,包括:
若所述标识为无效,则设置所述标识为有效;
设置所述第一数据块对应元数据的数据块存储的数据的版本号,为所述第二数据块对应元数据的数据块存储的数据的版本号的递增值。
4.根据权利要求1所述的方法,其特征在于,所述flash设备为nand flash。
5.一种数据恢复的装置,其特征在于,所述装置应用于flash设备,所述flash设备包括第一数据块、第二数据块,所述装置包括:
获取模块,获取所述第一数据块对应的元数据,其中,所述元数据包括数据块存储的数据是否有效的标识,以及数据块存储的数据的版本号;所述数据块存储的数据是否有效,与执行所述数据块的擦除和新数据写入过程中,所述flash设备发生掉电的时机相关;
恢复模块,若所述标识为无效,则基于所述第二数据块的数据,恢复所述第一数据块的数据;
若所述标识为有效,则进一步比较所述第一数据块与所述第二数据块分别对应元数据的数据块存储的数据的版本号;
若所述第一数据块对应元数据的数据块存储的数据的版本号小于所述第二数据块对应元数据的数据块存储的数据的版本号,则基于所述第二数据块的数据,恢复所述第一数据块的数据。
6.根据权利要求5所述的装置,其特征在于,所述恢复模块进一步:
将所述第二数据块的数据拷贝到所述第一数据块;
更新所述第一数据块对应的元数据。
7.根据权利要求6所述的装置,其特征在于,所述恢复模块进一步:
若所述标识为无效,则设置所述标识为有效;
设置所述第一数据块对应元数据的数据块存储的数据的版本号,为所述第二数据块对应元数据的数据块存储的数据的版本号的递增值。
8.根据权利要求5所述的装置,其特征在于,所述flash设备为nand flash。
9.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至4任一项所述的方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至4任一项所述的方法。
CN201910170784.5A 2019-03-07 2019-03-07 数据恢复的方法、装置、电子设备及机器可读存储介质 Active CN109960611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910170784.5A CN109960611B (zh) 2019-03-07 2019-03-07 数据恢复的方法、装置、电子设备及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910170784.5A CN109960611B (zh) 2019-03-07 2019-03-07 数据恢复的方法、装置、电子设备及机器可读存储介质

Publications (2)

Publication Number Publication Date
CN109960611A CN109960611A (zh) 2019-07-02
CN109960611B true CN109960611B (zh) 2021-06-29

Family

ID=67023949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910170784.5A Active CN109960611B (zh) 2019-03-07 2019-03-07 数据恢复的方法、装置、电子设备及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN109960611B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274219B (zh) * 2020-01-21 2023-12-08 浙江大华技术股份有限公司 数据存储方法及装置、存储介质、电子装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281492A (zh) * 2007-04-04 2008-10-08 扬智科技股份有限公司 恢复闪存的对照表的方法
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN101526927A (zh) * 2008-03-07 2009-09-09 北京华虹集成电路设计有限责任公司 Flash文件系统的数据处理方法及数据处理装置
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件系统的数据处理方法和装置
US9846468B2 (en) * 2015-06-24 2017-12-19 Xitore, Inc. Apparatus, system, and method of storage and retrieval of local volatile memory content of non-volatile storage memory
CN108958978A (zh) * 2018-07-12 2018-12-07 深圳芯邦科技股份有限公司 一种mcu数据恢复方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530242B (zh) * 2012-07-06 2016-02-17 河南思维自动化设备股份有限公司 NandFlash存储器写操作过程掉电防护方法
CN103531234B (zh) * 2012-07-06 2017-02-08 河南思维自动化设备股份有限公司 一种NandFlash存储器写操作过程掉电防护方法
CN103440205B (zh) * 2013-08-21 2016-12-28 深圳市九洲电器有限公司 一种机顶盒数据存储方法及装置
CN104580425A (zh) * 2014-12-26 2015-04-29 北京中交兴路车联网科技有限公司 一种客户端数据同步方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281492A (zh) * 2007-04-04 2008-10-08 扬智科技股份有限公司 恢复闪存的对照表的方法
CN101526927A (zh) * 2008-03-07 2009-09-09 北京华虹集成电路设计有限责任公司 Flash文件系统的数据处理方法及数据处理装置
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
US9846468B2 (en) * 2015-06-24 2017-12-19 Xitore, Inc. Apparatus, system, and method of storage and retrieval of local volatile memory content of non-volatile storage memory
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件系统的数据处理方法和装置
CN108958978A (zh) * 2018-07-12 2018-12-07 深圳芯邦科技股份有限公司 一种mcu数据恢复方法和系统

Also Published As

Publication number Publication date
CN109960611A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
US20150186224A1 (en) Data storage device and flash memory control method
CN109614055B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
CN108897492B (zh) 一种数据写入方法和装置
CN107632943B (zh) 一种固态硬盘数据保护的方法及固态硬盘
TW201915725A (zh) 資料儲存裝置與記憶體裝置之資料處理方法
CN110019063B (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN111666046B (zh) 一种数据存储方法、装置及设备
US10942811B2 (en) Data processing method for solid state drive
CN109960611B (zh) 数据恢复的方法、装置、电子设备及机器可读存储介质
CN114089915B (zh) 基于flash存储器的文件追加写操作方法及装置
CN111427514B (zh) 视图迁移方法和装置
CN110865772A (zh) 保护系统数据物理块擦除计数值的方法、装置、计算机设备及存储介质
KR20150094292A (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN114238162B (zh) 垃圾回收方法、装置、可读存储介质及电子设备
US11726668B2 (en) Device with flash memory and method for writing/erasing/updating data in flash memory thereof
CN115328851A (zh) 一种数据保护方法、装置、设备及介质
CN109002265B (zh) 一种数据处理的方法以及相关装置
CN103389943A (zh) 控制装置、存储装置及存储控制方法
CN114005476A (zh) 闪存器、闪存擦写计数方法、电子设备及计算机存储介质
CN112433959A (zh) 实现数据存储处理的方法、装置、计算机存储介质及终端
CN112988037A (zh) 静态磨损均衡方法、终端和计算机可读存储介质
CN111435331A (zh) 存储卷写数据方法、装置、电子设备及机器可读存储介质
KR101545077B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN114281241A (zh) 串行闪存、其数据处理方法、装置及存储介质
CN116126591B (zh) 一种嵌入式系统的事务机制

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant