Multi-stage decoder
US-9614547-B2 · Apr 4, 2017 · US
US2018131389A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2018131389-A1 |
| Application number | US-201615346158-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 8, 2016 |
| Priority date | Nov 8, 2016 |
| Publication date | May 10, 2018 |
| Grant date | — |
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, and an error correcting code (ECC) unit suitable for determining a number of unsatisfied check nodes of a channel output in a decoding iteration of a decoding process, updating a flipping indicator of a variable node, comparing the flipping indicator of the variable node with a flipping threshold associated with the decoding process, flipping a bit of the variable node when the flipping indicator is greater than the flipping threshold, and ending the decoding process when decoding is determined to be successful or a maximal iteration number is reached.
Opening claim text (preview).
1 . A memory system, comprising: a memory storage; and an error correcting code (ECC) unit suitable for: determining a number of unsatisfied check nodes of a channel output in a decoding iteration of a decoding process; updating a flipping indicator of a variable node, wherein the flipping indicator is based on at least hard channel information of the variable node; comparing the flipping indicator of the variable node with a flipping threshold associated with the decoding process; flipping a bit of the variable node when the flipping indicator is greater than the flipping threshold; updating the flipping threshold associated with the decoding process iteratively based on at least an iteration number of the decoding process; and ending the decoding process when decoding is determined to be successful or a maximal iteration number is reached. 2 . The memory system of claim 1 , wherein the flipping indicator of the variable node is based on a number of unsatisfied check nodes adjacent to the variable node. 3 . The memory system of claim 1 , wherein the ECC unit is further suitable for updating the flipping indicator of the variable node by setting the flipping indicator of the variable node to the determined number of unsatisfied check nodes in the decoding iteration when a hard decision of the variable node is equal to the channel output of the decoding iteration of the variable node. 4 . (canceled) 5 . The memory system of claim 1 , wherein the flipping threshold is updated based on a number of unsatisfied check nodes of a previous decoding iteration, or a number of variable nodes flipped in the previous decoding iteration. 6 . The memory system of claim 1 , wherein the ECC unit is further suitable for determining the decoding process is successful when a determined number of unsatisfied checks is zero. 7 . A method, comprising: determining a number of unsatisfied check nodes of a channel output in a decoding iteration of a decoding process; updating a flipping indicator of a variable node, wherein the flipping indicator is based on at least hard channel information of the variable node; comparing the flipping indicator of the variable node with a flipping threshold associated with the decoding process; flipping a bit of the variable node when the flipping indicator is greater than the flipping threshold; updating the flipping threshold associated with the decoding process iteratively based on at least an iteration number of the decoding process; and ending the decoding process when decoding is determined to be successful or a maximal iteration number is reached. 8 . The method of claim 7 , wherein the flipping indicator of the variable node is based on a number of unsatisfied check nodes adjacent to the variable node. 9 . The method of claim 7 , further comprising updating the flipping indicator of the variable node by setting the flipping indicator of the variable node to the determined number of unsatisfied check nodes in the decoding iteration when a hard decision of the variable node is equal to the channel output of the decoding iteration of the variable node. 10 . (canceled) 11 . The method of claim 7 , wherein the flipping threshold is updated based on a number of unsatisfied check nodes of a previous decoding iteration, or a number of variable nodes flipped in the previous decoding iteration. 12 . The method of claim 7 , further comprising determining the decoding process is successful when a determined number of unsatisfied checks is zero. 13 . A memory device, comprising: a memory storage; and an error correcting code (ECC) unit configured to: determine a number of unsatisfied check nodes of a channel output in a decoding iteration of a decoding process; update a flipping indicator of a variable node, wherein the flipping indicator is based on at least hard channel information of the variable node; compare the flipping indicator of the variable node with a flipping threshold associated with the decoding process; flip a bit of the variable node when the flipping indicator is greater than the flipping threshold; updating the flipping threshold associated with the decoding process iteratively based on at least an iteration number of the decoding process; and end the decoding process when decoding is determined to be successful or a maximal iteration number is reached. 14 . The memory device of claim 13 , wherein the flipping indicator of the variable node is based on a number of unsatisfied check nodes adjacent to the variable node. 15 . The memory device of claim 13 , wherein the ECC unit is further configured to update the flipping indicator of the variable node by setting the flipping indicator of the variable node to the determined number of unsatisfied check nodes in the decoding iteration when a hard decision of the variable node is equal to the channel output of the decoding iteration of the variable node. 16 . (canceled) 17 . The memory device of claim 12 , wherein the flipping threshold is updated based on a number of unsatisfied check nodes of a previous decoding iteration, or a number of variable nodes flipped in the previous decoding iteration. 18 . The memory device of claim 13 , wherein the ECC unit is further configured to determine the decoding process is successful when a determined number of unsatisfied checks is zero.
in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title
Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping · CPC title
Management of blocks · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.