Extended NVMe Controller for Remote Memory Access Over Ethernet
Find Innovative SolutionsGenerate 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
Engineering 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
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
2Adaptability or versatility
If iSCSI storage is used for remote memory access, then network access capability is improved, but access latency increases significantly
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
3Adaptability or versatility
If NVMe is extended to support remote access over Ethernet, then network compatibility is improved, but protocol complexity increases
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
4Ease of operation
If mapping table is used to convert identifiers to MAC addresses, then address resolution is improved, but memory usage increases
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
Data Source
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.


