Analog Memory Cell Programming Interruption Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-Level Cell (MLC) memory devices are susceptible to data corruption and loss due to programming interruptions, particularly when different bits in a memory cell belong to different data items, as known protection schemes often corrupt earlier-written data during interruptions.
Innovation Solution
The method involves using two programming operations to store data in multi-level analog memory cells, ensuring that the analog value of each cell remains unambiguously indicative of the first bit value during the second programming operation, thereby allowing for recovery of the first data even if the second programming operation is interrupted. This is achieved by positioning programming levels and verification thresholds to prevent overlap and ensure that the threshold voltage of each memory cell remains uniquely indicative of the LSB value during MSB programming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional programming operations are used to store multiple bits in MLC memory cells, then storage density is improved, but data reliability deteriorates due to corruption from programming interruptions
Solution Approach 1:
The patent applies preliminary action by performing verification of the first data after the first programming operation but before the second programming operation begins. This preliminary verification ensures that if the second programming operation is interrupted, the first data has already been confirmed as correctly programmed, preventing corruption of previously stored data.
Solution Approach 2:
The patent segments the programming operation into distinct phases: a first programming operation for writing first data, a verification step, and a second programming operation for writing second data. This segmentation allows independent verification of each data portion, ensuring that interruptions during the second operation do not affect the integrity of the first data.
2Reliability
If data copying or backup mechanisms are implemented to protect against programming interruptions, then data reliability is improved, but device complexity increases
Solution Approach 1:
The patent applies self-service by using the memory cells themselves to store and verify data without requiring separate backup storage areas. The verification process checks the actual programmed data within the same cells, eliminating the need for duplicate storage regions or complex backup mechanisms while maintaining data reliability.
Solution Approach 2:
The patent implements feedback through a verification process that reads back the programmed data and compares it against expected values. This feedback mechanism confirms correct programming without requiring additional backup storage, reducing device complexity while ensuring data integrity before subsequent programming operations proceed.
3Reliability
If verification steps are added between programming operations, then data reliability is improved, but programming speed decreases
Solution Approach 1:
The patent applies partial action by performing verification only on the first data portion after the first programming operation, rather than verifying all data continuously. This selective verification approach provides sufficient reliability protection against interruptions while minimizing the time penalty compared to continuous or exhaustive verification schemes.
Data Source
AI summary
A method for data storage includes storing first data in analog memory cells using a first programming operation, which writes to the memory cells respective analog values representing respective bit values of the first data. Second data is stored in the analog memory cells in addition to the first data using a second programming operation, which modifies the respective analog values of the memory cells so as to represent bit value combinations of the first and second data. The first and second programming operations are defined such that, at all times during the second programming operation, the analog value of each memory cell remains unambiguously indicative of the respective bit value of the first data stored in that memory cell.


