SSD Controller Valid Data Rate Threshold for Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional solid state drives experience increased system latency and reduced performance due to inefficient garbage collection processes, leading to uneven Program/Erase counts and reduced use life, as they sequentially check and manage valid data rates across numerous blocks.
Innovation Solution
Implementing a control method that sets an upper limit for the valid data rate of each block during programming and garbage collection, allowing for predictable system latency and balanced Program/Erase counts by determining selected blocks based on predetermined capacities and over-provisioning rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller sequentially checks all blocks to determine valid data rates for garbage collection, then the garbage collection process can identify blocks needing cleanup, but the system latency increases and performance decreases
Solution Approach 1:
The controller pre-calculates and stores the valid data rate for each block before garbage collection is needed. When garbage collection is triggered, the controller directly retrieves these pre-calculated values instead of sequentially checking all blocks, thereby reducing system latency while maintaining garbage collection effectiveness
Solution Approach 2:
The controller determines and records the number of valid pages in each block in advance. During garbage collection operations, this pre-determined information allows the controller to quickly identify candidate blocks without performing time-consuming sequential checks, thus improving performance while ensuring reliable garbage collection
2Productivity
If the controller performs garbage collection on all blocks with low valid data rates, then more space is freed for future writes, but the Program/Erase counts become uneven and use life is reduced
Solution Approach 1:
The controller introduces a threshold parameter for the valid data rate that determines whether a block is selected for garbage collection. By adjusting this threshold, the controller can control which blocks undergo erasure, ensuring that blocks with higher Program/Erase counts are protected from further erasure operations, thereby maintaining use life while still freeing sufficient write capacity
Solution Approach 2:
The controller monitors the Program/Erase counts of blocks and uses this information to adjust garbage collection decisions. Blocks that have already undergone multiple erasure cycles are excluded from further garbage collection, preventing excessive wear on specific blocks and extending the overall use life of the storage device
3Quantity of substance
If the controller uses all available blocks for data storage, then the storage capacity is maximized, but the garbage collection process becomes more complex and time-consuming
Solution Approach 1:
The controller divides the non-volatile memory into multiple channels, with each channel independently managed for garbage collection purposes. This segmentation allows the controller to process fewer blocks simultaneously in each channel, reducing the complexity and time required for garbage collection while maintaining overall storage capacity through the combined capacity of all channels
Data Source
AI summary
A control method for a solid state drive is provided. The solid state drive includes a non-volatile memory with plural blocks. In a step (a1), a block is opened. In a step (a2), a program action is performed to store a valid write data into the open block. Then, a step (a3) is performed to judge whether an amount of the valid write data in the open block reaches a predetermined capacity. In a step (a4), if the amount of the valid write data in the open block does not reach the predetermined capacity, the step (a2) is performed again. In a step (a5), if the amount of the valid write data in the open block reaches the predetermined capacity, the open block is closed and the step (a1) is performed again. The predetermined capacity is lower than a capacity of one block.


