KR20170031311A - Data storage device and operating method thereof - Google Patents
Data storage device and operating method thereof Download PDFInfo
- Publication number
- KR20170031311A KR20170031311A KR1020150128549A KR20150128549A KR20170031311A KR 20170031311 A KR20170031311 A KR 20170031311A KR 1020150128549 A KR1020150128549 A KR 1020150128549A KR 20150128549 A KR20150128549 A KR 20150128549A KR 20170031311 A KR20170031311 A KR 20170031311A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- ecc
- error correction
- correction code
- decoding
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
Abstract
The present invention relates to a data storage device and an operation method thereof that can efficiently perform an ECC decoding operation. A data storage device according to an embodiment of the present invention includes a nonvolatile memory device; Volatile memory device to detect whether or not data bits of data read from the nonvolatile memory device are necessary to control error correction code (ECC) decoding on the read data, and to control the error correction code (ECC) decoding A data detection block for transmitting a detection result when judged; And an error correction code (ECC) decoding block for controlling an error correction code (ECC) decoding operation on the read data in response to the detection result.
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 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. The data storage device uses a flash memory device, which is one of the non-volatile memory devices, as a storage medium, in order to secure a large storage capacity, for example, a memory device having a high degree of integration of memory cells.
An embodiment of the present invention is to provide a data storage device and an operation method thereof that can efficiently perform an ECC decoding operation.
A data storage device according to an embodiment of the present invention includes a nonvolatile memory device; Volatile memory device to detect whether or not data bits of data read from the nonvolatile memory device are necessary to control error correction code (ECC) decoding on the read data, and to control the error correction code (ECC) decoding A data detection block for transmitting a detection result when judged; And an error correction code (ECC) decoding block for controlling an error correction code (ECC) decoding operation on the read data in response to the detection result.
A method of operating a data storage device according to an embodiment of the present invention includes counting the number of erased data bits of data read from a non-volatile memory device, comparing the number of erased data bits with a reference value, And skipping error correction code (ECC) decoding operations on the read data if the number of erasure data bits is greater than or equal to the reference value.
A method of operating a data storage device according to an embodiment of the present invention includes counting the number of erased data bits of data read from a non-volatile memory device, comparing the number of erased data bits with a reference value, And skipping error correction code (ECC) decoding operations on the read data if the number of erasure data bits is greater than or equal to the reference value.
According to embodiments of the present invention, the operation speed of the data storage device can be increased, and the power consumption of the data storage device can be reduced while the ECC decoding operation is performed.
1 is a block diagram illustrating an exemplary data storage device in accordance with an embodiment of the present invention.
2 is a view for explaining a decoding setting register according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating a state where a sensing reference value used as a determination reference of the operation of the data sensing block shown in FIGS. 4 and 5 is stored in a sensing reference value register.
FIGS. 4 and 5 are diagrams for explaining the operation of the data sensing block for detecting deletion data.
FIGS. 6 and 7 are diagrams for explaining the operation of the data sensing block for sensing data that can not be ECC decoded.
8 is a flowchart for explaining the ECC decoding operation of the data storage device.
FIG. 9 is a flowchart showing the subdivision of step S100 of FIG.
FIG. 10 is another flowchart showing the subdivision of step S100 of FIG.
11 is a block diagram illustrating an exemplary data processing system including a data storage device in accordance with an embodiment of the present invention.
12 is a block diagram illustrating an exemplary data processing system including a solid state drive (SSD) in accordance with an embodiment of the present invention.
13 is a block diagram exemplarily showing the SSD controller shown in FIG.
14 is a block diagram illustrating an exemplary computer system in which a data storage device according to an embodiment of the present invention is mounted.
15 is a block diagram of a nonvolatile memory device included in 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 storage device in accordance with an embodiment of the present invention. The
The
The
The
The
The
The
The
The
The
The
An error correction code (ECC) decoding block 240 (hereinafter referred to as an ECC decoding block 240) may perform an ECC decoding operation on the read data RDT. That is, the
The
The first value is a value that determines whether to skip the ECC decoding operation. If the first value is set to data "1 ", it means that ECC decoding should be performed, and if it is set to data" 0 ", it means that ECC decoding should be skipped. If the first value is set to data "0 ", it means that ECC decoding should proceed, and if it is set to data" 1 ", it may mean that ECC decoding should be skipped. The second value means the number of repetitions of the ECC decoding operation.
The
The
The
Although not shown, the
As described above, the
In order to determine whether the read data RDT is data requiring ECC decoding control, the
FIG. 3 is a diagram illustrating a state where a sensing reference value used as a determination reference of the operation of the data sensing block shown in FIGS. 4 and 5 is stored in a sensing reference value register. As described above, the sensing reference value can be determined by the control unit (210 in FIG. 1). The detection reference value may be changed according to the size of the read data (RDT) or according to the error occurrence rate. For convenience of explanation, the case where the detection reference value "8" is stored in the detection
FIGS. 4 and 5 are diagrams for explaining the operation of the data sensing block for detecting deletion data. In the description of FIGS. 4 and 5, it is assumed that data "1" is erase data and data "0" is program data. In some cases, data "0" may be erased data and data "1" may be program data. For convenience of explanation, it will be assumed that the read data (RDT) consisting of (or processed) 13 bits of user data (UD), metadata (MD) and parity data (PD).
The
The
4 and 5, the
In order to determine whether the read data RDT is data requiring ECC decoding control, the
FIGS. 6 and 7 are diagrams for explaining the operation of the data sensing block for sensing data that can not be ECC decoded. For convenience of explanation, it will be assumed that read data (RDT) consisting of (or processed) 13 bits.
The read data RDT may be composed of user data UD, metadata MD and parity data PD. The user data UD may be data requested to be written from the host device. The metadata MD may be data for managing the user data UD. The parity data PD may be data added in the ECC encoding operation for error correction of the user data UD.
The currently read data RDT has been previously read out from the
The
8 is a flowchart for explaining the ECC decoding operation of the data storage device. Hereinafter, the ECC decoding operation for the read data will be described in detail with reference to FIGS. 1 and 8. FIG.
In step S100, the
The operation of determining whether the read data is the deleted data will be described with reference to the flowchart of FIG. And the operation of determining whether the read data is the data in which the previous ECC decoding operation is failed will be described with reference to the flowchart of FIG.
If it is determined that the read data is data that does not require ECC decoding control, the procedure will proceed to step S200. In step S200, the ECC decoding operation on the read data can be normally performed.
On the other hand, if it is determined that the read data is data requiring ECC decoding control, the ECC decoding operation on the read data can be skipped or simplified so that the resource of the data storage device is not consumed much in the ECC decoding operation .
In step S300, the
If a first value (data "0" in FIG. 2) indicating skipping of the ECC decoding operation is set in the
When the first value (data "1" in FIG. 2) indicating the progress of the ECC decoding operation is set in the
The second value may be determined to be a value smaller than the number of repetitions of the normal ECC decoding operation performed in step S200. That is, in operation S510, that is, the
In step S520, the
FIG. 9 is a flowchart showing the subdivision of step S100 of FIG. FIG. 9 is a flowchart illustrating an operation for determining whether the read data described with reference to FIGS. 3 to 5 is deleted data.
In step S111, the
If the counted number of erased data bits is equal to or greater than the sensing reference value, the read data is determined to be erasure data, and the procedure may proceed to step S300. On the other hand, if the counted number of erased data bits is smaller than the detection reference value, it is determined that the read data is not deleted data, and the procedure may proceed to step S200.
FIG. 10 is another flowchart showing the subdivision of step S100 of FIG. FIG. 10 is a flowchart of an operation for determining whether the read data described with reference to FIGS. 6 and 7 is data in which a previous ECC decoding operation is failed.
In step S121, the
If the previous ECC decoding result indicates an ECC decoding failure, the procedure may proceed to step S300. On the other hand, if the previous ECC decoding result indicates successful ECC decoding, the procedure may proceed to step S200.
11 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. 11, a
The
The
The
The
The
The
The
An error correction code (ECC)
The
The
12 is a block diagram illustrating an exemplary data processing system including a solid state driver (SSD) in accordance with an embodiment of the present invention. Referring to FIG. 12, the
The
The
The
The
The
The
13 is a block diagram exemplarily showing the SSD controller shown in FIG. 13, the
The
The
The
The
An error correction code (ECC)
An error correction code (ECC)
14 is a block diagram illustrating an exemplary computer system in which a data storage device according to an embodiment of the present invention is mounted. 14, a
The
The
The
15 is a block diagram of a nonvolatile memory device included in a data storage device according to an embodiment of the present invention. 15, a
The
The
The
The data read /
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 storage device
200: controller
210: Control unit
220: Random access memory
230: Data sensing block
231: Detection reference value register
240: ECC decoding block
241: Decoding setting register
250: Report Block
300: non-volatile memory device
Claims (15)
Volatile memory device to detect whether or not data bits of data read from the nonvolatile memory device are necessary to control error correction code (ECC) decoding on the read data, and to control the error correction code (ECC) decoding A data detection block for transmitting a detection result when judged; And
And an error correction code (ECC) decoding block for controlling an error correction code (ECC) decoding operation on the read data in response to the detection result.
The error correction code (ECC) decoding block may skip the error correction code (ECC) decoding operation on the read data in response to the detection result, or perform the error correction code (ECC) And the number of repetitions of the data.
The error correction code (ECC) decoding block includes a decoding setting register,
Wherein the error correction code (ECC) decoding block determines whether a first value, which means skipping the error correction code (ECC) decoding operation, is stored in the decoding setting register in response to the detection result.
Wherein the error correction code (ECC) decoding block skips the error correction code (ECC) decoding operation if the first value is stored in the decoding configuration register.
The error correction code (ECC) decoding block repeatedly performs the error correction code (ECC) decoding operation to a second value or less stored in the decoding setting register when the first value is not stored in the decoding setting register Data storage device.
Wherein the data sensing block counts the number of erasure data bits of the read data and transmits the detection result when the counted number of erasure data bits is greater than or equal to a sensing reference value.
Wherein the data sensing block terminates the count if the number of the erased data bits counted equals the sensing reference value.
Wherein the data sensing block includes a sensing reference value register in which the sensing reference value is stored.
Wherein the read data includes a result of an error correction code (ECC) decoding operation performed in a previous read operation,
Wherein the data sensing block senses the resultant value and transmits the detection result when the resultant value indicates a failure of a previous error correction decoding (ECC) operation.
The number of erasure data bits of data read from the nonvolatile memory device is counted,
Compares the counted number of erased data bits with a reference value, and
And skipping an error correction code (ECC) decoding operation on the read data if the counted number of erased data bits is greater than or equal to the reference value.
Further comprising performing the error correction code (ECC) decoding operation normally when the counted number of erased data bits is less than the reference value.
Further comprising decreasing the number of iterations of the error correction code (ECC) decoding operation when the counted number of erased data bits is greater than or equal to the reference value.
Detecting the result of a previous error correction code (ECC) decoding operation of data currently read from the non-volatile memory device, and
And skipping current error correction code (ECC) decoding operations on the read data if the result indicates failure of the previous error correcting code (ECC) decoding operation.
And performing a current error correction code (ECC) decoding operation on the read data if the resultant value indicates success of the previous error correction code (ECC) decoding operation.
Further comprising decrementing the number of iterations of the error correction code (ECC) decoding operation if the result value indicates failure of the previous error correction code (ECC) decoding operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150128549A KR20170031311A (en) | 2015-09-10 | 2015-09-10 | Data storage device and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150128549A KR20170031311A (en) | 2015-09-10 | 2015-09-10 | Data storage device and operating method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170031311A true KR20170031311A (en) | 2017-03-21 |
Family
ID=58502287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150128549A KR20170031311A (en) | 2015-09-10 | 2015-09-10 | Data storage device and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170031311A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190057810A (en) * | 2017-11-20 | 2019-05-29 | 에스케이하이닉스 주식회사 | Memory system having memory controller and memory module and method of processing data in the memory system |
KR20190125002A (en) * | 2018-04-27 | 2019-11-06 | 에스케이하이닉스 주식회사 | Memory system and operating method thereof |
US10824523B2 (en) | 2018-04-06 | 2020-11-03 | SK Hynix Inc. | Data storage device and operating method thereof |
-
2015
- 2015-09-10 KR KR1020150128549A patent/KR20170031311A/en unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190057810A (en) * | 2017-11-20 | 2019-05-29 | 에스케이하이닉스 주식회사 | Memory system having memory controller and memory module and method of processing data in the memory system |
US10824523B2 (en) | 2018-04-06 | 2020-11-03 | SK Hynix Inc. | Data storage device and operating method thereof |
KR20190125002A (en) * | 2018-04-27 | 2019-11-06 | 에스케이하이닉스 주식회사 | Memory system and operating method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11854596B2 (en) | Data storage device and operating method thereof | |
KR102419036B1 (en) | Data storage device and operating method thereof | |
KR20190022987A (en) | Data storage device and operating method thereof | |
KR20180080589A (en) | Data storage device and operating method thereof | |
KR20170053278A (en) | Data storage device and operating method thereof | |
US20180130537A1 (en) | Data storage device and operating method thereof | |
KR20170099610A (en) | Data storage device and operating method thereof | |
KR20170037159A (en) | Data storage device and operating method thereof | |
KR20200095103A (en) | Data storage device and operating method thereof | |
KR20170105760A (en) | Data storage device and operating method thereof | |
KR20170099618A (en) | Data storage device | |
US20160179596A1 (en) | Operating method of data storage device | |
KR20170051563A (en) | Data storage device and operating method thereof | |
KR20170076350A (en) | Data storage device and operating method thereof | |
KR20160105625A (en) | Data storage device and operating method thereof | |
KR20200129863A (en) | Controller, memory system and operating method thereof | |
KR20170094674A (en) | Data storage device | |
KR20190032104A (en) | Nonvolatile memory device, data storage device including nonvolatile memory device and operating method for the data storage device | |
KR20190006677A (en) | Data storage device and operating method thereof | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US20210397364A1 (en) | Storage device and operating method thereof | |
KR20170031311A (en) | Data storage device and operating method thereof | |
KR102475688B1 (en) | Nonvolatile memory device, data storage apparatus including the same and operating method thereof | |
KR102469098B1 (en) | Nonvolatile memory device, operating method thereof and data storage apparatus including the same | |
KR20170109344A (en) | Data storage device and operating method thereof |