Dynamic ECC Page Allocation for Memory Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional semiconductor-based memory devices are ineffective in error correction, leading to data loss when the number of errors exceeds the capability of the error correction scheme, necessitating a novel system and method for improving data reliability and preventing data loss.
Innovation Solution
A dynamic data storage system and method that involves encoding data with an error correction code (ECC) and determining the data percentage to be stored in each partition based on the number of corrected errors, with marked pages being replicated and reserved to manage errors exceeding a predetermined threshold.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error correction code (ECC) is used in memory devices, then data reliability is improved, but the system cannot effectively correct errors when the number of errors exceeds the capability of the error correction scheme, leading to data loss
Solution Approach 1:
The patent implements dynamic error correction by adjusting the number of ECC bits allocated to each data partition based on the observed error characteristics. The system monitors error patterns and dynamically reconfigures the ECC distribution, transitioning from static to adaptive error correction. This allows the system to handle varying error rates and patterns effectively, preventing data loss when error counts exceed fixed ECC capabilities.
Solution Approach 2:
The system changes the parameter of ECC bit allocation from a fixed value to a dynamically adjustable value. By monitoring error rates and patterns in data partitions, the system modifies the number of ECC bits allocated to each partition, optimizing error correction capability according to actual storage conditions. This parameter adaptation enables effective correction of varying numbers of errors without data loss.
2Quantity of substance
If the number of bits stored in each memory cell increases, then storage density is improved, but error detection and correction becomes more significant and difficult
Solution Approach 1:
The patent divides the storage space into multiple data partitions, each with its own ECC protection. This segmentation allows independent error detection and correction for each partition, making it easier to manage and track errors in high-density storage. By breaking down the large storage space into smaller manageable units, the system can effectively monitor and correct errors even as overall storage density increases.
Solution Approach 2:
The system implements feedback mechanisms by monitoring error patterns in each data partition and using this information to dynamically adjust ECC allocation. The feedback loop continuously tracks error rates and modifies error correction strategies accordingly, making error detection and correction more effective in high-density storage environments where errors may occur more frequently.
3Reliability
If dynamic ECC allocation is implemented, then error correction effectiveness is improved, but device complexity increases
Solution Approach 1:
The system performs preliminary actions by pre-calculating and preparing ECC bits for each data partition based on expected error patterns. Rather than complex real-time calculations, the system pre-allocates appropriate ECC resources and prepares correction strategies in advance, reducing the complexity of dynamic error correction while maintaining effectiveness. This preliminary preparation simplifies the overall system architecture.
Data Source
AI summary
A method of dynamic data storage for error correction in a memory device is disclosed. Data for storage is received, the received data is encoded and error correction code (ECC) is generated. The encoded data is stored in the memory device that includes a plurality of pages each having a plurality of data partitions. More corrected errors a marked page has, a smaller portion with a space of at least one datum of each of the corresponding data partitions associated with the marked page is allocated to store the encoded data, while a size of the ECC is fixed, thereby increasing capability of correcting errors in the marked page.


