Host Controller Abort Handling for Storage Submission Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommand transmission reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiddata transfer management reliability
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvequeue control precisionVSAvoidhost controller complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12086463B2Abort handling by host controller for storage device
Publication Date: 2024.09.10 MEDIATEK INC
  • US12086463B2 patent drawing
  • US12086463B2 patent drawing
  • US12086463B2 patent drawing

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.