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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
Abstract
Description
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
The
The
2 is a diagram illustrating a configuration of a flash memory according to an embodiment of the present invention.
The
The system block within the
The map block in the
User blocks in
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
The data block 300 is allocated to store the input data by the
4 is a diagram showing a configuration of a system page according to an embodiment of the present invention.
The
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
The
For example, the manner in which the
In addition, the
The
For example, in FIG. 4A, there is a system page (0). The
The
The
5 is a diagram illustrating a memory management method according to an embodiment of the present invention.
In
At
In addition, the
In addition, the
The
In
Thereafter, the
In addition, the
FIG. 6 illustrates a method of restoring a memory according to an embodiment of the present invention. Referring to FIG.
In
In
Accordingly, the
To this end, the
In
At this time, the
The
Accordingly, in the process of rebooting the system after an abnormal power loss, the
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)
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 >
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:
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 >
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.
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.
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.
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.
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.
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 >
≪ / RTI >
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.
≪ / RTI >
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.
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.
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.
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.
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 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.
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)
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)
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 |
-
2015
- 2015-06-16 KR KR1020150085378A patent/KR101676175B1/en active IP Right Grant
Patent Citations (4)
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)
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 |