IP Library › Granted Patent US 11,387,845
Granted Patent B2
US 11,387,845 · App. 17/033,075 · Granted Jul 12, 2022

LDPC decoder, operating method of LDPC decoder, and semiconductor memory system

Inventors: Jeong Seok Ha (Daejeon, KR); Ji Eun Oh (Daejeon, KR); Myung In Kim (Daejeon, KR)
Assignee: SK hynix Inc.
H03M13/1108G06F11/1068H03M13/116H03M13/1162
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 11,387,845
App. No.
17/033,075
Granted
Jul 12, 2022
Kind
B2
Abstract

A method for operating a Low Density Parity Check (LDPC) decoder includes assigning each symbol of a codeword as a variable node value for each of a plurality of variable nodes, performing syndrome checking on each check node based on a parity check matrix, calculating flipping function values of the variable nodes based on syndrome values of check nodes and a flipping function, dividing the flipping function values into a plurality of groups, determining a flipping function threshold value based on a group maximum value of a group among the groups, and selectively flipping a variable node value based on a comparison result of a flipping function value of corresponding variable node and the determined flipping function threshold value.

Claims (50)

1. A method for operating a Low Density Parity Check (LDPC) decoder, the method comprising:

assigning each symbol of a codeword as a variable node value for each of a plurality of variable nodes;

performing syndrome checking on each check node based on a parity check matrix;

calculating flipping function values of the variable nodes based on syndrome values of check nodes and a flipping function;

dividing the flipping function values into a plurality of groups;

determining a flipping function threshold value based on a group maximum value of a group among the groups; and

selectively flipping a variable node value based on a comparison result of a flipping function value of corresponding variable node and the determined flipping function threshold value,

wherein the determining of the flipping function threshold value includes:

selecting a group having a group maximum value of less than 0 by sequentially searching the plurality of groups; and

determining a flipping function threshold value based on the group maximum value of the selected group.

2. The method of claim 1 , wherein the determining of the flipping function threshold value includes:

determining the flipping function threshold value based on a look-up table representing a relationship between the group maximum value and the flipping function threshold value.

3. The method of claim 2 , wherein the look-up table includes a statistical relationship between a group maximum value and a flipping function threshold value that is determined based on a Genie-aided gradient falling bit flipping algorithm.

4. The method of claim 1 , further comprising:

iteratively performing the syndrome checking, the calculating of the flipping function values of the variable nodes, the determining of the flipping function threshold value, and the selectively flipping the variable node value, until the syndrome values of the check nodes are all 0 or the number of iterations reaches a maximum number of iterations.

5. The method of claim 4 , further comprising:

outputting, when the syndrome values of the check nodes are all 0, the variable node values as decoded data.

6. The method of claim 1 , wherein a flipping function based on a gradient falling bit flipping algorithm is used as the flipping function.

7. A Low Density Parity Check (LDPC) decoder comprising:

a syndrome checker configured to assign each symbol of a codeword as a variable node value for each of a plurality of variable nodes and perform syndrome checking on each check node based on a parity check matrix;

a flipping function calculator configured to calculate flipping function values of the variable nodes based on syndrome values of check nodes and a flipping function;

a flipping function threshold value determiner configured to divide the flipping function values into a plurality of groups, and determine a flipping function threshold value based on a group maximum value of a group among the groups; and

a variable node flipper configured to selectively flip a variable node value based on a comparison result of a flipping function value of corresponding variable node and the flipping function threshold value,

wherein the flipping function threshold value determiner is configured to:

select a group having a group maximum value of less than 0 by sequentially searching the plurality of groups; and

determine a flipping function threshold value based on the group maximum value of the selected group.

8. The LDPC decoder of claim 7 , further comprising:

a look-up table configured to represent a relationship between the group maximum value and the flipping function threshold value,

wherein the flipping function threshold value determiner determines the flipping function threshold value based on the look-up table.

9. The LDPC decoder of claim 8 , wherein the look-up table includes a statistical relationship between a group maximum value and a flipping function threshold value that is determined based on a Genie-aided gradient falling bit flipping algorithm.

10. The LDPC decoder of claim 7 , wherein the syndrome checking, the calculation of the flipping function values, the determination of the flipping function threshold value, and the flipping of the variable node value are iteratively performed until the syndrome values of the check nodes are all 0 or the number of iterations reaches a maximum number of iterations.

11. The LDPC decoder of claim 10 , wherein the syndrome checker outputs the variable node values as decoded data when the syndrome values of the check nodes are all 0.

12. The LDPC decoder of claim 7 , wherein a flipping function based on a gradient falling bit flipping algorithm is used as the flipping function.

13. A semiconductor memory system comprising:

a semiconductor memory device; and

a memory controller including a Low Density Parity Check (LDPC) decoder configured to perform error correction decoding on data read from the semiconductor memory device,

wherein the LDPC decoder is configured to:

assign each symbol of a codeword as a variable node value for each of a plurality of variable nodes;

perform syndrome checking on each check node based on a parity check matrix;

calculate flipping function values of the variable nodes based on syndrome values of check nodes and a flipping function;

divide the flipping function values into a plurality of groups;

determine a flipping function threshold value based on a group maximum value of a group among the groups and a look-up table; and

selectively flip a variable node value based on a comparison result of a flipping function value of corresponding variable node and the determined flipping function threshold value,

wherein the flipping function threshold value is determined by selecting a group having a group maximum value of less than 0 by sequentially searching the groups, and determining a flipping function threshold value based on the group maximum value of the selected group.

14. The semiconductor memory system of claim 13 , wherein the LDPC decoder includes the look-up table configured to represent a relationship between the group maximum value and the flipping function threshold value,

wherein the flipping function threshold value determiner determines the flipping function threshold value based on the look-up table.

15. The semiconductor memory system of claim 14 , wherein the look-up table includes a statistical relationship between a group maximum value and a flipping function threshold value that is determined based on a Genie-aided gradient falling bit flipping algorithm.

16. The semiconductor memory system of claim 13 , wherein the syndrome checking, the calculation of the flipping function values, the determination of the flipping function threshold value, and the flipping of the variable node value are iteratively performed until the syndrome values of the check nodes are all 0 or the number of iterations reaches a maximum number of iterations, and

wherein the syndrome checker outputs the variable node values as decoded data when the syndrome values of the check nodes are all 0.

17. The semiconductor memory system of claim 13 , wherein, when calculating the flipping function values, a flipping function based on a gradient falling bit flipping algorithm is used as the flipping function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2020
From: HA, JEONG SEOK; OH, JI EUN; KIM, MYUNG IN
To: SK HYNIX INC.; KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY
Reel/Frame 053892/0740 →
Priority Claims (1)
KR 10-2020-0014232 · Feb 6, 2020 · national
Continuity (1)
Related Publication 20210250045A1 · Aug 12, 2021