PIO Engine DMA Interface for Storage Device Command Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SSD architectures are not designed to fully leverage higher bandwidth interfaces, leading to inefficient use of processor resources for managing reads and writes, which impacts performance, especially in data-intensive applications.

Innovation Solution

Implementing a direct communication channel between processor threads and a hardware controller in storage devices, allowing for direct command storage in a hardware queue and issuance of access requests to non-volatile memory, thereby reducing software overhead and improving bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If current SSD architectural is used to accommodate higher bandwidth interfaces, then interface bandwidth is improved, but processor cycles are consumed to manage reads and writes, impacting host device performance

Engineering Contradiction:
Improveinterface bandwidthVSAvoidprocessor cycles
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent extracts the command management function from the host processor and relocates it to a dedicated hardware queue within the storage device. The host processor writes commands to a hardware queue buffer in the storage device's memory space, and a hardware command processor retrieves and executes commands directly from this queue, eliminating the need for continuous processor intervention and reducing host CPU cycle consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a hardware queue as an intermediary structure between the host processor and the storage medium. This hardware queue acts as a buffer that decouples the command submission rate from the command execution rate, allowing the host processor to batch write commands efficiently while the hardware command processor consumes them at the appropriate pace, thereby reducing processor overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If processor cycles are used to manage reads and writes at higher bandwidth, then bandwidth utilization is improved, but performance of the host device deteriorates

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidhost device performance
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The storage device performs self-service by incorporating a hardware command processor that autonomously manages command execution. The hardware queue and command processor work together to automatically retrieve, parse, and execute commands without requiring host processor intervention for each individual read or write operation, enabling high bandwidth utilization while preserving host device performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the software-based command management mechanism (which requires processor cycles) with a hardware-based command processor. This substitution moves command execution from the software domain to the hardware domain, allowing parallel processing and eliminating the performance penalty associated with processor involvement in high-bandwidth operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Device complexity

If direct communication channel is implemented between threads and hardware controller, then software overhead is reduced, but device complexity increases

Engineering Contradiction:
Improvecommunication architectureVSAvoidsoftware overhead
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the communication interface into multiple independent channels, each associated with a specific host thread. Each thread has its own dedicated data register and can independently write commands to the hardware queue through its assigned channel. This segmentation eliminates the need for software arbitration and synchronization, reducing software overhead while the modular structure keeps device complexity manageable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10318164B2Programmable input/output (PIO) engine interface architecture with direct memory access (DMA) for multi-tagging scheme for storage devices
Publication Date: 2019.06.11 WESTERN DIGITAL TECHNOLOGIES INC
  • US10318164B2 patent drawing
  • US10318164B2 patent drawing
  • US10318164B2 patent drawing

AI summary

In general, techniques are described by which to provide an interface architecture for storage devices. A storage device comprising non-volatile memory, and a hardware controller may be configured to perform various aspects of the techniques. The hardware controller may be configured to read from or write to one or more data registers in a host device to provide a direct communication channel between each of one or more threads executed by one or more processors of the host device and the hardware controller. The hardware controller may further be configured to send a plurality of commands received from the direct communication channel into a hardware queue, and issue access requests based on the plurality of commands to read data from or write data to the non-volatile memory.