IP Library › Granted Patent US 10,110,249
Granted Patent B2
US 10,110,249 · App. 15/244,444 · Granted Oct 23, 2018

Column-layered message-passing LDPC decoder

Inventors: Xinmiao Zhang (Mercer Island, WA); Alexander Bazarsky (Holon, IL); Ran Zamir (Ramat Gan, IL); Eran Sharon (Rishon Lezion, IL); Idan Alrod (Herzliya, IL); Omer Fainzilber (Herzliya, IL); Sanel Alterman (Sunnyvale, CA)
Assignee: SanDisk Technologies LLC
H03M13/1111G06F11/1068G11C29/52H03M13/114
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,110,249
App. No.
15/244,444
Granted
Oct 23, 2018
Kind
B2
Abstract

In an illustrative example, a decoder includes a variable node unit (VNU) that includes a variable-to-check lookup table circuit configured to output a variable-to-check message corresponding to a check node. The VNU also includes a hard-decision lookup table circuit configured to output a hard decision value corresponding to a variable node. The decoder also includes a check node unit (CNU) responsive to the variable-to-check message and configured to generate an updated check-to-variable message.

Claims (46)

1. A decoder comprising:

a variable node unit (VNU) comprising:

a variable-to-check lookup table circuit configured to output a variable-to-check message corresponding to a check node based on message value counts,

a hard-decision lookup table circuit configured to output a hard-decision value corresponding to a variable node,

inputs configured to receive check-to-variable messages corresponding to the variable node, and

a plurality of variable-to-check lookup table circuits that includes the variable-to-check lookup table circuit; and

a check node unit (CNU) responsive to the variable-to-check message and configured to generate an updated check-to-variable message.

2. The decoder of claim 1 , wherein:

the VNU is included in a VNU stage that comprises a first number of VNUs corresponding to a column layer of a parity check matrix,

the CNU is included in a CNU stage that comprises a second number of CNUs corresponding to a multiple of a column weight of the parity check matrix, and

the VNU stage and the CNU stage are configured to operate according to a column-layered decoding schedule.

3. The decoder of claim 1 , wherein the variable-to-check lookup table circuit is configured to receive the check-to-variable messages from at least two of the inputs.

4. The decoder of claim 3 , wherein each of the check-to-variable messages includes a two-bit message.

5. The decoder of claim 1 , wherein the VNU comprises a one-hot decoder circuit configured to generate one-hot outputs corresponding to the check-to-variable messages.

6. The decoder of claim 5 , further comprising a summer coupled to the variable-to-check lookup table circuit and configured to output counts of the one-hot outputs.

7. The decoder of claim 1 , wherein the variable-to-check message includes a two-bit message.

8. The decoder of claim 1 , wherein the VNU is configured to receive multiple messages and to generate a count of the multiple messages that have a particular message value.

9. The decoder of claim 1 , wherein the VNU is configured to receive a plurality of distinct message values and to generate a count corresponding to each of the plurality of distinct message values.

10. The decoder of claim 1 , wherein the CNU is configured to generate the updated check-to-variable message based at least in part on the message value counts.

11. The decoder of claim 1 , wherein the CNU is configured to generate a count of variable-to-check messages output from the VNU that indicate a particular magnitude.

12. The decoder of claim 1 , wherein the CNU is configured to generate the updated check-to-variable message based on a determination of whether a syndrome weight associated with the updated check-to-variable message is less than a syndrome weight threshold.

13. The decoder of claim 1 , wherein the CNU is configured to reconstruct the check-to-variable messages based on a count corresponding to variable-to-check messages having a particular magnitude value and based on stored variable-to-check messages.

14. An apparatus comprising:

means for producing a variable-to-check message corresponding to a check node, the means for producing configured to

output the variable-to-check message based on a variable-to-check lookup operation;

means for outputting a hard-decision value corresponding to a variable node, the means for outputting configured to output the hard-decision value based on a hard-decision lookup operation;

means for receiving check-to-variable messages corresponding to the variable node;

means for generating an updated check-to-variable message, the means for generating configured to generate the updated check-to-variable message responsive to the variable-to-check message; and

a one-hot decoder circuit configured to generate one-hot outputs corresponding to the check-to-variable messages.

15. The apparatus of claim 14 , wherein:

the means for producing and the means for outputting are included in a variable node unit (VNU) stage that comprises a first number of VNUs corresponding to a column layer of a parity check matrix,

the means for generating is included in a check node unit (CNU) stage that comprises a second number of CNUs corresponding to a multiple of a column weight of the parity check matrix, and

the VNU stage and the CNU stage are configured to operate according to a column-layered decoding schedule.

16. A method comprising:

outputting a variable-to-check message at a variable-to-check lookup table circuit of a variable node unit (VNU), the variable-to-check message corresponding to a check node of a decoder and generated based on message value counts;

outputting a hard-decision value at a hard-decision lookup table circuit, the hard-decision value corresponding to a variable node of the decoder;

receiving check-to-variable messages corresponding to the variable node;

generating one-hot outputs corresponding to the check-to-variable messages;

outputting counts of the one-hot outputs; and

generating an updated check-to-variable message, the updated check-to-variable message generated at a check node unit (CNU) responsive to the variable-to-check message.

17. The method of claim 16 , wherein:

the VNU is included in a VNU stage that comprises a first number of VNUs corresponding to a column layer of a parity check matrix,

the CNU is included in a CNU stage that comprises a second number of CNUs corresponding to a multiple of a column weight of the parity check matrix, and

the VNU stage and the CNU stage operate according to a column-layered decoding schedule.

18. The method of claim 16 , wherein the VNU receives two-bit check-to-variable messages from the CNU, and wherein the CNU receives two-bit variable-to-check messages from the VNU.

19. The method of claim 16 , further comprising outputting, at the variable-to-check lookup table circuit, a count of check-to-variable messages that are indicative of a particular message value.

Assignments (4)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2016
From: ZHANG, XINMIAO; BAZARSKY, ALEXANDER; ZAMIR, RAN; SHARON, ERAN; ALROD, IDAN; FAINZILBER, OMER; ALTERMAN, SANEL
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 039509/0957 →
Continuity (1)
Related Publication 20180062666A1 · Mar 1, 2018