Non-Volatile Memory Reprogramming for Write Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile data storage devices face increased error rates due to noise and other factors, leading to data loss when error correction capabilities are exceeded, particularly during write operations in multi-level cell storage elements.
Innovation Solution
A data storage device with a controller that selectively reprograms information based on an error rate threshold, using a sample codeword to determine if reprogramming is necessary to correct write errors, thereby enhancing data reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multi-level cell (MLC) storage elements are used to increase data storage density, then storage capacity is improved, but error rate increases due to noise and programming errors
Solution Approach 1:
The patent performs preliminary sampling and error rate determination after initial programming but before final data acceptance. By proactively detecting errors in a sample of codewords and triggering reprogramming when error thresholds are exceeded, the system prevents unreliable data from being committed, thus maintaining high reliability while using high-density MLC storage.
Solution Approach 2:
The patent implements a feedback mechanism where the error rate of sampled codewords is continuously monitored and used to control the reprogramming process. When the error rate exceeds a threshold, the system automatically triggers reprogramming with adjusted parameters, creating a closed-loop control system that adapts to actual storage conditions and maintains data integrity.
2Reliability
If error correction code (ECC) techniques are used to correct errors, then data reliability is improved, but error correction capability is limited and cannot handle large numbers of errors
Solution Approach 1:
The patent performs preliminary error detection through sampling before data is fully committed to storage. By identifying high-error regions early and triggering reprogramming beforehand, the system prevents error accumulation that would eventually exceed ECC correction capabilities, thus avoiding data loss.
Solution Approach 2:
The patent converts the potentially harmful effect of programming errors into a beneficial trigger for corrective action. Instead of allowing errors to accumulate beyond ECC capability, the error detection mechanism transforms error presence into a signal for reprogramming, thereby preventing data loss and making the error detection system a protective asset.
3Productivity
If write operations are performed in MLC storage elements, then data storage is achieved, but write errors occur due to over-programming or under-programming
Solution Approach 1:
The patent implements feedback control by monitoring error rates in sampled codewords and using this information to adjust reprogramming parameters. This closed-loop approach maintains write operation efficiency by only reprogramming when necessary while ensuring reliability through adaptive error correction.
Solution Approach 2:
The patent changes programming parameters dynamically based on detected error rates. When errors are detected in sampling, the system adjusts reprogramming parameters (such as programming voltage or pulse duration) to correct the specific type of error encountered, thereby improving write reliability without sacrificing overall write efficiency.
Data Source
AI summary
A data storage device includes a non-volatile memory and a controller. A method includes programming information to the non-volatile memory. The information includes multiple codewords. The method further includes accessing a sample codeword of the multiple codewords from the non-volatile memory and determining an error rate associated with the sample codeword. The error rate is determined by an error correcting code (ECC) engine. The method further includes programming the information at the non-volatile memory in response to the error rate satisfying an error threshold.


