Dynamic GC Thresholds for Non-Uniform Memory Block Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices with non-uniform block sizes experience uneven write performance due to varying sub-block sizes, leading to inconsistent host write and relocation write ratios, which is undesirable in enterprise applications requiring uniform performance.
Innovation Solution
A balancing module dynamically calculates the size of remaining free blocks in partitions to maintain a uniform host write-to-relocation write ratio by adjusting garbage collection thresholds based on varying block sizes, ensuring consistent performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If blocks are divided into sub-blocks of varying sizes to increase storage flexibility, then storage adaptability is improved, but write performance uniformity deteriorates
Solution Approach 1:
The patent applies dynamics by making the garbage collection threshold adjustable rather than fixed. The controller dynamically modifies the threshold based on the actual free block status in the partition. When free blocks are abundant, the threshold is set higher to allow more writes before triggering GC. When free blocks are scarce, the threshold is lowered to trigger GC earlier, preventing performance degradation. This dynamic adjustment compensates for the non-uniform sub-block sizes and maintains consistent write performance.
Solution Approach 2:
The patent changes the parameter of garbage collection threshold from a static value to a dynamically adjustable value. The controller monitors the number of free blocks in the partition and adjusts the threshold parameter accordingly. This parameter change allows the system to adapt to varying block sizes and free block conditions, maintaining uniform write performance across different sub-block sizes.
2Device complexity
If a fixed garbage collection threshold is used to simplify control logic, then device complexity is reduced, but write performance consistency deteriorates
Solution Approach 1:
The controller implements dynamic threshold adjustment based on real-time monitoring of free block status. Instead of using a fixed threshold, the system continuously adapts the GC threshold to match the current partition state. This dynamic approach maintains performance consistency without requiring complex multi-parameter control logic.
Solution Approach 2:
The system performs self-service by automatically monitoring its own free block status and adjusting the garbage collection threshold accordingly. The controller independently manages the threshold parameter based on internal partition conditions, eliminating the need for external intervention or complex predetermined control logic while maintaining performance consistency.
3Quantity of substance
If garbage collection is triggered frequently to maintain free blocks, then free block availability is improved, but relocation write overhead increases
Solution Approach 1:
The garbage collection threshold is dynamically adjusted based on the number of free blocks in the partition. When free blocks are abundant, the threshold is raised, delaying GC trigger and reducing relocation overhead. When free blocks become scarce, the threshold is lowered to trigger GC earlier, ensuring free block availability is maintained. This dynamic balancing optimizes the trade-off between free block availability and relocation overhead.
Solution Approach 2:
The system changes the GC threshold parameter dynamically based on partition conditions. By monitoring free block count and adjusting the threshold parameter accordingly, the system optimizes the frequency of garbage collection operations. This parameter adaptation reduces unnecessary relocation writes when free blocks are sufficient while ensuring GC is triggered timely when free blocks are depleted.
Data Source
AI summary
A storage device maintains uniform write performance for data written to a memory device including varying block sizes. The storage device includes a balancing module to ensure that free blocks exist in a partition on the memory device and to define a garbage collection threshold based on blocks available in the partition. The storage device also includes a controller to receive host data from a host device, write the host data to the memory device; and relocate the host data in the memory device during a background operation. The controller initiates the background operation on the memory device at the garbage collection threshold and executes the background operation according to a host write-to-relocation write ratio based on a dynamically calculated size of the remaining free blocks in the partition.


