US2024345989A1PendingUtilityA1

Transparent remote memory access over network protocol

76
Assignee: ENFABRICA CORPPriority: Jun 9, 2021Filed: Jun 26, 2024Published: Oct 17, 2024
Est. expiryJun 9, 2041(~14.9 yrs left)· nominal 20-yr term from priority
G06F 2212/154G06F 12/1081G06F 12/10G06F 12/1009G06F 13/404G06F 13/4221G06F 2213/0026H04L 9/0863G06F 15/17331H04L 9/3213
76
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system for providing memory access is disclosed. In some embodiments, the system is configured to receive at a source server fabric adapter (SFA), from a server, a memory access request comprising a virtual memory address; using associative mapping, determining whether the virtual address corresponds to a source-local memory associated with the source SFA or to a remote memory. If the virtual address corresponds to the source-local memory, the virtual memory address is translated, at the source SFA, into a physical memory address of the source-local memory. If the virtual address corresponds to the remote memory, a request message is synthesized, and the synthesized request message is transmitted to the destination SFA using a network protocol.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system comprising:
 a fabric adapter coupled to a plurality of endpoint devices and a plurality of network ports, each endpoint device of the plurality of endpoint devices being a remote device or a local device, wherein the fabric adapter is configured to:   use at least one of a peripheral component interconnect express (PCIe) interface and protocol or a computer express link (CXL) interface and protocol to handle a memory request associated with the local device; and   use at least one network interface and protocol to handle a memory request associated with the remote device.   
     
     
         2 . The system of  claim 1 , wherein:
 the plurality of endpoint devices are memory and data storage devices,   each remote device of the plurality of endpoint devices is a network attached device that is communicated through network addressing, the remote device including at least one of a remote storage device or a remote memory device, and   each local device of the plurality of endpoint devices is included within a compute rack utilizing at least one of PCIe and CXL interfaces and protocols and is communicated either through memory mapped addressing or through network addressing, the local device including at least one of a local storage device or a local memory device,   
     
     
         3 . The system of  claim 2 , wherein:
 the remote storage device comprises at least one of a hard disk drive (HDD) or a solid state device (SSD), and   the remote memory device comprises at least one of non-volatile memory (NVME) or dynamic random access memory (DRAM).   
     
     
         4 . The system of  claim 2 , wherein:
 the local storage device comprises at least one of a HDD or a SSD, and   the local memory device comprises at least one of local disaggregated memory including NVME or DRAM, or at least a main memory including DRAM.   
     
     
         5 . The system of  claim 2 , wherein the remote device is attached to a network via an Ethernet interface. 
     
     
         6 . The system of  claim 2 , wherein the fabric adapter is further configured to handle the memory request associated with the remote device or local device using one or more semantics, wherein the one or more semantics include at least input/output semantics or network semantics, the input/output (I/O) semantics is based on load and store operations, and the network semantics allows data transfer based on one or more network protocols. 
     
     
         7 . The system of  claim 6 , wherein the fabric adapter comprises:
 a local memory request handler configured to use the I/O semantics to handle the memory request associated with the local device via PCIe/CXL interfaces; and   a transport handler configured to use the network semantics to handle the memory request associated with the remote device.   
     
     
         8 . The system of  claim 7 , where the fabric adapter is further configured to:
 translate the memory request to a network memory request; and   identify a location of a memory request handler from the network memory request.   
     
     
         9 . The system of  claim 8 , wherein the location of the memory request handler is associated with the local memory device, and the local memory request handler is further configured to:
 perform local cacheline operations via CXL.mem and CXL.cache in response to the memory request.   
     
     
         10 . The system of  claim 8 , wherein the location of the memory request handler is associated with the local storage device, and the local memory request handler is further configured to:
 receive and execute the memory request via a PCIe interface.   
     
     
         11 . The system of  claim 8 , wherein the location of the memory request handler is associated with the remote memory device, and the transport handler is further configured to:
 apply one or more network protocols;   insert the memory request into a network flow targeted to a remote memory request handler associated with the remote device through a network interface;   receive a memory response from the remote memory request handler associated with the remote device; and   transmit the memory response to a requestor of the memory request.   
     
     
         12 . The system of  claim 8 , wherein the location of the memory request handler is associated with the remote storage device, and the transport handler is further configured to:
 apply one or more network protocols;   insert the memory request into a network flow targeted to a remote memory request handler associated with the remote device through a network interface;   receive a memory response from the remote memory request handler associated with the remote device; and   transmit the memory response to a requestor of the memory request.   
     
     
         13 . The system of  claim 8 , wherein the fabric adapter is further configured to extend load and store operations to remote devices over a network through remote memory access. 
     
     
         14 . The system of  claim 8 , wherein the fabric adaptor is further configured to use memory mapped addressing to cache application data in high bandwidth memory of a graphical processing unit. 
     
     
         15 . The system of  claim 8 , wherein at least one of the transport handler and the local memory request handler is a software process running on a device attached to the fabric adapter or a hardware unit of the fabric adapter. 
     
     
         16 . The system of  claim 1 , wherein the fabric adapter further comprises one or more network interface controllers utilizing standard protocol stacks, and wherein:
 the standard protocol stacks comprise at least one of Ethernet, a transport protocol, and a network protocol,   the transport protocol comprises at least one of a Transmission Control Protocol (TCP) or a User Datagram Protocol (UDP), and   the network protocol comprises an Internet Protocol (IP).   
     
     
         17 . The system of  claim 1 , wherein the fabric adapter is further configured to manage local cache of the remote memory device. 
     
     
         18 . The system of  claim 1 , wherein the fabric adapter is further configured to:
 determine a hot ranking of a memory page; and   move the memory page between local and remote memory locations based on the hot ranking.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.