KR101465426B1 - Extent mapping flash device - Google Patents

Extent mapping flash device Download PDF

Info

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
Application number
KR20130133992A
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 KR20130133992A priority Critical patent/KR101465426B1/en
Application granted granted Critical
Publication of KR101465426B1 publication Critical patent/KR101465426B1/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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

[0001] EXTENT MAPPING FLASH DEVICE [0002]

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 offset 200 of the third extent (extent_2) in the situation of FIG.
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 pages 100 to 104, the conventional mapping table has (1, 100), (2, 101), (5, 102) 100, 2), (1, 102, 1) in the form of (extent number, start physical address, extent size) ), (2, 103, 2).

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 physical addresses 101 to 1000 stored in the mapping table) can be effectively reduced in comparison with the page mapping.

Figure 3 shows a block diagram of a flash device according to one embodiment of the present invention.

The flash device 300 includes a control unit 310, a RAM 320, and a flash memory 330.

The control unit 310 is a component that executes a flash translation layer (FTL), which is software that enables the flash memory 330 to be used as an existing storage device. Since the host does not directly access the flash memory 330, So that the flash memory 330 can be accessed. That is, the controller 310 maps the location (logical address) designated by the host to the location (physical address) of the flash memory 330 in which data is actually stored, and stores the mapping result in the mapping table of the RAM 320 . The controller 310 according to an embodiment of the present invention configures a mapping table in units of extents. The procedure of configuring a mapping table in units of extents will be described in detail with reference to FIG.

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 flash memory 330, And a garbage collection processing unit 315 for performing garbage collection, which will be described later with reference to Fig.

A RAM 320 is a component in which a mapping table constructed by the controller 310 is stored. The mapping table includes an extent number, a starting physical address, and an extent size item. In addition, the RAM 320 may further store a log block mapping table to be used when updating the data. In this case, the mapping table may further include a log block group number entry. The log block mapping table may include an extent number, An extent offset, a starting physical address of the updated page, and a data size item to be updated.

The flash memory 330 is a component in which data is stored according to a physical address assigned by the control unit 310. Data is read and written in units of pages, and data is erased on a block-by-block basis. The flash memory 330 is largely classified into a NOR type and a NAND type according to an internal system. NOR flash has the advantages of fast read speed and excellent data safety, instead of being impossible to make large capacity. NAND flash is used as a storage device for various mobile and electronic products because it can be miniaturized and increased in capacity.

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 extent number 0. That is, two areas having physical addresses 104 and 105 are emptied.

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 physical addresses 0 through 127, the second block a page having physical addresses 128 through 255, and so on. In this case, the physical operation unit is referred to as a page, and the page delete operation unit is referred to as a block, which is merely an example for facilitating understanding of the present invention, and the term referring to each operation unit can be changed.

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 block 2 corresponding to the data group D2 forms some empty spaces. At this time, when data update is performed on an extent belonging to a single data group D1, an update is recorded in only one log block group L1 of the log block mapping table. That is, in one log block group, update information of different data groups can not be recorded.

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 data size 100 to be updated from the physical address 300 moved by the extent offset 200 of the start physical address 100 of the extent, that is, data corresponding to the physical addresses 300 to 400 Is updated on a new page. Here, the update means a process of copying the data of the existing extent to a new page and invalidating the page where the data of the existing extent is located.

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 extent number 2, the extent offset 200, the starting physical address 896 of the updated page, and the updated data size 100 are recorded, and the log block group becomes 1 .

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)

In a flash device,
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.
The method according to claim 1,
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.
The method according to claim 1,
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.
The method according to claim 1,
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.
The method according to claim 1,
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.
The method according to claim 1,
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.
The method according to claim 1,
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.
The method according to claim 6,
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.
9. The method of claim 8,
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.
A method for a flash device to manage a mapping table,
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.
11. The method of claim 10,
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.
11. The method of claim 10,
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.
11. The method of claim 10,
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.
11. The method of claim 10,
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.
15. The method of claim 14,
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.
15. The method of claim 14,
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.
KR20130133992A 2013-11-06 2013-11-06 Extent mapping flash device KR101465426B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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