IP Library Granted Patent US 11,190,219
Granted Patent B1
US 11,190,219 · App. 16/917,870 · Granted Nov 30, 2021

Decoder for irregular error correcting codes

Inventors: Ran Zamir (Ramat Gan, IL); Dudy Avraham (Tel Aviv, IL); Eran Sharon (Rishon Lezion, IL); Idan Alrod (Herzliya, IL); Idan Goldenberg (Ramat Hasharon, IL); Omer Fainzilber (Even-Yehuda, IL); Yuri Ryabinin (Beer-Sheva, IL); Yan Dumchin (Beer-Sheva, IL); Igal Mariasin (Beer-Shiva, IL); Eran Banani (Meitar, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
H03M13/3707G06F11/1068H03M13/616
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,190,219
App. No.
16/917,870
Filed
Jun 30, 2020
Granted
Nov 30, 2021
Kind
B1
Art Unit
2112
USPC
714/764
Abstract

An error correcting code (ECC) decoder for a non-volatile memory device is configured to decode data stored by the non-volatile memory device using a parity check matrix with columns of different column weights. The ECC decoder is further configured to artificially slow processing of one or more of the columns of the parity check matrix in response to column weights for the one or more columns satisfying a threshold.

Claims (31)

1. An apparatus comprising:

a non-volatile memory device; and

an error correcting code (ECC) decoder for the non-volatile memory device, the ECC decoder configured to:

decode data stored by the non-volatile memory device using a parity check matrix with columns of different column weights, and

process a first set of the columns of the parity check matrix at a first speed in response to column weights for the first set of columns failing to satisfy a threshold, and

artificially slow processing of a second set of the columns of the parity check matrix to a slower speed than the first speed in response to column weights for the second set of columns satisfying the threshold.

2. The apparatus of claim 1 , wherein the ECC decoder is configured to artificially slow processing of the second set of columns by using only a subset of available processing units to process the second set of columns such that one or more other processing units are idle.

3. The apparatus of claim 1 , wherein the ECC decoder is configured to artificially slow processing of the second set of columns by reducing a number of messages calculated per bit per clock cycle for the second set of columns when compared to a number of messages calculated per bit per clock cycle for the first set of columns.

4. The apparatus of claim 1 , further comprising an ECC encoder for the non-volatile memory device, the ECC encoder configured to encode the data stored by the non-volatile memory device by enforcing a maximum number of edges in a window of clock cycles such that the ECC decoder artificially slows the processing of the second set of columns of the parity check matrix in response to the column weights satisfying the threshold.

5. The apparatus of claim 1 , wherein the ECC decoder is configured to artificially slow processing of the second set of columns by waiting a number of clock cycles without processing one of the columns in response to the second set of columns satisfying the threshold.

6. The apparatus of claim 5 , wherein the number of clock cycles is selected based on the column weights for the second set of columns.

7. The apparatus of claim 1 , wherein the ECC decoder is configured to artificially slow processing of the second set of columns by rescheduling processing of the second set of columns such that the ECC decoder is configured to process one or more columns of the first set of columns between the processing of the columns of the second set.

8. The apparatus of claim 1 , wherein the ECC decoder is configured to temporally distribute processing of the second set of columns among processing units such that one or more columns of the first set of columns are processed by processing units disposed between processing units processing the second set of columns.

9. The apparatus of claim 1 , wherein the ECC decoder is configured to artificially slow processing of the second set of columns by breaking the processing of the second set of columns into subprocesses and executing the subprocesses during different clock cycles.

10. The apparatus of claim 1 , wherein the ECC decoder is configured to use a single clock cycle to process one or more columns of the first set of columns.

11. The apparatus of claim 1 , wherein slowing processing of the second set of columns of the parity check matrix has a lower peak to average power ratio than using a single clock cycle to process the second set of columns of the parity check matrix.

12. A method comprising:

reading data stored by a non-volatile memory device;

processing a first set of columns of a parity check matrix for the data at a first speed; and

processing a second set of columns of the parity check matrix for the data at a slower speed than the first speed, the second set of columns having higher column weights than the first set of columns.

13. The method of claim 12 , wherein the second set of columns is processed at a slower speed than the first speed by using only a subset of available processing units to process the second set of columns such that one or more other processing units are idle.

14. The method of claim 12 , wherein the second set of columns is processed at a slower speed than the first speed by reducing a number of messages calculated per bit per clock cycle for the second set of columns compared to a number of messages calculated per bit per clock cycle for the first set of columns.

15. The method of claim 12 , further comprising encoding the data for storage by the non-volatile memory device by enforcing a maximum number of edges in a window of clock cycles to slow the processing of the second set of columns of the parity check matrix.

16. The method of claim 12 , wherein the second set of columns is processed at a slower speed than the first speed by waiting a number of clock cycles without processing a column of the parity check matrix.

17. The method of claim 12 , wherein the second set of columns is processed at a slower speed than the first speed by rescheduling processing of the second set of columns such that one or more columns from the first set of columns are processed between the processing of columns of the second set of columns.

18. The method of claim 12 , further comprising temporally distributing processing of the second set of columns among processing units such that one or more columns from the first set of columns are processed by processing units disposed between processing units processing the second set of columns.

19. The method of claim 12 , wherein the second set of columns is processed at a slower speed than the first speed by breaking the processing of the second set of columns into subprocesses and executing the subprocesses during different clock cycles.

20. An apparatus comprising:

means for reading data stored by a non-volatile memory device;

means for processing a first set of columns of a low-density parity-check code matrix for the data at a first speed; and

means for processing a second set of columns of the matrix for the data at a slower speed than the first speed, the second set of columns having higher column weights than the first set of columns and the slower speed selected to maintain a peak to average power ratio below a power threshold.

Assignments (8)
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 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2020
From: ZAMIR, RAN; AVRAHAM, DUDY; SHARON, ERAN; ALROD, IDAN; GOLDENBERG, IDAN; FAINZILBER, OMER; RYABININ, YURI; DUMCHIN, YAN; MARIASIN, IGAL; BANANI, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053750/0055 →