Hardware Accelerator Offloading NVMe Data Transfer Bottleneck

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe environments, data transfer operations between storage devices and accelerators are bottlenecked by the host processor, leading to latency and inefficiencies, as the processor manages both data transfer and computational tasks, limiting throughput and increasing latency.

Innovation Solution

A hardware accelerator is configured to manage I/O operations and perform computational tasks on data being transferred between storage devices, offloading these functions from the host processor by using NVMe submission and completion queues over a PCIe bus, allowing direct memory access and reducing processor load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host processor manages data transfer operations between storage devices, then data transfer can be controlled and coordinated, but the host processor becomes a bottleneck leading to increased latency and reduced throughput

Engineering Contradiction:
Improvedata transfer controlVSAvoidhost processor latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the data transfer management function from the host processor and assigns it to a dedicated storage device. The host processor sends commands to the storage device, which then autonomously manages data transfer between source and destination storage devices, eliminating the host processor as a bottleneck while maintaining reliable control through command-based coordination.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If the host processor performs computational tasks on transferred data, then data processing can be done centrally, but this increases processor load and reduces overall system throughput

Engineering Contradiction:
Improvecentralized data processingVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the data processing function from the host processor and assigns it to the storage device. The storage device receives data from source storage devices, performs computational tasks locally, and writes results to destination storage devices, enabling distributed processing that maintains operational simplicity while significantly improving system throughput.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If data is transferred through the host processor interface, then data transfer can be managed centrally, but this reduces data throughput due to processor interface limitations

Engineering Contradiction:
Improvecentralized transfer managementVSAvoiddata throughput
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent introduces the storage device as an intermediary between source and destination storage devices. This intermediary receives commands from the host processor, then autonomously manages high-speed data transfer between storage devices using dedicated storage interfaces, bypassing the host processor interface bottleneck while maintaining centralized management through command-based control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11604594B2Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator
Publication Date: 2023.03.14 INTEL CORP
  • US11604594B2 patent drawing
  • US11604594B2 patent drawing
  • US11604594B2 patent drawing

AI summary

Provided are an apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator. The hardware accelerator includes a memory space and control logic to receive, from a host processor, a command descriptor indicating at least one source storage device having transfer data to transfer to at least one destination storage device and a computational task to perform on the transfer data. The control logic sends read commands to the at least one source storage device to read the transfer data to at least one read buffer in the memory space and performs the computational task on the transfer data to produce modified transfer data. The control logic writes the modified transfer data to at least one write buffer in the memory space to cause the modified transfer data to be written to the at least one destination storage device.