Host Queue Recovery Using Dummy Queues in SSD Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing queue recovery flow in SSDs is complex due to varying host queue states, including pending commands, and is limited by the assumption that host queues are empty before entering low power states, which is not sustainable as SSD technology advances.
Innovation Solution
Using dummy host submission and completion queues during the host queue recovery process allows the device controller to efficiently operate even when there are pending commands in the host queue, with the dummy queues stored in HMB, internal DRAM, or other system dummy buffers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the device controller uses the assumption that host queues are empty before entering low power state, then the queue recovery flow is simplified, but the applicability of the recovery flow is limited
Solution Approach 1:
The patent creates dummy submission queues and dummy completion queues as copies of the actual host queues. These dummy queues are used during the queue recovery process to store and restore queue states without requiring the host queue to be empty, thereby maintaining recovery functionality across different queue states while simplifying the recovery logic
Solution Approach 2:
The patent introduces dummy queues as intermediary structures between the host queues and the recovery process. These dummy queues act as mediators that facilitate the recovery operation by providing a safe buffer for storing and restoring queue states, eliminating the need for the host queue to be empty during recovery
2Adaptability or versatility
If the device controller recovers host queue state with pending commands, then the operational flexibility is improved, but the recovery flow complexity increases
Solution Approach 1:
The patent segments the queue recovery process into distinct phases: saving the current host queue state to dummy queues, clearing the host queues, and restoring state from dummy queues. This segmentation allows the system to handle pending commands systematically by processing different queue components (submission queue and completion queue) separately, reducing overall complexity
Solution Approach 2:
The patent performs preliminary actions by saving the host queue state to dummy queues before clearing the actual host queues. This preliminary preservation of state information enables the recovery process to proceed even with pending commands, as the original state is already captured in the dummy queues before any modifications occur
Data Source
AI summary
In some exception flows, a device controller may need to store and subsequently recover a current state of a host queue. In these particular exception flows, recovering the current state of the host queue is complex due to the varying states a host queue may be in at the time of storing, including having pending commands in the host queue. Examples of such exception flows include low power modes in client SSDs and live migrations in enterprise SSDs. Using dummy host submission and completion queues during the host queue recovery process allows the device controller to efficiently operate even when there are pending commands in the host queue. The dummy queues may be stored in the HMB, internal DRAM, or any other system dummy buffer (i.e., in a different device or tenant).


