Multi-strength reed-solomon outer code protection
US-9559725-B1 · Jan 31, 2017 · US
US9768808B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9768808-B2 |
| Application number | US-201514885883-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 16, 2015 |
| Priority date | Apr 8, 2015 |
| Publication date | Sep 19, 2017 |
| Grant date | Sep 19, 2017 |
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.
The various implementations described herein include systems, methods and/or devices for modifying an error correction format of a respective memory portion of non-volatile memory in a storage device. In one aspect, the method includes, for respective memory portions of the non-volatile memory, obtaining a performance metric of the respective memory portion, and modifying a current error correction format in accordance with the measured performance metric, the current error correction format corresponding to a code rate, codeword structure, and error correction type. Furthermore, data is stored, and errors are detected and corrected, in the respective memory portion in accordance with the modified error correction format. The current and modified error correction formats are distinct, and comprise two of a sequence of predefined error correction formats, wherein a plurality of the sequence of predefined error correction formats have a same number of error correction bits and different numbers of data bits.
Opening claim text (preview).
What is claimed is: 1. A method for modifying an error correction format of a respective memory portion of non-volatile memory (NVM) in a storage device, the NVM of the storage device having a plurality of distinct memory portions, the method comprising: for each respective memory portion of a plurality of distinct memory portions of the NVM: obtaining a performance metric of the respective memory portion; modifying a current error correction format of the respective memory portion in accordance with the obtained performance metric, wherein the current error correction format corresponds to a code rate, a codeword structure, and an error correction type; storing data in the respective memory portion in accordance with the modified error correction format; and detecting and correcting errors in the data stored in the respective memory portion in accordance with the modified error correction format of the respective memory portion, wherein the modified error correction format is distinct from the current error correction format, and the modified error correction format and the current error correction format comprise two of a sequence of three or more predefined error correction formats, wherein a plurality of the sequence of predefined error correction formats have a same number of error correction bits and different numbers of data bits. 2. The method of claim 1 , wherein modifying the current error correction format of the respective memory portion includes modifying at least one of the code rate and the error correction type corresponding to the current error correction format. 3. The method of claim 1 , wherein modifying the current error correction format of the respective memory portion includes modifying at least one of the codeword structure and the error correction type corresponding to the current error correction format. 4. The method of claim 1 , wherein each predefined error correction format in the sequence of predefined error correction formats corresponds to a distinct combination of code rate and error correction type. 5. The method of claim 4 , wherein each error correction format in the sequence of predefined error correction formats has a corresponding error correction format index value in a sequence of error correction format index values, and modifying the current error correction format of the respective memory portion includes: decreasing an error correction format index for the respective memory portion to an index value for an error correction format preceding the current error correction format in the sequence of predefined error correction formats; or increasing the error correction format index for the respective memory portion to an index value for an error correction format succeeding the current error correction format in the sequence of predefined error correction formats. 6. The method of claim 5 , wherein: decreasing the error correction format index is in accordance with a determination that the performance metric of the respective memory portion satisfies a first threshold performance metric, and increasing the error correction format index is in accordance with a determination that the performance metric of the respective memory portion satisfies a second threshold performance metric, wherein the second threshold performance metric is greater than the first threshold performance metric. 7. The method of claim 6 , further comprising, in accordance with a determination that the performance metric of the respective memory portion satisfies a third threshold performance metric, detecting and correcting errors in data stored in the respective memory portion using soft information, wherein the third threshold performance metric is greater than the second threshold performance metric. 8. The method of claim 1 , wherein the current error correction format of the respective memory portion is a base error correction format selected in accordance with physical characteristics of the respective memory portion. 9. The method of claim 8 , wherein: the physical characteristics include a physical location of the respective memory portion, wherein the physical location corresponds to either an upper page or a lower page of a multi-level cell. 10. The method of claim 1 , further comprising modifying the current error correction format of the respective memory portion in accordance with a change in the physical characteristics of the respective memory portion. 11. The method of claim 1 , wherein modifying the current error correction format of the respective memory portion includes recording, in an exception table in the storage device, a value corresponding to the modified error correction format. 12. The method of claim 1 , wherein modifying the current error correction format is performed in accordance with detection of a predefined trigger condition. 13. The method of claim 1 , wherein the distinct memory portions are distinct memory erase blocks, word lines or pages of the NVM device. 14. The method of claim 1 , wherein the performance metric is a bit error rate (BER). 15. A storage system, comprising: non-volatile memory (NVM) having a plurality of distinct memory portions in a plurality of non-volatile memory devices; and one or more memory controllers, the one or more memory controllers including one or more processors and memory for storing one or more programs for execution by the one or more processors, the one or more programs including instructions for performing operations comprising: for each respective memory portion of a plurality of distinct memory portions of the NVM: obtaining a performance metric of the respective memory portion; modifying a current error correction format of the respective memory portion in accordance with the obtained performance metric, wherein the current error correction format corresponds to a code rate, a codeword structure, and an error correction type; storing data in the respective memory portion in accordance with the modified error correction format; and detecting and correcting errors in the data stored in the respective memory portion in accordance with the modified error correction format of the respective memory portion, wherein the modified error correction format is distinct from the current error correction format, and the modified error correction format and the current error correction format comprise two of a sequence of three or more predefined error correction formats, wherein a plurality of the sequence of predefined error correction formats have a same number of error correction bits and different numbers of data bits. 16. The storage system of claim 15 , including a performance metric module configured to obtaining a performance metric for a respective memory portion, and an ECC adjustment module configured to modify the error correction format of the respective memory portion in accordance with the obtained performance metric, and record, in a table in the storage system, an error correction format index value corresponding to the modified error correction format. 17. The storage system of claim 15 , including a performance metric module configured to obtaining a performance metric for a respective memory portion, an ECC adjustment module configured to modify the error correction format of the respective memory portion in accordance with the obtained performance metric, and a memory operation module configured to store data in the respective memory portion, and to detect and correct errors in the data stored in the respective memory portion. 18. The
Adaptation to the channel · CPC title
Support of multiple code types, e.g. unified decoder for LDPC and turbo codes · CPC title
by repetition or insertion of dummy data, i.e. rate reduction · CPC title
Protection of memory contents; Detection of errors in memory contents · CPC title
by puncturing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.