Extended NVMe Controller for Remote SSD Access Over Ethernet

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for accessing remote memory or I/O devices over a network, such as iSCSI storage, result in significant processing overhead and increased latency, which degrades performance and throughput, while NVMe is optimized for local non-volatile memory access and not designed for remote storage access over networks.

Innovation Solution

An extended NVMe controller enables remote access to non-volatile memory over an Ethernet network by converting NVMe commands into NVMoE frames, using a mapping table to map host and namespace identifiers to Ethernet MAC addresses, and incorporating retry mechanisms and load balancing to ensure efficient data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If iSCSI storage is used to access remote memory or I/O devices over a network, then network connectivity is achieved, but processing overhead increases and latency becomes four to five times greater than local access

Engineering Contradiction:
Improvenetwork connectivityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary NVM Express controller that bridges the host and remote storage devices. This controller translates standard NVMe commands into network-compatible protocols (such as RoCE or InfiniBand), enabling direct memory access over network without requiring CPU intervention for each data transfer, thus reducing latency while maintaining network connectivity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional CPU-mediated mechanical storage access mechanism with a direct memory access mechanism over network. Instead of CPU processing each I/O operation sequentially (as in iSCSI), the system enables parallel direct memory accesses through the NVM Express controller, substituting the mechanical CPU-storage interaction with a more efficient memory-direct approach

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

2Loss of time

If NVMe protocol is used for local non-volatile memory access, then read and write latency is reduced, but the protocol cannot be used for remote storage access over Ethernet networks

Engineering Contradiction:
Improveaccess latencyVSAvoidnetwork compatibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent extends the NVMe protocol to serve multiple functions: local direct memory access, remote memory access over Ethernet, and cloud storage access. By making the NVMe controller universal and network-aware, it can operate in both local and remote modes, translating NVMe commands into network protocols when needed while maintaining the low-latency performance characteristics

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

Solution Approach 2:

The patent changes the operational parameters of the NVMe protocol by introducing network transport layers (such as RoCE or InfiniBand) while preserving the core NVMe command structure. This allows the protocol to function over networks by modifying transmission parameters rather than changing the fundamental NVMe interface, enabling remote access without sacrificing the simplified command structure that reduces latency

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If NVMe commands are transmitted over Ethernet networks, then remote storage access is enabled, but command loss may occur requiring retry mechanisms

Engineering Contradiction:
Improveremote storage accessVSAvoidcommand transmission reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements beforehand cushioning by incorporating retry mechanisms and timeout configurations into the NVM Express controller before command transmission issues occur. The controller includes built-in error handling that can retransmit lost commands automatically, cushioning against network reliability issues without requiring application-level intervention

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent implements feedback mechanisms where the NVM Express controller monitors command transmission status and receives acknowledgment signals from the remote storage device. When command loss is detected through missing acknowledgments or timeout, the controller uses this feedback to trigger retry mechanisms, ensuring reliable command delivery over the network

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9785355B2NVM express controller for remote access of memory and I/O over ethernet-type networks
Publication Date: 2017.10.10 POINT FINANCIAL
  • US9785355B2 patent drawing
  • US9785355B2 patent drawing
  • US9785355B2 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.