KR20140085643A - Data storage device and operating method thereof - Google Patents
Data storage device and operating method thereof Download PDFInfo
- Publication number
- KR20140085643A KR20140085643A KR1020120153521A KR20120153521A KR20140085643A KR 20140085643 A KR20140085643 A KR 20140085643A KR 1020120153521 A KR1020120153521 A KR 1020120153521A KR 20120153521 A KR20120153521 A KR 20120153521A KR 20140085643 A KR20140085643 A KR 20140085643A
- Authority
- KR
- South Korea
- Prior art keywords
- sector
- address
- physical address
- data
- sector addresses
- 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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Abstract
Description
BACKGROUND OF THE
Recently, a paradigm for a computer environment has been transformed into ubiquitous computing, which enables a computer system to be used whenever and wherever. As a result, the use of portable electronic devices such as mobile phones, digital cameras, and notebook computers is rapidly increasing. Such portable electronic devices typically use a data storage device that utilizes a memory device. The data storage device is used as a main storage device or an auxiliary storage device of a portable electronic device.
The data storage device using the memory device is advantageous in that it has excellent stability and durability because it has no mechanical driving part, has very high access speed of information and low power consumption. A data storage device having such advantages includes a USB (Universal Serial Bus) memory device, a memory card having various interfaces, and a solid state drive (SSD).
BACKGROUND ART [0002] As portable electronic devices reproduce large-capacity files such as music, moving pictures, etc., data storage devices are required to have a large storage capacity. A data storage device includes a plurality of memory devices to increase storage capacity. For a data storage device comprising a plurality of memory devices, a large storage capacity as well as a fast operating speed is one of the important characteristics of the data storage device.
The data storage device may include a plurality of memory devices to secure a large storage capacity. The data storage device can use a buffer program method in order to secure a fast operation speed. For example, the data storage device can divide the storage area of a plurality of memory devices into a buffer area (or a log area) and a main area. The data storage device may program the input data into the buffer area and then program the data programmed in the buffer area into the main area at the idle time.
An embodiment of the present invention is to provide a data storage device with improved operation speed and a method of operation thereof.
A method of operating a data storage device including a nonvolatile memory device according to an embodiment of the present invention includes mapping a sector address of a host device to a physical address offset of the nonvolatile memory device, When writing to addresses is requested, the start sector address of the consecutive sector addresses is mapped to the start offset of the physical address, and the remaining sector addresses are sequentially mapped to the remaining offsets of the physical address.
A data storage device according to an embodiment of the present invention includes a nonvolatile memory device; And
Wherein the controller is configured to map the sector addresses of the host device to the offsets of the physical address of the non-volatile memory device, wherein the controller is further configured to map successive sector addresses If the write is requested, mapping the starting sector address of the consecutive sector addresses to the starting offset of the physical address and sequentially mapping the remaining sector addresses to the remaining offsets of the physical address.
According to the embodiment of the present invention, the operation speed of the data storage device can be improved.
1 is a block diagram illustrating an exemplary data processing system including a data storage device in accordance with an embodiment of the present invention.
Figure 2 is a block diagram illustrating an exemplary data storage controller of Figure 1;
3 is a diagram showing a control hierarchical structure of the data processing system of FIG.
4 is a view for explaining an address misalignment phenomenon generated in the data storage device of FIG.
5 is a view for explaining a method of operating a data storage device according to an embodiment of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and how to accomplish it, will be described with reference to the embodiments described in detail below with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. The embodiments are provided so that those skilled in the art can easily carry out the technical idea of the present invention to those skilled in the art.
In the drawings, embodiments of the present invention are not limited to the specific forms shown and are exaggerated for clarity. Although specific terms are used herein, It is to be understood that the same is by way of illustration and example only and is not to be taken by way of limitation of the scope of the appended claims.
The expression " and / or " is used herein to mean including at least one of the elements listed before and after. Also, the expression " coupled / coupled " is used to mean either directly connected to another component or indirectly connected through another component. The singular forms herein include plural forms unless the context clearly dictates otherwise. Also, as used herein, "comprising" or "comprising" means to refer to the presence or addition of one or more other components, steps, operations and elements.
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
1 is a block diagram illustrating an exemplary data processing system including a data storage device in accordance with an embodiment of the present invention. Referring to FIG. 1, a
Illustratively,
The
The
The
Illustratively, the
The number of bits that can be stored per cell of the memory cells included in the
Since the number of bits that can be stored per cell of the memory cells included in the
Since the number of bits that can be stored per cell of the memory cells included in the
Since the number of bits that can be stored per cell of the memory cells included in the
Using this characteristic, the
When
According to the buffer programming BP according to the embodiment of the present invention, when successive sector-by-sector data (hereinafter referred to as "sector data") is transmitted from the
Figure 2 is a block diagram illustrating an exemplary data storage controller of Figure 1; 3 is a diagram showing a control hierarchical structure of the data processing system of FIG. In the description of Figures 2 and 3, the non-volatile memory device (140 of Figure 1) is illustrated as being comprised of a flash memory device.
Referring to FIG. 2, the
The
Due to these features of the
The flash translation layer (FTL) is a read-only flash memory device, such as a flash memory device, that is readable and writable by the flash memory device so that the
As shown in FIG. 3, the
When data (or a file) is requested to be read or written from the
The
4 is a view for explaining an address misalignment phenomenon generated in the data storage device of FIG.
The file system (112 in Fig. 3) of the
The address misalignment phenomenon will be described in more detail below with reference to FIG. 4, the physical page of the
A case where a write request is generated for the continuous sector data SD5 to SD8 from the
The flash translation layer (FTL) maps the logical address assigned to the sector address to the physical address based on the address mapping table. For example, the flash translation layer (FTL) maps the logical address LA0 assigned to the sector address SA5 to the physical address PA33. The flash translation layer (FTL) maps the logical address (LA0) assigned to the sector address (SA6) to the physical address (PA33). The flash translation layer (FTL) maps the logical address (LA0) assigned to the sector address (SA7) to the physical address (PA33). The flash translation layer (FTL) maps the logical address LA1 assigned to the sector address SA8 to the physical address PA34.
According to the mapping result, the sector data is stored in the allocated area of the physical address to which the corresponding sector address is mapped. As described above, a maximum of eight sector addresses can be assigned to a physical address. To simplify the allocation of the sector address, a sector address is assigned so that the offset between the sector address and the physical address is matched, and the sector data can be stored in the allocated area. For example, the sector data SD5 corresponding to the sector address SA5 is stored in the storage area of the offset 5 of the physical address PA33. The sector data SD6 corresponding to the sector address SA6 is stored in the storage area of the offset 6 of the physical address PA33. The sector data SD7 corresponding to the sector address SA7 is stored in the storage area of the offset 7 of the physical address PA33. The sector data SD8 corresponding to the sector address SA8 is stored in the storage area of the offset 0 of the physical address PA34 continuous to the physical address PA33 since there is no matching offset.
Since the sector and page size are different and the sector address is assigned to match the offset of the physical address, a storage area of the physical address to which the sector address is not allocated may be generated. For example, if the sector address is the same as the storage areas corresponding to the offsets (0 to 4) of the physical address PA33 and the storage areas corresponding to the offsets (1-7) of the physical address PA34 An unallocated area may be generated. This occurs because the start address of the physical address, that is, the sector address is not allocated from the start offset (0) of the physical address. That is, this is a phenomenon that occurs because the sector address is not aligned with the start offset of the physical address. This phenomenon is defined as an address sub-alignment phenomenon.
If an address misalignment phenomenon occurs, data can not be stored and wasted areas may be generated. In addition, the operation speed of the
5 is a view for explaining a method of operating a data storage device according to an embodiment of the present invention. 5, the physical page of the
A case where a write request is generated for the continuous sector data SD5 to SD8 from the
According to the embodiment of the present invention, when writing is requested to the consecutive sector addresses SA5 to SA8, the start sector address SA5 of the consecutive sector addresses SA5 to SA8 is set to the start offset of the physical address And sequentially maps the remaining sector addresses (SA6 to SA8) to the remaining offsets of the physical address. That is, when the continuous sector data (SD5 to SD8) is transmitted, the flash conversion layer (FTL) can store the transmitted sector data (SD5 to SD8) in a page corresponding to one physical address , A sector address or a logical address is mapped to a physical address.
The flash conversion layer FTL is configured to store the sector addresses SD5 to SD8 corresponding to the sector addresses SA5 to SA8 assigned to the different logical addresses LA0 and LA1 in the same physical address PA33 . For example, the flash translation layer (FTL) maps the sector address SA8 assigned to the different logical address LA1 among the transferred sector addresses SA5 to SA8 to the sector address SA8 assigned to the remaining sector addresses SA5 to SA7, To the physical address PA33. In this case, the flash translation layer FTL transfers the address alignment flag AAF to the logical address LA1 to which the sector address SA8 mapped to the same physical address PA34 as the remaining sector addresses SA5 to SA7 is allocated. .
According to the address mapping result, the sector data is stored in the allocated area of the physical address to which the corresponding sector address is mapped. At this time, the sector data (SD) is stored without matching the offset between the sector address and the physical address so that the address misalignment does not occur. For example, the sector data SD5 corresponding to the sector address SA5 is stored in the storage area of the offset 0 of the physical address PA33. The sector data SD6 corresponding to the sector address SA6 is stored in the storage area of the offset 1 of the physical address PA33. The sector data SD7 corresponding to the sector address SA7 is stored in the storage area of the offset 2 of the physical address PA33. The sector data SD8 corresponding to the sector address SA8 is stored in the storage area of the offset 3 of the physical address PA33.
Since the sector data is stored such that the offset between the sector address and the physical address does not match, address information associated with the sector address is additionally stored when the sector data is stored. That is, the metadata associated with the physical address to which the sector data is originally stored is additionally stored. Illustratively, when the sector data SD5 to SD7 are stored, the sector data SD5 to SD7 are offset from the physical address PA33 to be originally stored (see FIG. 4, Offset 5, 6, 7 ) Is added and stored. When the sector data SD8 is stored, information related to the offset of the physical address PA34 (offset 0 in FIG. 4) to which the sector data SD8 is to be originally stored is added and stored. For example, as shown in Fig. 5, the metadata composed of the number of offsets and offsets 5, 3 is added and stored when the sector data SD5 to SD7 are stored. The metadata composed of the number of offsets and offsets (0, 1) is added and stored when the sector data SD8 is stored.
Assume that there is a read request for consecutive sector data (SD5 to SD8) from the
The flash translation layer (FTL) can interpret the offset of the physical address to which the read data should originally be stored based on the metadata consisting of the number of offsets and offsets. For example, the flash translation layer (FTL) may determine three offsets from the start offset (0) of the physical address PA33 (i. E., Based on
The flash translation layer (FTL) can interpret the offset of the physical address from which data read based on the metadata and the address alignment flag (AAF) is originally stored. Illustratively, the flash translation layer (FTL) may refer to metadata corresponding to a previous logical address when the address alignment flag (AAF) parses the metadata corresponding to the logical address set. For example, the flash conversion layer (FTL) may determine whether the physical address (physical address) is the physical address (physical address) based on the
According to an embodiment of the present invention, when writing of consecutive sector addresses is requested from the host device, a start sector address of the consecutive sector addresses is mapped to a start offset of the physical address, Are sequentially mapped to the remaining offsets of the physical address. That is, when successive sector data is transmitted from the
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the appended claims and their equivalents. It will be appreciated that the structure of the present invention may be variously modified or changed without departing from the scope or spirit of the present invention.
100: Data processing system
110: Host device
120: Data storage device
130: controller
140: Nonvolatile memory device
Claims (8)
Mapping the sector addresses of the host device to the physical address offsets of the non-volatile memory device,
If the writing of consecutive sector addresses is requested from the host device, mapping the starting sector address of the consecutive sector addresses to the starting offset of the physical address, and adding the remaining sector addresses to the remaining offsets of the physical address sequentially Lt; RTI ID = 0.0 > 1, < / RTI >
And generating metadata comprising address information for the successive sector addresses.
Wherein the metadata includes logical address information mapped to the physical address, a starting sector address of the contiguous sector addresses, and information on the number of consecutive sector addresses.
And adding the metadata when the sector data corresponding to the consecutive sector addresses is stored.
A controller configured to control the non-volatile memory device,
Wherein the controller is configured to map the sector addresses of the host device to the offsets of the physical address of the non-volatile memory device, wherein when writing to the consecutive sector addresses is requested from the host device, A sector address to a start offset of the physical address, and to sequentially map remaining sector addresses to the remaining offsets of the physical address.
Wherein the controller is configured to generate metadata comprising address information for the consecutive sector addresses.
Wherein the metadata comprises logical address information mapped to the physical address, a starting sector address of the contiguous sector addresses, and information on the number of consecutive sector addresses.
Wherein the controller is further configured to store the metadata when the sector data corresponding to the successive sector addresses is stored.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120153521A KR20140085643A (en) | 2012-12-26 | 2012-12-26 | Data storage device and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120153521A KR20140085643A (en) | 2012-12-26 | 2012-12-26 | Data storage device and operating method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140085643A true KR20140085643A (en) | 2014-07-08 |
Family
ID=51735046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120153521A KR20140085643A (en) | 2012-12-26 | 2012-12-26 | Data storage device and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140085643A (en) |
-
2012
- 2012-12-26 KR KR1020120153521A patent/KR20140085643A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
US10891236B2 (en) | Data storage device and operating method thereof | |
TWI405082B (en) | Memory system and mapping methods thereof | |
KR101989018B1 (en) | Operating method for data storage device | |
US8489803B2 (en) | Efficient use of flash memory in flash drives | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US9223696B2 (en) | Data storage device for holding erasure of victim block having valid page copied to merge block and method of operating the same | |
TW201732597A (en) | Data storage device and operating method thereof | |
US9292435B2 (en) | Memory device and method of operation | |
US20120179859A1 (en) | Nonvolatile memory apparatus performing ftl function and method for controlling the same | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
US20200057725A1 (en) | Data storage device and operating method thereof | |
KR102595233B1 (en) | Data processing system and operating method thereof | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
US20220269602A1 (en) | Storage device and storage system including the same | |
KR102596964B1 (en) | Data storage device capable of changing map cache buffer size | |
KR20200114086A (en) | Controller, memory system and operating method thereof | |
KR20100035408A (en) | Solid state disk device and random data processing method thereof | |
KR20090116505A (en) | File system for nonvolatile memory device and computing system including the same | |
US11036629B2 (en) | Controller, memory system and operating method thereof | |
KR20140090416A (en) | Operating method for data storage device | |
KR20140085643A (en) | Data storage device and operating method thereof | |
KR20200015185A (en) | Data storage device and operating method thereof | |
US11657000B2 (en) | Controller and memory system including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |