KR20140081954A - Data storage device and processing method for error correction code thereof - Google Patents
Data storage device and processing method for error correction code thereof Download PDFInfo
- Publication number
- KR20140081954A KR20140081954A KR1020120150167A KR20120150167A KR20140081954A KR 20140081954 A KR20140081954 A KR 20140081954A KR 1020120150167 A KR1020120150167 A KR 1020120150167A KR 20120150167 A KR20120150167 A KR 20120150167A KR 20140081954 A KR20140081954 A KR 20140081954A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory device
- code
- error correction
- correction code
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The present invention relates to a data storage apparatus, and more particularly, to a method of processing an error correction code in a data storage apparatus. A method of processing an error correction code of a data storage device according to an embodiment of the present invention includes: receiving data from a host device; Performing an error correcting code encoding operation on the received data; And storing parity data generated as a result of the error correction code encoding and the received data in a buffer memory device.
Description
The present invention relates to a data storage device, and more particularly, to a method of processing an error correction code in a data storage device.
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).
In general, the path through which information is transmitted can be defined as a channel. When information is transmitted using wireless communication, a channel is an air through which electromagnetic waves pass, and when information is transmitted using wired communication, a channel is a transmission line through which information is transmitted.
The process of storing data by the data storage device and reading the stored data from the data storage device may also be defined as a channel. In this case, the channel may be a time lapse from the moment the data storage device stores the data until the stored data is read from the data storage device. Also, the channel in this case may be a physical path where the data storage device stores data and reads the stored data from the data storage device.
Data may be corrupted while data is being transmitted through the channel. That is, an error may occur in the data while the data is transmitted through the channel. Researches on an apparatus and a method for detecting an error generated in data and recovering the original data by eliminating the detected error are progressing steadily.
The process of generating transmission data by adding an error correction code (ECC) to the data before transmitting the data is called error correction code encoding. The process of separating the error correction code and data added from the received transmission data after receiving the transmission data and restoring the original data is referred to as error correction code decoding.
Depending on the error correction code, the time consumed in the error correcting code encoding operation and the error correcting code decoding operation may vary. However, even if any error correction code is used, the data processing speed of the data storage device is inevitably slowed down due to the time consumed to process the error correction code.
An embodiment of the present invention is to provide a data storage device and its error correction code processing method capable of reducing the time consumed in an error correcting code encoding operation.
A method of processing an error correction code of a data storage device according to an embodiment of the present invention includes: receiving data from a host device; Performing an error correcting code encoding operation on the received data; And storing parity data generated as a result of the error correction code encoding and the received data in a buffer memory device.
In an embodiment, an error correcting code encoding operation is performed on the received data immediately after receiving the data from the host apparatus.
A data storage device according to an embodiment of the present invention includes a nonvolatile memory device; A buffer memory device configured to buffer data to be stored in the nonvolatile memory device; And an error correction code unit configured to error-correct code the data to be stored in the non-volatile memory device immediately after the data to be stored in the non-volatile memory device is transmitted from the host device, Data is buffered in the buffer memory device, and the encoded data buffered in the buffer memory device is stored in the nonvolatile memory device.
According to the embodiment of the present invention, the operation speed of the data storage device can be increased.
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.
2 is a flowchart illustrating an exemplary method of processing an error correction code of a data storage apparatus according to an embodiment of the present invention.
3 is a data flow chart for explaining an error correction code processing method according to an embodiment of the present invention.
4 is a block diagram illustrating an exemplary data processing system in accordance with another embodiment of the present invention.
5 is a block diagram illustrating an example of a solid state drive (SSD) according to an embodiment of the present invention.
6 is a block diagram illustrating the SSD controller shown in FIG.
Figure 7 is a block diagram illustrating an exemplary computer system in which a data storage device is mounted, in accordance with 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
The
The
The
In order to improve the data processing speed of the
Illustratively, the
The
The error
One of various encoding methods classified according to the encoding performance or the encoding method can be used as an encoding method of the error
According to the embodiment of the present invention, data provided from the
2 is a flowchart illustrating an exemplary method of processing an error correction code of a data storage apparatus according to an embodiment of the present invention. And FIG. 3 is a data flow chart for explaining an error correction code processing method according to an embodiment of the present invention. Referring to Figs. 1 to 3, a method of encoding an error correction code of the
In step S110, data to be stored in the
In step S120, the error correcting
With reference to FIG. 3, for example, data D2 received from the
Referring again to FIG. 2, in step S140, the encoded data is stored in the
According to an embodiment of the present invention, an error correcting code encoding operation is performed as soon as data is received from the
4 is a block diagram illustrating an exemplary data processing system in accordance with another embodiment of the present invention. Referring to FIG. 4, a
The
The
The error
The
The
The
The
As another example,
5 is a block diagram illustrating an example of a solid state drive (SSD) according to an embodiment of the present invention. Referring to FIG. 5, the
The
The
The
The
The
The
6 is a block diagram illustrating the SSD controller shown in FIG. 6, the
The
The
The
The
The
Figure 7 is a block diagram illustrating an exemplary computer system in which a data storage device is mounted, in accordance with an embodiment of the present invention. 7, a
The
The
The
Although not shown in the drawings, it will be appreciated that 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
150: buffer memory device
Claims (15)
Receiving data from a host device;
Performing an error correcting code encoding operation on the received data; And
And storing parity data generated as a result of the error correction code encoding and the received data in a buffer memory device.
Wherein an error correcting code encoding operation for the received data is performed immediately after receiving data from the host device.
And storing the parity data and the received data stored in the buffer memory device in a nonvolatile memory device.
Wherein a time at which the parity data stored in the buffer memory device and the received data are stored in the nonvolatile memory device is determined according to a storage capacity of the buffer memory device.
Wherein the error correction code encoding operation is performed using any one of a BCH code, an RS code, a low density parity check (LDPC) code, a convolutional code, and a CRC code.
Wherein the error correction code encoding operation is performed by using a combination of a BCH code, an RS code, a low density parity check (LDPC) code, a convolutional code, and a CRC code.
A buffer memory device configured to buffer data to be stored in the nonvolatile memory device; And
And an error correction code unit configured to error-correct code the data to be stored in the nonvolatile memory device immediately after the data to be stored in the nonvolatile memory device is transmitted from the host device,
Wherein the data encoded through the error correction code unit is buffered in the buffer memory device and the encoded data buffered in the buffer memory device is stored in the non-volatile memory device.
Wherein the error correction code unit is configured to encode data to be stored in the nonvolatile memory device using any one of a BCH code, an RS code, a low density parity check (LDPC) code, a convolutional code, and a CRC code.
Wherein the error correction code unit is configured to encode data to be stored in the nonvolatile memory device using a combination of a BCH code, an RS code, a low density parity check (LDPC) code, a convolutional code, and a CRC code.
Wherein the error correction code unit generates the encoded data composed of parity data generated by encoding data transmitted from the host apparatus and data transmitted from the host apparatus.
And the error correction code unit is configured to error-correct code-decode data read from the nonvolatile memory device based on the parity data.
And the buffer memory device is configured to buffer data read from the nonvolatile memory device.
Further comprising a controller configured to control the non-volatile memory device and the buffer memory device, the controller including the error correction code unit.
Wherein the controller, the nonvolatile memory device, and the buffer memory device are constituted by a memory card.
Wherein the controller, the nonvolatile memory device, and the buffer memory device are comprised of a solid state drive (SSD).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120150167A KR20140081954A (en) | 2012-12-21 | 2012-12-21 | Data storage device and processing method for error correction code thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120150167A KR20140081954A (en) | 2012-12-21 | 2012-12-21 | Data storage device and processing method for error correction code thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140081954A true KR20140081954A (en) | 2014-07-02 |
Family
ID=51732970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120150167A KR20140081954A (en) | 2012-12-21 | 2012-12-21 | Data storage device and processing method for error correction code thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140081954A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9577671B2 (en) | 2014-12-05 | 2017-02-21 | SK Hynix Inc. | Parity check circuit and memory device including the same |
KR20180023079A (en) * | 2016-08-23 | 2018-03-07 | 에스케이하이닉스 주식회사 | Semiconductor system |
CN109144768A (en) * | 2017-06-16 | 2019-01-04 | 西部数据技术公司 | CPU errors repair during correcting and eleting codes coding |
KR20190064099A (en) * | 2017-11-30 | 2019-06-10 | 에스케이하이닉스 주식회사 | Memory controller, memory system including the same, and operation method thereof |
US11043666B2 (en) | 2016-01-19 | 2021-06-22 | Seoul National University R&Db Foundation | Composite materials for cathode materials in secondary battery, method of manufacturing the same, and lithium secondary battery including the same |
-
2012
- 2012-12-21 KR KR1020120150167A patent/KR20140081954A/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9577671B2 (en) | 2014-12-05 | 2017-02-21 | SK Hynix Inc. | Parity check circuit and memory device including the same |
US11043666B2 (en) | 2016-01-19 | 2021-06-22 | Seoul National University R&Db Foundation | Composite materials for cathode materials in secondary battery, method of manufacturing the same, and lithium secondary battery including the same |
KR20180023079A (en) * | 2016-08-23 | 2018-03-07 | 에스케이하이닉스 주식회사 | Semiconductor system |
CN109144768A (en) * | 2017-06-16 | 2019-01-04 | 西部数据技术公司 | CPU errors repair during correcting and eleting codes coding |
CN109144768B (en) * | 2017-06-16 | 2021-12-17 | 西部数据技术公司 | System for data encoding and computer-implemented method thereof |
KR20190064099A (en) * | 2017-11-30 | 2019-06-10 | 에스케이하이닉스 주식회사 | Memory controller, memory system including the same, and operation method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726140B2 (en) | Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same | |
KR102081588B1 (en) | the method of ECC decoder operation and the memory controller including it | |
US20190068222A1 (en) | Data storage apparatus and operating method thereof | |
US10824523B2 (en) | Data storage device and operating method thereof | |
US9164833B2 (en) | Data storage device, operating method thereof and data processing system including the same | |
KR102076231B1 (en) | Data storage device, operating method thereof and data processing system including the same | |
US9304855B2 (en) | Data storage device | |
US10761953B2 (en) | Memory system and method for operating the same | |
KR20150006616A (en) | Data processing system and operating method thereof | |
US20140136925A1 (en) | Method of operating a data storage device | |
US9372741B2 (en) | Data storage device and operating method thereof | |
KR20140044070A (en) | Data storage device including a buffer memory device | |
US20160179596A1 (en) | Operating method of data storage device | |
US20160253239A1 (en) | Data storage device and operating method thereof | |
US20150019796A1 (en) | Data storage device and operating method thereof | |
KR20140081954A (en) | Data storage device and processing method for error correction code thereof | |
US20170286219A1 (en) | Data storage device and operating method thereof | |
KR20150020384A (en) | Data storage device and operating method thereof | |
KR20210121654A (en) | Apparatus and method for recovering a data error in a memory system | |
KR102004928B1 (en) | Data storage device and processing method for error correction code thereof | |
KR102180972B1 (en) | Memory control unit and data storage device including the same | |
KR20170031311A (en) | Data storage device and operating method thereof | |
KR20180078426A (en) | Method for error corerction code of data storage device | |
US9501351B2 (en) | Memory control unit and data storage device including the same | |
KR20180060121A (en) | Data storage device and data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |