Storage Controller Garbage Collection for SLC and XLC Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices using nonvolatile memory face performance deterioration due to inadequate garbage collection strategies, leading to reduced write speed and insufficient free blocks, especially when the number of valid pages in extra-level cell (XLC) blocks becomes low.
Innovation Solution
Implementing a controller that determines the need for garbage collection based on thresholds for valid pages in both single-level cell (SLC) and XLC blocks, performing garbage collection on SLC blocks when XLC blocks have fewer valid pages than a certain threshold and on XLC blocks when they exceed it, to maintain a constant number of free blocks and prevent performance degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If garbage collection is performed on XLC blocks when they have few valid pages, then free blocks are replenished, but write speed deteriorates due to excessive garbage collection operations
Solution Approach 1:
The patent changes the parameter of garbage collection trigger conditions by introducing a threshold value for the number of valid pages in XLC blocks. Instead of performing garbage collection on all use-completed blocks, the system only triggers garbage collection on XLC blocks when their valid page count falls below the threshold, thereby reducing unnecessary GC operations and preserving write speed while still replenishing free blocks when needed.
Solution Approach 2:
The patent applies different garbage collection strategies to different types of blocks (SLC vs. XLC) based on their local characteristics. SLC blocks always undergo garbage collection when use-completed, while XLC blocks only undergo garbage collection when their valid page count is below the threshold. This localized quality approach optimizes the balance between free block replenishment and write speed for each block type.
2Speed
If garbage collection is delayed until XLC blocks are fully used, then write speed is maintained, but free blocks become insufficient leading to performance deterioration
Solution Approach 1:
The patent performs preliminary garbage collection on XLC blocks before they are completely used, specifically when their valid page count drops below the threshold. This preliminary action prevents the situation where free blocks become insufficient, thereby avoiding performance deterioration while maintaining write speed by not delaying GC until the last moment.
Solution Approach 2:
The system continuously monitors the number of valid pages in XLC blocks and uses this feedback to dynamically determine whether to perform garbage collection. When the valid page count falls below the threshold, the system triggers garbage collection; otherwise, it allows normal writes to proceed. This feedback mechanism ensures free blocks are replenished proactively without unnecessarily interrupting write operations.
3Quantity of substance
If aggressive garbage collection is performed on all use-completed blocks, then free blocks are continuously replenished, but spatial efficiency decreases due to premature collection of XLC blocks with many valid pages
Solution Approach 1:
The patent changes the parameter of garbage collection eligibility by introducing a valid page count threshold for XLC blocks. Instead of collecting all use-completed blocks regardless of their valid page count, the system only collects XLC blocks when their valid page count is below the threshold. This parameter change prevents premature collection of XLC blocks with many valid pages, thereby preserving spatial efficiency while still replenishing free blocks when appropriate.
Solution Approach 2:
The patent applies different garbage collection policies to different block types based on their local quality characteristics. SLC blocks, which have smaller capacity and faster wear, are aggressively collected when use-completed. XLC blocks, which have larger capacity and store more valuable data, are selectively collected only when their valid page count is low. This localized quality approach optimizes spatial efficiency by avoiding premature collection of high-value XLC blocks.
Data Source
AI summary
A storage device includes a nonvolatile memory including a plurality of first blocks having memory cells each configured to store one bit of data and a plurality of second blocks having memory cells each configured to multiple bits of data; and a controller configured to determine whether or not a number of use-completed second blocks, each of which has a first threshold number or less of valid pages, among use-completed second blocks of the plurality of second blocks, is equal to or larger than a second threshold number and to select, according to a determination result, a victim block on which garbage collection is to be performed among used-completed first blocks of the plurality of first blocks or the use-completed second blocks each having the first threshold number or less of valid pages.


