IP Library Granted Patent US 10,951,233
Granted Patent B2
US 10,951,233 · App. 16/453,882 · Granted Mar 16, 2021

System and method for decoding iterations and dynamic scaling

Inventors: Kent D. Anderson (Broomfield, CO); Anantha Raman Krishnan (Irvine, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
H03M13/1111G06F11/1068G11C29/52H03M13/1128H03M13/3746H03M13/45H03M13/658H03M13/6591
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,951,233
App. No.
16/453,882
Granted
Mar 16, 2021
Kind
B2
Abstract

A decoder is configured to perform, for a unit of data received by the decoder, a plurality of decoding iterations in which a plurality of messages are passed between a plurality of check nodes and a plurality of variable nodes, each message indicating a degree of reliability in an observed outcome of data. The decoder determines, for each of the plurality of decoding iterations, whether a trigger condition is satisfied based on an internal state of the decoder and, when a trigger condition is determined to be satisfied during a respective decoding iteration, scales one or more respective messages of the plurality of messages during a subsequent decoding iteration. The unit of data is decoded based on the plurality of decoding iterations and at least one scaled message resulting from the trigger condition being satisfied during the respective decoding iteration.

Claims (37)

1. An apparatus, comprising:

a decoder configured to:

perform a plurality of decoding iterations based on a plurality of messages;

determine whether one or more trigger conditions for scaling have occurred, based at least on one or more internal states of the decoder;

in response to determining that one or more trigger conditions for scaling have occurred, scale one or more messages resulting from one or more of the plurality of decoding iterations; and

perform one or more next decoding iterations based on the scaled one or more messages.

2. The apparatus of claim 1 , wherein the one or more messages comprise one or more of: a scalar representing an estimated reliability of a single unit of data; and a vector representing an estimated reliability of a single unit of data.

3. The apparatus of claim 1 , wherein the one or more messages comprise one or more log-likelihood ratios (LLRs).

4. The apparatus of claim 3 , wherein the decoder is configured to scale at least one of the one or more messages based on reducing a numerical range spanned by an LLR.

5. The apparatus of claim 3 , wherein the decoder configured to scale the one or more messages comprises a shifter to right shift an LLR and then truncate or round the right shifted LLR.

6. The apparatus of claim 3 , wherein the decoder configured to determine whether one or more trigger conditions for scaling have occurred comprises the decoder configured to determine that absolute values of a predetermined number of the LLRs are greater than a predetermined limit.

7. The apparatus of claim 1 , wherein the decoder configured to determine whether one or more trigger conditions for scaling have occurred comprises the decoder configured to determine that a predetermined number of the plurality of decoding iterations has been performed.

8. The apparatus of claim 7 , wherein the predetermined number of the plurality of decoding iterations is a predetermined number of the plurality of decoding iterations since a prior scaling operation.

9. The apparatus of claim 1 , wherein the decoder comprises a check node unit configured to determine whether one or more parity check conditions have been satisfied in order to determine whether to terminate the plurality of decoding iterations.

10. The apparatus of claim 1 , wherein the decoder configured to determine whether one or more trigger conditions for scaling have occurred comprises the decoder configured to determine that a current number of unsatisfied checks on at least a portion of the plurality of messages exchanged between a plurality of variable nodes and a plurality of check nodes does not satisfy a predetermined threshold and that a predetermined number of decoding iterations has been performed since a prior scaling operation.

11. The apparatus of claim 1 , wherein:

the decoder comprises a first memory and a second memory, and

the decoder is configured to work with a parity check matrix including a plurality of layers and configured to:

trigger scaling of an output from the first memory at a sub-iteration associated with processing a first layer of the plurality of layers; and

trigger scaling of an output from the second memory at sub-iterations associated with processing of the first layer and one or more of the plurality of layers other than the first layer.

12. A machine-implemented method, comprising:

performing, in a decoder, a plurality of decoding iterations based on a plurality of messages;

determining whether one or more trigger conditions for scaling have occurred, based at least on one or more internal states of the decoder;

scaling one or more messages produced from one or more of the plurality of decoding iterations when the one or more trigger conditions have occurred; and

performing one or more next decoding iterations based on the scaled one or more messages.

13. The machine-implemented method of claim 12 , wherein the one or more messages comprise one or more of: a scalar representing an estimated reliability of a single unit of data; and a vector representing an estimated reliability of a single unit of data.

14. The machine-implemented method of claim 12 , wherein the one or more messages comprise one or more log-likelihood ratios (LLRs).

15. The machine-implemented method of claim 14 , wherein the scaling comprising scaling at least one of the one or more messages based on reducing a numerical range spanned by an LLR.

16. The machine-implemented method of claim 14 , wherein the determining comprises determining that absolute values of a predetermined number of the LLRs are greater than a predetermined limit.

17. The machine-implemented method of claim 12 , wherein the determining comprises determining that a predetermined number of the plurality of decoding iterations has been performed, and wherein the predetermined number of the plurality of decoding iterations is a predetermined number of the plurality of decoding iterations since a prior scaling operation.

18. A system, comprising:

means for performing, in a decoder, a plurality of decoding iterations based on a plurality of messages;

means for determining whether one or more trigger conditions for scaling have occurred, based at least on one or more internal states of the decoder;

means for scaling one or more messages produced from one or more of the plurality of decoding iterations when the one or more trigger conditions have occurred; and

means for performing one or more next decoding iterations based on the scaled one or more messages.

19. The system of claim 18 , wherein the one or more messages comprise one or more of: a scalar representing an estimated reliability of a single unit of data; and a vector representing an estimated reliability of a single unit of data.

20. The system of claim 18 , wherein the one or more messages comprise one or more log-likelihood ratios (LLRs).

Assignments (10)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2019
From: ANDERSON, KENT D.; KRISHNAN, ANANTHA RAMAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049647/0495 →