Flash Memory ECC Segmentation for Additional Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile memory devices like flash memory, the initial 9-bit error correcting code (ECC) area can only be programmed once, leading to wasted memory space as additional programming is not permitted, even if there is available space, resulting in inefficient use of memory.
Innovation Solution
Implementing a system where a code generation command is used by the memory controller to generate and store an error correcting code for both initial and additional data, allowing multiple programming cycles until the code generation command is processed, thereby enabling efficient use of memory space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the 9 bit ECC area is programmed during initial programming, then error correction capability is established, but additional programming is not permitted resulting in wasted memory space
Solution Approach 1:
The ECC area is segmented into multiple regions: a first ECC area (9 bits) programmed during initial programming, and a second ECC area programmed later when additional data is written. This segmentation allows different ECC areas to be programmed at different times, enabling additional programming while maintaining error correction capability.
Solution Approach 2:
The system dynamically determines whether to use the first or second ECC area based on whether additional data has been programmed. The controller checks for the presence of additional data and selectively activates the appropriate ECC area, making the error correction system adaptive to different programming states.
2Ease of manufacture
If the ECC area is programmed only once during initial programming, then programming simplicity is maintained, but memory utilization efficiency deteriorates
Solution Approach 1:
The first ECC area is preliminarily programmed during initial programming to provide immediate error correction capability. This preliminary ECC setup ensures reliability from the start while leaving room for future expansion with the second ECC area when additional data is programmed.
Solution Approach 2:
The ECC system is designed with multi-functionality to handle both initial programming and additional programming scenarios. The same ECC mechanism serves dual purposes: protecting initial data through the first ECC area and protecting combined initial and additional data through the second ECC area.
3Quantity of substance
If additional data is programmed in the data area after initial programming, then data storage capacity is increased, but the inability to re-program ECC area leads to space waste
Solution Approach 1:
The second ECC area is conceptually nested within the overall ECC protection scheme, building upon the foundation of the first ECC area. When additional data is programmed, the system extends the error correction protection to include both initial and additional data by activating the second ECC area, effectively nesting the protection layers.
Data Source
AI summary
Error correcting systems, methods, and devices for non-volatile memory are disclosed. In one embodiment, a non-volatile memory device comprises a data area for storing data, an error correcting code generation section for generating an error correcting code in response to receipt of a code generation command, and an error correcting code area for storing the error correcting code. The non-volatile memory device further comprises a detector circuit for detecting the generating of the error correcting code, and a read section for correcting the data stored in the data area based on the error correcting code upon the detecting of the generation of the error correcting code by the detector circuit, where the code generation command is forwarded by a memory controller when the data are is filled with the data beyond a threshold level


