US 12,271,337 B2
Transparent remote memory access over network protocol
Thomas Norrie, Mountain View, CA (US); Shrijeet Mukherjee, Mountain View, CA (US); and Rochan Sankar, Mountain View, CA (US)
Assigned to Enfabrica Corporation, Mountain View, CA (US)
Filed by Enfabrica Corporation, Mountain View, CA (US)
Filed on Jun. 9, 2022, as Appl. No. 17/836,532.
Claims priority of provisional application 63/208,622, filed on Jun. 9, 2021.
Prior Publication US 2022/0398215 A1, Dec. 15, 2022
Int. Cl. H04L 9/08 (2006.01); G06F 13/40 (2006.01); G06F 13/42 (2006.01); G06F 15/173 (2006.01)
CPC G06F 15/17331 (2013.01) [G06F 13/404 (2013.01); G06F 13/4221 (2013.01); H04L 9/0863 (2013.01); G06F 2213/0026 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method for providing memory access to a server, the method comprising:
receiving at a source server fabric adapter (SFA), from a server, a plurality of memory access requests, each memory access request comprising a virtual memory address;
translating a first memory access request from the plurality of memory access requests into a first network memory request associated with a local memory request handler;
translating at the source SFA, the virtual memory address for the first memory access request into a physical memory address of a source-local memory;
translating a second memory access request from the plurality of memory access requests into a second network memory request associated with a remote memory request handler;
using a transport handler to apply transport headers and insert the second network memory request into a network flow for transmitting to the remote memory request handler;
synthesizing a request message comprising a request header and a request payload, the request header comprising a network address of a destination SFA associated with a remote memory, and the request payload comprising the second memory access request; and
transmitting the request message to the destination SFA using a network protocol,
wherein translating the first memory access request and the second memory access request comprises prioritizing and performing one or more of a page table lookup function or an associative range map function.