Non-Volatile Memory Decoding With Guided Simulated Annealing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory systems face challenges in reliably reading data due to noise and the tendency of devices to gravitate towards charge neutrality over time, leading to erroneous or corrupted data bits, which existing error correction controls may struggle to correct efficiently.
Innovation Solution
The implementation of iterative probabilistic decoding using low density parity check codes and simulated annealing with an adjustable temperature parameter, guided by knowledge of device characteristics, to improve the reliability of data reading and error correction in non-volatile memory systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error correction control is used, then the system is simple to implement, but it cannot efficiently correct errors caused by noise and charge drift in non-volatile memory
Solution Approach 1:
The patent applies simulated annealing, a dynamic optimization algorithm that mimics the physical annealing process, to the decoding process. The algorithm dynamically adjusts the temperature parameter and exploration-exploitation balance during decoding, allowing it to adaptively search for the most likely transmitted codeword. This dynamic approach enables the system to handle the complexity of correcting multiple error types while maintaining reliability.
Solution Approach 2:
The patent changes key parameters during the decoding process, including temperature in simulated annealing, reliability metrics, and iteration counts. By dynamically adjusting these parameters based on the decoding progress and error patterns, the system can efficiently navigate the solution space and achieve reliable error correction without requiring excessively complex fixed-structure approaches.
2Productivity
If iterative probabilistic decoding with simulated annealing is implemented, then convergence speed and error correction improve, but the decoding process becomes more complex
Solution Approach 1:
The patent performs preliminary actions by pre-calculating reliability metrics, pre-setting temperature schedules, and pre-defining the simulated annealing parameters before the actual decoding process. This preliminary preparation allows the iterative decoding to converge faster during execution, as the computational heavy lifting of parameter setup is done in advance, thereby improving productivity without proportionally increasing runtime complexity.
Solution Approach 2:
The patent implements feedback mechanisms where the decoding process continuously monitors convergence progress, error rates, and temperature changes. Based on this feedback, the system adjusts the simulated annealing parameters and iteration behavior in real-time, enabling faster convergence by adapting to the actual decoding state rather than following a rigid predetermined schedule.
3Reliability
If randomness is introduced in decoding to facilitate convergence, then error correction capability improves, but the determinism and predictability of the decoding process decreases
Solution Approach 1:
The patent uses simulated annealing, which introduces controlled randomness that dynamically evolves during the decoding process. Initially, higher randomness allows the algorithm to escape local minima and explore the solution space broadly. As decoding progresses, the randomness is gradually reduced, allowing the system to converge to a deterministic solution. This dynamic control of randomness maintains reliability while restoring predictability in the final stages.
Solution Approach 2:
The patent changes the temperature parameter and randomness level throughout the decoding process. By systematically reducing the temperature and associated randomness as decoding progresses, the system transitions from a stochastic exploration phase to a more deterministic convergence phase. This parameter change strategy enables the system to correct previously uncorrectable errors while maintaining operational predictability in the final output.
Data Source
AI summary
Data in non-volatile storage is decoded using iterative probabilistic decoding. An error correcting code such as a low density parity check code may be used. In one approach, initial reliability metrics, such as logarithmic likelihood ratios, are used in decoding sensed states of a set of non-volatile storage elements. The decoding attempts to converge by adjusting the reliability metrics for bits in code words which represent the sensed state. Simulated annealing using an adjustable temperature parameter based on a level of error in the data can be performed. The simulated annealing can introduce randomness, as noise for example, into the decoding process. Moreover, knowledge of the device characteristics can be used to guide the simulated annealing process rather than introducing absolute randomness. The introduction of a degree of randomness adds flexibility that permits possible faster convergence times and convergence in situations where data may otherwise be uncorrectable.


