NVMe RDMA Queue Pair Mapping for Remote Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for data storage over computer networks using RDMA-enabled network interface controllers (RNIC) and Non-Volatile Memory Express (NVMe) devices face issues such as incompatible interfaces, redundant resource usage, inefficient memory management, and the need for conversion modules, leading to increased costs and inefficiencies.

Innovation Solution

Implementing a method that initializes an NVMe controller with a network device to enable remote access over a network by configuring an NVMe queue pair for remote device discovery and mapping it with a Remote Direct Memory Access (RDMA) queue pair, allowing seamless data transfer between initiator devices and storage controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory is managed separately for RNIC and NVMe devices with separate interrupt handlers, then each device can operate independently, but resource redundancy increases and efficiency decreases

Engineering Contradiction:
Improveindependent device operationVSAvoidresource redundancy
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines separate RNIC and NVMe memory management into a unified memory pool that both devices can access. Instead of maintaining separate memory spaces and interrupt handlers for RNIC and NVMe, the invention creates a shared memory architecture where both devices operate from the same memory space, eliminating redundant resources while maintaining independent device functionality through virtualization and mapping mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If conversion modules are added to bridge incompatible interfaces between RNIC and NVMe, then interoperability is achieved, but system cost increases

Engineering Contradiction:
Improveinterface interoperabilityVSAvoidsystem cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal memory interface that serves both RNIC and NVMe devices simultaneously. By creating a common memory space that both device types can access directly, the invention eliminates the need for separate conversion modules or protocol translators. The unified memory architecture provides multi-functional access points that accommodate different device interfaces without requiring additional conversion hardware, thereby reducing system cost while maintaining interoperability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If multiple interrupt handlers are implemented for RNIC and NVMe devices, then each device can be managed independently, but host resource usage increases

Engineering Contradiction:
Improveindependent device managementVSAvoidhost resource usage
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple interrupt handlers into a single unified interrupt handling mechanism. By consolidating interrupt management for both RNIC and NVMe devices into one handler that operates within the unified memory space, the invention reduces the number of interrupt contexts and associated host resources required. This single interrupt handler can efficiently manage events from both device types without the overhead of multiple separate interrupt processing paths.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9998558B2Method to implement RDMA NVME device
Publication Date: 2018.06.12 SAMSUNG ELECTRONICS CO LTD
  • US9998558B2 patent drawing
  • US9998558B2 patent drawing
  • US9998558B2 patent drawing

AI summary

Various example embodiments herein disclose methods of enabling access to a storage device remotely over the network. According to at least one example embodiment, a method comprising initializing a Non-Volatile Memory Express (NVMe) controller, by a network device coupled to a server, configuring, by the network device, a NVMe queue pair for handling a remote device discovery process, receiving, at the network device, a request from the remote device to access the storage device controlled by the NVMe controller maintained at the server, initiating, by the network device, the discovery process for locating the remote device; and establishing, by the network device, a connection with the remote device by mapping the NVMe queue pair with a Remote Direct Memory Access (RDMA) queue pair, once the remoted device is discovered.