# US 10,374,638 B2 · Error correction circuit, operating method thereof and data storage device including the same

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

- Number: US 10,374,638 B2
- Document ID: US10374638B2
- Status: Granted
- Kind: B2
- Application number: 15/845,574
- Filed: 2017-12-18
- Published: 2019-03-21
- Granted: 2019-08-06
- Earliest claimed: 2017-09-15
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Jang Seob Kim
- Web page: https://patentgrep.com/patent/US10374638B2

## CPC

- H03M 13/2975: {Judging correct decoding, e.g. iteration stopping criteria}
- H03M 13/152: {Bose-Chaudhuri-Hocquenghem [BCH] codes}
- H03M 13/2948: {Iterative decoding (H03M13/2957 takes precedence)}
- H03M 13/2963: {Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes}
- H04N 19/65: using error resilience
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An error correction circuit includes a control unit suitable for receiving a data chunk including a plurality of data blocks, each of the data blocks being included in a corresponding codeword of a first direction and a corresponding codeword of a second direction; and a decoder suitable for performing a decoding operation on a codeword, which is selected by the control unit, in the data chunk, wherein the control unit calculates a first reference value by applying a correction capability value of the first direction to a flag of the first direction, calculates a second reference value by applying a correction capability value of the second direction to a flag of the second direction, selects a priority direction from the first direction and the second direction based on the first reference value and the second reference value, and preferentially selects codewords of the priority direction for decoding operations.

## Claims

### Claim 1

An error correction circuit comprising:
a control unit suitable for receiving a data chunk including a plurality of data blocks, each of the data blocks being included in a corresponding codeword of a first direction and a corresponding codeword of a second direction; and
a decoder suitable for performing a decoding operation on a codeword, which is selected by the control unit, in the data chunk,
wherein the control unit calculates a first reference value by applying a correction capability value of the first direction to a flag of the first direction, calculates a second reference value by applying a correction capability value of the second direction to a flag of the second direction, selects a priority direction from the first direction and the second direction based on the first reference value and the second reference value and preferentially selects codewords of the priority direction for decoding operations.

### Claim 2 (depends on 1)

The error correction circuit according to claim 1, wherein the priority direction is a direction that corresponds to a smaller value between the first reference value and the second reference value.

### Claim 3 (depends on 1)

The error correction circuit according to claim 1, wherein, after selecting the codewords of the priority direction for the decoding operations, the control unit selects codewords of a non-priority direction that is different from the priority direction, for decoding operations.

### Claim 4 (depends on 1)

The error correction circuit according to claim 1, wherein the control unit calculates the flag of the first direction by summing up syndrome values of codewords of the first direction, and calculates the flag of the second direction by summing up syndrome values of codewords of the second direction.

### Claim 5 (depends on 1)

The error correction circuit according to claim 1, wherein the control unit calculates the first reference value by dividing the flag of the first direction by the correction capability value of the first direction, and calculates the second reference value by dividing the flag of the second direction by the correction capability value of the second direction.

### Claim 6 (depends on 1)

The error correction circuit according to claim 1, wherein, each time decoding operations on the data chunk are repeated, the control unit selects a new priority direction by calculating a new flag of the first direction and a new flag of the second direction.

### Claim 7

A method for operating an error correction circuit, comprising:
receiving a data chunk including a plurality of data blocks, each of the data blocks being included in a corresponding codeword of a first direction and a corresponding codeword of a second direction;
calculating a first reference value by applying a correction capability value of the first direction to a flag of the first direction;
calculating a second reference value by applying a correction capability value of the second direction to a flag of the second direction;
selecting a priority direction from the first direction and the second direction based on the first reference value and the second reference value; and
preferentially performing decoding operations on codewords of the priority direction.

### Claim 8 (depends on 7)

The method according to claim 7, wherein the priority direction is a direction that corresponds to a smaller value between the first reference value and the second reference value.

### Claim 9 (depends on 7)

The method according to claim 7, further comprising:
performing a decoding operation on each of codewords of a non-priority direction that is different from the priority direction, after performing a decoding operation on each of the codewords of the priority direction.

### Claim 10 (depends on 7)

The method according to claim 7, further comprising:
calculating the flag of the first direction by summing up syndrome values of codewords of the first direction; and
calculating the flag of the second direction by summing up syndrome values of codewords of the second direction.

### Claim 11 (depends on 7)

The method according to claim 7,
wherein the first reference value is calculated by dividing the flag of the first direction by the correction capability value of the first direction, and
wherein the second reference value is calculated by dividing the flag of the second direction by the correction capability value of the second direction.

### Claim 12 (depends on 7)

The method according to claim 7, further comprising:
selecting each time decoding operations on the data chunk are repeated, a new priority direction by calculating a new flag of the first direction and a new flag of the second direction.

### Claim 13

A data storage device comprising:
a nonvolatile memory device suitable for reading and outputting a data chunk including a plurality of data blocks, each of the data blocks being included in a corresponding codeword of a first direction and a corresponding codeword of a second direction; and
an error correction circuit suitable for performing an error correction operation on the data chunk,
the error correction circuit comprising:
a control unit suitable for calculating a first reference value by applying a correction capability value of the first direction to a flag of the first direction, calculating a second reference value by applying a correction capability value of the second direction to a flag of the second direction, selecting a priority direction from the first direction and the second direction based on the first reference value and the second reference value, and preferentially selecting codewords of the priority direction for decoding operations; and
a decoder suitable for performing a decoding operation on a codeword selected by the control unit.

### Claim 14 (depends on 13)

The data storage device according to claim 13, wherein the priority direction is a direction that corresponds to a smaller value between the first reference value and the second reference value.

### Claim 15 (depends on 13)

The data storage device according to claim 13, wherein, after selecting the codewords of the priority direction for the decoding operations, the control unit selects codewords of a non-priority direction that is different from the priority direction, for decoding operations.

### Claim 16 (depends on 13)

The data storage device according to claim 13, wherein the control unit calculates the flag of the first direction by summing up syndrome values of codewords of the first direction, and calculates the flag of the second direction by summing up syndrome values of codewords of the second direction.

### Claim 17 (depends on 13)

The data storage device according to claim 13, wherein the control unit calculates the first reference value by dividing the flag of the first direction by the correction capability value of the first direction, and calculates the second reference value by dividing the flag of the second direction by the correction capability value of the second direction.

### Claim 18 (depends on 13)

The data storage device according to claim 13, wherein, each time decoding operations on the data chunk are repeated, the control unit selects a new priority direction by calculating a new flag of the first direction and a new flag of the second direction.
