NVM express controller for remote access of memory and I/O over ethernet-type networks
First Claim
Patent Images
1. An extended NVMe storage network comprising:
- at least one NVMoE initiator node comprising;
a host processor;
an extended NVMe controller coupled to the host processor via a host interface, the extended NVMe controller functioning as an NVMoE initiator that receives from the host processor NVMe commands directed to access remote namespaces coupled to an Ethernet network, the NVMoE initiator translating the received NVMe commands to a format suitable for transmission over the Ethernet network to the remote namespaces, the converted NVMe commands passed to a direct network interface to be transmitted over the Ethernet network, wherein the extended NVMe controller cannot access local non-volatile memories using NVMe commands; and
the direct network interface adapted to couple the NVMoE initiator to the Ethernet network; and
a plurality of NVMoE target nodes comprising;
local non-volatile memories corresponding to the remote namespaces;
extended NVMe controllers coupled to the local non-volatile memories, the extended NVMe controllers functioning as NVMoE targets; and
direct network interfaces adapted to couple the Ethernet network to the NVMoE targets, the NVMoE targets receiving the translated NVMe commands via the Ethernet network according to which remote namespaces the translated NVMe commands are directed, the NVMoE targets executing the received NVMe commands to access the local non-volatile memories corresponding to the remote namespaces.
3 Assignments
0 Petitions
Accused Products
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.
-
Citations
18 Claims
-
1. An extended NVMe storage network comprising:
-
at least one NVMoE initiator node comprising; a host processor; an extended NVMe controller coupled to the host processor via a host interface, the extended NVMe controller functioning as an NVMoE initiator that receives from the host processor NVMe commands directed to access remote namespaces coupled to an Ethernet network, the NVMoE initiator translating the received NVMe commands to a format suitable for transmission over the Ethernet network to the remote namespaces, the converted NVMe commands passed to a direct network interface to be transmitted over the Ethernet network, wherein the extended NVMe controller cannot access local non-volatile memories using NVMe commands; and the direct network interface adapted to couple the NVMoE initiator to the Ethernet network; and a plurality of NVMoE target nodes comprising; local non-volatile memories corresponding to the remote namespaces; extended NVMe controllers coupled to the local non-volatile memories, the extended NVMe controllers functioning as NVMoE targets; and direct network interfaces adapted to couple the Ethernet network to the NVMoE targets, the NVMoE targets receiving the translated NVMe commands via the Ethernet network according to which remote namespaces the translated NVMe commands are directed, the NVMoE targets executing the received NVMe commands to access the local non-volatile memories corresponding to the remote namespaces. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A unit for use in a rack-mounted system, the unit comprising:
-
an Ethernet switch; a NVM blade, comprising; local non-volatile memories corresponding to remote namespaces; and an extended NVMe controller coupled to the local non-volatile memories the extended NVMe controller functioning as an NVMoE target to connect the local non-volatile memories to the Ethernet switch via a direct network interface of the NVMe target, such that the NVMoE target does not transmit NVMe commands directed to access remote namespaces, the NVMoE target receiving translated NVMe commands via the direct network interface according to which remote namespaces the translated NVMe commands are directed, and the NVMoE targets converting the translated NVMe commands to native NVMe commands and executing the native NVMe commands to access the local non-volatile memories corresponding to the remote namespaces; and wherein the Ethernet switch is coupled to a direct network interface of a NVMoE initiator node, the NVMoE initiator node comprising; a host processor; an extended NVMe controller coupled to the host processor via a host interface, the extended NVMe controller functioning as an NVMoE initiator that receives from the host processor NVMe commands directed to access remote namespaces coupled to the Ethernet switch, the NVMoE initiator translating the received NVMe commands to a format suitable for transmission via the Ethernet switch to the remote namespaces, wherein the converted NVMe commands are passed to the direct network interface of the NVMoE initiator to be transmitted via the Ethernet switch, and wherein the extended NVMe controller cannot access local non-volatile memories using NVMe commands. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification