NVMe Controller Direct Queue Storage via PCIe

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of data processing in conventional storage systems using SSDs is hindered by the limitations of SATA and AHCI standards, which do not optimize the performance capabilities of SSDs, leading to bottlenecks in data processing.

Innovation Solution

A data processing method and system utilizing an NVMe controller that communicates with a host via a PCIe bus, allowing direct storage of submission queue entries in an I/O submission queue based on PCIe packet entrance information, eliminating the need for doorbell mechanisms and simplifying the data processing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host and NVMe controller use doorbell mechanism for notification, then communication between host and controller is established, but the data processing process becomes complex

Engineering Contradiction:
Improvecommunication reliabilityVSAvoiddata processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the doorbell mechanism from the NVMe data processing system. By eliminating this notification mechanism, the system achieves direct memory access without the complexity of doorbell-based interrupt handling, while maintaining communication reliability through the PCIe bus's inherent capabilities

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If SATA/AHCI standards are used for SSD communication, then compatibility with conventional storage systems is maintained, but SSD processing capability is limited

Engineering Contradiction:
Improvestorage system compatibilityVSAvoidSSD processing capability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes the communication interface parameters from SATA/AHCI protocols to PCIe bus with NVMe protocol. This parameter change enables the system to leverage the full processing capability of SSDs while maintaining adaptability through standardized PCIe interface and NVMe protocol specifications

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple notification steps are used in data processing, then data operation requests are properly handled, but processing speed is reduced

Engineering Contradiction:
Improvedata operation reliabilityVSAvoiddata processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements preliminary action by pre-configuring the PCIe bus and memory addresses for direct data access. The host and NVMe controller establish direct memory access paths in advance, eliminating the need for multiple notification steps during data processing, thereby improving speed while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11636052B2Non-volatile memory express (NVMe) data processing method and system
Publication Date: 2023.04.25 HUAWEI TECH CO LTD
  • US11636052B2 patent drawing
  • US11636052B2 patent drawing
  • US11636052B2 patent drawing

AI summary

A data processing method and system, where the method includes: receiving, by a non-volatile memory express (NVMe) controller, a first Peripheral Component Interconnect express (PCIe) packet sent by a host, where a memory in the NVMe controller is provided with at least one input/output (I/O) submission queue, and the first PCIe packet includes entrance information of a target I/O submission queue and at least one submission queue entry (SQE); and storing the at least one SQE in the target I/O submission queue based on the entrance information of the target I/O submission queue. Therefore, an NVMe data processing process is simplified and less time-consuming, and data processing efficiency is improved.