IP Library Granted Patent US 11,271,589
Granted Patent B2
US 11,271,589 · App. 16/657,590 · Granted Mar 8, 2022

Memory system with error-reduction scheme for decoding and method of operating such memory system

Inventors: Chenrong Xiong (San Jose, CA); Fan Zhang (Fremont, CA); Haobo Wang (Sunnyvale, CA); Xuanxuan Lu (San Jose, CA); Meysam Asadi (San Jose, CA)
Assignee: SK hynix Inc.
H03M13/1108H03M13/096H03M13/43
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,271,589
App. No.
16/657,590
Granted
Mar 8, 2022
Kind
B2
Abstract

Memory controllers bit-flipping (BF) decoders and methods that selectively apply a checksum-aided error reduction (CA-ER) scheme to BF decoding of a low-density parity-check (LDPC) code. In decoding a codeword, a hard decision value resulting from decoding a select variable node is changed when a first condition is satisfied to yield an updated hard decision value. Also, when the first condition is satisfied, a current checksum value after processing the select variable node is updated using the updated hard decision value. The CA-ER scheme is applied when the updated checksum value is not reduced to a set minimum and a second condition based on a previous checksum value, calculated after a previous variable node is processed, is satisfied.

Claims (39)

1. A memory controller, comprising:

a storage to store codewords of a low-density parity-check (LDPC) code representable by at least variable nodes; and

a decoder operably coupled to the storage and configured to perform decoding on the codewords;

wherein, in an i-th iteration of decoding of a codeword among the codewords, the memory controller including the decoder is configured to:

perform decoding of a j-th variable node to yield a hard decision value,

change the hard decision value of the j-th variable node when a first condition is satisfied to yield an updated hard decision value,

update a checksum value of the j-th variable node, when the first condition is satisfied, using the updated hard decision value, and

apply a checksum-aided error recovery (CA-ER) scheme for the j-th variable node in the i-th iteration, when the updated checksum value is not reduced to a set minimum and a second condition is satisfied,

wherein it is determined that the second condition is satisfied when a checksum value of a (j−1)-th variable node is less than either a checksum threshold or the checksum value of the j-th variable node.

2. The memory controller of claim 1 , wherein it is determined that the first condition is satisfied based on a flipping threshold and flipping energy for the j-th variable node.

3. The memory controller of claim 2 , wherein it is determined that the first condition is satisfied when the flipping threshold is less than the flipping energy.

4. The memory controller of claim 1 , wherein the CA-ER scheme includes replacing the hard decision value for the j-th variable node with a hard decision value for the (j−1)-th variable node.

5. The memory controller of claim 4 , wherein the CA-ER scheme further includes updating the checksum value of the j-th variable node using the hard decision value for the (j−1)-th variable node.

6. The memory controller of claim 1 , wherein the LDPC code is an irregular LDPC code.

7. A decoder for decoding received codewords of a low-density parity-check (LDPC) code representable by at least variable nodes, the decoder configured to:

perform decoding on the codewords;

wherein, in an i-th iteration of decoding of a codeword among the codewords, the decoder is further configured to:

perform decoding of a j-th variable node to yield a hard decision value,

change the hard decision value of the j-th variable node when a first condition is satisfied to yield an updated hard decision value,

update a checksum value of the j-th variable node, when the first condition is satisfied, using the updated hard decision value, and

apply a checksum-aided error recovery (CA-ER) scheme for the j-th variable node in the i-th iteration, when the updated checksum value is not reduced to a set minimum and a second condition is satisfied,

wherein it is determined that the second condition is satisfied when a checksum value of a (j−1)-th variable node is less than either a checksum threshold or the checksum value of the j-th variable node.

8. The decoder of claim 7 , wherein the decoder includes a bit-flipping (BF) decoding module.

9. The decoder of claim 7 , wherein the set minimum is zero.

10. A method for decoding received codewords of a low-density parity-check (LDPC) code representable by at least variable nodes, the method comprising:

in an i-th iteration of decoding of a codeword among the codewords

performing decoding of a j-th variable node to yield a hard decision value;

changing the hard decision value of the j-th variable node when a first condition is satisfied to yield an updated hard decision value;

updating a checksum value of the j-th variable node, when the first condition is satisfied, using the updated hard decision value; and

applying a checksum-aided error recovery (CA-ER) scheme for the j-th variable node in the i-th iteration, when the updated checksum value is not reduced to a set minimum and a second condition is satisfied,

wherein it is determined that the second condition is satisfied when a checksum value of a (j−1)-th variable node is less than either a checksum threshold or the checksum value of the j-th variable node.

11. The method of claim 10 , wherein it is determined that the first condition is satisfied based on a flipping threshold and flipping energy for the select variable node.

12. The method of claim 11 , wherein it is determined that the first condition is satisfied when the flipping threshold is less than the flipping energy.

13. The method of claim 10 , wherein the applying of the CA-ER scheme includes replacing the hard decision value for the select j-th variable node with a hard decision value for the (j−1)-th variable node.

14. The method of claim 13 , wherein the applying of the CA-ER scheme further includes updating the checksum value of the j-th variable node using the hard decision value for the (j−1)-th variable node.

15. The decoder of claim 7 , wherein it is determined that the first condition is satisfied based on a flipping threshold and a flipping energy for the select variable node.

16. The decoder of claim 15 , wherein it is determined that the first condition is satisfied when the flipping threshold is less than the flipping energy.

17. The decoder of claim 7 , wherein the CA-ER scheme includes replacing the hard decision value for the j-th variable node with a hard decision value for the (j−1)-th variable node.

18. The decoder of claim 17 , wherein the CA-ER scheme further includes updating the checksum value of the j-th variable node using the hard decision value for the (j−1)-th variable node.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2021
From: SK HYNIX MEMORY SOLUTIONS AMERICA INC.
To: SK HYNIX INC.
Reel/Frame 056883/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: XIONG, CHENRONG
To: SK HYNIX MEMORY SOLUTIONS AMERICA INC.
Reel/Frame 052719/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2019
From: ZHANG, FAN; WANG, HAOBO; LU, XUANXUAN; ASADI, MEYSAM
To: SK HYNIX MEMORY SOLUTIONS AMERICA INC.
Reel/Frame 050763/0571 →
Continuity (1)
Related Publication 20210119643A1 · Apr 22, 2021