Low density parity check decoder with flexible saturation
US-9048870-B2 · Jun 2, 2015 · US
US10122382B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10122382-B2 |
| Application number | US-201615269686-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 19, 2016 |
| Priority date | Sep 18, 2015 |
| Publication date | Nov 6, 2018 |
| Grant date | Nov 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Memory systems may include a memory storage, a pre-processing checksum unit suitable for, during a first decoding iteration, receiving hard read data including channel input (Lch) sign values, and computing a checksum of the Lch sign values as a checksum_pre value, and a low-density parity-check (LDPC) decoder including an Lch memory and a checksum update unit, the LDPC decoder suitable for, during the first decoding iteration, storing the Lch sign values in the Lch memory of the LDPC decoder, receiving, with the checksum update unit, the checksum_pre value, and decoding a codeword in at least a second decoding iteration based at least in part on the checksum_pre value computed and received being a parity check on the hard read performed in the first decoding iteration.
Opening claim text (preview).
What is claimed is: 1. A memory system, comprising: a memory device; and a processor in communication with, and configured to control, the memory device, wherein the memory device includes: a memory storage; and a read processor coupled with the memory storage, wherein the read processor includes a pre-processing checksum unit and a low-density parity-check (LDPC) decoder that share registers and memory, the pre-processing checksum unit configured to, during a first decoding iteration: receive hard read data including channel input (Lch) sign values, wherein the hard read data corresponds to data read from the memory storage; compute a checksum of the Lch sign values and conduct a parity check, as a checksum_pre value; and output the checksum_pre value to the LDPC decoder; the LDPC decoder including an Lch memory and a checksum update unit, the LDPC decoder configured to, during the first decoding iteration: store the checksum_pre value received from the pre-processing checksum unit in the Lch memory of the LDPC decoder; receive, by the checksum update unit, the checksum_pre value; and pipeline the checksum_pre value for a second decoding iteration, wherein the LDPC decoder does not perform error correction during the first decoding iteration; and in at least the second decoding iteration, decode a codeword, using the registers and memory shared with the pre-processing checksum unit, based at least in part on the computed and received checksum_pre value, which includes the parity check on the hard read data operations performed by the pre-processing checksum unit in the first decoding iteration; and update the checksum value, using the checksum update unit, for a next decoding iteration when the second decoding iteration fails; and return the decoded codeword when the second decoding iteration is successful. 2. The memory system of claim 1 , wherein the LDPC decoder further includes a check node update (CNU) unit configured to store the Lch sign values stored in the Lch memory as a sgn_mem value during the second decoding iteration. 3. The memory system of claim 1 , wherein the LDPC decoder further includes a check node update (CNU) unit configured to receive the checksum_pre value during the first decoding iteration and store the checksum_pre value as an all_sgn value. 4. The memory system of claim 1 , wherein the LDPC decoder comprises a min-sum LDPC decoder. 5. The memory system of claim 1 , wherein the LDPC decoder further includes a check node update (CNU) unit configured to initialize a minimum read value field and a minimum read value location field at the beginning of the second decoding iteration. 6. The memory system of claim 1 , wherein the LDPC decoder is available for decoding from the second decoding iteration to the final decoding iteration. 7. A method, comprising: receiving, with a pre-processing checksum unit of a read processor of a memory device, hard read data including channel input Lch sign values, wherein the hard read data corresponds to data read from a memory storage of the memory device; computing, using the pre-processing checksum unit, a checksum of the Lch sign values and conducting a parity check, as a checksum_pre value; outputting the checksum_pre value to a low-density parity-check (LDPC) decoder of the read processor; during a first decoding iteration: storing, by the LDPC decoder, the checksum_pre value received from the pre-processing checksum unit in a Lch memory of the LDPC decoder; receiving, by a checksum update unit of the LDPC decoder, the checksum_pre value; and pipelining, by the LDPC decoder, the checksum_pre value for a second decoding iteration, wherein the LDPC decoder does not perform error correction during the first decoding iteration; and in at least the second decoding iteration, decoding, using the LDPC decoder and registers and memory shared by the LDPC decoder and the pre-processing checksum unit, a codeword based at least in part on the computed and received checksum_pre value, which includes the parity check on the hard read operations performed by the pre-processing checksum unit in the first decoding iteration; and update the checksum value, using the checksum update unit, for a next decoding iteration when the second decoding iteration fails; and returning the decoded codeword when the second decoding iteration is successful. 8. The method of claim 7 , further comprising storing, with a check node update unit of the LDPC decoder, the Lch sign values stored in the Lch memory as a sgn_mem value during the second decoding iteration. 9. The method of claim 7 , further comprising receiving, with a check node update unit of the LDPC decoder, the checksum_pre value during the first decoding iteration and storing the checksum_pre value as an all_sgn value. 10. The method of claim 7 , wherein the LDPC decoder comprises a min-sum LDPC decoder. 11. The method of claim 7 , further comprising initializing, with a check node update unit of the LDPC decoder, a minimum read value field and a minimum read value location field at the beginning of the second decoding iteration. 12. The method of claim 7 , wherein the LDPC decoder is available for decoding from the second decoding iteration to the final decoding iteration. 13. A memory device, comprising: a memory storage; and a read processor coupled with the memory storage, wherein the read processor includes a pre-processing checksum unit and a low-density parity-check (LDPC) decoder that share registers and memory, the pre-processing checksum unit configured to, during a first decoding iteration: receive hard read data including channel input (Lch) sign values, wherein the hard read data corresponds to data read from the memory storage; compute a checksum of the Lch sign values and conduct a parity check, as a checksum_pre value; and output the checksum_pre value to the LDPC decoder; the LDPC decoder including an Lch memory and a checksum update unit, the LDPC decoder configured to, during the first decoding iteration: store the checksum_pre value received from the pre-processing checksum unit in the Lch memory of the LDPC decoder; receive, by the checksum update unit, the checksum_pre value; pipeline the checksum_pre value for a second decoding iteration, wherein the LDPC decoder does not perform error correction during the first decoding iteration; and in at least the second decoding iteration, decode a codeword, using the registers and memory shared with the pre-processing checksum unit, based at least in part on the computed and received checksum_pre value, which includes the parity check on the hard read data operations performed by the pre-processing checksum unit in the first decoding iteration; and update the checksum value, using the checksum update unit, for a next decoding iteration when the second decoding iteration fails; and return the decoded codeword when the second decoding iteration is successful. 14. The memory device of claim 13 , wherein the LDPC decoder further includes a check node update (CNU) unit configured to store the Lch sign values stored in the Lch memory as a sgn_mem value during the second decoding iteration. 15. The memory device of claim 13 , wherein the LDPC decoder further includes a check node update (CNU) unit configured to receive the checksum_pre value during the first decoding iteration and store the checksum_pre value as an all_sgn value. 16. The memory device of claim 13 , wherein the LDPC decoder comprises a min-sum LDPC decoder. 17. The memory device of claim 13 , wherein th
storing only the first and second minimum values per check node · CPC title
Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code · CPC title
Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit · CPC title
using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence) · CPC title
using means or methods for the initialisation of the decoder · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.