CN105487939A - Flash memory file data recovery method and apparatus - Google Patents

Flash memory file data recovery method and apparatus Download PDF

Info

Publication number
CN105487939A
CN105487939A CN201410530972.1A CN201410530972A CN105487939A CN 105487939 A CN105487939 A CN 105487939A CN 201410530972 A CN201410530972 A CN 201410530972A CN 105487939 A CN105487939 A CN 105487939A
Authority
CN
China
Prior art keywords
file
red
data
black
files
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.)
Withdrawn
Application number
CN201410530972.1A
Other languages
Chinese (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201410530972.1A priority Critical patent/CN105487939A/en
Priority to PCT/CN2015/075805 priority patent/WO2016054899A1/en
Publication of CN105487939A publication Critical patent/CN105487939A/en
Withdrawn legal-status Critical Current

Links

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/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a flash memory file data recovery method. The method comprises: scanning a storage region of a flash memory, creating corresponding data node descriptors for file data nodes, and creating corresponding kernel descriptors for files, wherein the file data nodes include a data node that has been marked as an invalid node, and the files include a file that has been marked as a deletion file; according to the data node descriptors, establishing corresponding temporary red black trees for the files, wherein the temporary red black trees contain data node descriptors corresponding to all data nodes, including the data node that has been marked as the invalid node, of the files; according to the kernel descriptors and the temporary red black trees corresponding to the files, determining a maximum version number of the files; and when the maximum version number of the files is N, traversing the temporary red black trees corresponding to the files, and establishing N file red black trees corresponding to N versions of the files, wherein N is a positive integer. The invention furthermore discloses a flash memory file data recovery apparatus.

Description

Data recovery method and device for flash file
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method and an apparatus for recovering data of a flash file.
Background
Flash memory (Flash) combines the advantages of Read Only Memory (ROM) and Random Access Memory (RAM), not only has the performance of Electrically Erasable Programmable Read Only Memory (EEPROM), but also has the advantages of Non-volatile random access memory (NVRAM) -data can be read quickly, so that data cannot be lost due to power failure. In the last 20 years, embedded systems have used ROM/EPROM as their storage device, however, in recent years, Flash has comprehensively replaced the status of ROM/EPROM in embedded systems, and is used as a boot program (Bootloader) before starting the storage system, an operating system and program codes; or directly as a hard disk, such as a Solid State Disk (SSD). Flash generally stores a lot of important data, which will have serious consequences if damaged or lost.
The storage technology has been developed for many years, and a mature file data recovery technology exists for a traditional mechanical hard disk, namely a hard disk adopting a magnetic medium, but a specific and feasible data recovery scheme for Flash does not exist at present. Currently, many flash memories use a flash journal file system (journal flash filesystems version2, JFFS2) of version2 to manage and store various information in the form of files. In JFFS2, for instructions to delete or modify a file, JFFS2 does not actually delete or modify the original file data, but instead writes new file data nodes, which provides a possibility for data recovery for flash files.
Disclosure of Invention
In order to solve the existing technical problem, embodiments of the present invention are intended to provide a method and an apparatus for recovering data of a flash file, which can perform data recovery of a file for a flash memory based on JFFS 2.
The technical scheme of the embodiment of the invention is realized as follows:
the embodiment of the invention provides a data recovery method of a flash memory file, which comprises the following steps:
scanning a flash memory storage area, creating corresponding data node descriptors for file data nodes, and creating corresponding kernel descriptors for files, wherein the file data nodes comprise data nodes marked as invalid nodes, and the files comprise files marked as deleted files;
establishing a corresponding temporary red-black tree for the file according to the data node descriptors, wherein the temporary red-black tree comprises the data node descriptors corresponding to all data nodes marked as invalid nodes of the file;
determining the maximum version number of the file according to the kernel descriptor and the temporary red-black tree corresponding to the file;
when the maximum version number of the file is N, traversing the temporary red-black trees corresponding to the file, and establishing N file red-black trees corresponding to the N versions of the file; wherein N is a positive integer.
In the above solution, before creating the corresponding data node descriptor for the file data node, the method further includes:
and carrying out cyclic redundancy check on the file data nodes.
In the above scheme, the traversing the temporary red-black trees corresponding to the file, and establishing N file red-black trees corresponding to N versions of the file are:
and establishing N file red-black trees of the files according to the descending or ascending sequence of the version numbers.
In the above scheme, when a file red-black tree corresponding to the version number n is established for the file, the method includes:
traversing the temporary red and black tree;
adding all nodes with version numbers smaller than or equal to n in the temporary red-black tree into the file red-black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
In the above scheme, when the red and black trees of the file corresponding to different versions of the file are established, the method further includes:
and establishing different structural bodies to describe different file versions, wherein the structural bodies comprise the version number of the file and a root node pointer pointing to the file red and black tree corresponding to the version number.
An embodiment of the present invention further provides a data recovery device for a flash file, where the device includes: the system comprises a scanning module, a temporary red and black tree building module, a version number determining module and a file red and black tree building module; wherein,
the scanning module is used for scanning a flash memory storage area, creating a corresponding data node descriptor for a file data node, and creating a corresponding kernel descriptor for a file, wherein the file data node comprises a data node marked as an invalid node, and the file comprises a file marked as a deleted file;
the temporary red and black tree establishing module is used for establishing a corresponding temporary red and black tree for the file according to the data node descriptors, wherein the temporary red and black tree comprises the data node descriptors corresponding to all data nodes marked as invalid nodes of the file;
the version number determining module is used for determining the maximum version number of the file according to the corresponding kernel descriptor and the temporary red-black tree of the file;
the file red-black tree establishing module is used for traversing the temporary red-black trees corresponding to the files and establishing N file red-black trees corresponding to the N versions of the files when the maximum version number of the files is N; wherein N is a positive integer.
In the above solution, the scanning module includes:
and the checking unit is used for performing cyclic redundancy check on the file data nodes before the corresponding data node descriptors are created for the file data nodes.
In the above scheme, the file red and black tree building module includes:
and the sequencing unit is used for establishing N file red-black trees of the files according to the descending order or the ascending order of the version numbers.
In the above scheme, the file red and black tree building module includes:
the traversing unit is used for traversing the temporary red and black tree;
the file red and black tree establishing unit is used for adding all nodes with version numbers smaller than or equal to n in the temporary red and black tree into the file red and black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
In the above scheme, the apparatus further comprises:
the structure establishing module is used for establishing different structures to describe different file versions when the file red and black trees corresponding to the different versions of the file are established, and the structures comprise the version numbers of the files and root node pointers pointing to the file red and black trees corresponding to the version numbers.
The data recovery method and the device of the flash file provided by the embodiment of the invention aim at the flash based on JFFS2, utilize a memory descriptor and a red-black tree mechanism in JFFS2, and build the red-black trees of the file corresponding to all version numbers for the file, so that all deleted data or historical data can be recovered before dirty blocks recover damaged data; even if some data are damaged and not verified, the rest of the partial deletion data or the historical data which passes the verification can be recovered.
Drawings
Fig. 1 is a schematic flow chart illustrating an implementation of a flash file data recovery method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a flash file data recovery apparatus according to an embodiment of the present invention.
Detailed Description
In order to more clearly illustrate the embodiments and technical solutions of the present invention, the technical solutions of the present invention will be described in more detail with reference to the accompanying drawings and embodiments. Embodiments of the basic invention, as well as all other embodiments that may be derived by one of ordinary skill in the art without inventive faculty, are intended to be within the scope of the present invention.
In an embodiment of the present invention, flash memory employs JFFS2 to manage the stored information. JFFS2 is a log-structured file system that contains the sequential storage of nodes of data and raw data (meta-data) on flash memory. The reason why JFFS2 selects the storage mode of the log structure is that the number of times of erasing the erase block of the flash memory is limited, and therefore, the update of the flash memory should be an out-of-place update mode, that is, the update of the file data is not in the original storage area, but a new storage area is opened up to store the updated data, and the updated data is identified by the version number, so as to realize wear leveling (wear leveling) of the erase block.
When the kernel of the operating system scans the flash memory, a plurality of descriptors are established for each file in the flash memory to express the file, wherein the most key is the index node. An inode may encompass multiple file systems and only describe common information common to all file systems. To more specifically represent the file, the inode contains a pointer (u field) to the structure of the particular file system that describes the file, and for JFFS2, the u field points to the structure JFFS2_ inode _ info. In the conventional JFFS2, one file corresponds to one structure JFFS2_ inode _ info, and the structure JFFS2_ inode _ info includes information such as the highest version number of the corresponding file, a pointer to a root node of a file black-and-red tree, and a pointer to JFFS2_ inode _ cache. jffs2_ inode _ cache is a kernel descriptor established by the system kernel for representing the corresponding file, and includes information such as an identification number (ino) of the corresponding file, the number of hard links (hardlinks), and a head pointer (nodes) pointing to a jffs2_ raw _ node _ ref linked list. jffs2_ raw _ node _ ref is a kernel descriptor established by the system kernel for the data node of the expression file, and is hereinafter referred to as a data node descriptor; one data node of a file corresponds to a unique data node descriptor. All data node descriptors of a file form a doubly linked list with nodes as head pointers, and the storage sequence of the data node descriptors in the doubly linked list is determined by the sequence of scanning the flash memory by a system kernel. In addition, the system kernel establishes a corresponding temporary red-black tree for each file, wherein the temporary red-black tree comprises all data node descriptors of one file and is arranged according to the descending/ascending order of the version numbers of the data nodes. Usually, the system kernel can determine whether a data node is a valid data node through the macro ref _ obselect, and can obtain a pointer of a first valid data node in a bi-directional linked list of data node descriptors of a file through the macro JFFS2_ first _ valid _ node, so that the JFFS2 can compose data node descriptors corresponding to currently valid data nodes into a file red-black tree from small to large according to the offset of the data nodes in the flash memory, and the root node address of the file red-black tree is stored in a structure JFFS2_ inode _ info corresponding to the file. The system kernel can obtain the currently valid file data by traversing the file red-black tree pointed by jffs2_ inode _ info. When the number of hard links in the JFFS2_ inode _ cache is 0, it indicates that the file corresponding to the JFFS2_ inode _ cache is a deleted file, so that a corresponding file red-black tree is not established for the file in the existing JFFS2, that is, a corresponding pointer in the JFFS2_ inode _ info is null. Through jffs2_ raw _ node _ ref, the system kernel can acquire the corresponding file data node, thereby acquiring the version number of the data node. When the file is modified, JFFS2 does not modify the original data node, but rebuilds a new data node on the flash memory, and writes the updated data, where the version number of the newly built data node is: original data node version number + 1; thus, a larger version number indicates a newer data node. When the file is deleted, JFFS2 does not delete the original data node, but writes a data node having the same name as the data node corresponding to the original hard link, sets the type of the data node as invalid, adds 1 to the version number of the original data node, and sets the original hard link node as invalid.
Fig. 1 is a schematic flow chart illustrating an implementation process of a data recovery method for a flash file according to an embodiment of the present invention, as shown in fig. 1, the method includes:
step 101, scanning a flash memory storage area, creating a corresponding data node descriptor for a file data node, and creating a corresponding kernel descriptor for a file, wherein the file data node comprises a data node marked as an invalid node, and the file comprises a file marked as a deleted file;
specifically, the system kernel creates a corresponding data node descriptor JFFS2_ raw _ node _ ref for a file data node, and creates a corresponding kernel descriptor JFFS2_ inode _ cache for a file, which is the same as the processing method of the aforementioned JFFS 2.
Further, before creating a corresponding data node descriptor for a file data node, this step further includes: a Cyclic Redundancy Check (CRC) is performed on the file data nodes.
Specifically, in JFFS2, file data nodes all include CRC fields, and only data in a data node for which CRC check is valid is data that may have a recovery value, and if a certain file data node cannot pass CRC check, it indicates that data in the file data node is damaged or contaminated, and there is no value to recover.
Step 102, establishing a corresponding temporary red-black tree for the file according to the data node descriptors, wherein the temporary red-black tree comprises data node descriptors corresponding to all data nodes marked as invalid nodes of the file.
The specific process is the same as the processing method of the prior JFFS 2.
And 103, determining the maximum version number of the file according to the kernel descriptor and the temporary red-black tree corresponding to the file.
Specifically, a kernel descriptor jffs2_ inode _ cache of the file contains an identification number of the corresponding file; the temporary red-black tree of the file can be obtained by the identification number of the file, and the nodes of the temporary red-black tree are stored according to the descending/ascending sequence of the version numbers of the data nodes corresponding to the nodes, so that the version number of the data node corresponding to the head node or the tail node of the temporary red-black tree is the maximum version number of the file corresponding to the temporary red-black tree. For example: the identification number of the file is A, the maximum version number N of the data node corresponding to the temporary red-black tree node is 3, and then the maximum version number of the file A is 3.
Step 104, when the maximum version number of the file is N, traversing the temporary red-black trees corresponding to the file, and establishing N file red-black trees corresponding to the N versions of the file; wherein N is a positive integer.
Further, in this step, traversing the temporary red-black trees corresponding to the file, and establishing N file red-black trees corresponding to the N versions of the file, where the N file red-black trees may be:
and establishing N file red-black trees of the files according to the descending or ascending sequence of the version numbers.
Specifically, when a file red-black tree corresponding to the version number n is established for the file, the method includes the following steps:
traversing the temporary red and black tree;
adding all nodes with version numbers smaller than or equal to n in the temporary red-black tree into the file red-black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
In an embodiment, the maximum version number of the file a is 3, that is, N is 3, and according to the descending order of the version numbers, the step 104 may specifically include:
the system kernel establishes a file red-black tree corresponding to the version numbers 3, 2 and 1 in sequence, namely traversing the temporary red-black tree, and adding all nodes with the version numbers less than or equal to 3 in the temporary red-black tree into the file red-black tree corresponding to the version number 3; adding all nodes with version numbers less than or equal to 2 in the temporary red-black tree into the file red-black tree corresponding to the version number 2; and adding all nodes with version numbers less than or equal to 1 in the temporary red-black tree into the file red-black tree corresponding to the version number 1, wherein the specific process is the same as the existing mechanism of building the file red-black tree of JFFS 2.
Further, when the red and black trees of the file corresponding to different versions of the file are already established, step 104 may further include:
and establishing different structural bodies to describe different file versions, wherein the structural bodies comprise the version number of the file and a root node pointer pointing to the file red and black tree corresponding to the version number.
Specifically, different versions of a file are regarded as new files, a corresponding index node is established for the new files, and the U domain of the index node points to a new structure JFFS2_ inode _ info, so that each JFFS2_ inode _ info corresponds to a version of the file, that is, more than one structure JFFS2_ inode _ info corresponds to a kernel descriptor JFFS2_ inode _ cache of the same file in the existing JFFS2, and each structure JFFS2_ inode _ info represents file data of one version number.
By using the data recovery method of the flash file provided by the embodiment, aiming at the flash based on JFFS2, the original memory descriptor and red-black tree mechanism of JFFS2 are utilized, and the red-black trees of the file corresponding to all version numbers are established for the file, so that all deleted data or historical data can be recovered before dirty blocks recover damaged data; even after partial data is destroyed, partially deleted data or history data can be restored.
Fig. 2 is a schematic structural diagram of a data recovery apparatus for a flash file according to an embodiment of the present invention, and as shown in fig. 2, the data recovery apparatus includes: the system comprises a scanning module 21, a temporary red and black tree building module 22, a version number determining module 23 and a file red and black tree building module 24; wherein,
a scanning module 21, configured to scan a flash memory storage area, create a corresponding data node descriptor for a file data node, and create a corresponding kernel descriptor for a file, where the file data node includes a data node that has been marked as an invalid node, and the file includes a file that has been marked as a deleted file;
the temporary red and black tree establishing module 22 is configured to establish a corresponding temporary red and black tree for the file according to the data node descriptors, where the temporary red and black tree includes data node descriptors corresponding to all data nodes of the file that have been marked as invalid nodes;
a version number determining module 23, configured to determine a maximum version number of the file according to the kernel descriptor and the temporary red-black tree corresponding to the file;
the file red-black tree establishing module 24 is configured to traverse the temporary red-black tree corresponding to the file and establish N file red-black trees corresponding to the N versions of the file when the maximum version number of the file is N; wherein N is a positive integer. .
Further, in the above data recovery apparatus, the scanning module 21 includes:
and the checking unit is used for performing cyclic redundancy check on the file data nodes before the corresponding data node descriptors are created for the file data nodes.
Further, in the data recovery apparatus, the file red and black tree building module 24 includes:
and the sequencing unit is used for establishing N file red-black trees of the files according to the descending order or the ascending order of the version numbers.
Further, in the data recovery apparatus, the file red and black tree building module 24 includes:
the traversing unit is used for traversing the temporary red and black tree;
the file red and black tree establishing unit is used for adding all nodes with version numbers smaller than or equal to n in the temporary red and black tree into the file red and black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
Further, the data recovery apparatus may further include:
the structure establishing module is used for establishing different structures to describe different file versions when the file red and black trees corresponding to the different versions of the file are established, and the structures comprise the version numbers of the files and root node pointers pointing to the file red and black trees corresponding to the version numbers.
In practical applications, each of the modules and each of the units may be implemented by a Central Processing Unit (CPU), a microprocessor unit (MPU), a Digital Signal Processor (DSP), or a Field Programmable Gate Array (FPGA) in the data recovery apparatus.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.

Claims (10)

1. A method for recovering data from a flash file, the method comprising:
scanning a flash memory storage area, creating corresponding data node descriptors for file data nodes, and creating corresponding kernel descriptors for files, wherein the file data nodes comprise data nodes marked as invalid nodes, and the files comprise files marked as deleted files;
establishing a corresponding temporary red-black tree for the file according to the data node descriptors, wherein the temporary red-black tree comprises the data node descriptors corresponding to all data nodes marked as invalid nodes of the file;
determining the maximum version number of the file according to the kernel descriptor and the temporary red-black tree corresponding to the file;
when the maximum version number of the file is N, traversing the temporary red-black trees corresponding to the file, and establishing N file red-black trees corresponding to the N versions of the file; wherein N is a positive integer.
2. The data recovery method of claim 1, wherein prior to creating a corresponding data node descriptor for a file data node, the method further comprises:
and carrying out cyclic redundancy check on the file data nodes.
3. The data recovery method according to claim 1, wherein the traversing the temporary red-black trees corresponding to the files, and the establishing N file red-black trees corresponding to the N versions of the files comprises:
and establishing N file red-black trees of the files according to the descending or ascending sequence of the version numbers.
4. The data recovery method according to claim 1, wherein when a file red-black tree corresponding to the version number n is established for the file, the method comprises:
traversing the temporary red and black tree;
adding all nodes with version numbers smaller than or equal to n in the temporary red-black tree into the file red-black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
5. The data recovery method of claim 1, wherein when a file red-black tree corresponding to different versions of a file is established, the method further comprises:
and establishing different structural bodies to describe different file versions, wherein the structural bodies comprise the version number of the file and a root node pointer pointing to the file red and black tree corresponding to the version number.
6. An apparatus for recovering data of a flash file, the apparatus comprising: the system comprises a scanning module, a temporary red and black tree building module, a version number determining module and a file red and black tree building module; wherein,
the scanning module is used for scanning a flash memory storage area, creating a corresponding data node descriptor for a file data node, and creating a corresponding kernel descriptor for a file, wherein the file data node comprises a data node marked as an invalid node, and the file comprises a file marked as a deleted file;
the temporary red and black tree establishing module is used for establishing a corresponding temporary red and black tree for the file according to the data node descriptors, wherein the temporary red and black tree comprises the data node descriptors corresponding to all data nodes marked as invalid nodes of the file;
the version number determining module is used for determining the maximum version number of the file according to the corresponding kernel descriptor and the temporary red-black tree of the file;
the file red-black tree establishing module is used for traversing the temporary red-black trees corresponding to the files and establishing N file red-black trees corresponding to the N versions of the files when the maximum version number of the files is N; wherein N is a positive integer.
7. The data recovery apparatus of claim 6, wherein the scanning module comprises:
and the checking unit is used for performing cyclic redundancy check on the file data nodes before the corresponding data node descriptors are created for the file data nodes.
8. The data recovery device of claim 6, wherein the file red and black tree building module comprises:
and the sequencing unit is used for establishing N file red-black trees of the files according to the descending order or the ascending order of the version numbers.
9. The data recovery device of claim 6, wherein the file red and black tree building module comprises:
the traversing unit is used for traversing the temporary red and black tree;
the file red and black tree establishing unit is used for adding all nodes with version numbers smaller than or equal to n in the temporary red and black tree into the file red and black tree corresponding to the version number n;
wherein N is more than or equal to 1 and less than or equal to N, and N is a positive integer.
10. The data recovery apparatus of claim 6, wherein the apparatus further comprises:
the structure establishing module is used for establishing different structures to describe different file versions when the file red and black trees corresponding to the different versions of the file are established, and the structures comprise the version numbers of the files and root node pointers pointing to the file red and black trees corresponding to the version numbers.
CN201410530972.1A 2014-10-10 2014-10-10 Flash memory file data recovery method and apparatus Withdrawn CN105487939A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410530972.1A CN105487939A (en) 2014-10-10 2014-10-10 Flash memory file data recovery method and apparatus
PCT/CN2015/075805 WO2016054899A1 (en) 2014-10-10 2015-04-02 Flash file data recovery method and apparatus, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410530972.1A CN105487939A (en) 2014-10-10 2014-10-10 Flash memory file data recovery method and apparatus

Publications (1)

Publication Number Publication Date
CN105487939A true CN105487939A (en) 2016-04-13

Family

ID=55652535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410530972.1A Withdrawn CN105487939A (en) 2014-10-10 2014-10-10 Flash memory file data recovery method and apparatus

Country Status (2)

Country Link
CN (1) CN105487939A (en)
WO (1) WO2016054899A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678892A (en) * 2017-11-07 2018-02-09 黄淮学院 Recover the continuous data protection method of chain based on jump
CN108196980A (en) * 2017-12-28 2018-06-22 深圳市得微电子有限责任公司 Mistakenly deleted data recovery method, flash memory device and computer readable storage medium
CN111143130A (en) * 2019-12-25 2020-05-12 腾讯科技(深圳)有限公司 Data recovery method and device, computer readable storage medium and computer equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000482B (en) * 2020-08-25 2024-03-05 北京金山云网络技术有限公司 Memory management method and device, electronic equipment and storage medium
CN112948528A (en) * 2021-03-02 2021-06-11 北京秒针人工智能科技有限公司 Data classification method and system based on keywords

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477482A (en) * 2008-10-14 2009-07-08 深圳市共进电子有限公司 Method for recovering flash memory data at power-off of built-in Linux system
CN101903866A (en) * 2007-11-21 2010-12-01 提琴存储器公司 Method and system for storage of data in non-volatile media
US20110072062A1 (en) * 2009-08-28 2011-03-24 Guarraci Brian J Method and System for Resolving Conflicts Between Revisions to a Distributed Virtual File System
CN102289524A (en) * 2011-09-26 2011-12-21 深圳市万兴软件有限公司 Data recovery method and system
US8706701B1 (en) * 2010-11-18 2014-04-22 Emc Corporation Scalable cloud file system with efficient integrity checks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127034B (en) * 2006-08-18 2012-05-23 国际商业机器公司 Data organization, inquiry, presentation, documentation, recovery, deletion, refining method, device and system
CN100483420C (en) * 2007-11-09 2009-04-29 清华大学 Fine grit document and catalogs version management method based on snapshot
CN103870364B (en) * 2014-03-31 2017-10-24 北京工业大学 A kind of final version restoration methods of YAFFS2 files based on timestamp

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101903866A (en) * 2007-11-21 2010-12-01 提琴存储器公司 Method and system for storage of data in non-volatile media
CN101477482A (en) * 2008-10-14 2009-07-08 深圳市共进电子有限公司 Method for recovering flash memory data at power-off of built-in Linux system
US20110072062A1 (en) * 2009-08-28 2011-03-24 Guarraci Brian J Method and System for Resolving Conflicts Between Revisions to a Distributed Virtual File System
US8706701B1 (en) * 2010-11-18 2014-04-22 Emc Corporation Scalable cloud file system with efficient integrity checks
CN102289524A (en) * 2011-09-26 2011-12-21 深圳市万兴软件有限公司 Data recovery method and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678892A (en) * 2017-11-07 2018-02-09 黄淮学院 Recover the continuous data protection method of chain based on jump
CN108196980A (en) * 2017-12-28 2018-06-22 深圳市得微电子有限责任公司 Mistakenly deleted data recovery method, flash memory device and computer readable storage medium
CN108196980B (en) * 2017-12-28 2022-04-12 深圳市得一微电子有限责任公司 Mistakenly deleted data recovery method, flash memory device and computer readable storage medium
CN111143130A (en) * 2019-12-25 2020-05-12 腾讯科技(深圳)有限公司 Data recovery method and device, computer readable storage medium and computer equipment

Also Published As

Publication number Publication date
WO2016054899A1 (en) 2016-04-14

Similar Documents

Publication Publication Date Title
CN113039547B (en) Key value storage memory system, method and related storage medium
KR102665979B1 (en) Compressed key-value store tree data blocks leaked
US10777304B2 (en) Compressing, storing and searching sequence data
CN105009067B (en) Managing operations on units of stored data
CN105487939A (en) Flash memory file data recovery method and apparatus
US10795872B2 (en) Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
US8224874B2 (en) Systems and methods for removing unreferenced data segments from deduplicated data systems
US9122587B2 (en) Self recovery in a solid state drive
US20210297090A1 (en) Compressively-accelerated read mapping framework for next-generation sequencing
US10108503B2 (en) Methods and systems for updating a recovery sequence map
US11816015B2 (en) Management of event log information of a memory sub-system
DE112011103295T5 (en) Decode in solid-state storage devices
EP3154202B1 (en) Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
CN106788468B (en) Erasure code updating method and device and electronic equipment
KR101575246B1 (en) Corrupted record recovery method in SQLite database file
CN105844210B (en) Hardware efficient fingerprinting
JP2016062583A (en) Method and apparatus for processing file
CN112214346A (en) Method and apparatus for error detection during data modification in a memory subsystem
CN111143130B (en) Data recovery method and device, computer readable storage medium and computer equipment
CN114036004B (en) Data backup method, recovery method and device
CN109144766B (en) Data storage and reconstruction method and device and electronic equipment
CN116192154B (en) Data compression and data decompression method and device, electronic equipment and chip
CN111736778B (en) Data updating method, device and system and electronic equipment
CN105843837B (en) Hardware efficient rabin fingerprinting
KR102085690B1 (en) Flash storage device with error correction function and operating method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20160413

WW01 Invention patent application withdrawn after publication