CN102999430A - Handling unclean shutdowns for system having non-volatile memory - Google Patents

Handling unclean shutdowns for system having non-volatile memory Download PDF

Info

Publication number
CN102999430A
CN102999430A CN2012104486895A CN201210448689A CN102999430A CN 102999430 A CN102999430 A CN 102999430A CN 2012104486895 A CN2012104486895 A CN 2012104486895A CN 201210448689 A CN201210448689 A CN 201210448689A CN 102999430 A CN102999430 A CN 102999430A
Authority
CN
China
Prior art keywords
page
age
index
data
nvm
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.)
Granted
Application number
CN2012104486895A
Other languages
Chinese (zh)
Other versions
CN102999430B (en
Inventor
V·科麦尔尼斯基
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102999430A publication Critical patent/CN102999430A/en
Application granted granted Critical
Publication of CN102999430B publication Critical patent/CN102999430B/en
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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Abstract

Systems and methods are disclosed for handling unclean shutdowns for a system having non-volatile memory ("NVM"). In some embodiments, the system can leverage from information obtained from index pages in order to efficiently reconstruct logical-to-physical mappings after an unclean shutdown event. In other embodiments, the system can reconstruct logical-to-physical mappings by leveraging from context information stored in a NVM. In further embodiments, context information can be used in conjunction with index pages to reconstruct logical-to-physical mappings after an unclean shutdown.

Description

Processing has not the closing fully of system of nonvolatile memory
Technical field
The present invention openly relates to the processing of not closing fully of the system with nonvolatile memory.
Background technology
The nonvolatile memory of nand flash memory and other type (" NVM ") is normally used for large capacity storage.For example, generally include flash memory such as the consumer of portable electronic device and store music, video and other media.
NVM can comprise that a plurality of index pages are to provide the mapping between logical address and the physical address.In some cases, be stored in the volatile memory of equipment corresponding to the map information of the user data that writes recently, so that read out sooner.This map information can periodically be scavenged into the index page of NVM from volatile memory, so that the longer-term storage to this information to be provided.
When the electronic equipment with NVM cut out fully, the information in the index page of being stored in can directly be used for rebuilding logic-physical mappings in volatile memory.Yet when electronic equipment did not cut out fully, some index page may be out-of-date at least, and this is because this equipment may not be scavenged into index page with nearest map information fully.As a result, this equipment may need to scan whole NVM, in order to rebuild logic-physical mappings in volatile memory.A lot of times have been wasted in this processing.
Summary of the invention
The system and method for not closing (unclearshutdown) fully for the treatment of the system with nonvolatile memory is disclosed.In certain embodiments, this system can utilize the information of obtaining from index page, in order to rebuild more efficiently logic-physical mappings after not closing fully.As used in this, " index page " can be the page or leaf of NVM, the mapping between the physical address of the logical address that its memory file system is used and data page (for example, the page or leaf of the NVM of storage user data).
In other embodiments, this system can rebuild logic-physical mappings by utilizing the contextual information that is stored in equally among the NVM.As used in this, " contextual information " can refer in the particular point in time information relevant with the state of whole NVM.In more embodiment, contextual information can be united use to rebuild logic-physical mappings after not closing fully with index page.
Description of drawings
According to following detailed description, in conjunction with respective drawings, above and other aspect of the present invention and advantage will become more remarkable, and wherein identical reference symbol represents identical parts all the time, wherein:
Fig. 1 and 2 is the block diagram of the electronic equipment that disposes according to various embodiments of the invention;
Fig. 3 is the block diagram according to the memory mapped framework of various embodiments of the invention;
Fig. 4 be according to various embodiments of the invention for the treatment of the complete process flow diagram of the illustrative methods of close event not;
Fig. 5 is the process flow diagram according to the illustrative methods at the age of the age that is used for the comparison index page of various embodiments of the invention and data page;
Fig. 6 be according to various embodiments of the invention for the treatment of the complete process flow diagram of another illustrative methods of close event not;
Fig. 7 be according to various embodiments of the invention for the treatment of the complete process flow diagram of another illustrative methods of close event not;
Fig. 8 be according to various embodiments of the invention for the treatment of the complete block diagram of the exemplary control circuit of close event not; With
Fig. 9 be according to various embodiments of the invention for the treatment of the complete block diagram of another exemplary control circuit of close event not.
Embodiment
The system and method for not closing fully for the treatment of the system with nonvolatile memory is provided.Especially, the NVM interface of system can utilize the information of obtaining from index page, in order to rebuild more efficiently logic-physical mappings after not closing fully.As used in this, " index page " can be the page or leaf of NVM, and it is used for the mapping between the physical address of the used logical address of memory file system and data page (for example, the page or leaf of the NVM of storage user data).
For example, the NVM interface can obtain by the scanning index page or leaf age of index page, carries out and rebuilds.The NVM interface then can compare the age of index page and the age of corresponding data page or leaf, and definite particular index page or leaf to compare with the corresponding data page or leaf be that younger (for example, upgrade) is still older.
If the NVM interface determines that age of age age ratio corresponding data page or leaf of index page is older, the NVM interface can determine that index page is insecure (for example, index page is owing to data page is updated) so.Therefore, the NVM interface can scan younger data block, rebuilds logic-physical mappings.
On the contrary, if the NVM interface determines that the age of index page is older unlike the age of corresponding data page or leaf, the NVM interface can determine that index page is reliable (for example, index page is updated) after data page is updated or simultaneously so.Therefore, the NVM interface can come reconstructed mapped in volatile memory with the mapping of storing in the index page.
In certain embodiments, system can rebuild logic-physical mappings by the contextual information that utilization is stored among the NVM.As used in this, " contextual information " can refer in the particular point in time information relevant with the state of whole NVM.In other embodiments, contextual information can be united use with index page, to rebuild logic-physical mappings after not closing fully.
Fig. 1 shows the block diagram of electronic equipment 100.In certain embodiments, electronic equipment 100 can be or can comprise portable electronic device, cell phone, pocket personal computers, personal digital assistant (" PDA "), computed table, kneetop computer and any electronic equipment of other adequate types.
Electronic equipment 100 can comprise SOC (system on a chip) (" SoC ") 110 and nonvolatile memory (" NVM ") 120.Nonvolatile memory 120 can comprise based on the nand flash memory of floating grid or electric charge capture technology, NOR flash memory, Erasable Programmable Read Only Memory EPROM (" EPROM "), Electrically Erasable Read Only Memory (" EEPROM "), ferroelectric RAM (" FRAM "), magnetic resistance RAM (" MRAM ") or its combination in any.
NVM120 can be organized into " piece ", and this is minimum erasable unit, also can be organized into " page or leaf ", and this is the minimum unit that can be programmed or read.In certain embodiments, NVM120 can comprise a plurality of integrated circuit, and wherein each integrated circuit can have a plurality of.The memory location of corresponding integrated circuit (for example, the page or leaf in piece or the piece) can form " superblock ".Each memory location of NVM120 (for example, page or leaf or piece) can utilize physical address (for example, physical page address or physical block address) to quote.
The one or more page or leaf of NVM120 can be data page, and it can be used to store the data relevant with the general operation of the assembly of SoC110 or equipment 100.In addition, one or more pages or leaves of NVM120 can be used to store concordance list.Be mapped directly among the embodiment of Physical Page at logic sector, logic-physical mappings can be stored in the concordance list.As used in this, " logic-physical mappings " can be the mapping between the physical page address of one or more logical addresses (for example, logic sector) and data page.For example, concordance list can be preserved the physical address of the data page of NVM120.
In some cases, concordance list can comprise a plurality of index pages, and wherein each index page can be mapped to logical address one or more physical addresss of data page.Concordance list and index page are described in more detail in connection with Fig. 3.
SOC (system on a chip) 110 can comprise SoC control circuit 112, storer 114 and NVM interface 118.SoC control circuit 112 can be controlled general operation and the function of other assembly of SoC110 and SoC110 or equipment 100.For example, in response to the instruction of user's input and/or application program or operating system, SoC control circuit 112 read or write command can be decided cloth to NVM interface 118 obtaining data from NVM120, or store data among the NVM120.For clear, the data that SoC control circuit 112 can ask to store or retrieve are called as " user data ", although these data may not be directly related with user or user application.On the contrary, user data can be any suitable digital information sequence that SoC control circuit 112 (for example, by application program or operating system) generates or obtains.
SoC control circuit 112 can comprise the combination in any of hardware, software and firmware, and random component, circuit or the logic that can operate the function of drive electronics 100.For example, SoC control circuit 112 can be included in the one or more processors that operate under the control of the software/firmware of storage in NVM120 or the storer 114.
Storer 114 can comprise arbitrarily the suitably volatile memory of type, such as random access memory (" RAM ") (for example, static RAM (SRAM) (" SRAM "), dynamic RAM (" DRAM "), Synchronous Dynamic Random Access Memory (" SDRAM "), Double Data Rate (" DDR ") RAM), high-speed cache, ROM (read-only memory) (" ROM ") or its combination in any.Storer 114 can comprise data source, and it can store user data temporarily, and this user data can be programmed in the nonvolatile memory 120 or therefrom be read.In certain embodiments, storer 114 can be used as the primary memory of the random processor of a part that is implemented as SoC control circuit 112.
Storer 114 can comprise look-up table and/or concordance list high-speed cache.Look-up table can be kept at the position (for example, physical address) of the concordance list of storing among the NVM120.The concordance list high-speed cache can be stored the physical address of the logical address (for example, logic sector) that is written into recently, reads in order to provide faster.Periodically, the information in the concordance list high-speed cache of being stored in can be scavenged into from the concordance list high-speed cache index page of NVM120.
In certain embodiments, the size of concordance list high-speed cache can be the sub-fraction of the size of index page.By being stored in most of map informations in the index page rather than being stored in the concordance list high-speed cache, can in storer 114, discharge more space and be used for other processing.Look-up table and concordance list high-speed cache are further described in more detail in connection with Fig. 3.
NVM interface 118 can comprise any appropriate combination of hardware, software and/or firmware, and NVM interface 118 is configured to be used as interface or the driver between SoC control circuit 112 and the NVM120.For any software module that comprises in the NVM interface 118, corresponding program code can be stored in NVM120 or the storer 114.
NVM interface 118 can be carried out various functions, these functions allow SoC control circuit 112 access NVM120, and the memory location (for example, page or leaf, piece, superblock, integrated circuit) of management NVM120, and the data (for example, user data) of wherein storing.For example, NVM interface 118 can be explained the request that reads or writes from SoC control circuit 112, carries out wear leveling, and the reading and programmed instruction of the bus protocol compatibility of generation and NVM120.
Although NVM interface 118 and SoC control circuit 112 illustrate as standalone module, this only is in order to simplify the explanation to the embodiment of the invention.Should be appreciated that these modules can be shared nextport hardware component NextPort, component software or the two has concurrently.For example, SoC control circuit 112 can be carried out the storage drive based on software for NVM interface 118.
In certain embodiments, electronic equipment 100 can comprise target device, such as, flash drive or numeric security (" SD ") card, this target device comprises some part or all of (for example, conversion layer discussed below) of NVM120 and NVM interface 118.In these embodiments, SoC110 or SoC control circuit 112 can be used as the master controller of target device.For example, as master controller, SoC110 can be published to target device with the read and write request.
Fig. 2 shows the block diagram of electronic equipment 200, wherein can illustrate in greater detail some firmware, software and/or nextport hardware component NextPort according to the electronic equipment 100 (Fig. 1) of various embodiment.Electronic equipment 200 can have above arbitrary characteristics described in conjunction with Figure 1 and function, and vice versa.As shown, dotted line has been divided layer.Should be appreciated that, only be exemplary for the description that falls into the assembly in the dotted line, and one or more assembly can be added to different layers.
Electronic equipment 200 can comprise file system 210, NVM driver 212, NVM bus controller 216 and NVM220.In certain embodiments, file system 210 and NVM driver 212 can be software or firmware module, and NVM bus controller 216 and NVM220 can be hardware modules.Therefore, in these embodiments, NVM driver 212 can represent software or the firmware aspect of NVM interface 218, and NVM bus controller 216 can represent the hardware aspect of NVM interface 218.
File system 210 can comprise arbitrarily the suitably file system of type, such as file allocation table (" FAT ") file system or hierarchical file system+(Hierarchical File System Plus, i.e. " HFS+ "), and can be the part (for example, the part of the SoC control circuit 112 of Fig. 1) of the operating system of electronic equipment 200.In certain embodiments, file system 210 can comprise flash memory file system, and it provides the logic-physical mappings of page or leaf.Therefore in these embodiments, file system 210 can be carried out the part or all of function of following NVM driver 212, and file system 210 and NVM driver 212 can be standalone modules, can not be standalone modules also.
File system 210 can be managed file and the folder structure of application program and operating system.File system 210 can operate under the control of the application program of electronic equipment 200 operation or operating system, and can in application program or the operating system request be read from NVM220 or when depositing information in to NVM220, provide to NVM driver 212 to write and reading command.Read or write instruction together with each, file system 210 can provide logical address to come the indicating user data where to be read or written to wherefrom, such as logical page address or have the LBA (Logical Block Addressing) (" LBA ") of page or leaf skew.
File system 210 can be to providing read requests and write request with the not direct compatible NVM driver 212 of NVM220.For example, logical address can be used typical standard or the agreement based on the system of hard-drive.System based on hard-drive---unlike flash memory---can rewrite the memory location and not need at first execution block to wipe.In addition, hard-drive can not need wear leveling (wear leveling) to increase the serviceable life of equipment.Therefore, NVM interface 218 can be carried out specific to storer, specific to supplier or any function that the two has concurrently, process file system requests, and the mode of taking to be suitable for NVM220 is carried out other management function.
NVM driver 212 can comprise conversion layer 214.In certain embodiments, conversion layer 214 can be or can comprise flash translation layer (FTL) (Flash Translation Layer, i.e. " FTL ").For write command, conversion layer 214 can the logical address that provide be provided the physical location of having wiped of the free time on the NVM220.For reading instruction, conversion layer 214 can determine to store with the logical address that provides the physical address of the data of asking.Because according to size or the supplier of NVM, each NVM may have different layouts, so this map operation can be specific to storer and/or supplier.Except the logical-physical address mapping, conversion layer 214 can be carried out any other suitable function.For example, conversion layer 214 can be carried out other any function, and it can be the exemplary functions of flash translation layer (FTL), such as refuse collection and wear leveling.
NVM driver 212 can be finished NVM visit order (for example, programme, read and erase command) with NVM bus controller 216 interfaces.Bus controller 216 can be used as the hardware interface with NVM220, and can utilize bus protocol, data transfer rate and other standard of NVM220 and communicate by letter with NVM220.
NVM interface 218 can be based on memory management data, and this paper is referred to as " metadata " sometimes, manages NVM220.Metadata can generate by NVM driver 212, perhaps can generate by the module of operation under 212 controls of NVM driver.For example, metadata can comprise for the mapping between management logic and the physical address, bad block management, wear leveling, for detection of or error correcting code (" the ECC ") data of correction of data mistake or any information of its combination in any.The data that provided by file system 210 with user data can be provided metadata, such as logical address.Therefore usually, " metadata " can refer to about or relate to user data or be generally used for the operation of managing non-volatile memory and any information of memory location.
NVM interface 218 can be configured to storing metadata in NVM220.In certain embodiments, NVM interface 218 can be stored the metadata relevant with user data in the same memory location of having stored user data (for example, page or leaf).For example, NVM interface 218 can be stored in one or more memory locations of NVM220 the ECC data of user data, interrelated logic address and user data.NVM interface 218 can also be stored in identical memory location the metadata of the relevant user data of other type.
NVM interface 218 can store logical addresses, so that when NVM220 powers on, perhaps in the operating period of NVM220, electronic equipment 200 can determine that what data resides in that position.Especially, because file system 210 can be guided user data according to its logical address rather than its physical address, so NVM interface 218 can store together user data and logical address keeps their correlativity.This mode, even keep the concordance list among the NVM220 of physics-logical mappings to become out-of-date, NVM interface 218 still can be for example powering on or determine correct mapping when restarting at electronic equipment 200.
With reference now to Fig. 3,, shows the block diagram for the example memory mapping framework 300 that logical address is mapped to Physical Page.Framework 300 is divided into volatile memory (the dotted line left side illustrates) and nonvolatile memory (dotted line the right illustrates).Look-up table 302 and concordance list high-speed cache 304 (for example are stored in volatile memory, the storer 114 of Fig. 1) in, and concordance list 306 and data page 308 are stored in the nonvolatile memory (for example, the NVM220 of the NVM120 of Fig. 1 or Fig. 2).As shown in Figure 3, data page 308 is included among the data block 1-N.
Concordance list 306 can comprise index page 1-N.Among the index page 1-N of concordance list 306 each can be stored one or more logic-physical mappings.For example, as shown in Figure 3, the index page 1 of concordance list 306 can be mapped to logical address one or more data pages of data block 1 and data block N.
Look-up table 302 can be preserved the position (for example, physical address) of concordance list 306.For example, look-up table 302 can be preserved logic-physical mappings of the index page 1-N of a part that forms concordance list 306.In addition, look-up table 302 can also be stored the memory location of concordance list high-speed cache 304.
Concordance list high-speed cache 304 can be preserved the physical address of the logical address that is written into recently or accesses.Namely, high-speed cache 304 can be preserved the logic-physical mappings for the current data page that just is being programmed or is being programmed recently 308.Periodically, the information in the high-speed cache 304 of being stored in can be eliminated the index page 1-N to concordance list 306.As a result, high-speed cache 304 can provide the redundant copy that also is stored in the mapping in the concordance list 306 sometimes.
When electronic equipment cuts out fully (for example, all information that are stored in the high-speed cache 304 have been eliminated to concordance list 306), this equipment can suppose that the logic-physical mappings that is stored among the index page 1-N is effective.Therefore, after equipment was powered on or restarts, this equipment can be directly rebuild mapping in the volatile memory with being stored in mapping among the index page 1-N.For example, NVM interface (for example, the NVM interface 118 of Fig. 1, perhaps the NVM interface 218 of Fig. 2) can copy to logic-physical mappings of index page 1-N high-speed cache 304.Because index page 1-N can only take the part size of data page 308, therefore with by scanning whole NVM to obtain logic-physical mappings and compare, this processing is more efficient.
On the contrary, when electronic equipment does not cut out fully (for example, some information that is stored in the high-speed cache 304 also is not eliminated to concordance list 306 at least), this equipment can not depend on the information that is stored in the concordance list 306.Especially, concordance list 306 can not be caught the user data that is written into recently or wipes.
Usually, in case equipment is restarted, suppose that the logic-physical mappings that is stored in the concordance list 306 is invalid.Therefore, this equipment can go the data block of scan N VM so that the logic-physical mappings in the reconstruction high-speed cache 304 in the past.For example, this equipment can come the scan-data piece by reading the piece contents table relevant with data block (" TOC ").For example, in example shown in Figure 3, piece TOC1 can be relevant with data block 1, and piece TOC N can be relevant with data block N, and the rest may be inferred.Each piece TOC can be stored in the corresponding data piece, and can comprise the information that the data page of data block is mapped to the counterlogic address.In conventional system, piece TOC can include only the logical address (for example, LBA or logical page number (LPN)) of each page that is programmed.In other embodiments, piece TOC can also comprise the relative age (for example, when this page or leaf is updated with respect to other data and/or index page) of the renewal that page or leaf is carried out.In such configuration, piece TOC can comprise logical address-age pair of each data of being programmed and/or index page.
As previously mentioned, the processing of each data block of scan N VM is consuming time and poor efficiency.Therefore, replace the autoscan for all data blocks of NVM, this equipment can utilize the information (for example, index page and/or contextual information) of obtaining from other source, in order to rebuild more efficiently logic-physical mappings after not exclusively closing.Forward now Fig. 4-7 to, show the process flow diagram of exemplary process according to various embodiments of the present invention.These processing can be carried out by one or more assemblies of system (for example, the electronic equipment 100 of Fig. 1, the perhaps electronic equipment 200 of Fig. 2).For example, at least some step in the processing of Fig. 4-7 can be carried out by the NVM interface (for example, the NVM interface 118 of Fig. 1, perhaps the NVM interface 218 of Fig. 2).In addition, those skilled in the art will appreciate that some step can be carried out by control circuit (for example, the SoC control circuit 112 of Fig. 1) at least.
At first forward Fig. 4 to, show for the treatment of the not fully processing 400 of close event.Processing 400 can be from step 402, and in step 404, the NVM interface can determine that not close event has occured fully.
In step 406, a plurality of index pages (for example, the index page 1-N of Fig. 3) that the NVM interface can scan N VM (for example, the NVM120 of Fig. 1, the perhaps NVM220 of Fig. 2) are to obtain the age of index page.The age of index page can be the indication of the reliability of this index page.
Proceed to step 408, the NVM interface can compare the age of the data page corresponding with index page of age of index page and NVM.Based on this relatively, the NVM interface can determine that the particular index page or leaf is that younger (for example, upgrading) is still older than corresponding data page.
It will be understood by those skilled in the art that any suitable parameter (for example, being stored as one or more parameters of metadata) can be used to the relative age of comparison index page and corresponding data page or leaf.For example, can usage counter, its can with age of page or leaf oppositely relevant (for example, older page or leaf can be relevant with less counter, and younger page can be relevant with larger counter).
After the age of the age of having compared index page and corresponding data page or leaf, process 400 and can proceed to step 410.In step 410, the NVM interface can at least in part based on this relatively, be determined the reliability of each index page.
Especially, if the NVM interface determines that age of age age ratio corresponding data page or leaf of index page is older, the NVM interface can determine that index page is insecure so, therefore be invalid (for example, since the corresponding data page or leaf was updated, index page also was not updated).Therefore, the NVM interface can scan younger data block and rebuilds logic-physical mappings corresponding to the logical address of index page.
On the contrary, if the NVM interface determines that the age of index page is older (for example unlike the age of corresponding data page or leaf, the age of the age age ratio corresponding data page or leaf of index page is lighter, perhaps identical with it), the NVM interface can determine that index page is reliable so, therefore be effectively (for example, the corresponding data page or leaf is updated after or with it the while, index page is updated).Therefore, the logic-physical mappings that is stored in the index page can be considered to effectively, and the NVM interface can use the mapping of index page with reconstructed mapped in volatile memory.Can finish in step 412 with aftertreatment 400.
By using the method, the NVM interface can be avoided each data block of scan N VM, can directly use on the contrary the subset (for example, effective index page) of index page to rebuild logic-physical mappings in volatile memory.In addition, because invalid index page can consist of the sub-fraction of whole index pages, so the NVM interface only need to scan a little subset of the data block corresponding with the logical address of invalid index page.Therefore, this method can significantly reduce after complete close event for rebuilding the required time quantum of logic-physical mappings.
Forward now Fig. 5 to, show the processing 500 for the age of the data page of age of index page relatively and NVM (for example, the NVM120 of Fig. 1, the perhaps NVM220 of Fig. 2).In certain embodiments, process 500 and can represent to process comparison step 408 in 400 and the more detailed view of determining step 410 (Fig. 4).
Processing 500 can be from step 502, and in step 504, the NVM interface can the index page of Selective storage in NVM.For example, the NVM interface can be selected index page from concordance list 306 (Fig. 3).
Then in step 506, the NVM interface can determine whether the age of index page is older than the age of corresponding data page.For example, the NVM interface can determine that the counter of index page whether greater than the counter of corresponding data page or leaf, determines thus whether index page is effective.If the NVM interface is determined the age of index page unlike the age of corresponding data page or leaf older (for example, the counter of index page is identical with the counter of corresponding data page or leaf, and is perhaps larger than it), process 500 and proceed to step 508.Namely, the NVM interface has determined that index page is effective index page.
In step 508, the NVM interface can determine whether to exist does not also have selecteed other index page.In step 508, if the NVM interface determines there has not been other index page, process 500 and can finish in step 510.In step 508, if opposite NVM interface determines to also have other index page, process 500 and forward step 504 to, can select another index page at this NVM interface.
Get back to step 506, if opposite NVM interface is determined the age older (for example, the counter of index page is less than the counter of corresponding data page) of the age age ratio corresponding data page or leaf of index page, process 500 and can forward step 512 to.Namely, the NVM interface has determined that index page is an invalid index page.
In step 512, the NVM interface can scan the one or more data blocks of the NVM with data page, and the age of the age age ratio index page of wherein said data page is lighter.Process 500 and can then forward step 514 to.
In step 514, the NVM interface can be selected in one or more data blocks, wherein selected data block comprises the one or more data pages relevant with index page (for example, index page can be stored the logic-physical mappings corresponding with one or more data pages in the selected data block).
Then in step 516, the NVM interface can determine whether the age of one or more data pages is lighter than the age of index page.If in step 516, the NVM interface determines that the age of one or more data pages is lighter unlike the age of index page, process 500 and forward step 518 to.
In step 518, the NVM interface can determine whether there is other data block in one or more data blocks.In step 518, if the NVM interface is determined to have other data block, process so 500 and forward step 514 to.In step 514, the NVM interface can select to have another data block of one or more data pages relevant with index page.In step 518, if the NVM interface determines not have other data block, process so and forward step 508 to, wherein the NVM interface can determine whether to exist other index page.
Get back to step 516, if opposite NVM interface determines that age of age age ratio index page of one or more data pages is lighter, process so 500 and forward step 520 to.In step 520, the NVM interface can copy to index page the concordance list high-speed cache (for example, the concordance list high-speed cache 304 of Fig. 3) in the volatile memory (for example, the storer 114 of Fig. 1).
In step 522, the NVM interface can utilize selected data block, upgrades one or more clauses and subclauses of high-speed cache.For example, utilize selected data block, the NVM interface can be rebuild the logic-physical mappings corresponding with one or more logical addresses of index page.
In certain embodiments, the NVM interface can by the piece TOC (for example, the piece TOC1 of the data block 1 of Fig. 3, perhaps the piece TOC N of data block N) that reads selected data block, be rebuild logic-physical mappings.For example, if block TOC comprises relative age and the logic-physical mappings of web update, and the NVM interface can be only obtains logic-physical mappings after the renewal by reference block TOC so.
In other embodiments, the NVM interface can be stored in metadata in the selected data block by scanning, rebuilds logic-physical mappings.For example, if block TOC includes only the logical address of programmed page, and the NVM interface is determined the age of page or leaf by the scanning metadata, and the logic-physical mappings after obtaining to upgrade.After having upgraded one or more clauses and subclauses of index page, process 500 and can forward step 522 to.In certain embodiments, the NVM interface can utilize the logic-physical mappings of reconstruction to upgrade concordance list (for example, the concordance list 306 of Fig. 3).
Process 500 and then forward step 518 to, can determine whether to exist other data block at this NVM interface.
With reference now to Fig. 6,, shows be used to utilizing contextual information to process not the fully process flow diagram of the exemplary process 600 of close event.Especially, the NVM interface can be stored in contextual information among the NVM (NVM120 of Fig. 1, the perhaps NVM220 of Fig. 2) by utilization, rebuilds logic-physical mappings.As used in this, the information that " contextual information " can refer to whole NVM state is relevant on particular point in time.For example, contextual information can be included in the logic-physical mappings that is used for all data blocks of NVM on the particular point in time.
In certain embodiments, contextual information can be stored in one or more physical blocks of NVM.For example, get back to Fig. 3, context block 310 can be the piece that is used for storing contextual information of NVM.
Get back to Fig. 6, processing 600 can be in step 602 beginning, and in step 604, the NVM interface can detect incomplete close event and occur.Then in step 606, the NVM interface can be searched for the contextual information that was stored in (for example, in the context block 310 of Fig. 3) among the NVM before incomplete close event.Namely, the NVM interface can obtain to be kept at the nearest copy of the contextual information among the NVM before close event does not occur fully.After the search contextual information, process 600 and can forward step 608 to.
In step 608, the NVM interface can load contextual information (for example, the fresh copy of contextual information) in volatile memory (for example, the storer 114 of Fig. 1).For example, the NVM interface can load contextual information in the look-up table (for example, the look-up table 302 of Fig. 3) of high-speed cache (for example, the concordance list high-speed cache 304 of Fig. 3) and/or volatile memory.
Then in step 610, the NVM interface (for example can be identified contextual information that the age age ratio of NVM loads, the counter of one or more data blocks, it is greater than the counter of the context block of having stored contextual information) lighter one or more data blocks of age.Especially, these data blocks can comprise the logic-physical mappings after the renewal, and it is not also caught by contextual information.Process 600 and can then proceed to step 612.
In step 612, the NVM interface can be carried out the fully recovery of one or more data blocks.For example, the NVM interface can scan one or more data blocks (for example, reading the metadata of one or more TOC and/or data block) to obtain logic-physical mappings.If contextual information has been saved recently, the time that is used for so reconstruction logic-physical mappings has just reduced, and this is just need to collect execution to a boy of data block because recover fully.
Processing 600 then finishes in step 614.The title that the people such as Wakrat submitted on July 24th, 2009 be the U.S. Patent application No.12/509 of " RestoreIndex Page ", has put down in writing the more detailed description that full recovery is processed in 071, and its full content in this combination for your guidance.
With reference now to Fig. 7,, shows be used to utilizing mixed method to process not the fully process flow diagram of the exemplary process 700 of close event.Especially, the NVM interface can by utilize contextual information and index page the two, rebuild logic-physical mappings.
Processing 700 can be in step 702 beginning, and in step 704, the NVM interface can detect incomplete close event and occur.Then in step 706, the NVM interface can utilize contextual information to obtain the logic-physical mappings of one group of data block of NVM.For example, this data chunk can be since contextual information by those data blocks that also have not been updated since preserving at last.
Proceed to step 708, the NVM interface can be rebuild the logic-physical mappings for the remaining data piece of NVM.For example, the NVM interface can utilize one or more index pages, rebuilds logic-physical mappings.The remaining data piece can comprise those data blocks of also not caught by contextual information (for example, since contextual information by the data block that has been updated since preserving at last).
In order to rebuild logic-physical mappings for the remaining data piece, the NVM interface can use and process 400 (Fig. 4) and process 500 (Fig. 5) and similarly process.For example, one or more index pages can be stored the physical address of remaining data piece and the mapping between the counterlogic address.Especially, the NVM interface can determine whether the age of one or more index pages is older than the age of corresponding data page.
If the NVM interface determines that age of age age ratio corresponding data page or leaf of one or more index pages is older, the NVM interface can be carried out fully by at least one subset of scanning remaining data piece and recover so.By at least one subset of scanning remaining data piece, the NVM interface can obtain the logic-physical mappings corresponding to the logical address of one or more index pages.The NVM interface can then copy index page to the high-speed cache (for example, the concordance list high-speed cache 304 of Fig. 3) of volatile memory, and logic-based-physical mappings is upgraded the clauses and subclauses of high-speed cache.Processing 700 can then finish in step 710.
Therefore, because contextual information can be combined to rebuild with index page logic-physical mappings, after restarting, system need quantity of information to be processed further to reduce.Especially, full recovery may only need to collect execution for a boy of all data blocks.This can improve system effectiveness, and reduces never to close fully and recover necessary time quantum.
With reference now to Fig. 8,, show the memory interface that is used for access nonvolatile memory (" NVM ") for the treatment of the complete block diagram of the exemplary control circuit of close event not.According to one embodiment of the invention, control circuit comprises: pick-up unit, and can operating to detect not fully, close event occurs; Searcher can operate to search for the contextual information that was stored among the described NVM before described incomplete close event, wherein said contextual information is stored in the piece of described NVM; Charger can operate described contextual information is loaded in the volatile memory; Recognition device can operate to identify at least one lighter data block of age of the contextual information that the age age ratio of described NVM loads; And actuating unit, can operate to carry out the fully recovery of described at least one data block.
With reference now to Fig. 9,, show the memory interface that is used for access nonvolatile memory (" NVM ") for the treatment of the complete block diagram of another exemplary control circuit of close event not.According to one embodiment of the invention, nonvolatile memory (" NVM ") comprises the index block with a plurality of index pages and the context block that comprises contextual information.Described control circuit comprises pick-up unit, and can operating to detect not fully, close event occurs; The first deriving means can operate to utilize described contextual information, obtains the logic-physical mappings of one group of data block of described NVM; And reconstructing device, can operate at least in part based at least one index page of described a plurality of index pages, rebuild the logic-physical mappings of the remaining data piece of described NVM.
According to another embodiment of the present invention, described control circuit also comprises: first determines device, can operate to determine whether the age of described at least one index page is older than a plurality of ages of corresponding data page; And scanister, a plurality of ages that can operate the next described corresponding data page or leaf of age age ratio in response to determining described at least one index page are older, scan at least one subset of the described remaining data piece of described NVM.
According to another embodiment of the present invention, described control circuit also comprises: the second deriving means can operate to obtain the logic-physical mappings corresponding with the logical address of described at least one index page; Reproducing unit can operate described at least one index page is copied to described high-speed cache; And updating device, can operate based on described logic-physical mappings, upgrade at least one clauses and subclauses of described high-speed cache.
The above describes the present invention with reference to process flow diagram and/or the block diagram of the method and apparatus (system) of the embodiment of the invention.Should be appreciated that the combination of each square frame in each square frame of process flow diagram and/or block diagram and process flow diagram and/or the block diagram, can be realized by computer program instructions.These computer program instructions can offer the processor of multi-purpose computer, special purpose computer or other programmable data treating apparatus, thereby produce a kind of machine, these computer program instructions are carried out by computing machine or other programmable data treating apparatus, have produced the device of setting function/operation in the square frame in realization flow figure and/or the block diagram.
Should be appreciated that the processing 400,500 of Fig. 4-7,600 and 700 only is exemplary.Can delete, revise or make up arbitrary steps, also can increase arbitrarily other step, and not depart from the scope of the present invention.
Described embodiment of the present invention described be the purpose for example, rather than the purpose of restriction.

Claims (29)

1. one kind is used for the method recovered from equipment failure, and described method comprises:
Detecting incomplete close event occurs;
A plurality of index pages of scanning nonvolatile memory (" NVM ") are to obtain the age of described a plurality of index pages;
The age with data page corresponding to described a plurality of index pages of age of described a plurality of index pages and described NVM is compared; And
Based on described comparison, determine the reliability of each index page of described a plurality of index pages at least in part.
2. the method for claim 1, each index page of wherein said a plurality of index pages is mapped at least one logical address at least one physical address of described data page.
3. method as claimed in claim 1 or 2 wherein saidly more also comprises:
For each index page of described a plurality of index pages, determine whether the age of described index page is older than a plurality of ages of corresponding data page; And
Age in response to definite described index page is older unlike a plurality of ages of described corresponding data page or leaf, determines that described index page is reliable.
4. method as claimed in claim 3 is wherein older in response to a plurality of ages of the described corresponding data page or leaf of age age ratio of determining described index page, determines that described index page is insecure.
5. method as claimed in claim 4 also comprises:
Scan at least one data block of lighter data page of age with the described index page of age age ratio of described NVM.
6. method as claimed in claim 5 also comprises:
Determine that described at least one data block comprises at least one data page relevant with described index page;
Whether the age of determining described at least one data page is lighter than the age of described index page; And
Age in response to the described index page of age age ratio of determining described at least one data page is lighter, described index page is copied in the high-speed cache of volatile memory.
7. method as claimed in claim 6 also comprises:
Utilize described at least one data block, upgrade at least one clauses and subclauses of described high-speed cache.
8. method as claimed in claim 7, wherein said renewal also comprises:
Utilize described at least one data block, rebuild the logic-physical mappings corresponding with the logical address of described index page.
9. method as claimed in claim 8, wherein said reconstruction also comprises:
Scan the metadata at least one data block that is stored in described NVM.
10. method as claimed in claim 8, wherein said reconstruction also comprises:
Read the piece table of the content of described at least one data block.
11. a memory interface that is used for access nonvolatile memory (" NVM "), described memory interface comprise that described control circuit comprises for the treatment of the complete control circuit of close event not:
Pick-up unit, can operating to detect not fully, close event occurs;
Searcher can operate to search for the contextual information that was stored among the described NVM before described incomplete close event, wherein said contextual information is stored in the piece of described NVM;
Charger can operate described contextual information is loaded in the volatile memory;
Recognition device can operate to identify at least one lighter data block of age of the contextual information that the age age ratio of described NVM loads; With
Actuating unit can operate to carry out the fully recovery of described at least one data block.
12. memory interface as claimed in claim 11, wherein said contextual information are included in the logic-physical mappings of a plurality of data blocks of the described NVM of special time.
13. such as claim 11 or 12 described memory interfaces, wherein said charger can operate described contextual information is loaded in the high-speed cache that is stored in the described volatile memory.
14. such as claim 11 or 12 described memory interfaces, wherein said charger can operate described contextual information is loaded in the look-up table that is stored in the described volatile memory.
15. a system comprises:
Nonvolatile memory (" NVM ") comprises the index block with a plurality of index pages and the context block that comprises contextual information; And
For the treatment of the complete control circuit of close event not, described control circuit comprises:
Pick-up unit, can operating to detect not fully, close event occurs;
The first deriving means can operate to utilize described contextual information, obtains the logic-physical mappings of one group of data block of described NVM; And
Reconstructing device can operate at least in part based at least one index page of described a plurality of index pages, rebuilds the logic-physical mappings of the remaining data piece of described NVM.
16. system as claimed in claim 15, each index page of wherein said a plurality of index pages is mapped at least one logical address at least one physical address of the data page of described remaining data piece.
17. such as claim 15 or 16 described systems, wherein said control circuit also comprises:
First determines device, can operate to determine whether the age of described at least one index page is older than a plurality of ages of corresponding data page; And
Scanister, a plurality of ages that can operate the next described corresponding data page or leaf of age age ratio in response to determining described at least one index page are older, scan at least one subset of the described remaining data piece of described NVM.
18. system as claimed in claim 17, at least one subset of wherein said remaining data piece have the lighter data page of age of described at least one index page of age age ratio.
19. system as claimed in claim 17 also comprises the volatile memory with high-speed cache, wherein said control circuit also comprises:
The second deriving means can operate to obtain the logic-physical mappings corresponding with the logical address of described at least one index page;
Reproducing unit can operate described at least one index page is copied to described high-speed cache; And
Updating device can operate based on described logic-physical mappings, upgrades at least one clauses and subclauses of described high-speed cache.
20. one kind is used for from the system that equipment failure recovers, described system comprises:
For detection of the complete device that occured of close event;
The a plurality of index pages that are used for scanning nonvolatile memory (" NVM ") are with the device at age of obtaining described a plurality of index pages;
Be used for the device that the age with data page corresponding to described a plurality of index pages with age of described a plurality of index pages and described NVM compares; And
Be used at least in part based on described comparison, determine the device of reliability of each index page of described a plurality of index pages.
21. system as claimed in claim 20, each index page of wherein said a plurality of index pages is mapped at least one logical address at least one physical address of described data page.
22. such as claim 20 or 21 described systems, wherein said device for comparing also comprises:
Be used for each index page for described a plurality of index pages, whether the age of determining described index page the device older than a plurality of ages of corresponding data page; And
Be used in response to the age of determining described index page older unlike a plurality of ages of described corresponding data page or leaf, determine that described index page is reliable device.
23. the system as claimed in claim 22, wherein said device for comparing also comprises:
Be used in response to a plurality of ages of the described corresponding data page or leaf of age age ratio of determining described index page older, determine that described index page is insecure device.
24. system as claimed in claim 23 also comprises:
Be used for scanning the device of at least one data block of lighter data page of age with the described index page of age age ratio of described NVM.
25. system as claimed in claim 24 also comprises:
Be used for determining that described at least one data block comprises the device of at least one data page relevant with described index page;
Whether age that be used for to determine described at least one data page the device lighter than the age of described index page; And
Be used in response to the age of the described index page of age age ratio of determining described at least one data page lighter, described index page is copied to the device in the high-speed cache of volatile memory.
26. system as claimed in claim 25 also comprises:
Be used for utilizing described at least one data block, upgrade the device of at least one clauses and subclauses of described high-speed cache.
27. system as claimed in claim 26, wherein said device for upgrading also comprises:
Be used for utilizing described at least one data block, rebuild the device of the logic-physical mappings corresponding with the logical address of described index page.
28. system as claimed in claim 27, wherein said device for rebuilding also comprises:
Device for the metadata that scans at least one data block that is stored in described NVM.
29. system as claimed in claim 27, wherein said device for rebuilding also comprises:
Be used for reading the device of piece table of the content of described at least one data block.
CN201210448689.5A 2011-09-16 2012-09-14 Process has not closing completely of the system of nonvolatile memory Active CN102999430B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/234,934 2011-09-16
US13/234,934 US9104614B2 (en) 2011-09-16 2011-09-16 Handling unclean shutdowns for a system having non-volatile memory

Publications (2)

Publication Number Publication Date
CN102999430A true CN102999430A (en) 2013-03-27
CN102999430B CN102999430B (en) 2016-04-27

Family

ID=47002643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210448689.5A Active CN102999430B (en) 2011-09-16 2012-09-14 Process has not closing completely of the system of nonvolatile memory

Country Status (7)

Country Link
US (1) US9104614B2 (en)
EP (1) EP2570927B1 (en)
JP (1) JP5702348B2 (en)
KR (2) KR101450396B1 (en)
CN (1) CN102999430B (en)
TW (2) TWI554877B (en)
WO (1) WO2013040236A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632777A (en) * 2016-07-18 2018-01-26 爱思开海力士有限公司 Accumulator system and its operating method
CN112148645A (en) * 2019-06-28 2020-12-29 北京忆芯科技有限公司 De-allocation command processing method and storage device thereof

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5874525B2 (en) * 2012-05-11 2016-03-02 ソニー株式会社 Control device, storage device, and storage control method
US9836353B2 (en) * 2012-09-12 2017-12-05 International Business Machines Corporation Reconstruction of system definitional and state information
AT514444A2 (en) * 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Method and device for timely data transfer to the cyclic tasks in a distributed real-time system
US9829966B2 (en) 2014-09-15 2017-11-28 Apple Inc. Method for preparing a system for a power loss
US10331552B2 (en) 2015-03-10 2019-06-25 Toshiba Memory Corporation Storage device and memory system
KR102403202B1 (en) 2015-03-13 2022-05-30 삼성전자주식회사 Memory system and operating method having meta data manager
FR3036205B1 (en) * 2015-05-13 2019-05-24 Thales COMPUTER IN-FLIGHT ENTERTAINMENT SYSTEM ON BOARD AN AIRCRAFT
US9911487B2 (en) * 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
US10120823B2 (en) 2015-09-25 2018-11-06 Toshiba Memory Corporation Host-safe firmware upgrade of a PCI express device
TWI607309B (en) * 2016-03-16 2017-12-01 群聯電子股份有限公司 Memory management method, memory control circuit unit and memory storage device
US20180239532A1 (en) 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US10359955B2 (en) * 2017-02-23 2019-07-23 Western Digital Technologies, Inc. Data storage device configured to perform a non-blocking control update operation
US20180364937A1 (en) 2017-06-20 2018-12-20 Samsung Electronics Co., Ltd. System and method for managing memory device
KR20200113387A (en) 2019-03-25 2020-10-07 에스케이하이닉스 주식회사 Memory system and operating method thereof
US10942659B2 (en) * 2019-06-03 2021-03-09 International Business Machines Corporation Persistent logical to virtual table
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase
CN114510198B (en) * 2022-02-16 2023-06-30 北京中电华大电子设计有限责任公司 Method for improving erasing and writing efficiency of NVM (non-volatile memory)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (en) * 2006-10-25 2008-04-30 三星电子株式会社 System with flash memory device and data recovery method thereof
CN101930404A (en) * 2010-08-27 2010-12-29 威盛电子股份有限公司 Memory device and operation method thereof
WO2011021174A2 (en) * 2009-08-21 2011-02-24 Xdata Engineering Limited Storage peripheral device emulation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397351B1 (en) 1998-09-28 2002-05-28 International Business Machines Corporation Method and apparatus for rapid data restoration including on-demand output of sorted logged changes
US7269608B2 (en) * 2001-05-30 2007-09-11 Sun Microsystems, Inc. Apparatus and methods for caching objects using main memory and persistent memory
US7137026B2 (en) 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
KR100449708B1 (en) * 2001-11-16 2004-09-22 삼성전자주식회사 Flash memory management method
US20030220948A1 (en) 2002-01-22 2003-11-27 Columbia Data Products, Inc. Managing snapshot/backup collections in finite data storage
US7051050B2 (en) 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
US8095511B2 (en) 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
US7447710B2 (en) * 2003-12-11 2008-11-04 Sybase, Inc. Database system providing self-tuned parallel database recovery
TWI275936B (en) 2004-03-02 2007-03-11 Infortrend Technology Inc Filesystem journaling architecture and data writing method therefor
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
TW200828273A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Hard disk cache device and method
US7769945B2 (en) * 2007-01-18 2010-08-03 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
JP4301301B2 (en) * 2007-02-05 2009-07-22 ソニー株式会社 Nonvolatile semiconductor memory device and management method thereof
US7818610B2 (en) 2007-09-27 2010-10-19 Microsoft Corporation Rapid crash recovery for flash storage
US20090198952A1 (en) * 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US20100250837A1 (en) 2008-05-28 2010-09-30 Hyperstone Gmbh Method for Addressing Page-Oriented Non-Volatile Memories
US8219776B2 (en) 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8468293B2 (en) * 2009-07-24 2013-06-18 Apple Inc. Restore index page
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
JP5707695B2 (en) * 2009-12-08 2015-04-30 沖電気工業株式会社 Flash disk device
WO2012083308A2 (en) * 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (en) * 2006-10-25 2008-04-30 三星电子株式会社 System with flash memory device and data recovery method thereof
WO2011021174A2 (en) * 2009-08-21 2011-02-24 Xdata Engineering Limited Storage peripheral device emulation
CN101930404A (en) * 2010-08-27 2010-12-29 威盛电子股份有限公司 Memory device and operation method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632777A (en) * 2016-07-18 2018-01-26 爱思开海力士有限公司 Accumulator system and its operating method
CN107632777B (en) * 2016-07-18 2020-08-07 爱思开海力士有限公司 Memory system and operating method thereof
CN112148645A (en) * 2019-06-28 2020-12-29 北京忆芯科技有限公司 De-allocation command processing method and storage device thereof

Also Published As

Publication number Publication date
JP5702348B2 (en) 2015-04-15
JP2013065308A (en) 2013-04-11
TW201329700A (en) 2013-07-16
TW201329699A (en) 2013-07-16
EP2570927B1 (en) 2018-04-25
US20130073897A1 (en) 2013-03-21
TWI554877B (en) 2016-10-21
KR101900760B1 (en) 2018-09-20
KR20130030242A (en) 2013-03-26
TWI506417B (en) 2015-11-01
EP2570927A1 (en) 2013-03-20
KR20130030237A (en) 2013-03-26
CN102999430B (en) 2016-04-27
US9104614B2 (en) 2015-08-11
KR101450396B1 (en) 2014-10-14
WO2013040236A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
CN102999430B (en) Process has not closing completely of the system of nonvolatile memory
CN102999431B (en) Weave sequence counter for non-volatile memory systems
CN102693184B (en) Handling dynamic and static data for a system having a non-volatile memory
CN103164346B (en) Use the method and system of LBA bitmap
US8032707B2 (en) Managing cache data and metadata
US9063728B2 (en) Systems and methods for handling hibernation data
KR20230003556A (en) Handling asynchronous power loss in sequentially programming memory subsystems
US20130219106A1 (en) Trim token journaling
CN102298555A (en) Modular flash management system based on Not AND (NAND) technology
CN102160030A (en) Aggregation of write traffic to a data store
CN101763309A (en) Nonvolatile storage device, information recording system, and information recording method
US11797435B2 (en) Zone based reconstruction of logical to physical address translation map
CN112035294A (en) Security log file system, and implementation method and medium thereof
CN100456263C (en) Method for treating broken block when using flash memory in tax-controlled cashing machine
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
CN105353979A (en) Eblock link structure for SSD internal data file system, management system and method
CN111309645B (en) Novel hybrid memory garbage collection method and system based on nonvolatile memory
US10613973B1 (en) Garbage collection in solid state drives
Park et al. A Crash Recovery Scheme for a Hybrid Mapping FTL in NAND Flash Storage Devices. Electronics 2021, 10, 327

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant