Priority Command Queues for Low Latency SSDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The disparity in command latency between solid state drives (SSD) and hard disk drives (HDD) in storage systems leads to throughput disparities, causing SSD commands to wait longer and resulting in underutilization of SSD storage devices and diminished system performance.

Innovation Solution

Implementing priority command queues with a command sorter that determines target storage devices for SSD and HDD commands, using hash tables or data mapping tables to place commands in respective ready queues, and a scheduler that allocates resources based on availability levels to service SSD commands faster than HDD commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SSD and HDD commands are placed in a single command queue, then the storage system can service both types of commands, but SSD commands experience increased latency and the SSD storage device becomes underutilized due to the slower response time of HDD commands

Engineering Contradiction:
Improveability to service both SSD and HDD commandsVSAvoidSSD command latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the single command queue into separate priority queues: a high-priority SSD command queue and a low-priority HDD command queue. The command sorter segments incoming commands based on their target storage device type, placing SSD commands in the high-priority queue and HDD commands in the low-priority queue. This segmentation allows SSD commands to be serviced independently without being blocked by slower HDD commands, thereby reducing SSD command latency while maintaining the ability to service both types of commands.

Inventive Principle:
Principle #1Segmentation

2Productivity

If SSD commands are prioritized over HDD commands, then SSD command latency is reduced and SSD utilization is improved, but the system complexity increases due to multiple queues and scheduling mechanisms

Engineering Contradiction:
ImproveSSD command processing speedVSAvoidcommand queue structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a segmented queue structure with separate high-priority and low-priority queues for SSD and HDD commands. This segmentation enables differentiated service levels while maintaining manageable complexity through clear separation of command types and their corresponding processing paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The command sorter acts as an intermediary component that receives incoming commands, determines their priority based on the target storage device type, and directs them to the appropriate queue. This intermediary layer simplifies the overall system architecture by centralizing the priority determination logic and preventing the need for complex real-time priority arbitration within a single queue.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a single command queue is used for both SSD and HDD commands, then the queue management is simpler, but throughput disparity occurs where SSD commands wait unnecessarily for HDD commands to be serviced

Engineering Contradiction:
Improvequeue management structureVSAvoidcommand throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the command queue into separate high-priority and low-priority queues, allowing SSD commands to be processed independently of HDD commands. This segmentation eliminates throughput disparity by preventing fast SSD commands from being blocked by slow HDD commands, thereby maximizing overall system throughput despite the increased queue structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic priority scheduling where the command processor can adaptively select commands from different priority queues based on current system state and queue availability. This dynamic approach allows the system to optimize throughput by servicing high-priority SSD commands when available while still maintaining the ability to process low-priority HDD commands, creating a flexible and efficient command processing system.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9400615B2Priority command queues for low latency solid state drives
Publication Date: 2016.07.26 NETAPP INC
  • US9400615B2 patent drawing
  • US9400615B2 patent drawing
  • US9400615B2 patent drawing

AI summary

A method, apparatus, and system of a priority command queues for low latency solid state drives are disclosed. In one embodiment, a system of a storage system includes a command sorter to determine a target storage device for at least one of a solid state drive (SSD) command and a hard disk drive (HDD) command and to place the command in a SSD ready queue if the SSD command is targeted to a SSD storage device of the storage system and to place the HDD command to a HDD ready queue if the HDD command is targeted to an HDD storage device of the storage system, a SSD ready queue to queue the SSD command targeted to the SSD storage device, and a HDD ready queue to queue the HDD command targeted to the HDD storage device.