Nonvolatile Memory Data Protection After Write Abort
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face challenges in detecting and handling aborted write and erase operations, leading to incomplete data storage and potential data corruption, especially during power outages, which can result in unreliable data and require efficient recovery methods.
Innovation Solution
The method involves determining if writing to a nonvolatile memory array would endanger existing data, identifying potentially unreliable data due to power loss, and employing data protection schemes such as ECC decoding and pointer-based verification to ensure data integrity and recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If power is lost during write or erase operations, then data storage is interrupted, but data corruption and unreliable data occur
Solution Approach 1:
The patent applies preliminary action by copying data to a safe location before the actual write or erase operation commences. This preparatory step ensures that if power is lost during the operation, the original data remains intact and can be recovered, directly preventing data corruption from power loss events.
Solution Approach 2:
The patent implements beforehand cushioning by creating a backup copy of data in a protected location before performing write or erase operations. This cushioning mechanism acts as a safety buffer that absorbs the harmful effects of power loss, ensuring that even if the operation is interrupted, the system can recover without data corruption.
2Reliability
If data is copied to safe location before write operation, then data protection is improved, but memory space and operation time are consumed
Solution Approach 1:
The patent applies partial action by selectively copying only the specific data that needs protection before write operations, rather than copying entire memory blocks. This selective approach provides adequate protection while minimizing the overhead in terms of memory space consumption and operation time, thus maintaining better productivity.
3Measurement precision
If ECC is used to detect errors, then data integrity is improved, but ECC mis-detect can occur leading to false positives
Solution Approach 1:
The patent introduces an intermediary verification mechanism that works in conjunction with ECC. After ECC detects potential errors, the system performs additional verification by checking pointers and comparing data versions. This intermediary step filters out false positives from ECC mis-detection, improving overall reliability while maintaining good error detection accuracy.
Data Source
AI summary
A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period.


