Extended NVMe Controller for Remote Memory Access Over Ethernet

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe protocol is not designed for accessing remote non-volatile memory over networks, leading to increased latency and performance degradation, as it is optimized for local SSD access and lacks mechanisms for efficient data transmission over Ethernet or other networks.

Innovation Solution

An extended NVMe controller is introduced, capable of converting NVMe commands into NVMoE frames for transmission over Ethernet, utilizing a mapping table to convert host and namespace identifiers to Ethernet MAC addresses, and incorporating a retry mechanism to ensure reliable data transfer, enabling multi-path I/O and namespace sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NVMe protocol is used for local SSD access, then access speed is improved, but it cannot access remote memory over networks

Engineering Contradiction:
Improveaccess speedVSAvoidnetwork access capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The NVMe protocol is extended to support both local SSD access and remote memory access over networks. The controller is designed to handle multiple types of storage access (local and remote) through a unified interface, making the system versatile while maintaining high performance for both access modes

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

2Adaptability or versatility

If iSCSI storage is used for remote memory access, then network access capability is improved, but access latency increases significantly

Engineering Contradiction:
Improveremote access capabilityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces the complex iSCSI protocol stack with a simplified NVMe-based approach. By substituting the traditional network storage protocol with NVMe over fabric, the system eliminates unnecessary processing layers and achieves lower latency while maintaining remote access capability

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

3Adaptability or versatility

If NVMe is extended to support remote access over Ethernet, then network compatibility is improved, but protocol complexity increases

Engineering Contradiction:
ImproveEthernet network compatibilityVSAvoidprotocol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an NVMe over Ethernet controller as an intermediary device that handles protocol translation and conversion. This mediator converts standard Ethernet frames into NVMe commands, allowing NVMe to operate over Ethernet networks without requiring complex modifications to the core NVMe protocol

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If mapping table is used to convert identifiers to MAC addresses, then address resolution is improved, but memory usage increases

Engineering Contradiction:
Improveaddress resolutionVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The mapping table implementation uses partial action by only storing essential address resolution information needed for NVMe operations. Rather than maintaining comprehensive routing tables, the system stores only the necessary host and namespace identifier to MAC address mappings, reducing memory consumption while maintaining ease of operation

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10503679B2NVM express controller for remote access of memory and I/O over Ethernet-type networks
Publication Date: 2019.12.10 POINT FINANCIAL
  • US10503679B2 patent drawing
  • US10503679B2 patent drawing
  • US10503679B2 patent drawing

AI summary

A method and system for enabling Non-Volatile Memory express (NVMe) for accessing remote solid state drives (SSDs) (or other types of remote non-volatile memory) over the Ethernet or other networks. An extended NVMe controller is provided for enabling CPU to access remote non-volatile memory using NVMe protocol. The extended NVMe controller is implemented on one server for communication with other servers or non-volatile memory via Ethernet switch. The NVMe protocol is used over the Ethernet or similar networks by modifying it to provide a special NVM-over-Ethernet frame.