KR101465426B1 - Extent mapping flash device - Google Patents
Extent mapping flash device Download PDFInfo
- Publication number
- KR101465426B1 KR101465426B1 KR20130133992A KR20130133992A KR101465426B1 KR 101465426 B1 KR101465426 B1 KR 101465426B1 KR 20130133992 A KR20130133992 A KR 20130133992A KR 20130133992 A KR20130133992 A KR 20130133992A KR 101465426 B1 KR101465426 B1 KR 101465426B1
- Authority
- KR
- South Korea
- Prior art keywords
- extent
- data
- information
- flash memory
- extents
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
The present invention relates to a flash device that manages a mapping table in units of extents. The flash device receives extents information from a host, and based on the extent information, stores a logical address designated by the host and a physical address of the flash memory A control unit for configuring a mapping table, a RAM for storing a mapping table, and a flash memory for storing data received from a host. At this time, the controller configures a mapping table in units of extents distinguished by the start physical address and size information of the extent.
Description
The present invention relates to an extent mapping flash device, and more particularly, to a flash device that manages a mapping table on an extent basis.
Flash memory is widely used as a storage device for smart devices. Because of the different attributes of flash memory, such as erase before write operation and limited erase operation, the host can not directly access the flash memory and can use the flash memory as an existing storage device. Flash memory can be accessed through the Flash Translation Layer (FTL).
Figure 1 shows the relationship between a conventional host and a flash device.
A host accesses a flash device like a block device, and a flash device includes a controller, a flash memory serving as an actual storage device together with a RAM for executing an FTL within the flash device.
FTL manages the mapping between the location (logical address) specified by the host and the location (physical address) where data is actually stored through the mapping table. The mapping table is read and used in the RAM (RAM) inside the flash device.
When the write operation is performed, because of the erase before write attribute of the flash memory, the FTL designates a new physical address, not the location (logical address) designated by the host, to be written in the flash memory free space. At this time, a mapping table for mapping a logical address and a physical address must be maintained in the flash device. Depending on the FTL, the size of the mapping table and the management technique are different according to the FTL, and the usage amount of the RAM for the mapping table is also changed.
The prior art "page mapping" relates to a method of mapping a logical address and a physical address page by page, and a logical page of a page mapping can be mapped to any physical page in the flash memory. Therefore, although page mapping can achieve good performance, since a single mapping element can manage only one physical page, the size of the mapping table is increased and the amount of RAM is increased.
Another prior art "μ-FTL" is a method in which a unit of mapping is determined according to the size of a write request transmitted from a host, and a plurality of physical pages can be managed through a single mapping element. However, in the case of μ-FTL, a page structure is managed by a tree structure in order to manage a dynamic size mapping. In contrast to a table structure in which all pages can be searched through a single operation for a host write / The structure requires a lot of operations and requires much more operation than the table structure in changing the mapping. In addition, μ-FTL has a problem that management of a mapping tree is performed in a flash device having a small amount of RAM but less use of the host compared to page mapping.
In this connection, Japanese Laid-Open Patent Publication No. 10-2012-0011634 (titled as a flash memory device) discloses a flash memory device constituting a mapping table in units of blocks or pages.
SUMMARY OF THE INVENTION The present invention addresses the above-described problems of the prior art, and some embodiments of the present invention propose a flash device that manages a mapping table in units of extents.
Further, some embodiments of the present invention solve the problems of the conventional art described above, and propose a flash device that performs garbage collection based on a mapping table managed in units of extents.
According to a first aspect of the present invention, there is provided a flash device comprising: a flash memory for receiving extent information from a host and storing the logical address and data designated by the host on the basis of the extent information; A controller configured to configure a mapping table for a physical address; A RAM in which the mapping table is stored; And a flash memory storing data received from the host, wherein the controller configures a mapping table in units of extents, and the extent unit is distinguished from the start physical address and size information of the extent.
Also, a method for managing a mapping table in a flash device according to the second aspect of the present invention includes: receiving extents information from a host; And configuring a mapping table for the physical address of the flash memory in which the logical address designated by the host and the data are stored based on the extent information.
According to an aspect of the present invention, a mapping unit of a flash device is extended to an extent, thereby reducing a size of a mapping table, thereby reducing a RAM capacity of a flash device.
According to the present invention, the flash device can perform garbage collection even with a small amount of RAM, compared with the conventional method, based on a mapping table managed in units of extents.
1 is a diagram of a relationship between a host and a flash device.
2 is a view for explaining an extent used in the present invention.
3 shows a block diagram of a flash device in accordance with an embodiment of the present invention.
4 is a diagram of a method by which a flash device manages a mapping table according to an embodiment of the present invention.
5 is a diagram of an example of a log block mapping table.
FIG. 6 is a diagram of a mapping table and a log block mapping table before the extents allocated to the mapping table are updated.
FIG. 7 is a diagram for a case where an update occurs for 100 data at an
8 is a diagram illustrating a process of performing a garbage collection process of a garbage collection processor for generating free blocks.
FIG. 9 is a diagram illustrating a garbage collection process performed by the garbage collection processing unit according to another embodiment of the present invention to secure a margin item when an extent occupies a plurality of entries in the log block mapping table.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
Throughout this specification, when a member is "on " another member, it includes not only when the member is in contact with the other member, but also when there is another member between the two members.
The present invention allows a resource-rich host to manage extents of fluid size and to send read or write commands on a per-extent basis to a flash device. The control unit constructs a mapping table based only on the information received from the host. Accordingly, the present invention makes it possible to reduce the size of the mapping table and the RAM usage of the flash device.
2 is a view for explaining an extent used in the present invention.
An extent is a collection of physically contiguous pages. Extents are used to reduce the map loading overhead when sequential access by densifying contiguous data that is likely to be accessed in the same extent. In addition, the size of the mapping table itself can be reduced by mapping a plurality of pages by a single extent.
Referring to FIG. 2, the physical address of the host is a logical address in terms of a device, and the extent of the present invention is a physical address of a contiguous host. In the case of the conventional "page mapping" technique, five mapping table elements were required to represent five pages, whereas in the case of extent mapping, five mapping pages could be represented through three mapping table elements. have.
In other words, according to FIG. 2, in order to read and write
This is because, as the size of extents having consecutive physical addresses becomes larger (for example, (0, 101, 1000)) as in the case where data such as moving image playback data that are consecutively accessed are densified in an extent The data having the
Figure 3 shows a block diagram of a flash device according to one embodiment of the present invention.
The
The control unit 310 is a component that executes a flash translation layer (FTL), which is software that enables the
In addition, the controller 310 according to an exemplary embodiment of the present invention may include a garbage collection unit for reserving a free block in the
A
The
4 is a diagram of a method by which a flash device manages a mapping table according to an embodiment of the present invention.
First, the control unit receives the extent information from the host (S401). The extent information is an extent number and an extent size when an extent is inserted or extended, and one or more extent numbers to be merged when an extent is merged (for example, a first extent number and a second extent number) Number, extent offset, and extent size to be deleted.
If a new extent is inserted (S410), the controller configures the mapping table using the extent information (extent number and extent size) received from the host and the mapped physical address. At this time, the controller allocates the start physical address to the extent corresponding to the extent number and the extent size transmitted from the host, and stores the extent number, the start physical address, and the extent size of the extent in the mapping table.
If the extent stored in the flash memory is extended (S420), the controller records the extent size of the extent in the mapping table based on the extent information (extent number and extent size) received from the host.
If the pre-stored extents in the flash memory are merged (S430), the control unit merges a plurality of extents based on extent information (for example, a first extent number and a second extent number) of a plurality of extents merged from the host . In this case, according to another embodiment of the present invention, the control unit may merge into an extent having a minimum extent number among a plurality of extents. 4, when the first extent table information stored in the mapping table is (0, 100, 3) and the second extent table information is (1, 103, 3), the first extent and the second extent The merged extent table information is (0, 100, 6).
Finally, when the extent stored in the flash memory is reduced (S440), the controller calculates an extent size (the size of the extent) reduced by the extent size from the offset of the extent, based on the received extent information (extent number, extent offset, Lt; / RTI > At this time, the extent offset may have a value from 0 to the extent size. Referring to FIG. 4, when the controller receives (0, 4, 2) as extent information, the controller empties two physical pages located fifth from the start physical address of the extent having the
On the other hand, the flash memory has different units of the read / write operation (page unit) and erase operation (block unit), and when data is to be stored, erase-before -write) attribute.
A variety of FTL (Flash Translation Layer) and FFS (Flash File System) have been developed to prevent the performance degradation of the write operation according to the characteristics of the flash memory.
Since the physical address of the extent may not be continuous due to the EBW characteristic, when the new data is updated in the flash memory by a technique such as FTL or FFS, the control unit may not delete the block to which the existing page belongs Marking invalidate information that is no longer valid, and writing new data to be updated on another page. The invalid page is then collected by a garbage collection operation.
Generally, in a flash memory, a block includes a plurality of pages, and a block is a page erase unit in a flash memory. For example, the first block may refer to a page having
The controller according to another embodiment of the present invention records such marking and recording information in a log block mapping table when data is updated. The log block mapping table is also stored in the RAM as in the mapping table.
5 is a diagram illustrating an example of the log block mapping table.
According to another embodiment of the present invention, the extents recorded by the control unit in the mapping table are divided into respective data groups D1 and D2, which can have M extents. According to FIG. 5, M is 4 , And since there are no two items in the data group D2, the
FIG. 6 is a diagram of a mapping table and a log block mapping table before the extents allocated to the mapping table are updated.
According to Fig. 6, four extents are allocated and the flash memory address is the device physical address, which shows the current flash memory status.
On the other hand, FIG. 7 is a diagram for a case where an update occurs for 100 data at the offset 200 of the third extent (extent_2) in the situation of FIG.
When a physical address of data previously stored in the flash memory is updated, the controller according to an embodiment of the present invention receives an extent number, an extent offset, and a data size to be updated as extent information for an extent to which the data belongs, 7, the control unit receives (2, 200, 100).
7, data corresponding to the
At this time, the controller configures a log block table for the updated physical address based on the extent information. The controller writes the updated extent number, the extent offset, the starting physical address of the updated data, and the updated data size in the log block table Further, the log block group of the log block mapping table in which the information on the update is recorded can be recorded in the mapping table. 7, the updated
On the other hand, when the maximum number of data update times is exceeded, garbage collection occurs in the flash device. According to FIG. 5, since there are six items in one log block group, Garbage collection occurs when the update of the block exceeds a predetermined value or an update of more than two blocks occurs. That is, data can be recorded for up to two data groups and twelve items at a time without garbage collection.
Garbage collection refers to a procedure for increasing available space by collecting valid pages when there is not enough available space (free block, free block) in the flash memory. In this case, a storage area (for example, Area) is deleted and converted into a usable storage area.
In this case, the control unit according to another embodiment of the present invention may include a garbage collection unit for reserving a free block and reserving a margin item in a log block group in a mapping table. Hereinafter, a garbage collection unit Will be described.
8 is a diagram illustrating a process of performing a garbage collection process of a garbage collection processor for generating free blocks.
The garbage collection processor according to another embodiment of the present invention copies the data of the victim block, which is the block including the most invalid page (invalid page), to the free block when the number of free blocks is equal to or smaller than the predetermined threshold. That is, according to FIG. 8, all the data in the third block (block_2) including the most invalidation page is copied to the fourth block (block_3) which is the free block. Then, the garbage collection processing unit invalidates the third block (block_2), which is a victim block, and erases the data of the third block (block_2) to empty the block. That is, a new free block is secured.
FIG. 9 is a diagram illustrating a garbage collection process performed by the garbage collection processing unit according to another embodiment of the present invention to secure a margin item when an extent occupies a plurality of entries in the log block mapping table.
The garbage collection processor according to another embodiment of the present invention may be configured such that when an extent occupies an item of a plurality of log block mapping tables, the garbage collection processor copies all data of the extents into free blocks, All data are merged.
However, when there are a plurality of extents occupying the items of the plurality of log block mapping tables, the garbage collection processing unit performs the above-described process for the extents occupying the most log block mapping table items. Accordingly, although the flash device does not secure a new free block, it is possible to reserve a free entry in the log block mapping table.
Referring to FIG. 9, the extents occupying the most log block mapping table items are first extents (extent_0_0, extent_0_1, and ext_0_2), and the garbage collection processor extracts all data of the first extent from free blocks To the fourth block (block_3), and merges all the data of the first extent.
In the case where the garbage collection processing of the flash memory is performed by the garbage collection processing unit as described above, this is a case where the physical address of the data previously stored in the flash memory is updated. Then, as shown in FIGS. 6 and 7, Management of the block mapping table can be performed. A detailed description thereof will be omitted.
3 refers to a hardware component such as software or an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit), and performs predetermined roles .
However, 'components' are not meant to be limited to software or hardware, and each component may be configured to reside on an addressable storage medium and configured to play one or more processors.
Thus, by way of example, an element may comprise components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Routines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
The components and functions provided within those components may be combined into a smaller number of components or further separated into additional components.
Meanwhile, the components shown in FIG. 3 may be configured as a 'module'. The term 'module' refers to a hardware component such as software or a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the module performs certain roles. However, a module is not limited to software or hardware. A module may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. The functionality provided by the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules.
One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
The above-described mapping table management method according to the present invention can be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, it may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like. In addition, the computer-readable recording medium may be distributed and executed in a computer system connected to a computer network, and may be stored and executed as a code readable in a distributed manner.
It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
300: Flash device
310:
315: Garbage collection processor
320: RAM
330: flash memory
Claims (16)
A controller for receiving extent information from a host and configuring a mapping table for a physical address of a flash memory where a logical address designated by the host and data are stored based on the extent information;
A RAM in which the mapping table is stored; And
And a flash memory for storing data received from the host,
Wherein the extent information includes at least one of an extent number and an extent size,
Wherein,
Configure the mapping table in extents,
Wherein the extent unit is distinguished by a start physical address and size information of each extent.
Wherein,
Wherein when the extent is inserted into the flash memory, the host receives the extent number and the extent size as extent information from the host, and configures a mapping table based on the extent information.
Wherein,
The flash memory receives an extent number and an extent size as extent information from the host when the size of the extent stored in the flash memory expands, and records the extent size in the mapping table based on the extent information.
Wherein,
A flash memory for receiving extents of the plurality of extents from the host when a plurality of extents pre-stored in the flash memory are merged, and merging the plurality of extents based on the extent information.
Wherein,
An extent offset, and an extent size as extent information from the host when the extent stored in the flash memory is reduced, and extracting an extent size reduced by an extent of the extent from the offset of the extent based on the extent information, Flash device to record.
Wherein,
An extent offset, and a data size to be updated as extent information for the extent to which the data belongs when the physical address of data previously stored in the flash memory is updated,
And a log block table for a physical address updated based on the extent information.
Wherein,
The data of the victim block, which is a block that contains the largest number of invalid pages among the one or more blocks of the flash memory, is copied to the free block and the data of the victim block And a garbage collection processing unit for deleting the data of the victim block.
Wherein,
A garbage collection processor for copying all the data of the extents to a free block and merging the data of the extents when an extent previously stored in the flash memory occupies an item of a plurality of log block mapping tables, Comprising a flash device.
The garbage collection processing unit,
A flash device for copying data to an extent occupying a most log block mapping table item among a plurality of extents and copying the data to a free block when a plurality of extents occupying a plurality of log block mapping table items are included.
Receiving extents information from a host; And
Configuring a mapping table for a physical address of a flash memory where a logical address designated by the host and data are stored based on the extent information,
Wherein the extent information includes at least one of an extent number and an extent size.
When the size of the extent stored in the flash memory is expanded,
The step of receiving the extent information may include receiving an extent number and an extent size from the host as extents information,
Wherein the configuring step records the extent size in the mapping table based on the extent information.
When a plurality of extents previously stored in the flash memory are merged,
The step of receiving the extent information may include receiving extents information of the plurality of extents from the host,
Wherein the constructing step merges the plurality of extents based on the extent information.
When the extent stored in the flash memory is reduced,
The step of receiving the extent information may include receiving an extent number, an extent offset, and an extent size as extent information from the host,
Wherein the configuring step records an extent size reduced by an extent of the extent from the offset of the extent based on the extent information.
When the physical address of data previously stored in the flash memory is updated,
The step of receiving the extent information may include receiving an extent number, an extent offset, and a data size to be updated as extent information on the extent to which the data belongs,
Wherein the configuring step comprises constructing a log block table for a physical address updated based on the extent information.
Before the receiving step,
If the number of free blocks in the flash memory is equal to or less than a predetermined threshold value,
Copying data of a victim block, which is a block that contains the largest number of invalid pages among at least one block of the flash memory, to a free block; And
Invalidating the data of the victim block and deleting the data of the victim block.
Before the receiving step,
When an extent previously stored in the flash memory occupies an item of a plurality of log block mapping tables,
Copying all the data of one of the extents into a free block; And
And merging the data of any of the extents.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130133992A KR101465426B1 (en) | 2013-11-06 | 2013-11-06 | Extent mapping flash device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130133992A KR101465426B1 (en) | 2013-11-06 | 2013-11-06 | Extent mapping flash device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101465426B1 true KR101465426B1 (en) | 2014-11-27 |
Family
ID=52291877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130133992A KR101465426B1 (en) | 2013-11-06 | 2013-11-06 | Extent mapping flash device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101465426B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190057957A (en) * | 2017-11-21 | 2019-05-29 | 한림대학교 산학협력단 | System and method for defragmenting of file with ext file structure |
KR20190142815A (en) * | 2018-06-19 | 2019-12-30 | 주식회사 티맥스데이터 | Method for moving data extent |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075356A (en) * | 2002-03-18 | 2003-09-26 | 삼성전기주식회사 | Data operating method in flash memory card system of high-capacity |
KR20130051032A (en) * | 2011-11-09 | 2013-05-20 | 한양대학교 산학협력단 | Apparatus and method for controlling flash memory storing mapping table of block to erase |
-
2013
- 2013-11-06 KR KR20130133992A patent/KR101465426B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075356A (en) * | 2002-03-18 | 2003-09-26 | 삼성전기주식회사 | Data operating method in flash memory card system of high-capacity |
KR20130051032A (en) * | 2011-11-09 | 2013-05-20 | 한양대학교 산학협력단 | Apparatus and method for controlling flash memory storing mapping table of block to erase |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190057957A (en) * | 2017-11-21 | 2019-05-29 | 한림대학교 산학협력단 | System and method for defragmenting of file with ext file structure |
KR101995460B1 (en) | 2017-11-21 | 2019-07-02 | 한림대학교 산학협력단 | System and method for defragmenting of file with ext file structure |
KR20190142815A (en) * | 2018-06-19 | 2019-12-30 | 주식회사 티맥스데이터 | Method for moving data extent |
KR102089291B1 (en) | 2018-06-19 | 2020-03-16 | 주식회사 티맥스데이터 | Method for moving data extent |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102002830B1 (en) | Segment cleaning apparatus and method thereof | |
US20190258587A1 (en) | Persistent memory for key-value storage | |
US9146877B2 (en) | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read | |
US7461198B2 (en) | System and method for configuration and management of flash memory | |
US7594067B2 (en) | Enhanced data access in a storage device | |
CN107391391B (en) | Method, system and the solid state hard disk of data copy are realized in the FTL of solid state hard disk | |
KR101977575B1 (en) | Apparatus and method for directory entry look up, and recording medium recording the directory entry look up program thereof | |
KR101813786B1 (en) | System and method for copy on write on an ssd | |
US10740251B2 (en) | Hybrid drive translation layer | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
US8122181B2 (en) | Systems and methods for enhancing a data store for handling semantic information | |
US8914579B2 (en) | Access device, information recording device, controller, and information recording system | |
US20200218465A1 (en) | Selective erasure of data in a ssd | |
KR20120090965A (en) | Apparatus, system, and method for caching data on a solid-state strorage device | |
CN106548789A (en) | Method and apparatus for operating stacked tile type magnetic recording equipment | |
US20180129602A1 (en) | Garbage collection method for data storage device | |
KR101779174B1 (en) | Data discard method for journaling filesystem and memory management apparatus thereof | |
US20160350003A1 (en) | Memory system | |
CN110018966A (en) | A kind of memory, storage system, host and data manipulation, rubbish recovering method | |
CN111143285A (en) | Small file storage file system and small file processing method | |
KR20210076828A (en) | Key value device and block interface emulation method for the same | |
CN108431784A (en) | Access request processing method, device and computer system | |
US11144224B2 (en) | Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications | |
KR100924021B1 (en) | Flash memory mapping management method | |
KR101465426B1 (en) | Extent mapping flash device |
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: 20171027 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180917 Year of fee payment: 5 |