9430412

Nvm Express Controller for Remote Access of Memory and I/O Over Ethernet-Type Networks

PublishedAugust 30, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
31 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An extended NVMe controller comprising: a host PCI Express (PCIe) 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; wherein the extended NVMe controller receives from the host processor Non-Volatile Memory Express (NVMe) commands directed to a remote namespace for remote non-volatile memory coupled to the external Ethernet network; a command translator that translates the NVMe commands to NVM-over-Ethernet (NVMoE) commands that are suitable for transmission over the external Ethernet network to a remote namespace controller for the remote namespace; and a submission queue manager that manages NVMe submission queues for the host processor.

2

2. The extended NVMe controller of claim 1 wherein the command translator also maps a name space identifier (NSID) of the NVMe commands to destination Ethernet media access control (MAC) addresses of the NVMoE commands.

3

3. The extended NVMe controller of claim 2 , wherein the command translator accesses a mapping table for mapping the NSID to the destination Ethernet MAC addresses.

4

4. The extended NVMe controller of claim 2 , wherein the NSID are mapped to lower bits of the Ethernet MAC addresses.

5

5. The extended NVMe controller of claim 2 , wherein upper bits of the destination Ethernet MAC addresses are assigned to an Organizationally Unique Identifier (OUI).

6

6. The extended NVMe controller of claim 2 , wherein the NVMoE command is specified by an NVMoE frame comprising one or more MAC addresses including the destination Ethernet MAC address, and an NVMe frame specifying the NVMe command.

7

7. The extended NVMe controller of claim 6 , wherein the one or more MAC addresses further comprise a source Ethernet MAC address.

8

8. The extended NVMe controller of claim 6 , wherein the NVMoE frame further comprises a frame type code indicating that the NVMoE frame is an NVMoE type of frame.

9

9. The extended NVMe controller of claim 6 , wherein the NVMoE frame further comprises Frame Check Sum (FCS) for the entire NVMoE frame.

10

10. The extended NVMe controller of claim 6 , wherein the NVMoE frame further comprises a time stamp suitable for measuring latency.

11

11. The extended NVMe controller of claim 1 , wherein the NVMe commands include read and write commands.

12

12. The extended NVMe controller of claim 1 further comprising: a scheduler and arbiter that schedule a queue for processing the NVMe commands in the NVMe submission queues.

13

13. The extended NVMe controller of claim 1 further comprising a retry mechanism for recovering from a loss of NVMoE commands transmitted over the external Ethernet network.

14

14. The extended NVMe controller of claim 13 , wherein the retry mechanism includes a timer for detecting a loss of NVMoE commands.

15

15. The extended NVMe controller of claim 14 , wherein the retry mechanism reissues an NVMe command in response to determination of loss of the NVMoE command corresponding to the NVMe command according to the timer.

16

16. The extended NVMe controller of claim 1 , wherein the remote non-volatile memory is a solid state drive.

17

17. The extended NVMe controller of claim 1 , wherein the remote non-volatile memory is a hard disk drive.

18

18. The extended NVMe controller of claim 1 further comprising a local memory interface adapted to couple the extended NVMe controller to a local namespace for local non-volatile memory; wherein the extended NVMe controller receives from the host processor NVMe commands directed to the local namespace and provides I/O access for the host processor to the local namespace.

19

19. The extended NVMe controller of claim 18 , wherein the NVMe commands address the local namespace by HSID and NSID, and the extended NVMe controller accesses a directory server that manages HSIDs and NSIDs to obtain HSIDs and/or NSIDs for the local namespace.

20

20. The extended NVMe controller of claim 1 wherein the command translator also maps a host identifier (HSID) of the NVMe commands to destination Ethernet media access control (MAC) addresses of the NVMoE commands.

21

21. The extended NVMe controller of claim 1 wherein the remote namespace controller can execute the received NVMoE commands without itself having to maintain NVMe submission queues for the host processor.

22

22. A method for accessing a remote name space, the method comprising: an extended NVMe controller receiving from a host processor via PCI Express (PCIe) bus, NVMe commands directed to a remote namespace for a remote non-volatile memory coupled to an external Ethernet network, the extended NVMe controller also coupled to the external Ethernet network; the extended NVMe controller managing NVMe submission queues for the host processor; the extended NVMe controller translating the received NVMe commands to NVM-over-Ethernet (NVMoE) commands that are suitable for transmission over the external Ethernet network to a remote namespace controller for the remote namespace; and the extended NVMe controller transmitting the NVMoE commands directly over the external Ethernet network to the remote namespace controller.

23

23. An extended NVMe storage network comprising a plurality of local NVMe storage nodes and an external network coupling the local NVMe storage nodes; the local NVMe storage nodes comprising host processor(s), extended NVMe controllers and local non-volatile memories; wherein the extended NVMe controllers comprise: host PCI Express (PCIe) interfaces adapted to couple the extended NVMe controllers to the host processor(s); local storage interfaces adapted to couple the extended NVMe controllers to local namespaces for the local non-volatile memories; wherein the extended NVMe controllers receive from the host processor(s) first NVMe commands directed to the local namespaces and provide I/O access for the host processor(s) to the local namespaces according to the first NVMe commands; direct network interfaces adapted to couple the extended NVMe controllers to the external network; wherein the extended NVMe controllers further receive from the host processor(s) second NVMe commands directed to remote namespaces coupled to the external network; command translators that translate the second NVMe commands to NVM-over-Ethernet (NVMoE) commands that are suitable for transmission over the external network to other extended NVMe controllers coupled to the remote namespaces; and submission queue managers that manage NVMe submission queues for the host processor.

24

24. The extended NVMe storage network of claim 23 , wherein the external network is an L3 network.

25

25. The extended NVMe storage network of claim 23 , wherein the external network includes an L2 Ethernet network and an L3 network.

26

26. The extended NVMe storage network of claim 25 , wherein the second NVMoE commands are encapsulated by L3 packet headers for transmission over the L3 network.

27

27. The extended NVMe storage network of claim 25 , wherein the second NVMoE commands are segmented and reassembled by an L3 gateway.

28

28. The extended NVMe storage network of claim 23 implemented as a server rack, wherein the local NVMe storage nodes comprise servers in the server rack and the external network comprises a top of rack Ethernet switch.

29

29. The extended NVMe storage network of claim 23 implemented as a single server, wherein the host processor(s) comprise a single host, but each local NVMe storage node includes a dedicated extended NVMe controller and a dedicated local non-volatile memory.

30

30. The extended NVMe storage network of claim 23 comprising at least two host processors coupled to a second network via second network interfaces, wherein the local NVMe storage nodes provide redundancy via the NVMe controllers coupled to the external network.

31

31. The extended NVMe storage network of claim 23 implemented as a single server comprising at least two host processors each connected to an extended NVMe controller via a PCIe port, wherein the local NVMe storage nodes support dual port NVMe controller services.

Patent Metadata

Filing Date

Unknown

Publication Date

August 30, 2016

Inventors

Yiren Ronnie Huang

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “NVM EXPRESS CONTROLLER FOR REMOTE ACCESS OF MEMORY AND I/O OVER ETHERNET-TYPE NETWORKS” (9430412). https://patentable.app/patents/9430412

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.