Dynamic Error Correction Code Rate Management for Nonvolatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nonvolatile memory devices face challenges in error correction code rate management, particularly in iterative decoding, where different code rates result in varying decoding times and on-the-fly decoding failures, affecting throughput performance and longevity.
Innovation Solution
An apparatus with a circuit configured to read codewords from a nonvolatile memory block based on program/erase count, count iterations, and adjust the error correction code rate when iterations exceed a threshold, implementing a suite of error correction code rate management policies to meet throughput and over provisioning targets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a lower code rate is used to provide stronger error protection, then reliability is improved, but throughput performance deteriorates due to increased parity overhead and longer decoding times
Solution Approach 1:
The patent implements dynamic code rate adjustment by monitoring decoding iteration counts and adapting the code rate based on observed decoding performance. The system transitions from static code rate selection to dynamic adaptation, adjusting the code rate in real-time based on actual decoding requirements and performance metrics.
Solution Approach 2:
The system uses feedback from decoding iteration counts to adjust code rate selection. By monitoring the number of iterations required to decode codewords successfully, the system feeds this information back into the code rate management policy, enabling data-driven decisions about optimal code rate selection for different memory blocks and conditions.
2Productivity
If a higher code rate is used to increase throughput, then productivity is improved, but reliability deteriorates due to weaker error protection
Solution Approach 1:
The system dynamically adjusts code rates based on actual decoding needs rather than using a fixed high code rate. By monitoring decoding success and iteration counts, the system can selectively use higher code rates when they are sufficient, thereby maintaining throughput while ensuring adequate error protection only when necessary.
Solution Approach 2:
The patent changes the code rate parameter adaptively based on observed decoding performance. Instead of maintaining a fixed code rate, the system modifies the code rate parameter in response to measured decoding iteration counts and success rates, optimizing the balance between throughput and reliability for each specific condition.
3Reliability
If iterative decoding is used to improve error correction capability, then reliability is improved, but decoding time increases causing productivity to deteriorate
Solution Approach 1:
The system applies partial iterative decoding by limiting the number of decoding attempts and using code rate adjustment to reduce the need for extensive iterative decoding. By selecting appropriate code rates based on pre-programming error rates, the system achieves sufficient error correction with fewer decoding iterations, thereby reducing time loss while maintaining reliability.
Solution Approach 2:
The system performs preliminary code rate selection based on expected error rates before decoding occurs. By analyzing program/erase counts and estimating error rates in advance, the system pre-determines the optimal code rate, preventing the need for time-consuming trial-and-error iterative decoding and reducing overall decoding time while maintaining error correction capability.
4Adaptability or versatility
If code rate adjustment policy is implemented to optimize performance, then adaptability is improved, but device complexity increases due to multiple code rates and decoding management
Solution Approach 1:
The system uses simple feedback mechanisms based on decoding iteration counts to drive code rate adjustments. Rather than implementing complex adaptive algorithms, the system monitors a straightforward metric (number of iterations) and uses this feedback to select from predefined code rate options, managing complexity while maintaining adaptability.
Solution Approach 2:
The patent manages complexity by changing discrete code rate parameters based on observed performance rather than continuously adjusting multiple parameters. The system selects from aĉé set of predefined code rates based on decoding iteration metrics, simplifying the adaptation process while maintaining versatility in responding to different error conditions.
Data Source
AI summary
An apparatus having an interface and a circuit is shown. The interface is coupled to a memory that is nonvolatile. The circuit is configured to (i) read a plurality of codewords from a block in the memory based on a program/erase count associated with the block, (ii) count a number of iterations used to decode the codewords and (iii) decrease a code rate of an error correction coding used to program the block in response to the number of iterations exceeding a threshold.


