Extended NVMe Controller for Remote SSD Access Over Ethernet
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
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
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.


