Flash Memory ECC Parity Bit Recycling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices face challenges with long programming and erasing times, over-erasing issues, and the need for robust error correction methods to ensure data integrity, particularly in high-density and high-speed applications.
Innovation Solution
The method involves recycling error correction code (ECC) bits during flash memory programming by calculating and comparing ECC syndromes, selectively re-encoding ECC parity bits based on recent data blocks, and inhibiting ECC usage when necessary to prevent over-correction and optimize data storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC parity bits are calculated and stored for every data block, then data reliability is improved, but memory space is wasted and programming time increases
Solution Approach 1:
The patent recovers and reuses ECC parity bits from previously stored data blocks that are no longer needed. When a data block is erased or overwritten, its ECC parity bits are retained and can be reused for new data blocks, discarding the notion that ECC bits must be freshly calculated for each block.
Solution Approach 2:
The system dynamically changes the parameter of ECC parity bit validity by tracking which parity bits are still needed versus which ones can be reused. The controller monitors data block status and updates the recyclable ECC pool accordingly, adapting the ECC management strategy based on current memory state.
2Reliability
If ECC syndrome calculation and comparison is performed for every programming operation, then data integrity is enhanced, but power consumption increases
Solution Approach 1:
The system performs self-service by automatically calculating ECC syndromes and comparing them during programming operations to determine recyclability. This self-validation mechanism ensures data integrity without requiring external verification, reducing overall system power consumption.
Solution Approach 2:
Instead of performing full ECC verification for every single bit, the system performs partial action by calculating only the ECC syndrome and comparing it selectively. This reduced verification approach maintains data integrity while consuming less power than complete re-verification.
3Reliability
If additional parity bits are allocated for error correction, then error correction capability is improved, but memory storage density decreases
Solution Approach 1:
The patent makes ECC parity bits universal by enabling them to serve multiple data blocks. A single set of ECC parity bits can be reused across multiple recycling operations, allowing the same bits to provide error correction capability for different data blocks over time, thereby reducing the total number of parity bits needed.
Solution Approach 2:
The system recovers ECC parity bits from erased data blocks and redistributes them to new data blocks. This recovery process eliminates the need to allocate fresh parity bits for every block, maintaining error correction capability while preserving memory storage density.
Data Source
AI summary
Methods for recycling unused error correction code (ECC) during flash memory programming, comprise generating ECC from user data to form a syndrome and storing the syndrome into volatile memory. ECC is re-encoded corresponding to the syndrome read from the memory with new user data. Re-encoding ECC comprises comparing new ECC with the most recent ECC of the previous syndrome, correcting a bit error in the new ECC, and indicating if the new ECC has failed.


