Write Sequence for MLC Flash Memory Abort Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-level cell flash memory systems, earlier-written data is at risk of being damaged during the programming of later data, leading to potential unrecoverability, especially when write aborts occur or when data is programmed in intermediate states that do not reflect the original bits.
Innovation Solution
Data is programmed in multi-level cell flash memory systems by ensuring that no data from a write command is left in a lower page with an unwritten upper page, with data assigned to word lines sequentially, and any remaining data is stored in an alternate location to avoid partial word lines in the main memory array, allowing both lower and upper pages to be programmed together in parallel across multiple planes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is programmed in lower page first then upper page in MLC flash memory, then storage capacity is improved, but data reliability deteriorates because earlier-written data may be damaged during programming of later data
Solution Approach 1:
The patent applies preliminary action by checking whether a lower page contains data from a previous write command before programming an upper page. If such data exists, the lower page is programmed first to complete the write sequence, ensuring that intermediate states are avoided and data integrity is maintained. This preliminary check and conditional programming sequence prevents damage to earlier-written data while enabling multi-level cell storage.
2Reliability
If write abort protection is implemented by checking and conditionally programming lower pages, then data integrity is improved, but programming complexity increases
Solution Approach 1:
The patent implements feedback by continuously monitoring the state of lower pages during upper page programming operations. A check is performed to determine if lower pages contain data from previous write commands, and based on this feedback, the programming sequence is dynamically adjusted. This feedback mechanism ensures data integrity by preventing write aborts while maintaining a relatively simple programming structure through conditional logic rather than complex error correction codes.
Data Source
AI summary
In a multi-level cell (MLC) nonvolatile memory array, data is assigned sequentially to the lower and upper page of a word line, then both lower and upper pages are programmed together before programming a subsequent word line. Word lines of multiple planes are programmed together using latches to hold data until all data is transferred. Tail-ends of data of write commands are stored separately.