# US 2014/0157082 A1 · Data storage device and method for processing error correction code thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157082 A1
- Document ID: US20140157082A1
- Status: Published application
- Kind: A1
- Application number: 13/778,853
- Filed: 2013-02-27
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: SK hynix Inc.
- Applicants: SK Hynix Inc.
- Inventors: Chang Geun KIM
- Web page: https://patentgrep.com/patent/US20140157082A1

## CPC

- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data storage device includes a data storage medium, and an error correction code unit configured to process an error correction code for data to be stored in the data storage medium. The error correction code unit includes a storage block configured to store the data to be stored in the data storage medium, and an encoder configured to divide the data stored in the storage block into a plurality of data groups according to an address of the storage block, to encode the plurality of data groups, to encode a plurality of parity data groups that are generated by encoding the plurality of data groups, and to generate final parity data.

## Claims

### Claim 1

A data storage device comprising:
a data storage medium; and
an error correction code unit configured to process an error correction code for data to be stored in the data storage medium,
wherein the error correction code unit comprises:
a storage block configured to store the data to be stored in the data storage medium; and
an encoder configured to divide the data stored in the storage block into a plurality of data groups according to an address of the storage block, to encode the plurality of data groups, to encode a plurality of parity data groups that are generated by encoding the plurality of data groups, and to generate final parity data.

### Claim 2 (depends on 1)

The data storage device according to claim 1, wherein the encoder is configured to encode both, the data groups and the parity data groups, to generate the final parity data.

### Claim 3 (depends on 1)

The data storage device according to claim 1, wherein the error correction code unit further comprises a decoder configured to decode both, the data groups and the parity data groups, by using the final parity data.

### Claim 4 (depends on 1)

The data storage device according to claim 1, wherein the error correction code unit further comprises a decoder configured to group the data stored in the storage block into a first data group and a second data group according to a column address of the storage block.

### Claim 5 (depends on 1)

The data storage device according to claim 1, wherein the error correction code unit further comprises a decoder configured to group the data stored in the storage block into a first data group and a second data group according to a row address of the storage block.

### Claim 6 (depends on 1)

The data storage device according to claim 1, wherein the encoder is configured to divide the data stored in the storage block into a first data group and a second data group according to a column address of the storage block.

### Claim 7 (depends on 6)

The data storage device according to claim 6, wherein the encoder is configured to encode the first data group to generate a first parity data group, to encode the second data group to generate a second parity data group, and to encode the first data group, the second data group, the first parity data group, and the second parity data group to generate the final parity data.

### Claim 8 (depends on 7)

The data storage device according to claim 7, wherein the encoder is configured to store the first parity data group and the second parity data group in the storage block such that the first parity data group and the second parity data group are added to the first data group and the second data group.

### Claim 9 (depends on 1)

The data storage device according to claim 1, wherein the encoder is configured to divide the data stored in the storage block into a first data group and a second data group according to a row address of the storage block.

### Claim 10 (depends on 9)

The data storage device according to claim 9, wherein the encoder is configured to encode the first data group to generate a first parity data group, to encode the second data group to generate a second parity data group, and to encode the first data group, the second data group, the first parity data group, and the second parity data group to generate the final parity data.

### Claim 11 (depends on 1)

The data storage device according to claim 1, wherein the error correction code unit further comprises a decoder configured to perform a decoding operation that is performed in a reverse order of an encoding operation of the encoder.

### Claim 12 (depends on 1)

The data storage device according to claim 1, further comprising:
a controller configured to control the data storage medium and the error correction code unit.

### Claim 13 (depends on 12)

The data storage device according to claim 12, wherein the data storage medium, the error correction code unit, and the controller are configured as a solid state drive (SSD).

### Claim 14

A method for processing an error correction code of a data storage device, comprising the steps of:
dividing data to be encoded into a plurality of data groups according to an address of a storage block configured to store the data to be encoded;
preliminarily encoding the plurality of data groups and generating a plurality of parity data groups corresponding to the plurality of data groups, respectively; and
secondarily encoding the plurality of data groups and the plurality of parity data groups and generating final parity data.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the encoded data groups and the encoded parity data groups are used to generate the final parity data.

### Claim 16 (depends on 14)

The method according to claim 14, wherein the step of dividing the data to be encoded into the plurality of data groups comprises a step of:
dividing the data according to a column address of the storage block.

### Claim 17 (depends on 14)

The method according to claim 14, wherein the step of dividing the data to be encoded into the plurality of data groups comprises a step of:
dividing the data according to a row address of the storage block.

### Claim 18 (depends on 14)

The method according to claim 14, further comprising a step of:
storing the plurality of data groups, the plurality of parity data groups, and the final parity data in a data storage medium.

### Claim 19 (depends on 14)

The method according to claim 14, further comprising a step of:
decoding the plurality of data groups, the plurality of parity data groups, and the final parity data.

### Claim 20 (depends on 19)

The method according to claim 19, wherein the step of decoding comprises a step of:
arranging the plurality of data groups similarly to a storage state of the storage block before the preliminary encoding is performed.

### Claim 21

A computer system including a data storage device and a central processing unit, the data storage device comprising:
a data storage medium; and
an error correction code unit configured to process an error correction code for data to be stored in the data storage medium,
wherein the error correction code unit comprises:
a storage block configured to store the data to be stored in the data storage medium; and
an encoder configured to divide the data stored in the storage block into a plurality of data groups according to an address of the storage block, to encode the plurality of data groups, to encode a plurality of parity data groups that are generated by encoding the plurality of data groups, and to generate final parity data.
