Flash Memory ECC Control Using Compression Ratio Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
MLC flash memory devices experience instability and increased access errors due to their cost-effective design, leading to issues with data management and error prevention, especially for critical data like operation system information.
Innovation Solution
A controller method and circuit design that compresses data, generates error-correcting code (ECC) protected data, and dynamically adjusts ECC protection based on compression ratios to reduce access errors by transforming data patterns and utilizing ECC decoding for accurate data retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If MLC flash memory devices are used to increase storage capacity and reduce cost, then storage capacity and cost-effectiveness are improved, but data stability and error rate are worsened
Solution Approach 1:
The patent applies preliminary action by performing data compression before writing data to the MLC flash memory device. The controller compresses incoming data using compression algorithms (e.g., LZ77, LZ78, or Huffman coding) to transform the data pattern before storage. This pre-processing step modifies the data characteristics to be more suitable for MLC storage, reducing the likelihood of access errors while maintaining the benefits of MLC technology.
Solution Approach 2:
The patent employs parameter changes by dynamically adjusting ECC protection levels based on data characteristics and storage conditions. The controller monitors data patterns and modifies ECC parameters (such as ECC code length and protection strength) adaptively. Additionally, the patent changes voltage parameters during read operations to optimize data retrieval reliability from MLC cells, thereby improving data stability without sacrificing storage capacity.
2Ease of manufacture
If conventional low-cost randomizer is used to adjust data pattern, then device cost is reduced, but data randomization effectiveness is insufficient leading to access errors
Solution Approach 1:
The patent replaces the conventional mechanical/randomizer-based data adjustment approach with a software-based compression algorithm system. Instead of using hardware randomizers that provide insufficient randomization, the patent implements firmware-level compression algorithms (such as LZ77, LZ78, or Huffman coding) that effectively transform data patterns. This substitution achieves better data randomization effectiveness while maintaining cost-effectiveness, as software implementation is more flexible and requires less additional hardware.
3Reliability
If ECC protection is applied to all data uniformly, then data protection capability is improved, but storage efficiency and writing speed are reduced
Solution Approach 1:
The patent applies local quality by implementing differential ECC protection based on data characteristics. After compressing data and analyzing its properties, the controller applies varying levels of ECC protection to different data segments or portions of data. Critical data or data with higher error susceptibility receives stronger ECC protection, while less critical data receives standard protection. This localized approach optimizes the balance between data protection capability and writing speed, avoiding uniform over-protection that would reduce productivity.
Solution Approach 2:
The patent employs partial action by selectively applying enhanced ECC protection only to specific data portions that require it, rather than applying maximum ECC protection to all data uniformly. The controller identifies data segments that benefit most from additional protection (based on compression ratio, data importance, or error patterns) and applies enhanced ECC only to those segments. This partial application of excessive protection maintains writing speed for non-critical data while ensuring robust protection where needed.
Data Source
AI summary
A controlling method utilized in a flash memory device includes: compressing first data received from a host to generate second data; generating record data according to the first data and the second data where the record data records error correct coding (ECC) control information at least; executing ECC protection upon specific data selected from the first and second data to generate third data; and writing the third data into the flash memory device.


