SSD Controller Throttling Ratio for Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid-state storage subsystems face performance degradation due to stalled host write commands when garbage collection commands fail to free up blocks quickly enough, leading to a need for maintaining consistent execution throughput.
Innovation Solution
A garbage collection module determines a throttling ratio based on the number of invalid pages in a block undergoing garbage collection, allowing the controller to dynamically adjust the number of garbage collection commands executed per host system command, optimizing the execution ratio and preventing stalled host system command execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If garbage collection commands are executed frequently to free up blocks quickly, then the availability of free blocks is improved, but the execution throughput of host commands deteriorates due to excessive garbage collection overhead
Solution Approach 1:
The patent implements dynamic adjustment of garbage collection execution based on the current state of the storage subsystem. The controller monitors the number of invalid pages in memory blocks and adaptively determines when to execute garbage collection commands, transitioning from static frequent execution to dynamic state-dependent execution. This resolves the contradiction by making garbage collection frequency flexible rather than fixed, optimizing both block availability and host command throughput.
Solution Approach 2:
The patent changes the parameter of garbage collection execution frequency based on the invalid page ratio in memory blocks. By monitoring this parameter and adjusting garbage collection timing accordingly, the system executes garbage collection only when the invalid page ratio exceeds a threshold, thereby reducing unnecessary garbage collection operations while maintaining sufficient free block availability.
2Productivity
If garbage collection commands are executed slowly to maintain host command throughput, then the execution throughput of host commands is improved, but the availability of free blocks deteriorates leading to stalled host write commands
Solution Approach 1:
The patent implements a feedback mechanism where the controller continuously monitors the number of invalid pages in memory blocks and uses this information to determine when to execute garbage collection. This feedback loop ensures that garbage collection is triggered only when necessary (when invalid page ratio exceeds threshold), preventing both excessive garbage collection that would stall host commands and insufficient garbage collection that would deplete free blocks.
3Quantity of substance
If unnecessary garbage collection commands are executed on blocks with few invalid pages, then the availability of free blocks is maintained, but performance degradation occurs due to excessive garbage collection overhead
Solution Approach 1:
The patent applies partial action by executing garbage collection only when the invalid page ratio in a memory block exceeds a predetermined threshold, rather than executing garbage collection on all blocks or all blocks with any invalid pages. This selective approach performs garbage collection only when necessary, avoiding unnecessary overhead while maintaining sufficient free block availability.
Data Source
AI summary
Embodiments of the invention are directed to a storage subsystem comprising a non-volatile solid-state memory array and a controller. In one embodiment, the controller includes a system operation module configured to manage system memory operations and a queue configured to receive memory commands from a host system and the system operation module. The controller is configured to execute, in the memory array, memory commands from the queue in a sequence that is based at least in part on a throttling ratio provided by the system operation module.


