NVM express controller for remote access of memory and I/O over Ethernet-type networks
AssigneeCNEX Labs, Inc.
InventorYiren Ronnie Huang
Life of this patent
Estimating the term…
Abstract
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.
Claims18
An extended NVMe controller comprising:
- a host interface adapted to couple the extended NVMe controller to a host processor;
- a direct network interface adapted to couple the extended NVMe controller to an external Ethernet network;
- and
- wherein the extended NVMe controller is configured to:
- receive, from the host processor, NVMe commands directed to a remote namespace for a remote non-volatile memory coupled to the external Ethernet network;
- translate NVMe commands to NVMe over Ethernet (NVMoE) commands suitable for transmission over the external Ethernet network to a remote namespace controller for a remote namespace, the NVMe commands received from the host processer via the host interface, wherein the translation of the NVME command to NVMoE command comprises mapping a name space identifier (NSID) of the NVMe commands to an Ethernet media access control (MAC) address;
- and
- transmit the translated NVMe command directly over the external Ethernet network to the remote namespace controller.
A method for accessing a remote name space, the method comprising:
- receiving, at an extended NVMe controller from a host processor, NVMe commands directed to a remote namespace for a remote non-volatile memory coupled to an external network, the extended NVMe controller also coupled to the external network, the extended NVMe controller coupled to the host processor via a host interface;
- translating, at the extended NVMe controller, the received NVMe commands to NVMe over Ethernet (NVMoE) commands suitable for transmission over the external Ethernet network to a remote namespace controller for a remote namespace, wherein the translation of the NVME command to NVMoE command comprises mapping a name space identifier (NSID) of the NVMe commands to an Ethernet media access control (MAC) address;
- and
- transmitting, at the extended NVMe controller, the translated NVMe command directly over the external Ethernet network to the remote namespace controller.
Dependencies are inferred from the claim text.