KR101663425B1 - Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability - Google Patents

Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability Download PDF

Info

Publication number
KR101663425B1
KR101663425B1 KR1020150092405A KR20150092405A KR101663425B1 KR 101663425 B1 KR101663425 B1 KR 101663425B1 KR 1020150092405 A KR1020150092405 A KR 1020150092405A KR 20150092405 A KR20150092405 A KR 20150092405A KR 101663425 B1 KR101663425 B1 KR 101663425B1
Authority
KR
South Korea
Prior art keywords
data
user blocks
determined
recorded
locality
Prior art date
Application number
KR1020150092405A
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 KR1020150092405A priority Critical patent/KR101663425B1/en
Priority to US15/736,607 priority patent/US20180189144A1/en
Priority to PCT/KR2016/006392 priority patent/WO2016204529A1/en
Application granted granted Critical
Publication of KR101663425B1 publication Critical patent/KR101663425B1/en

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Disclosed are a memory storage apparatus and a memory storage method for managing multiple open blocks, capable of improving memory performance and memory durability. The memory storage method includes the steps of: determining a plurality of user blocks to be scheduled for recording among a plurality of user blocks to which data are to be recorded; determining whether the data have temporal locality or spatial locality if the data to be recorded into the determined user blocks are transmitted through a host system; and recording the data into the determined user blocks based on the determined locality of the data.

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory storage device and a method of managing multiple open blocks for improving performance and durability of a storage device,

The present invention relates to an apparatus and method for managing multiple open blocks for improving performance and durability of a storage device, and more particularly, to a method and apparatus for managing temporal locality or spatial locality of data, And more particularly, to a multiple open block management apparatus and method for recording on a user block on the basis of a plurality of open blocks.

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.

In order to maintain the mapping management for the storage area of the flash memory and to keep the mapping table in the nonvolatile state, one open block or a very small number (2 to 4) is managed. An open block is a block in which a write operation is actually performed while a flash storage device is in operation. After all pages have been written, an open block changes its state to a closed block. In the closed block, all the mapping information for the corresponding block is accumulated in the last page, and all the information on the closed state is stored in the block map table. Therefore, the management of multiple open blocks causes a problem in that a power failure is caused in the storage device by keeping the blocks in an incomplete state unclosed.

The present invention relates to an apparatus and method for managing multiple open blocks for enhancing the performance and durability of a storage device, and more particularly to an apparatus and method for managing multiple open blocks for improving the performance and durability of a storage device, To thereby improve the performance and durability of the storage device.

 According to an embodiment of the present invention, there is provided a memory storing method comprising: determining a plurality of user blocks to be recorded among a plurality of user blocks to be recorded with data; Determining whether the data has a locality of temporal locality or spatial locality, and writing the data to the determined user blocks based on the locality of the identified data .

The checking step may confirm that the data has temporal locality if the data needs to be repeatedly written to a specific logical address during a preset time interval.

Wherein the verifying step can verify that the data has a spatial locality if the data needs to be written to a similar logical address area.

The recording step may sequentially record the data on a plurality of pages included in one of the plurality of user blocks, when the data is confirmed to have spatial localization.

The recording step may record the data in one of the plurality of user blocks when the data is determined to have temporal locality.

Wherein the recording step comprises: dividing the data according to a multi-process or a multi-thread of the host system when the data is confirmed to have spatial localization; and dividing each of the divided data into a plurality of users Can be collected and recorded in any one of the user blocks.

A method for storing a memory according to an embodiment of the present invention includes the steps of determining a plurality of first user blocks to be recorded among a plurality of user blocks to be recorded with data, The method comprising: confirming whether the data has a locality of temporal locality or spatial locality when delivered through a system, determining whether the data is localized based on locality of the identified data, 1 user blocks, and switching the first user blocks into second user blocks, in which data is written, when data is recorded in all of the determined first user blocks.

The determining may further include recording the determined plurality of first user blocks in a system page of the system block.

The memory storage device according to an embodiment of the present invention includes a controller for performing a plurality of operations, and the plurality of operations determine a plurality of user blocks to be recorded among a plurality of user blocks to which data is to be written Checking whether the data has temporal locality or spatial locality when the data to be recorded in the determined user blocks are transferred through the host system, And writing the data to the determined user blocks based on the locality of the identified data.

The controller may verify that the data has temporal locality if the data needs to be repeatedly written to a specific logical address during a preset time interval.

If the data needs to be written to a similar logical address area, the controller can verify that the data has spatial localization.

The controller may sequentially record the data on a plurality of pages included in one of the plurality of user blocks if the data is confirmed to have spatial localization.

The controller may collect the data to be recorded in one of the plurality of user blocks when the data is confirmed to have temporal locality.

The controller divides the data according to a multi-process or a multi-thread of the host system when the data is confirmed to have spatial localization, and divides each of the divided data into a plurality of user blocks In the user block.

The memory storage device according to an embodiment of the present invention includes a controller for performing a plurality of operations, the plurality of operations including a plurality of first user blocks to be recorded, Determining whether the data has temporal locality or spatial locality when the data to be recorded in the determined first user blocks are transmitted through the host system; Recording the data on the determined first user blocks based on the locality of the verified data, and recording the first user blocks on the basis of the recorded data if the data is recorded in all of the determined first user blocks. To the completed second user blocks.

The controller may further include writing the determined plurality of first user blocks in a system page of the system block.

According to an embodiment of the present invention, the temporal locality or the spatial locality of data can be confirmed, and the performance and durability of the storage device can be improved by recording the data on the user block based on the confirmed locality .

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.
FIG. 3 illustrates how data according to an embodiment of the present invention is divided and stored in an associated open block.
FIG. 4 illustrates a method of recording data in an open block according to an embodiment of the present invention.
FIG. 5 illustrates a method of managing an open block on a system page according to an embodiment of the present invention.
FIG. 6 illustrates a method of recording data in an open block managed in a system page according to an embodiment of the present invention.

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 110 confirms whether the data transmitted through the host system has temporal locality or spatial locality, and then, based on the confirmed locality, To the user block in the memory 130.

The cache memory 120 may store a mapping table. The mapping table must be changed frequently each time data is stored in the flash memory 130 and may be stored in a 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 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 information in user blocks that are scheduled to be written out among a plurality of user blocks in which data is to be recorded. The memory storage device 100 may use the system page to quickly find a user block used immediately before an abnormal power loss, thereby reducing the time required to recover the mapping table after an abnormal 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 power loss to recover the mapping table after an abnormal power loss. At this time, by confirming information that can be confirmed as to whether or not the allocation order stored in the first page of the map block and the user blocks and the corresponding map block and user blocks stored in the last page are deleted, the map block and the user You can see the block.

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.

FIG. 3 illustrates how data according to an embodiment of the present invention is divided and stored in an associated open block.

In the present invention, the controller 110 may determine a plurality of user blocks to be recorded from among a plurality of user blocks to which data is to be recorded. At this time, the determined plurality of user blocks can be represented as an open block, and the controller 110 can divide the data transferred through the host system according to the kind of the locality and record the data in the open blocks.

If a limited open block is used as in the conventional case, there is a high probability that data having different localities are mixed and stored in one open block. That is, if a data group frequently changed in one open block and a fixed data group are mixed, a fixed data group is unnecessarily moved to another open block at the time of garbage collection, resulting in overhead.

In the present invention, the controller 110 checks whether the data transmitted through the host system has temporal locality or spatial locality, and transmits the data to the open block A plurality of pages included in one of the open blocks may be sequentially recorded.

First, the controller 110 may verify that the data has temporal locality if the data needs to be repeatedly written to a specific logical frequency during a preset time interval. For example, programs that can be used repeatedly, such as iterative loop programs or subroutine programs, can occur very frequently in a particular logical address space in a short period of time. At this time, if the time interval is defined and all accesses to a specific logical address occurring during the same time interval are processed in one open block, there is a high probability that almost all pages existing in one open block at the time of garbage collection are invalidated. Accordingly, when it is determined that the data has temporal locality, the controller 110 collects and records the data in one of the plurality of user blocks, thereby reducing the number of pages in the open block to be moved at the time of garbage collection The performance and durability of the storage device can be improved.

Secondly, the controller 110 may verify that the corresponding data has a spatial locality if the data needs to be written to a similar logical address area. For example, fixed files of a program such as a multimedia file or an OS (Operating System) are moved or deleted all at once after being stored in a specific logical address area. Therefore, it is effective for garbage collection that such files are stored in one open block. Accordingly, when it is determined that the data has spatial localization, the controller 110 can sequentially record the data on a plurality of pages included in one of the plurality of open blocks.

Third, the controller 110 can effectively handle write access to a storage device of a host system supporting multi-process and multi-thread. From the viewpoint of a host system having one process or one thread, the controller 110 sequentially stores one piece of data connected to a logical address area in an open block, but recently, a host system supporting multi- Multiple data are stored in open blocks at the same time. At this time, the data is divided in a time-division manner, and the divided data is transmitted to each processor and a thread, resulting in a non-sequential data pattern.

Accordingly, the controller 110 can improve the performance and durability of the storage device by collecting and segmenting each of the divided data in one open block among a plurality of open blocks based on spatial locality in units of processors or threads have.

FIG. 4 illustrates a method of recording data in an open block according to an embodiment of the present invention.

In step 410, the memory storage device 100 may determine a plurality of user blocks to be written among a plurality of user blocks to which data is to be written. At this time, the determined plurality of user blocks can be expressed as an open block. An open block is a user block in which the memory storage device 100 actually performs a write operation. When data is written to all the pages in the user block, the open block becomes a close block. Is changed.

In step 420, the memory storage device 100 determines if the data to be written to the open blocks determined in step 410 has been passed through the host system, and whether the data has temporal locality or spatial locality .

The memory storage device 100 can confirm that the data has temporal locality when data needs to be repeatedly written to a specific logical address during a preset time interval. Also, the memory storage device 100 may verify that the data has spatial localization if the data needs to be written to a similar logical address space.

At step 430, the memory storage device 100 may write the data to a plurality of open blocks based on the locality of the identified data. When the memory storage device 100 is confirmed that data has temporal locality, data can be collected and recorded in any one of a plurality of open blocks.

Alternatively, the memory storage device 100 may sequentially record data on a plurality of pages included in one of the plurality of open blocks, if the data is confirmed to have spatial localization.

When the data is determined to have spatial localization, the memory storage device 100 divides the data according to a multi-process or a remote thread of the host system, and divides each of the divided data into a plurality of open blocks It is possible to collect and record the data in any one of the open blocks.

FIG. 5 illustrates a method of managing an open block on a system page according to an embodiment of the present invention.

The memory storage device 100 can manage the open blocks determined in step 410 using the system page, thereby enabling the quick recovery of the mapping table when an abnormal power loss occurs. The memory storage device 100 may store the determined information of the open blocks in the first user block list 510. [ At this time, the first user block list 510 may correspond to the Open list of FIG.

To recover the mapping table after an abnormal power loss, the map block in which the mapping table is stored and the user block that was in use immediately before the abnormal power loss should be searched. At this time, the memory storage device 100 can recover the mapping table by checking the user block that was in use immediately before the abnormal power loss by using the system page storing the information of the open blocks.

FIG. 6 illustrates a method of recording data in an open block managed in a system page according to an embodiment of the present invention.

In step 610, the memory storage device 100 may determine a plurality of first user blocks to be recorded among a plurality of user blocks to which data is to be recorded. At this time, the determined plurality of first user blocks may be expressed as open blocks.

At step 620, the memory storage device 100 may store information about the open blocks determined at step 610 in the system page of the system block.

In step 630, the memory storage device 100 can determine whether the data has temporal locality or spatial locality when the data to be written to the open blocks determined in step 610 is transferred through the host system have.

The memory storage device 100 can confirm that the data has temporal locality when data needs to be repeatedly written to a specific logical address during a preset time interval. Also, the memory storage device 100 may verify that the data has spatial localization if the data needs to be written to a similar logical address space.

In step 640, the memory storage device 100 may write data to the plurality of open blocks based on the locality of the identified data. When the memory storage device 100 is confirmed that data has temporal locality, data can be collected and recorded in any one of a plurality of open blocks.

Alternatively, the memory storage device 100 may sequentially record data on a plurality of pages included in one of the plurality of open blocks, if the data is confirmed to have spatial localization.

When the data is determined to have spatial localization, the memory storage device 100 divides the data according to a multi-process or a remote thread of the host system, and divides each of the divided data into a plurality of open blocks It is possible to collect and record the data in any one of the open blocks.

In step 650, when data is recorded in all of the determined open blocks, the memory storage device 100 switches the open blocks to a second user block and stores the related information in the second user block list 520 of the system page . At this time, the second user block list 520 may correspond to the closed list of FIG.

Thereafter, if no abnormal power loss has occurred in the host system, the memory storage device 100 may determine new open blocks and write data according to step 660. [ Or if an abnormal power loss has occurred in the host system, the memory storage device 100 may perform recovery of the mapping table, according to step 670. [

As described above, the present invention can improve the performance and durability of the memory storage device 100 by securing flexibility in algorithm such as FTL (Flash Translation Layer) and garbage collection by using a plurality of open blocks. May be implemented in the form of program instructions that can be executed on 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
510: first user block list
520: second user block list

Claims (16)

Determining a plurality of user blocks to be recorded among a plurality of user blocks to which data is to be recorded;
Confirming whether the data has temporal locality or spatial locality when the data to be recorded in the determined user blocks are transferred through the host system; And
Recording the data on each of the different user blocks of the determined plurality of user blocks based on the locality of the identified data
Lt; / RTI >
Wherein the recording step comprises:
If it is determined that the data has temporal locality, collects the data in any one of a plurality of user blocks and sequentially records the data,
Dividing the data in a time division manner based on a multi-process or a multi-thread supported by a host system when the data is determined to have spatial localization, and dividing the divided data into any one of a plurality of user blocks And sequentially recording the data in the memory.
The method according to claim 1,
Wherein the verifying step comprises:
Wherein if the data needs to be repeatedly written to a specific logical address during a predetermined time interval, then the data is confirmed to have temporal locality.
The method according to claim 1,
Wherein the verifying step comprises:
And if the data needs to be written to a similar logical address area, verifies that the data has spatial localization.
delete delete delete Determining a plurality of first user blocks to be recorded among a plurality of user blocks to which data is to be recorded;
Determining whether the data has temporal locality or spatial locality when the data to be recorded in the determined first user blocks are transmitted through the host system;
Recording the data on each of the different first user blocks of the determined plurality of first user blocks based on the locality of the identified data; And
When data is recorded in all of the determined first user blocks, converting the first user blocks into second user blocks in which data has been written
Lt; / RTI >
Wherein the recording step comprises:
If it is determined that the data has temporal locality, collects the data in any one of a plurality of user blocks and sequentially records the data,
Dividing the data in a time division manner based on a multi-process or a multi-thread supported by a host system when the data is determined to have spatial localization, and dividing the divided data into any one of a plurality of user blocks And sequentially recording the data in the memory.
8. The method of claim 7,
Wherein the determining comprises:
And writing the determined plurality of first user blocks to a system page of a system block.
A memory storage device comprising:
And a controller for performing a plurality of operations,
Determining a plurality of user blocks to be recorded among a plurality of user blocks to which data is to be recorded;
Confirming whether the data has temporal locality or spatial locality when the data to be recorded in the determined user blocks are transmitted through the host system; And
And recording the data on each of the different user blocks among the determined user blocks based on the locality of the identified data
/ RTI >
The recording operation may include:
If it is determined that the data has temporal locality, collects the data in any one of a plurality of user blocks and sequentially records the data,
Dividing the data in a time division manner based on a multi-process or a multi-thread supported by a host system when the data is determined to have spatial localization, and dividing the divided data into any one of a plurality of user blocks And sequentially records the data.
10. The method of claim 9,
The controller comprising:
And confirms that the data has temporal locality if the data needs to be repeatedly written to a specific logical address during a predetermined time interval.
10. The method of claim 9,
The controller comprising:
And if the data needs to be written to a similar logical address area, verifies that the data has spatial localization.
delete delete delete A memory storage device comprising:
And a controller for performing a plurality of operations,
Determining a plurality of first user blocks to be recorded among a plurality of user blocks to which data is to be recorded;
Confirming whether the data has temporal locality or spatial locality when the data to be recorded in the determined first user blocks are transferred through the host system;
Recording the data in each of the first user blocks of the determined first user blocks based on the locality of the identified data; And
When data is recorded in all of the determined first user blocks, switching the first user blocks into second user blocks in which data is written
/ RTI >
The recording operation may include:
If it is determined that the data has temporal locality, collects the data in any one of a plurality of user blocks and sequentially records the data,
Dividing the data in a time division manner based on a multi-process or a multi-thread supported by a host system when the data is determined to have spatial localization, and dividing the divided data into any one of a plurality of user blocks And sequentially records the data.
16. The method of claim 15,
The controller comprising:
And writing the determined plurality of first user blocks to a system page of a system block.
KR1020150092405A 2015-06-16 2015-06-29 Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability KR101663425B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150092405A KR101663425B1 (en) 2015-06-29 2015-06-29 Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability
US15/736,607 US20180189144A1 (en) 2015-06-16 2016-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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150092405A KR101663425B1 (en) 2015-06-29 2015-06-29 Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability

Publications (1)

Publication Number Publication Date
KR101663425B1 true KR101663425B1 (en) 2016-10-07

Family

ID=57145239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150092405A KR101663425B1 (en) 2015-06-16 2015-06-29 Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability

Country Status (1)

Country Link
KR (1) KR101663425B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090107098A (en) * 2008-04-08 2009-10-13 재단법인서울대학교산학협력재단 Locality-Aware Garbage Collection Technique for NAND Flash Memory-Based Storage Systems
KR20140133800A (en) * 2014-10-29 2014-11-20 삼성전자주식회사 Memory device and managing method of memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090107098A (en) * 2008-04-08 2009-10-13 재단법인서울대학교산학협력재단 Locality-Aware Garbage Collection Technique for NAND Flash Memory-Based Storage Systems
KR20140133800A (en) * 2014-10-29 2014-11-20 삼성전자주식회사 Memory device and managing method of memory device

Similar Documents

Publication Publication Date Title
US10466932B2 (en) Cache data placement for compression in data storage systems
US10176190B2 (en) Data integrity and loss resistance in high performance and high capacity storage deduplication
KR101824295B1 (en) Cache management including solid state device virtualization
US8838875B2 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
Ji et al. An empirical study of {File-System} fragmentation in mobile storage systems
US9501418B2 (en) Invalidation data area for cache
US8280858B2 (en) Storage pool scrubbing with concurrent snapshots
KR101813786B1 (en) System and method for copy on write on an ssd
TWI533152B (en) Data storage apparatus and method
WO2016086819A1 (en) Method and apparatus for writing data into shingled magnetic record smr hard disk
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
US8862819B2 (en) Log structure array
KR20120090965A (en) Apparatus, system, and method for caching data on a solid-state strorage device
US20180189144A1 (en) Apparatus and method for memory storage to protect data-loss after power loss
CN106557428B (en) Mapping system selection for data storage devices
JP2017079053A (en) Methods and systems for improving storage journaling
US9983826B2 (en) Data storage device deferred secure delete
US11461287B2 (en) Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS
US10235284B2 (en) Memory system
KR20090107098A (en) Locality-Aware Garbage Collection Technique for NAND Flash Memory-Based Storage Systems
US20140047161A1 (en) System Employing MRAM and Physically Addressed Solid State Disk
US20180307419A1 (en) Storage control apparatus and storage control method
KR101676175B1 (en) Apparatus and method for memory storage to protect data-loss after power loss
KR101153688B1 (en) Nand flash memory system and method for providing invalidation chance to data pages
KR101663425B1 (en) Apparatus and method for memory storage to manage multiplexer open block for improving memory's performance and durability

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: 20190624

Year of fee payment: 4