IP Library Granted Patent US 10,741,212
Granted Patent B2
US 10,741,212 · App. 15/620,909 · Granted Aug 11, 2020

Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders

Inventor: Soo Jin Kim (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G11B20/1833G06F11/1068G11C29/52H03M13/1108H03M13/152H03M13/2903H03M13/611H03M13/6502H03M13/6575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,741,212
App. No.
15/620,909
Granted
Aug 11, 2020
Kind
B2
Abstract

An error correction code (ECC) encoder includes a plurality of exclusive OR (XOR) gates configured to receive a “k”-bit original data in parallel and configured to perform a plurality of XOR operations to the “k”-bit original data to output a “(n−k)”-bit parity data. The “k”-bit original data and the “(n−k)”-bit parity data form an “n”-bit codeword, “k” denotes a natural number and “n” denotes a natural number which is greater than “k”.

Claims (36)

1. An error correction code (ECC) encoder configured to perform an ECC encoding operation comprising:

a plurality of exclusive OR (XOR) gates configured to receive, directly from outside the ECC encoder without going through any shift register, a “k”-bit original data in parallel and configured to perform a plurality of XOR operations to the “k”-bit original data to output a “(n−k)”-bit parity data,

wherein the “k”-bit original data and the “(n-k)”-bit parity data form an “n”-bit codeword, “k” denotes a natural number and “n” denotes a natural number which is greater than “k”, and

wherein the operation of the ECC encoder is performed for one clock cycle.

2. The ECC encoder of claim 1 , wherein the plurality of XOR operations are performed using arbitrary variables as input data; and

wherein the plurality of XOR gates constitute a logic circuit so that the parity bit data of the “(n−k)”-bit parity are generated by XOR equations which are expressed by only the XOR operations.

3. The ECC encoder of claim 2 , wherein the arbitrary variables correspond to the data of the bits included in the “k”-bit original data, respectively.

4. The ECC encoder of claim 3 , wherein the XOR equations are set by respectively allocating the arbitrary variables to the bits of the “k”-bit original data, by realizing an iterative operation logic circuit for ECC encoding that includes a plurality of linear feedback shift registers (LFSRs) and a plurality of XOR gates to execute an iterative operation “k” times using the arbitrary variables as input data, by performing the iterative operation “k” times using the iterative operation logic circuit, and by extracting equations based on data stored in the LFSRs after the k th iterative operation.

5. The ECC encoder of claim 4 , wherein the number of the LFSRs for realizing the iterative operation logic circuit for ECC encoding is “(n−k)” corresponding to the number of bits included in the “(n−k)”-bit parity data used in error correction.

6. The ECC encoder of claim 5 , wherein the number “(n−k)” of bits included in the “(n−k)”-bit parity data is equal to or less than m×t where, ‘t’ is error correction capability and ‘m’ is an integer which is equal to or greater than three.

7. The ECC encoder of claim 6 , wherein each of the XOR equations is simplified by removing duplicate arbitrary variables from any one of the data stored in the LFSRs after the k th iterative operation.

8. A memory controller comprising:

an error correction code (ECC) encoder configured to perform an ECC encoding operation to “k”-bit original data, which are to be written into a memory device, to generate an “n”-bit codeword including the original data and corresponding parity bits; and

an ECC decoder configured to perform an ECC decoding operation to the codeword read from the memory device,

wherein the ECC encoder includes a plurality of exclusive OR (XOR) gates configured to directly receive, directly from outside the ECC encoder without going through any shift register, a “k”-bit original data in parallel and perform a plurality of XOR operations to the “k”-bit original data to output a “(n−k)”-bit parity, and

wherein the “k”-bit original data and the “(n−k)”-bit parity data form an “n”-bit codeword, “k” denotes a natural number and “n” denotes a natural number which is greater than “k”, and

wherein the operation of the ECC encoder is performed for one clock cycle.

9. The memory controller of claim 8 ,

wherein the plurality of XOR operations are performed using arbitrary variables as input data; and

wherein the plurality of XOR gates constitute a logic circuit so that the parity bit data of the “(n−k)”-bit parity data are generated by XOR equations which are expressed by only the XOR operations.

10. The memory controller of claim 9 , wherein the arbitrary variables correspond to the data of the bits included in the “k”-bit original data, respectively.

11. The memory controller of claim 10 , wherein the XOR equations are set by respectively allocating the arbitrary variables to the bits of the “k”-bit original data, by realizing an iterative operation logic circuit for ECC encoding that includes a plurality of linear feedback shift registers (LFSRs) and a plurality of XOR gates to execute an iterative operation “k” times using the arbitrary variables as input data, by performing the iterative operation “k” times using the iterative operation logic circuit, and by extracting equations based on data stored in the LFSRs after the k th iterative operation.

12. The memory controller of claim 11 , wherein the number of the LFSRs in the iterative operation logic circuit for ECC encoding is “(n−k)” corresponding to the number of bits included in the “(n−k)”-bit parity data used in error correction.

13. The memory controller of claim 12 , wherein the number “(n−k)” of bits included in the “(n−k)”-bit parity data is equal to or less than m×t, where, ‘t’ is error correction capability and ‘m’ is an integer which is equal to or greater than three.

14. The memory controller of claim 13 , wherein each of the XOR equations is set by removing duplicate arbitrary variables from any one of the data stored in the LFSRs after the k th iterative operation.

15. An error correction code (ECC) encoding method comprising:

realizing an iterative operation logic circuit that includes a plurality of linear feedback shift registers (LFSRs) and a plurality of XOR gates to execute an iterative operation “k” times;

allocating arbitrary variables to the “k”-bit original data, respectively;

performing the iterative operation “k” times with the iterative operation logic circuit using the arbitrary variables as input data;

extracting equations that are expressed by XOR operations of the arbitrary variables based on data stored in the LFSRs after the kth iterative operation;

extracting exclusive OR (XOR) equations, each of which is expressed by only XOR operations of arbitrary variables to obtain any one of bit data of a parity included in a codeword;

removing duplicate arbitrary variables from each of the XOR equations;

realizing an ECC encoder which is comprised of a plurality of XOR gates to execute the XOR equations; and

inputting bit data of “k”-bit original data in parallel directly from outside the ECC encoder to the plurality of XOR gates to output the bit data of the parity without going through any shift register, which are generated by the plurality of XOR gates, in parallel.

16. The ECC encoding method of claim 15 , wherein the number of the LFSRs in the iterative operation logic circuit is “(n−k)” corresponding to the number of bits included in the parity data used in error correction.

17. The ECC encoding method of claim 16 , wherein the number “(n−k)” of bits included in the parity is equal to or less than m×t, ‘t’ is error correction capability and ‘m’ is an integer which is equal to or greater than three.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2017
From: KIM, SOO JIN
To: SK HYNIX INC.
Reel/Frame 042687/0566 →
Priority Claims (1)
KR 10-2016-0158369 · Nov 25, 2016 · national
Continuity (1)
Related Publication 20180151197A1 · May 31, 2018