NIC-to-SSD Data Path Using NVMe Queues to Cut PCIe Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage scenarios where a solid state disk (SSD) is remotely located, the involvement of a central processing unit (CPU) in each input/output operation consumes memory and bandwidth, and the large number of Peripheral Component Interconnect Express (PCIe) interactions result in significant delays.

Innovation Solution

A method and apparatus that enables direct data transfer between a network interface card (NIC) and an SSD by utilizing Non-Volatile Memory Express (NVMe) I/O queues, eliminating the need for CPU intervention and reducing PCIe interactions through Direct Memory Access (DMA) operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transferred from NIC to host and then to SSD through CPU intervention, then data access is achieved, but memory consumption and bandwidth usage increase

Engineering Contradiction:
Improvedata accessVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the CPU from the data transfer path by implementing direct PCIe interaction between the NIC and SSD. The CPU is removed from the intermediate processing step, allowing data to flow directly from NIC to SSD through dedicated PCIe interfaces, thereby eliminating memory consumption and bandwidth usage associated with CPU-mediated transfers.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a direct PCIe communication channel as an intermediary mechanism between the NIC and SSD. This dedicated communication path bypasses the traditional host memory interface, enabling efficient data transfer without consuming host memory resources while maintaining reliable data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If CPU participates in each I/O operation, then data access control is achieved, but the number of PCIe interactions increases

Engineering Contradiction:
ImproveI/O operation controlVSAvoidPCIe interaction delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent removes the CPU from the I/O operation control path by enabling direct NIC-to-SSD PCIe interactions. The extraction of CPU involvement eliminates the need for multiple PCIe interactions that would otherwise occur during CPU-mediated I/O operations, thereby reducing total interaction time and delay.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary configuration of PCIe interaction paths between NIC and SSD during system initialization. By pre-establishing direct communication channels and queues before I/O operations begin, the system eliminates the need for real-time CPU intervention, thereby reducing PCIe interaction delays during actual data transfer operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple PCIe interaction operations are performed for data transfer, then data routing is achieved, but interaction time and delay increase

Engineering Contradiction:
Improvedata routingVSAvoidPCIe interaction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple separate PCIe interaction operations into a single direct PCIe transfer path between NIC and SSD. By combining the routing function with the data transfer function into one unified direct interaction, the system achieves proper data routing while minimizing PCIe interaction time and eliminating the delays associated with multiple sequential interactions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4040279B1Method and apparatus for accessing solid state disk
Publication Date: 2026.04.08 HUAWEI TECH CO LTD
  • EP4040279B1 patent drawingFigure 1
  • EP4040279B1 patent drawingFigure 2~3
  • EP4040279B1 patent drawingFigure 4

AI summary

This application provides a method and an apparatus for accessing a solid state disk. The method is applied to a storage node, the storage node includes a network interface card and a solid state disk (SSD), the network interface card includes a memory, and the method includes: The network interface card receives a data storage request sent by a client, where the data storage request includes to-be-written data; the network interface card writes the to-be-written data to the memory of the network interface card; and the SSD obtains the to-be-written data from the memory of the network interface card, and writes the to-be-written data to the SSD.