| CPC G06F 12/0223 (2013.01) [G06F 12/1027 (2013.01); G06F 2212/657 (2013.01)] | 18 Claims |

|
1. A method comprising:
at a memory management unit (MMU) of a multi-processor, compute-near-memory system, performing operations comprising:
receiving a request for a virtual address from a process executing on a processor of the compute-near-memory system;
determining that the virtual address is within a global shared virtual address space;
responsive to determining that the virtual address is within the global shared virtual address space:
determining that a virtual device ID corresponding to the virtual address does not match a local virtual device ID of a device corresponding to the MMU;
responsive to determining that the virtual device ID corresponding to the virtual address does not match the local virtual device ID of the device corresponding to the MMU:
determining a globally unique range ID based upon the virtual address;
determining a base address and size for a region corresponding to the globally unique range ID;
determining a destination physical segment and destination physical device identifier using the base address and the virtual device ID;
constructing a physical address using the destination physical segment, the destination physical device identifier, size, and a portion of the virtual address; and
routing the request for the virtual address based upon the physical address, the physical address belonging to part of a single global physical address space of the compute system.
|