NAND Flash Erase Control with Selective Data Corruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional erase operations in non-volatile memory devices, such as NAND flash memory, fail to provide adequate protection against unauthorized access to data during the time gap between issuing an erase command and the actual physical erasure, leading to potential data hacking and security risks.
Innovation Solution
Implementing selective data corruption by applying a programming pulse, tailored to the size and location of data to be erased, using techniques like single-level cell (SLC) programming, to corrupt the data before the physical erase operation, ensuring immediate unreadability even if the erase operation is delayed or interrupted.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional erase operations are used in non-volatile memory devices, then the erase operation can be completed, but the data remains readable during the time gap between issuing the erase command and the actual physical erasure, creating security risks
Solution Approach 1:
The patent applies preliminary action by corrupting the data with a programming pulse before the actual erase operation is executed. When an erase command is received, the controller first applies a programming pulse to the target location to overwrite the existing data with predetermined patterns (e.g., all 1s or all 0s), making the data unreadable immediately. Only after this preliminary corruption step does the controller proceed with the actual erase operation. This sequence ensures data security is established before the time-consuming erase process begins.
2Reliability
If selective data corruption is implemented by applying programming pulses before erase operations, then data security is enhanced by making data immediately unreadable, but the erase operation time and complexity increase
Solution Approach 1:
The patent applies local quality by selectively applying programming pulses only to the specific locations within a block that contain data to be erased, rather than treating the entire block uniformly. The controller identifies individual pages or sub-blocks containing valid data and applies corruption pulses only to those specific locations. This localized approach enhances security where needed while avoiding unnecessary operations on already-empty or irrelevant areas, thereby limiting the increase in operational complexity.
3Reliability
If selective data corruption is implemented by applying programming pulses before erase operations, then data security is enhanced by making data immediately unreadable, but the total operation time increases
Solution Approach 1:
The patent applies partial action by implementing selective data corruption only for specific locations within a block that contain data to be erased, rather than applying programming pulses to the entire block uniformly. The controller identifies and targets only the pages or sub-blocks containing valid data, applying corruption pulses selectively to those areas. This partial approach provides security for the actual data being erased while avoiding unnecessary time-consuming operations on empty or irrelevant areas of the block, thereby limiting the increase in total operation time.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach enhances data security by making discarded data immediately unreadable, reducing the risk of unauthorized access throughout the storage device's lifecycle, including active use and recycling phases, and addressing vulnerabilities in traditional erase methods.
Implementation Method 1
providing, based on the size of the data, a programming pulse to a location, of the block, that stores the data, wherein the programming pulse is provided to write predetermined data at the location
Data Source
AI summary
In some implementations, a controller may receive a command to perform an erase operation to erase data stored in a block of a non-volatile memory device. The controller may determine a size of the data identified by the command. The controller may provide, based on the size of the data, a programming pulse to a location, of the block, that stores the data, wherein the programming pulse is provided to write predetermined data at the location. The controller may perform an erase operation on the block after writing the predetermined data.


