Nonvolatile Memory ECC Modulation for Multi-Page Data Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nonvolatile memory systems face challenges in accurately reading data due to errors caused by threshold voltage shifts, leading to incorrect data recovery, especially as the number of errors increases, which complicates the use of traditional Error Correction Codes (ECCs) and affects the reliability and efficiency of data storage.
Innovation Solution
The implementation of a method that encodes data using a combination of ECC schemes, such as BCH and LDPC codes, and employs Soft-Input Soft-Output (SISO) decoders to improve error correction capabilities by providing likelihood values for each bit, allowing for more accurate data recovery and efficient use of threshold voltage ranges in memory cells.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional ECC is used to correct errors in nonvolatile memory, then error detection capability is provided, but error correction capability is limited and becomes computationally complex as the number of errors increases
Solution Approach 1:
The patent segments data into multiple pages stored across memory cells, with each page independently encoded using ECC. This segmentation allows the system to handle error correction in smaller, manageable units rather than treating all data as a single block, reducing computational complexity while maintaining reliability.
Solution Approach 2:
The patent implements dynamic error correction by iteratively decoding pages and using correction information from successfully decoded pages to aid in decoding subsequent pages. This dynamic approach adapts the correction process based on the actual error patterns encountered, improving efficiency compared to static traditional ECC methods.
2Reliability
If more ECC bits are added to increase error correction capability, then more errors can be corrected, but storage efficiency decreases and more memory resources are consumed
Solution Approach 1:
The patent applies ECC encoding to specific portions of data (pages) rather than uniformly encoding all data with the same overhead. By selectively encoding pages based on their error susceptibility and using correction information locally from decoded pages, the system optimizes the balance between error correction capability and memory resource utilization.
Solution Approach 2:
The patent uses feedback from the decoding process where correction information obtained from successfully decoded pages is fed back to assist in decoding subsequent pages. This feedback mechanism allows the system to achieve higher effective error correction capability without proportionally increasing the number of ECC bits, as the correction information is reused across multiple pages.
3Quantity of substance
If threshold voltage ranges are expanded to store more data, then storage capacity increases, but reading accuracy decreases due to increased errors
Solution Approach 1:
The patent applies preliminary ECC encoding to data pages before they are stored in memory cells with expanded threshold voltage ranges. This preliminary error correction preparation allows the system to accommodate larger voltage ranges for increased storage capacity while maintaining reading accuracy through the protective ECC framework that corrects errors introduced by the expanded voltage ranges.
Solution Approach 2:
The patent uses disposable ECC parity bits that are regenerated for each page decoding attempt. These parity bits act as a low-cost mechanism to correct errors introduced by expanded threshold voltage ranges, allowing the system to maintain high storage capacity while compensating for reduced reading accuracy through affordable error correction.
Data Source
AI summary
Data is stored in a nonvolatile memory so that different pages of data stored in the same memory cells are encoded according to different encoding schemes. A first page is decoded according to its encoding scheme and an output is provided based on the decoding of the first page that is subsequently used in decoding a second page.


