Disk Drive Command Queuing with Multi-Queue Pipelining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current disk drive command queuing processes are inefficient as they require firmware to wait for status reports, leading to reduced performance due to the need for manual intervention and potential errors during data transmission.

Innovation Solution

Implementing a method that uses multiple queues (staging, execution, and holding) to automatically sequence and execute commands without firmware intervention, allowing for pipelined command execution and error handling by backtracking and restarting from the last successful data transmission point.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware issues commands sequentially and waits for status reports, then command execution accuracy is maintained, but system productivity decreases due to waiting time

Engineering Contradiction:
Improvecommand execution accuracyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the command execution process into distinct phases using multiple queues: a staging queue for pending commands, an execution queue for active commands, and a completion queue for finished commands. This segmentation allows firmware to issue multiple commands in parallel without waiting for each status report, thereby improving productivity while maintaining execution accuracy through structured phase management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-queuing multiple commands in the staging queue before execution begins. The firmware can load and prepare a batch of commands in advance, then transfer them to the execution queue for parallel processing. This eliminates idle waiting time and maintains high system throughput while ensuring commands are executed in the correct sequence.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If firmware manually manages each command execution, then error handling is simplified, but device complexity increases due to firmware intervention requirements

Engineering Contradiction:
Improvefirmware control logicVSAvoiderror handling capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements self-service by enabling the disk drive hardware to autonomously manage command execution through the multi-queue mechanism. The hardware automatically transfers commands from the staging queue to the execution queue, monitors status reports, and manages error conditions without requiring continuous firmware intervention. This reduces device complexity while maintaining robust error handling capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where status reports from command execution are automatically fed back to update the queue states. The system monitors completion status and error conditions, automatically adjusting command flow between queues based on feedback information. This automated feedback loop maintains reliability while reducing the complexity of firmware control logic.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple commands are executed in parallel, then productivity increases, but loss of information increases due to potential errors during data transmission

Engineering Contradiction:
Improvecommand execution rateVSAvoiddata transmission errors
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements beforehand cushioning by maintaining the staging queue as a buffer that holds pending commands. If data transmission errors occur during parallel execution, the system can backtrack and restart from the staging queue without losing the command sequence. This cushioning mechanism protects against information loss while enabling high-productivity parallel command execution.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent ensures continuity of useful action by implementing a pipelined command execution flow where commands continuously move through the staging, execution, and completion queues. Even when errors occur during data transmission, the system maintains continuous operation by automatically managing queue transitions and restarting failed commands, thereby sustaining high productivity while preventing information loss.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9021147B1Command queuing in disk drives
Publication Date: 2015.04.28 MARVELL ASIA PTE LTD
  • US9021147B1 patent drawing
  • US9021147B1 patent drawing
  • US9021147B1 patent drawing

AI summary

A method and system for command queuing in disk drives may improve performance by queuing multiple commands and sequentially executing them automatically without firmware intervention. The method may use a number of queues, e.g., a staging queue for commands to be executed, an execution queue for commands currently being executed, and a holding queue for commands which have been executed but have not received a status report from a host. With the pipelined nature of queued commands, when data requested by one command are being sent to the host, the queue logic may already be fetching data for the next command. If an error occurs in the transmission, commands in the queues may backtrack and restart from the point where data were last known to have been successfully sent to the host.