SSD Virtual Block Erase Protection via Dummy Data Flash Write
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SSDs face reliability issues due to erase operations on partially programmed blocks, leading to increased corruption, reduced storage capacity, and decreased lifetime, as they do not effectively manage partially programmed blocks, resulting in repeated erase operations that damage the insulating oxide layer and reduce cell reliability.
Innovation Solution
Performing a flash write operation of dummy data or random data on partially programmed blocks before erase operations to enhance cell reliability and improve the quality of service (QoS) by mitigating the damage to the insulating oxide layer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If erase operations are performed on partially programmed blocks, then data management flexibility is improved, but cell reliability deteriorates due to increased corruption and damage to the insulating oxide layer
Solution Approach 1:
The patent applies preliminary action by performing a flash write operation to program dummy data into partially programmed blocks before they are erased. This preliminary programming action completes the block's data structure, preventing subsequent erase operations from causing corruption or damaging the insulating oxide layer, thus resolving the contradiction between data management flexibility and cell reliability
Solution Approach 2:
The patent implements beforehand cushioning by writing dummy data into partially programmed blocks prior to erase operations. This cushioning action protects the blocks from the harmful effects of repeated erase operations, preventing oxide layer damage and data corruption while maintaining the ability to manage data flexibly
2Quantity of substance
If repeated erase operations are performed on partially programmed blocks, then storage capacity utilization is improved, but the lifetime of the SSD decreases due to damage to the insulating oxide layer
Solution Approach 1:
The patent performs a flash write operation to program dummy data into partially programmed blocks before erase operations. This preliminary action ensures that blocks are fully programmed before erasure, preventing repeated erase operations from damaging the insulating oxide layer and extending SSD lifetime while maintaining storage capacity utilization
Solution Approach 2:
The patent converts the potentially harmful effect of partial programming into a beneficial action by using the partial programming state as an indicator to trigger a flash write operation. This transforms what would be a source of damage into a protective measure that prevents oxide layer degradation and extends device lifetime
3Reliability
If flash write operation is performed on partially programmed blocks before erase, then cell reliability is improved, but device complexity increases due to additional programming steps
Solution Approach 1:
The patent implements self-service by having the controller automatically detect partially programmed blocks and perform flash write operations without external intervention. The system monitors its own state, identifies blocks needing protection, and executes the necessary programming operations autonomously, improving reliability while managing complexity through automated control
Solution Approach 2:
The patent employs feedback mechanisms where the controller monitors the programming state of blocks and uses this information to determine when flash write operations are needed. This feedback loop ensures that reliability-enhancing actions are taken only when necessary, reducing unnecessary complexity while maintaining high reliability
Data Source
AI summary
A controller may detect an event occurring on a solid state device. The event may include at least one of: a program error on a physical block of a first virtual block, a read error on the physical block, or a power cycle of the solid state drive. The controller may program user data stored in the first virtual block onto a second virtual block based on detecting the event. The controller may include the first virtual block in a pool of virtual blocks scheduled for erase operations. When the first virtual block is in the open state, the controller may program dummy data on the first virtual block prior to performing an erase operation on the virtual block, or perform a flash write operation on the first virtual block prior to performing the erase operation on the virtual block.


