Decoder for irregular error correcting codes

US11190219B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11190219-B1
Application numberUS-202016917870-A
CountryUS
Kind codeB1
Filing dateJun 30, 2020
Priority dateJun 30, 2020
Publication dateNov 30, 2021
Grant dateNov 30, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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.

Assignees

Inventors

Classifications

  • using arrangements adapted for a specific error detection or correction feature · CPC title

  • Reduction of hardware complexity or efficient processing · CPC title

  • Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations · CPC title

  • Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code · CPC title

  • Scheduling of bit node or check node processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11190219B1 cover?
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 …
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification H03M13/6502. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 30 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).