Host Controller Abort Handling for Storage Submission Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In electronic systems, when an error occurs, there is a race condition between the host controller sending a command to abort a data transfer and the storage device responding, leading to uncertainty about whether the command was received, resulting in increased latency and repeated queries between the host and storage device.
Innovation Solution
The host controller detects when the host driver disables the enable indicator of a submission queue, stops further fetching, sends all fetched entries to the storage device, and sets a status indicator to confirm that fetching has stopped, eliminating the need for repeated queries by ensuring all commands are sent.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the host controller repeatedly queries the storage device to check whether the abort command has been received, then the reliability of command transmission is improved, but the latency and data transmission overhead increase
Solution Approach 1:
The host controller performs preliminary action by setting the SQ status indicator to indicate that fetching has stopped, before actually sending the abort command to the storage device. This preliminary status setting allows the host software to be certain the command will be sent without needing to repeatedly query the storage device, thereby eliminating latency while maintaining reliability.
Solution Approach 2:
The patent implements feedback through the SQ status indicator that provides confirmation to the host software about the state of command transmission. The status indicator feedback mechanism eliminates the need for repeated queries by providing definitive information about whether the abort command has been sent, resolving the contradiction between reliability and latency.
2Productivity
If the host controller sends abort commands to the storage device without certainty of receipt, then the productivity is improved, but the reliability of data transfer management deteriorates
Solution Approach 1:
The SQ status indicator acts as an intermediary mechanism between the host controller and host software. It provides intermediate confirmation that the abort command has been sent to the storage device, allowing the host software to be certain of receipt without needing to repeatedly query the storage device, thus maintaining both productivity and reliability.
3Measurement precision
If the host driver disables the enable indicator of a submission queue, then the control precision is improved, but the device complexity increases
Solution Approach 1:
The host controller performs self-service by automatically setting the SQ status indicator when it detects that the enable indicator has been disabled. This automatic status setting eliminates the need for additional complex query mechanisms, maintaining control precision while minimizing the increase in device complexity through straightforward automatic behavior.
Data Source
AI summary
A host system coupled to a storage system provides hardware support for command abort. The host system includes a host controller, which detects that a host driver has disabled an enable indicator of a submission queue (SQ). In response to the detection, the host controller stops further fetching from the SQ. The host controller sends all entries that have been fetched from the SQ to the storage device, and sets a status indicator of the SQ to indicate stopped fetching of the SQ.


