IP Library Granted Patent US 11,251,810
Granted Patent B2
US 11,251,810 · App. 16/988,429 · Granted Feb 15, 2022

Low-density parity-check decoding with desaturation

Inventor: Yingquan Wu (Palo Alto, CA)
H03M13/1111H03M13/116
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,251,810
App. No.
16/988,429
Granted
Feb 15, 2022
Kind
B2
Abstract

A saturation metric that represents a degree of saturation in a low-density parity-check (LDPC) decoding system that uses a fixed-point number representation is determined. The saturation metric is compared against a saturation threshold. In the event the saturation metric exceeds the saturation threshold, at the end of a decoding iteration, a message is more aggressively attenuated compared to when the saturation metric does not exceed the saturation threshold in order to produce an attenuated message. In the event the saturation metric does not exceed the saturation threshold, at the end of the decoding iteration, the message is less aggressively attenuated compared to when the saturation metric does exceed the saturation threshold in order to produce the attenuated message.

Claims (58)

1. A decoder, comprising:

a saturation monitor configured to:

generate a global de-saturation control signal that is determined based at least in part on a saturation threshold and a degree of saturation in a low-density parity-check (LDPC) decoding system that uses a fixed-point number representation;

plurality of variable nodes that is configured to:

in the event the global de-saturation control signal is a first value, output a more aggressively attenuated message to a plurality of check nodes compared to when the global de-saturation control signal is a second value; and

in the event the global de-saturation control signal is the second value, output a less aggressively attenuated message to the plurality of check nodes compared to when the global de-saturation control signal is the first value; and

the plurality of check nodes.

2. The decoder recited in claim 1 , wherein the degree of saturation is based at least in part on a number of messages, passed between at least one of the plurality of check nodes and at least one of the plurality of variable nodes, that are saturated to a maximum fixed-precision magnitude.

3. The decoder recited in claim 1 , wherein the degree of saturation is based at least in part on a number of saturated nodes in the LDPC decoding system.

4. The decoder recited in claim 1 , wherein:

the degree of saturation is based at least in part on a number of saturated nodes in the LDPC decoding system; and

a node is declared saturated if an associated minimum attenuated message after attenuation reaches a maximum fixed-precision magnitude.

5. The decoder recited in claim 1 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message that is based at least in part on a first-most minimum variable node message; and

outputting a second more aggressively attenuated message that is based at least in part on a second-most minimum variable node message.

6. The decoder recited in claim 1 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message (L min1 (j) ) that is based at least in part on a first-most minimum variable node message (l min1 (j) ), including by using L min1 (j) =└α ds ·l min1 (j) +β ds ┘, wherein α ds is associated with an attenuation factor and β ds is associated with an attenuation rounding; and

outputting a second more aggressively attenuated message (L min2 (j) ) that is based at least in part on a second-most minimum variable node message (l min2 (j) ) including by using L min2 (j) =└α ds ·l min2 (j) +β ds ┘.

7. The decoder recited in claim 1 , wherein:

a first attenuation factor (α) is used to generate the less aggressively attenuated message and a second attenuation factor (α ds ) is used to generate the more aggressively attenuated message, wherein α ds <α; and

a first attenuation rounding (β) is used to generate the less aggressively attenuated message and a second attenuation rounding (β ds ) is used to generate the more aggressively attenuated message, wherein └α ds +β ds ┘≤└α+β┘.

8. The decoder recited in claim 1 , wherein:

a first attenuation factor (α) is used to generate the less aggressively attenuated message and a second attenuation factor (α ds ) is used to generate the more aggressively attenuated message, wherein α ds <α;

a first attenuation rounding (β) is used to generate the less aggressively attenuated message and a second attenuation rounding (β ds ) is used to generate the more aggressively attenuated message, wherein └α ds +β ds ┘≤└α+β┘; and

at least one of α, α ds , β, or β ds is determined using density evolution.

9. A method, comprising:

generating a global de-saturation control signal that is determined based at least in part on a saturation threshold and a degree of saturation in a low-density parity-check (LDPC) decoding system that uses a fixed-point number representation;

in the event the global de-saturation control signal is a first value, outputting a more aggressively attenuated message to a plurality of check nodes compared to when the global de-saturation control signal is a second value; and

in the event the global de-saturation control signal is the second value, outputting a less aggressively attenuated message to the plurality of check nodes compared to when the global de-saturation control signal is the first value.

10. The method recited in claim 9 , wherein the degree of saturation is based at least in part on a number of messages, passed between at least one of the plurality of check nodes and at least one of the plurality of variable nodes, that are saturated to a maximum fixed-precision magnitude.

11. The method recited in claim 9 , wherein the degree of saturation is based at least in part on a number of saturated nodes in the LDPC decoding system.

12. The method recited in claim 9 , wherein:

the degree of saturation is based at least in part on a number of saturated nodes in the LDPC decoding system; and

a node is declared saturated if an associated minimum attenuated message after attenuation reaches a maximum fixed-precision magnitude.

13. The method recited in claim 9 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message that is based at least in part on a first-most minimum variable node message; and

outputting a second more aggressively attenuated message that is based at least in part on a second-most minimum variable node message.

14. The method recited in claim 9 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message (L min1 (j) ) that is based at least in part on a first-most minimum variable node message (l min1 (j) ), including by using L min1 (j) =└α ds ·l min1 (j) +β ds ┘, wherein α ds is associated with an attenuation factor and β ds is associated with an attenuation rounding; and

outputting a second more aggressively attenuated message (L min2 (j) ) that is based at least in part on a second-most minimum variable node message (l min2 (j) ) including by using L min2 (j) =└α ds ·l min2 (j) +β ds ┘.

15. The method recited in claim 9 , wherein:

a first attenuation factor (α) is used to generate the less aggressively attenuated message and a second attenuation factor (α ds ) is used to generate the more aggressively attenuated message, wherein α ds <α; and

a first attenuation rounding (β) is used to generate the less aggressively attenuated message and a second attenuation rounding (β ds ) is used to generate the more aggressively attenuated message, wherein └α ds +β ds ┘≤α+β┘.

16. The method recited in claim 9 , wherein:

a first attenuation factor (α) is used to generate the less aggressively attenuated message and a second attenuation factor (α ds ) is used to generate the more aggressively attenuated message, wherein α ds <α;

a first attenuation rounding (β) is used to generate the less aggressively attenuated message and a second attenuation rounding (β ds ) is used to generate the more aggressively attenuated message, wherein └α ds +β ds ┘≤└α+β┘; and

at least one of α, α ds , β, or β ds is determined using density evolution.

17. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

generating a global de-saturation control signal that is determined based at least in part on a saturation threshold and a degree of saturation in a low-density parity-check (LDPC) decoding system that uses a fixed-point number representation;

in the event the global de-saturation control signal is a first value, outputting a more aggressively attenuated message to a plurality of check nodes compared to when the global de-saturation control signal is a second value; and

in the event the global de-saturation control signal is the second value, outputting a less aggressively attenuated message to the plurality of check nodes compared to when the global de-saturation control signal is the first value.

18. The computer program product recited in claim 17 , wherein the degree of saturation is based at least in part on a number of messages, passed between at least one of the plurality of check nodes and at least one of the plurality of variable nodes, that are saturated to a maximum fixed-precision magnitude.

19. The computer program product recited in claim 17 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message that is based at least in part on a first-most minimum variable node message; and

outputting a second more aggressively attenuated message that is based at least in part on a second-most minimum variable node message.

20. The computer program product recited in claim 17 , wherein outputting the more aggressively attenuated message to the plurality of check nodes includes:

outputting a first more aggressively attenuated message (L min2 (j) ) that is based at least in part on a first-most minimum variable node message (l min1 (j) ), including by using L min1 (j) =└α ds ·l min1 (j) +β ds ┘, wherein is associated with an attenuation factor and β ds is associated with an attenuation rounding; and

outputting a second more aggressively attenuated message (L min2 (j) ) that is based at least in part on a second-most minimum variable node message (l min2 (j) ), including by using L min2 (j) =└α ds ·l min2 (j) +β ds ┘.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2021
From: TENAFE, INC.
To: BEIJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 055978/0715 →
Continuity (2)
Continuation 16777457 · Jan 30, 2020
Related Publication 20210242884A1 · Aug 5, 2021