IP Library Granted Patent US 10,530,393
Granted Patent B2
US 10,530,393 · App. 15/638,045 · Granted Jan 7, 2020

Configurable ECC decoder

Inventors: Yuri Ryabinin (Beer Sheva, IL); Yan Dumchin (Beer Sheva, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
H03M13/1575H03M13/1105H03M13/116H03M13/1108H03M13/1111H03M13/1137H03M13/3715H03M13/616H03M13/6511H03M13/6561H03M13/6577H03M13/6586H03M13/05H03M13/15
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,530,393
App. No.
15/638,045
Granted
Jan 7, 2020
Kind
B2
Abstract

A device includes a low density parity check (LDPC) decoder that is configured to receive a representation of a codeword. The LDPC decoder includes a circuit configured to set a message length of a decoding message at least partially based on an error metric associated with the representation of the codeword. The LDPC decoder also includes a processing unit including a first group of components and a second group of components. The processing unit configured to selectively couple the first group of components to the second group of components based on the message length of the decoding message.

Claims (54)

1. A method comprising:

at a device including a non-volatile memory and a low density parity check (LDPC) decoder, performing:

receiving, at the LDPC decoder, a codeword from the non-volatile memory;

setting a message length of decoding messages at least partially based on a syndrome weight of the codeword;

selectively coupling a first group of serially-coupled adders of the LDPC decoder to a second group of serially-coupled adders of the LDPC decoder based on the message length;

adding multiple pairs of the decoding messages in parallel per clock cycle of a decoding clock with the first group of serially-coupled adders and the second group of serially-coupled adders when the first group of serially-coupled adders is not coupled to the second group of serially-coupled adders; and

adding a single pair of the decoding messages per clock cycle of the decoding clock with the first group of serially-coupled adders and the second group of serially-coupled adders when the first group of serially-coupled adders is coupled to the second group of serially-coupled adders.

2. The method of claim 1 , wherein setting the message length at least partially based on the syndrome weight of the codeword includes setting the decoding messages to have a first number of bits in response to the syndrome weight of the codeword exceeding a threshold.

3. The method of claim 1 , wherein selectively coupling the first group of serially-coupled adders to the second group of serially-coupled adders includes sending a control signal to a control input of a switch that is coupled to an output of the first group of serially-coupled adders and that is coupled to an input of the second group of serially-coupled adders.

4. The method of claim 1 , further comprising selectively coupling a first portion of a memory of the LDPC decoder to a second portion of the memory based on the message length.

5. The method of claim 4 , further comprising storing a first message having a first length in the first portion and the second portion.

6. The method of claim 4 , further comprising storing a second message in the first portion and a third message in the second portion.

7. A device comprising:

a non-volatile memory; and

a low density parity check (LDPC) decoder configured to receive a representation of a codeword from the non-volatile memory, the LDPC decoder comprising:

a decoding clock;

a circuit configured to set a message length of decoding messages at least partially based on a syndrome weight of the codeword; and

a processing unit including first serially-coupled adding units and second serially-coupled adding units, the processing unit configured to

selectively couple the first serially-coupled adding units to the second serially-coupled adding units based on the message length of the decoding messages,

add multiple pairs of the decoding messages in parallel per clock cycle of the decoding clock with the first serially-coupled adding units and the second serially-coupled adding units when the first serially-coupled adding units are not coupled to the second serially-coupled adding units, and

add a single pair of the decoding messages per clock cycle of the decoding clock with the first serially-coupled adding units and the second serially-coupled adding units when the first serially-coupled adding units are coupled to the second serially-coupled adding units.

8. The device of claim 7 , wherein:

the LDPC decoder further comprises a memory that includes a first portion and a second portion;

the memory is configured to couple the first portion to the second portion to store a first message having a first length; and

the memory is configured to decouple the first portion from the second portion to store a second message in the first portion and to store a third message in the second portion.

9. The device of claim 8 , wherein the second message and the third message each have a second length that is less than the first length.

10. The device of claim 7 , wherein:

the processing unit further includes a switch coupled to an output of the first serially-coupled adding units and to an input of the second serially-coupled adding units, the switch configured to:

couple the output of the first serially-coupled adding units to the input of the second serially-coupled adding units in response to a first control signal that indicates a first message length; and

decouple the output of the first serially-coupled adding units from the input of the second serially-coupled adding units in response to a second control signal that indicates a second message length, the second message length less than the first message length.

11. The device of claim 10 , wherein:

the processing unit is configured, while the output of the first serially-coupled adding units is coupled to the input of the second serially-coupled adding units, to add a first message to a second message, wherein each of the first message and the second message has the first message length; and

the processing unit is configured, while the output of the first serially-coupled adding units is decoupled from the input of the second serially-coupled adding units, to:

add a third message to a fourth message at the first serially-coupled adding units; and

add a fifth message to a sixth message at the second serially-coupled adding units,

wherein each of the third message, the fourth message, the fifth message, and the sixth message has the second message length.

12. The device of claim 11 , wherein:

the message length is set to the first message length in a first decoding mode of the LDPC decoder; and

the message length is set to the second message length in a second decoding mode of the LDPC decoder.

13. The device of claim 7 , wherein the circuit is further configured to selectively set a reduced-power configuration of one or more components of the LDPC decoder at least partially based on a decoding mode indicator and that syndrome weight of the codeword, the reduced-power configuration including at least one of:

a reduced number of data processing units (DPUs) that are enabled;

a reduced clock frequency of the decoder clock; or

a reduced supply voltage of the LDPC decoder.

14. An apparatus comprising:

means for storing data; and

means for low density parity check (LDPC) decoding a representation of a codeword from the means for storing data, the means for LDPC decoding comprising:

means for setting a message length of decoding messages at least partially based on a syndrome weight of the codeword; and

means for selectively coupling a first means for adding to a second means for adding based on the message length;

means for adding multiple pairs of the decoding messages in parallel per clock cycle of a decoding clock with the first means for adding and the second means for adding when the first means for adding are not coupled to the second means for adding; and

means for adding a single pair of the decoding messages per clock cycle of the decoding clock with the first means for adding and the second means for adding when the first means for adding are coupled to the second means for adding.

15. The apparatus of claim 14 , wherein the means for selectively coupling is further configured to:

couple an output of the first means for adding to an input of the second means for adding in response to a first control signal that indicates a first length; and

decouple the output of the first means for adding from the input of the second means for adding in response to a second control signal that indicates a second length, the second length less than the first length.

16. The apparatus of claim 15 , wherein the means for setting the message length is further configured to generate the first control signal and the second control signal.

Assignments (10)
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 →
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 Jun 29, 2017
From: RYABININ, YURI; DUMCHIN, YAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042869/0508 →
Cited By (2)
US 12,493,435 US 12,656,975