KR101676175B1 - Apparatus and method for memory storage to protect data-loss after power loss - Google Patents

Apparatus and method for memory storage to protect data-loss after power loss Download PDF

Info

Publication number
KR101676175B1
KR101676175B1 KR1020150085378A KR20150085378A KR101676175B1 KR 101676175 B1 KR101676175 B1 KR 101676175B1 KR 1020150085378 A KR1020150085378 A KR 1020150085378A KR 20150085378 A KR20150085378 A KR 20150085378A KR 101676175 B1 KR101676175 B1 KR 101676175B1
Authority
KR
South Korea
Prior art keywords
block
blocks
page
map
user
Prior art date
Application number
KR1020150085378A
Other languages
Korean (ko)
Inventor
송용호
정상혁
Original Assignee
한양대학교 산학협력단
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 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020150085378A priority Critical patent/KR101676175B1/en
Priority to PCT/KR2016/006392 priority patent/WO2016204529A1/en
Priority to US15/736,607 priority patent/US20180189144A1/en
Application granted granted Critical
Publication of KR101676175B1 publication Critical patent/KR101676175B1/en

Links

Images

Classifications

    • 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
    • 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
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • 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
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention

Abstract

A memory storage device and method for preventing data loss after power loss is disclosed. A memory management method includes a step of determining first user blocks to be recorded among a plurality of user blocks where data is to be recorded; a step of storing recording order information for determined first user blocks in the system page of the system block; and a step of storing a mapping table for the first user blocks in the map page of a map block when data is recorded in all of the first user blocks corresponding to the order information.

Description

TECHNICAL FIELD [0001] The present invention relates to a memory storage device and method for preventing data loss after a power loss,

The present invention relates to a memory storage device and method for preventing data loss after a power loss, and more particularly, to a memory storage device and method for preventing data loss after a power loss. More specifically, To an apparatus and method for storing a memory.

Recently, flash memory based storage devices have attracted attention as a main storage medium for mobile systems and personal portable computer systems. Such a flash memory-based storage device is expected to be used as a next-generation storage medium to replace the conventional hard disk.

However, since there are many disadvantages according to the characteristics of the semiconductor devices constituting the flash memory, there is a need for a mechanism for effectively analyzing and solving the flash memory. To this end, a flash memory based storage device is used by supplementing the disadvantage of a flash memory mounted through a controller. The disadvantage of flash memory is that it can not be overwritten, and there are limitations on the number of erasures. Therefore, there is a need for a mapping technique capable of flexibly accessing a region of a flash memory where data is stored in order to overcome such shortcomings and to provide an interface such as an existing hard disk. Such a mapping table is often changed and stored in volatile memory such as SRAM or DRAM in addition to flash memory because it needs to be accessed quickly.

However, the volatile memory such as SRAM or DRAM has a problem that stored data is evaporated when power is lost. In order to solve this problem, a flash memory based storage device should use a technique of storing a mapping table stored in a volatile memory such as an SRAM or a DRAM as a whole or in a separate flash memory.

At this time, if the mapping table is stored in the flash memory too frequently, a large storage space for processing the mapping table must be secured, and the performance of the flash memory based storage device may be deteriorated in view of a large delay time. The reboot time after the power loss is required to check the storage area and restore the mapping table to restore the state before the power loss, but it should be managed so that only a delay that can be accepted by the user occurs. As a result, a trade-off relationship is established between the storage frequency of the mapping table and the reboot time after the power loss, and a method of managing the balance in a balanced manner should be used.

However, the prior art is not based on an accurate analysis of the trade-off relationship between the storage frequency of such a mapping table and the reboot time after power loss. In addition, it caused a very large delay time to retrieve the last used user block at the time of reboot after power loss.

The present invention relates to a memory storage device and method for preventing data loss after a power loss, and more particularly, to a memory storage device and method for preventing data loss after a power loss by using a system page storing recording order information for user blocks, The present invention provides an apparatus and method for recovering a mapping table by quickly searching for a user block used immediately before termination.

According to an embodiment of the present invention, there is provided a method for storing a memory, the method comprising: determining first user blocks to be recorded among a plurality of user blocks to be recorded with data; And storing the mapping table for the first user blocks in a map page of the map block if data is recorded in all of the first user blocks corresponding to the recording order information, have.

Storing the recording order information for the second user blocks in which the current data is recorded among the plurality of user blocks in the system page of the system block.

The method of storing a memory according to an embodiment of the present invention includes: checking a map block used immediately before an abnormal end of a plurality of map blocks; restoring a mapping table stored in a map page of the identified map block; Determining a system block used immediately before an abnormal termination in a plurality of system blocks, and updating the mapping table using information about first user blocks stored in a system page of the determined system block have.

The checking step may identify the map block used immediately before the abnormal end by using the first page information and the last page information of each of the plurality of map blocks.

Wherein the first page information of each of the plurality of map blocks includes allocation order information of the map block at a time point when the map block is allocated and used and the last page information of each of the plurality of map blocks includes And information indicating whether or not the map block is deleted if all of the map blocks are used.

The restoring step may transmit the mapping table stored in the map page of the map block used immediately before the abnormal termination to the cache memory.

The determining may identify the system block used immediately before the abnormal termination using the first page information and the last page information of each of the plurality of system blocks.

Wherein the first page information of each of the plurality of system blocks includes allocation order information of the system block at a time when a system block is allocated and used and the last page information of each of the plurality of system blocks includes And information that can confirm whether or not the system block has been deleted if all of the system blocks are used.

Wherein the step of updating comprises: checking a last used system page among the system blocks used immediately before the abnormal termination, checking information of the first user blocks stored in the identified system page, Determining a first user block used immediately before an abnormal termination by searching a first page and a last page and correcting a mapping table stored in the cache memory using the first user block used immediately before the determined abnormal termination .

The memory storage device according to an embodiment of the present invention determines first user blocks to be recorded among a plurality of user blocks to which data is to be written and writes the recording order information on the determined first data blocks to a system And a controller for storing the mapping table for the first user blocks in a map page of the map block when data is recorded in all of the first user blocks corresponding to the order information.

The controller may further store the order information on the second user blocks in which the current data is recorded among the plurality of user blocks in the system page of the system block.

The memory storage device according to an embodiment of the present invention confirms a map block used immediately before an abnormal end of a plurality of map blocks, restores a mapping table stored in the map page of the identified map block, And a controller for determining the system block used immediately before the abnormal termination in the system block of the determined system block and updating the mapping table using the information about the first user blocks stored in the system page of the determined system block.

The controller can identify the map block used immediately before the abnormal end by using the first page information and the last page information of each of the plurality of map blocks.

Wherein the first page information of each of the plurality of map blocks includes allocation order information of the map block at a time point when the map block is allocated and used and the last page information of each of the plurality of map blocks includes And information indicating whether or not the map block is deleted if all of the map blocks are used.

The controller may transmit the mapping table stored in the map page of the map block used immediately before the abnormal termination to the cache memory.

The controller can identify the system block used immediately before the abnormal termination by using the first page information and the last page information of each of the plurality of system blocks.

Wherein the first page information of each of the plurality of system blocks includes allocation order information of the system block at a time when a system block is allocated and used and the last page information of each of the plurality of system blocks includes And information that can confirm whether or not the system block has been deleted if all of the system blocks are used.

The controller checks the last used system page among the system blocks used immediately before the abnormal termination and checks the first page of the first user blocks using the information about the first user blocks stored in the checked system page, And determining a first user block used immediately before the abnormal termination by searching for the last page and modifying the mapping table stored in the cache memory using the first user block used immediately before the determined abnormal termination.

According to an embodiment of the present invention, a system page storing recording order information for user blocks scheduled to be recorded among a plurality of user blocks in which data is to be recorded is used to quickly find a user block used immediately before an abnormal end, Can be recovered.

1 is a block diagram illustrating a memory storage device according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of a flash memory according to an embodiment of the present invention.
3 is a block diagram illustrating a data block in a flash memory according to an embodiment of the present invention.
4 is a diagram showing a configuration of a system page according to an embodiment of the present invention.
5 is a diagram illustrating a memory management method according to an embodiment of the present invention.
FIG. 6 illustrates a method of restoring a memory according to an embodiment of the present invention. Referring to FIG.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

1 is a block diagram illustrating a memory storage device according to an embodiment of the present invention.

The memory storage device 100 may be comprised of a controller 110, a cache memory 120, and a flash memory 130. The controller 110 may store data in the flash memory 130, or may read and delete stored data. In the present invention, the controller 130 stores data in the flash memory 130 using a system page, and provides a method for quickly recovering the mapping table after an abnormal power loss. At this time, in the system page, recording order information about user blocks to be recorded among a plurality of user blocks to which data is to be recorded can be stored. The details will be described in the following drawings.

The cache memory 120 may store a mapping table. The mapping table must be changed frequently every time the input data is stored in the flash memory 130, and may be stored in the flash memory such as SRAM or DRAM because it needs to be accessed quickly. However, such a volatile memory may cause data stored in the memory to evaporate when power is lost. Therefore, the mapping table stored in the cache memory 120 needs to be stored in a separate flash memory 130 or in a separate flash memory 130 by dividing the changed portion.

The flash memory 130 may comprise a plurality of data blocks. Each data block is composed of a plurality of pages, and data can be stored in each page. The data blocks may be represented by system blocks, map blocks, and user blocks according to information stored in pages in the data block. The detailed configuration of the flash memory 130 will be described with reference to FIG.

2 is a diagram illustrating a configuration of a flash memory according to an embodiment of the present invention.

The flash memory 130 may comprise a plurality of data blocks. At this time, a data block in which a system page is stored is defined as a system block, and a data block in which a mapping table is stored can be defined as a map block. In addition, a data block in which input data is stored can be defined as a user block. The flash memory 130 may include a system block area 210 including a plurality of system blocks, a map block area 220 including map blocks, and a user block area 230 including user blocks.

The system block within the system block area 210 may store a system page. The system page may include recording order information for user blocks to be recorded among a plurality of user blocks to which data is to be recorded. The memory storage device 100 can quickly recover the user block used immediately before the abnormal termination by using the system page, thereby reducing the time for recovering the mapping table after the power loss. The memory storage device 100 may check the map block in which the mapping table is stored and the user block that was in use immediately before the abnormal termination in order to recover the mapping table after an abnormal power loss. At this time, by confirming the allocation order stored in the first page of the map block and the user blocks and the information that can be verified as to whether or not the corresponding map block and user blocks stored in the last page are deleted, the map block and the user block can confirm.

The map block in the map block area 220 may store a mapping table. The mapping table may be generated through a Flash translation layer in the controller 110. The flash conversion layer may convert a logical address of data into a physical address block in the flash memory 130 and a physical address in a page, thereby connecting a logical address and a physical address. This mapping table must be changed frequently each time data is stored in the flash memory 130 and may be stored in a cache memory such as SRAM or DRAM because it needs to be accessed quickly. However, a cache memory such as an SRAM or a DRAM may cause a problem that stored data is evaporated when power is lost. Accordingly, the controller 110 needs to store the entire mapping table stored in the cache memory 120 in the flash memory 130, or store the changed portion in the mapping table in the map block of the flash memory 130 according to a separate method .

User blocks in user block area 230 may store data. The user block may be composed of a plurality of pages, and the data may be sequentially stored in a plurality of pages.

3 is a block diagram illustrating a data block in a flash memory according to an embodiment of the present invention.

The data block 300 may comprise a plurality of pages. One page may be divided into a data area 310 and a spare area 320. Data may be stored in the data area 310, and a mapping table for the page, an error correction code (ECC), and the like may be stored in the spare area 320. For example, data of a mapping table of data present in the flash memory 130 is stored in a data area constituting a page of the map block among the data blocks 300, and data of a mapping table of data existing in the flash memory 130 is stored in the spare area. A mapping table and an error correction code can be stored. Alternatively, data is stored in a data area constituting a page of a user block of the data block 300, and a mapping table and an error correction code for a page of the corresponding user block may be stored in the spare area.

The data block 300 is allocated to store the input data by the controller 110 and may store the allocation order on the first page of the data block at the time of use. Data may be stored in order from the first page to the last page of the data block and a mapping table stored in the spare area 320 of each page included in the data block 300 may be stored in the last page 330 . At this time, the data block 300 may include information for confirming whether or not the data block is erased in the last page 330 when all pages of the data block are used.

4 is a diagram showing a configuration of a system page according to an embodiment of the present invention.

The memory storage device 100 may check the map block in which the mapping table is stored and the user block that was in use immediately before the abnormal termination in order to recover the mapping table after an abnormal power loss. In order to check the latest information of the data stored in the user block, it is also necessary to arrange all the user blocks in the allocated order.

The present invention proposes a method for dramatically reducing the time for confirming a user block that was in use immediately prior to an abnormal termination and the time for sorting all user blocks in the assigned order. In the present invention, the memory storage device 100 provides a method of dramatically reducing the checking time and the sorting time using the system page 400. [

The system page 400 may include a first user block list 410, a second user block list 420, and a third user block list 430. In the flash memory 130, there are user blocks in a free state in which data can be written. It is possible to determine user blocks that are scheduled to be written out among the user blocks in the free state (Free) of the memory storage device 100. At this time, user blocks to be recorded in the future can be defined as a first user block. The Open list of FIG. 4 may correspond to the first user block.

For example, the manner in which the memory storage device 100 determines the first user block may be based on the number of rewrites of the user blocks. The number of rewritable times is determined for the flash memory 130 and can not be used any more if the rewritable number is rewritten. Therefore, the memory storage device 100 manages the number of rewriting of user blocks, and can determine a user block having a small rewrite frequency as a first user block. At this time, the memory storage device 100 may store the recording order information for the determined first user blocks in the first user block list 410 of the system page 400. [

In addition, the memory storage device 100 may define user blocks in a state where data is recorded as a second user block. The closed list of FIG. 4 may correspond to the second user block. At this time, the controller 110 may store the recording order information for the second user blocks in the second user block list 420 of the system page 400. [ The second user block list 420 of FIG. 4 includes two user blocks, but may store more second user block lists 420 using the idle space of system pages.

The memory storage device 100 may define user blocks in an empty state (Free) as a third user block so that data can be recorded except for the first user block and the second user block. The Free list of FIG. 4 may correspond to a third user block. At this time, the memory storage device 100 may store the recording order information for the third user blocks in the third user block list 430 of the system page 400. [ The memory storage device 100 may use the third user block list 430 to determine a first user block list 410 to be stored in the system page 400 to be formed later.

For example, in FIG. 4A, there is a system page (0). The system page 0 includes a first user block list 410 such that the memory storage device 100 can store data in order of user block 5, user block 2, user block 6, 1 < / RTI > user blocks. At this time, it can be seen that the fourth user block and the seventh user block stored in the second user block list 420 are user blocks in which data is already recorded.

The memory storage device 100 may store the mapping table for the first user blocks in the page of the map block if all the data is stored in the user blocks included in the first user block list 410. [ The memory storage device 100 may then allocate a new system page 1 as shown in FIG. 4B and store the order information for the first user blocks scheduled to write data, such as system page 0 have. In FIG. 4B, the memory storage device 100 stores the recording order information for the first user blocks in the order of 3 user blocks, 8 user blocks, 1 user block, and 0 user block, Can be stored in the page (1). In addition, the memory storage device 100 may update the recording order information on the user blocks in which data is already stored via the system page (0) in the second user block list 420. [

The controller 110 may also store the write order information for the map blocks to which the mapping table is scheduled to be written in the map block list 440 of the system page 400 in the future.

5 is a diagram illustrating a memory management method according to an embodiment of the present invention.

In step 510, the memory storage device 100 may determine first user blocks to be written ahead of a plurality of user blocks to which data is to be written. At this time, there are various methods for the memory storage device 100 to determine the first user blocks. For example, the memory storage device 100 may manage the number of times of rewriting of each of a plurality of user blocks to which data is to be written, and determine a user block having the smallest rewrite frequency as a first user block.

At step 520, the memory storage device 100 may store the recording order information for the determined first user blocks in a system page in the system block. That is, the memory storage device 100 may determine the user block to which the subsequent data is to be written using the recording order information for the first user blocks stored in the system page.

In addition, the memory storage device 100 may store, in the system page of the system block, the recording order information for the second user blocks in which the current data is recorded, among the plurality of user blocks. That is, the memory storage device 100 can identify user blocks on which data has been recorded through the second user block list 420.

In addition, the memory storage device 100 may determine free user blocks as third user blocks so that data can be recorded except for a first user block and a second user block among a plurality of user blocks . The third user block is a user block in which data is recordable, but is not determined as a first user block by the memory storage device 100.

The memory storage device 100 can determine the map blocks to be written in the future among the plurality of map blocks in which the mapping table is to be recorded. The memory storage device 100 may store the write order information for the determined map blocks in the system page in the system block. That is, the memory storage device 100 may determine the map block to which the mapping table is to be written by using the write order information about the map blocks stored in the system page.

In step 530, when data is recorded in all of the first user blocks corresponding to the recording order information on the first user blocks stored in the system page, the memory storage device 100 stores the data stored in the cache memory 120 A mapping table for one user block can be stored in the map page of the map block. At this time, since the mapping table for the first user blocks in the entire map table is changed, the memory storage device 100 can store only the mapping table for the changed first user blocks in the map page of the map block.

Thereafter, the memory storage device 100 may allocate a new system page, and may determine user blocks that are scheduled to be written in the future among the third user blocks as a new first user block. The memory storage device 100 may store the write order information for the new first user blocks in the system page in the system block.

In addition, the memory storage device 100 may store the data of the second user blocks of the newly allocated system page using the recording order information for the first user blocks, The recording order information can be updated.

FIG. 6 illustrates a method of restoring a memory according to an embodiment of the present invention. Referring to FIG.

In step 610, the memory storage device 100 may identify the map block used immediately before the abnormal termination of the plurality of map blocks. The first page of each map block may include allocated sequence information at a time when the map block is allocated and used by the memory storage device 100. [ The last page of each map block may include information for confirming whether or not the map block is deleted when all pages of the corresponding map block are used. Accordingly, the memory storage device 100 can check the map block used immediately before the abnormal end by searching the first page and the last page of the plurality of map blocks.

In step 620, the memory storage device 100 may restore the mapping table stored in the map page of the map block identified in step 610. [ The memory storage device 100 may transmit the mapping table stored in the map page of the map block to the cache memory. For example, suppose there is an abnormal power loss in the process of storing data in the user block by the system page 1 existing in FIG. 4B. The memory storage device 100 may restore the mapping table stored in the map page of the identified map block. At this time, the mapping table transmitted to the cache memory by the memory storage device 100 is stored up to the mapping table for the first user blocks in which data is stored by the system page (0). That is, the mapping table stored in the map page of the identified map block has a lack of the latest information.

Accordingly, the memory storage device 100 restores the mapping table of the latest state by updating the mapping table for the first user blocks stored in accordance with the information of the system page 1 in use immediately before the abnormal termination to the cache memory .

To this end, the memory storage device 100 may determine, in step 630, the system block used just before the abnormal termination. At this time, the memory storage device 100 may use the same method as in step 610. [ That is, the memory storage device 100 can identify the system block used immediately before the abnormal termination by searching the first page and the last page of the plurality of system blocks.

In step 640, the memory storage device 100 may update the restored mapping table in the cache memory using the system block used immediately before the abnormal termination determined in step 630. [ Specifically, the memory storage device 100 can confirm the last used system page among the system blocks used immediately before the abnormal termination.

At this time, the memory storage device 100 may determine the first user block used immediately before the abnormal termination by using the information about the first user blocks stored in the identified system page. The memory storage device 100 can determine the first user block used immediately before the abnormal termination by searching the first page information and the last page information of the first user blocks.

The memory storage device 100 may modify the mapping table stored in the cache memory using the first user block information immediately before the abnormal termination. The system page 1 stores the recording order information for the first user blocks. That is, the memory storage device 100 may update the mapping table using the recording order information for the first user blocks stored in the system page 1 and the first user block information used immediately before the abnormal termination. At this time, the memory storage device 100 may restore the mapping table of the latest state by updating the mapping table stored in the spare area of each of the first user blocks to the cache memory.

Accordingly, in the process of rebooting the system after an abnormal power loss, the memory storage device 100 can restore the mapping table more quickly by using the system page including the recording order information for the first user blocks . This can reduce the number of user blocks to be searched through the recording order information on the first user blocks stored in the system page in the process of searching for a user block used immediately before the abnormal termination and reduce the time for sorting user blocks Because.

The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.

While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: memory storage device
110: controller
120: Cache memory
130: flash memory
210: system block area
220: map block area
230: User block area
300: User block
310: data area
320: spare area
330: Last page
400: System Page
410: first user block list
420: second user block list
430: third user block list
440: Map block list

Claims (18)

Determining first user blocks to be recorded among a plurality of user blocks in which data is to be recorded, based on the number of rewrite times of user blocks;
Storing the recording order information for the determined first user blocks in the system page of the system block; And
Storing the mapping table for the first user blocks in the map page of the map block if data is recorded in all of the first user blocks corresponding to the recording order information
/ RTI >
The method according to claim 1,
Storing the recording order information on the second user blocks in which the current data is recorded among the plurality of user blocks in the system page of the system block
Further comprising the steps of:
Identifying a map block used immediately before an abnormal end of a plurality of map blocks;
Restoring a mapping table stored in a map page of the identified map block;
Determining a system block used immediately before an abnormal termination in a plurality of system blocks; And
Updating the mapping table using information on the first user blocks stored in the system page of the determined system block
/ RTI >
The method of claim 3,
Wherein the verifying step comprises:
Wherein a map block used immediately before an abnormal termination is identified using first page information and last page information of each of the plurality of map blocks.
The method of claim 3,
Wherein the first page information of each of the plurality of map blocks comprises:
The mapping block includes allocation order information of the map block at the time when the map block is allocated and used,
Wherein the last page information of each of the plurality of map blocks comprises:
And if the pages of the map block are all used, whether to delete the map block.
The method of claim 3,
Wherein,
The mapping table stored in the map page of the map block used immediately before the abnormal termination is transferred to the cache memory.
The method of claim 3,
Wherein the determining comprises:
Wherein a system block used immediately before abnormal termination is identified using first page information and last page information of each of the plurality of system blocks.
8. The method of claim 7,
Wherein the first page information of each of the plurality of system blocks comprises:
The system block includes allocation order information of the system block at a time when the system block is allocated and used,
Wherein the last page information of each of the plurality of system blocks includes:
And if the pages of the system block are all used, whether to delete the system block.
The method of claim 3,
Wherein the updating comprises:
Checking a last used system page among the system blocks used immediately before the abnormal termination;
Determining a first user block used immediately before an abnormal end by searching a first page and a last page of the first user blocks using information about first user blocks stored in the identified system page; And
Modifying the mapping table stored in the cache memory using the first user block used immediately before the determined abnormal termination
/ RTI >
Determining first user blocks to be recorded among a plurality of user blocks in which data is to be recorded based on the number of rewrite times of user blocks, storing the recording order information on the determined first data blocks in a system page of the system block A controller for storing a mapping table for the first user blocks in a map page of the map block if data is recorded in all of the first user blocks corresponding to the order information,
≪ / RTI >
11. The method of claim 10,
The controller comprising:
Wherein the order information for the second user blocks in which the current data is recorded among the plurality of user blocks is further stored in the system page of the system block.
A mapping table stored in a map page of the identified map block is restored, and a mapping table stored in a system block used immediately before an abnormal termination in a plurality of system blocks And a controller for updating the mapping table using the information about the first user blocks stored in the system page of the determined system block,
≪ / RTI >
13. The method of claim 12,
The controller comprising:
Wherein a map block used immediately before an abnormal end is identified using first page information and last page information of each of the plurality of map blocks.
14. The method of claim 13,
Wherein the first page information of each of the plurality of map blocks comprises:
The mapping block includes allocation order information of the map block at the time when the map block is allocated and used,
Wherein the last page information of each of the plurality of map blocks comprises:
And information that can confirm whether or not the map block is deleted if all the pages of the map block are used.
13. The method of claim 12,
The controller comprising:
The mapping table stored in the map page of the map block used immediately before the abnormal termination is transferred to the cache memory.
13. The method of claim 12,
The controller comprising:
Wherein a system block used immediately before an abnormal termination is identified using first page information and last page information of each of the plurality of system blocks.
13. The method of claim 12,
Wherein the first page information of each of the plurality of system blocks comprises:
The system block includes allocation order information of the system block at a time when the system block is allocated and used,
Wherein the last page information of each of the plurality of system blocks includes:
And if the pages of the system block are all used, whether to delete the system block.
13. The method of claim 12,
The controller comprising:
Checking a last used system page among the system blocks used immediately before the abnormal termination and checking the first page of the first user blocks and the last page of the first user blocks stored in the verified system page, To determine a first user block used immediately before the abnormal termination and to modify the mapping table stored in the cache memory using the first user block used immediately before the determined abnormal termination.
KR1020150085378A 2015-06-16 2015-06-16 Apparatus and method for memory storage to protect data-loss after power loss KR101676175B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150085378A KR101676175B1 (en) 2015-06-16 2015-06-16 Apparatus and method for memory storage to protect data-loss after power loss
PCT/KR2016/006392 WO2016204529A1 (en) 2015-06-16 2016-06-16 Memory storage device and method for preventing data loss after power loss
US15/736,607 US20180189144A1 (en) 2015-06-16 2016-06-16 Apparatus and method for memory storage to protect data-loss after power loss

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150085378A KR101676175B1 (en) 2015-06-16 2015-06-16 Apparatus and method for memory storage to protect data-loss after power loss

Publications (1)

Publication Number Publication Date
KR101676175B1 true KR101676175B1 (en) 2016-11-14

Family

ID=57528497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150085378A KR101676175B1 (en) 2015-06-16 2015-06-16 Apparatus and method for memory storage to protect data-loss after power loss

Country Status (1)

Country Link
KR (1) KR101676175B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402719A (en) * 2016-11-25 2017-11-28 慧荣科技股份有限公司 Data storage method and data recovery program for data storage device, and data storage device using the same
US10824518B2 (en) 2017-09-20 2020-11-03 SK Hynix Inc. Memory system and operating method thereof
US11893272B2 (en) 2021-03-04 2024-02-06 Samsung Electronics Co., Ltd. Memory storage device, method for operating the storage device and method for operating a host device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080037283A (en) * 2006-10-25 2008-04-30 삼성전자주식회사 System comprising flash memory device and data recovery method thereof
KR20110046243A (en) * 2009-10-27 2011-05-04 삼성전자주식회사 User device and its mapping data management method
KR20110096829A (en) * 2010-02-23 2011-08-31 엘지전자 주식회사 Semiconductor storage device and control method of the same
KR20110139956A (en) * 2010-06-24 2011-12-30 삼성전자주식회사 Data storage device and data management method for processing of mapping table

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080037283A (en) * 2006-10-25 2008-04-30 삼성전자주식회사 System comprising flash memory device and data recovery method thereof
KR20110046243A (en) * 2009-10-27 2011-05-04 삼성전자주식회사 User device and its mapping data management method
KR20110096829A (en) * 2010-02-23 2011-08-31 엘지전자 주식회사 Semiconductor storage device and control method of the same
KR20110139956A (en) * 2010-06-24 2011-12-30 삼성전자주식회사 Data storage device and data management method for processing of mapping table

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402719A (en) * 2016-11-25 2017-11-28 慧荣科技股份有限公司 Data storage method and data recovery program for data storage device, and data storage device using the same
CN107402719B (en) * 2016-11-25 2020-10-16 慧荣科技股份有限公司 Data storage method and data recovery method for data storage device, and data storage device using the same
US10824518B2 (en) 2017-09-20 2020-11-03 SK Hynix Inc. Memory system and operating method thereof
US11893272B2 (en) 2021-03-04 2024-02-06 Samsung Electronics Co., Ltd. Memory storage device, method for operating the storage device and method for operating a host device

Similar Documents

Publication Publication Date Title
US9767035B2 (en) Pass-through tape access in a disk storage environment
CN105843551B (en) Data integrity and loss resistance in high performance and large capacity storage deduplication
US9817588B2 (en) Memory device and operating method of same
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9104329B2 (en) Mount-time reconciliation of data availability
KR101870521B1 (en) Methods and systems for improving storage journaling
US10261704B1 (en) Linked lists in flash memory
US11106362B2 (en) Additive library for data structures in a flash memory
KR101933766B1 (en) Methods and systems for improving flash memory flushing
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
US20180189144A1 (en) Apparatus and method for memory storage to protect data-loss after power loss
US20230244382A1 (en) Deallocated Block Determination
CN103559139A (en) Data storage method and device
US10817624B2 (en) Memory system and storage device capable of permanently deleting data stored in a non-volatile memory
KR101676175B1 (en) Apparatus and method for memory storage to protect data-loss after power loss
US10942811B2 (en) Data processing method for solid state drive
KR100954603B1 (en) A log file of file system and method for recovering file system
JP6988445B2 (en) Storage system, control device and control method
CN103389943A (en) Control device, storage device, and storage control method
KR101608623B1 (en) Apparatus and method for memory recovery to effective data recovery after power loss
US9760485B2 (en) Fast write and management of persistent cache in a system that includes tertiary storage
US20220164135A1 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
US10817215B2 (en) Data storage system and control method for non-volatile memory
US10740015B2 (en) Optimized management of file system metadata within solid state storage devices (SSDs)
US7996598B2 (en) Memory management module

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 4