US11934318B2ActiveUtilityA1

Multi-host memory sharing

93
Assignee: XCONN TECH HOLDINGS INCPriority: Jun 7, 2022Filed: Jun 6, 2023Granted: Mar 19, 2024
Est. expiryJun 7, 2042(~15.9 yrs left)· nominal 20-yr term from priority
G06F 12/10G06F 12/1081
93
PatentIndex Score
5
Cited by
20
References
15
Claims

Abstract

A system including a fabric manager, a memory mapper, and a switch is described. The memory mapper receives and stores mapping information from the fabric manager that maps memory locations in a plurality of hosts to corresponding memory locations in a plurality of physical devices. The switch receives at least a portion of the mapping information from the memory mapper, receives a request from a host, and accesses memory that is identified by the request on a physical device of the plurality of physical devices.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system, comprising:
 a fabric manager; 
 a memory mapper that receives and stores mapping information from the fabric manager that maps memory locations in a plurality of hosts to corresponding memory locations in a plurality of physical devices, the mapping information including at least one shared memory location for a host of the plurality of hosts and an other host of the plurality of hosts on a physical device of the plurality of physical devices, the physical device being a CXL memory device; and 
 a switch that receives at least a portion of the mapping information from the memory mapper, receives a request from the host, receives an additional request from the other host, accesses memory that is identified by the request on the physical device, and accesses additional memory for the other host identified by the additional request on the physical device, the at least the portion of the mapping information including the at least one shared memory location, such that the host and the other host share the physical device including the at least one shared memory location; 
 wherein the at least one shared memory location is accessible via the switch by only one of the host and the other host at a particular time. 
 
     
     
       2. The system of  claim 1 , wherein the at least the portion of the mapping information received by the switch maps a particular set of memory locations in the host to a corresponding set of corresponding memory locations in at least a first physical device and a second physical device of the plurality of physical devices. 
     
     
       3. The system of  claim 1 , wherein the request is a compute express link (CXL) request and the host is a CXL host. 
     
     
       4. The system of  claim 1 , wherein the switch is configured such that the host and the other host transfer information through the at least one shared memory location. 
     
     
       5. The system of  claim 4 , wherein the switch is configured to allow the other host to access the at least one shared memory location only if the at least one shared memory location is not attached to the host. 
     
     
       6. The system of  claim 1 , wherein the memory mapper includes an address table configured to translate between the memory locations in the plurality of hosts and the corresponding memory locations in the plurality of physical devices. 
     
     
       7. The system of  claim 1 , wherein the mapping information maps a portion of the physical device to each of the plurality of hosts. 
     
     
       8. A method, comprising:
 receiving, at a switch from a memory mapper, at least a portion of mapping information, the at least the portion of the mapping information being received at the memory mapper from a fabric manager, the memory mapper storing the mapping information, the mapping information maps memory locations in a plurality of hosts to corresponding memory locations in a plurality of physical devices, the at least the portion of the mapping information including at least one shared memory location for a host of the plurality of hosts and an other host of the plurality of hosts on a physical device of the plurality of physical devices, the physical device being a CXL memory device; 
 receiving, at the switch, a request from the host; 
 receiving, at the switch, an additional request from the other host; 
 receiving, at the switch, additional mapping information from the memory mapper, the additional mapping information including the at least one shared memory location; 
 accessing, via the switch and using the at least the portion of the mapping information, memory that is identified by the request on the physical device; and 
 accessing, via the switch, additional memory for the other host identified by the additional request on the physical device; 
 wherein the host and the other host share the physical device and the at least one shared memory location is accessible via the switch by only one of the host and the other host at a particular time. 
 
     
     
       9. The method of  claim 8 , wherein the at least the portion of the mapping information received by the switch maps a particular set of memory locations in the host to a corresponding set of corresponding memory locations in at least a first physical device and a second physical device of the plurality of physical devices. 
     
     
       10. The method of  claim 8 , wherein the request is a compute express link (CXL) request and the host is a CXL host. 
     
     
       11. The method of  claim 8 , wherein the switch is configured such that the host and the other host transfer information through the at least one shared memory location. 
     
     
       12. The method of  claim 11 , wherein the switch is configured to allow the other host to access the at least one shared memory location only if the at least one shared memory location is not attached to the host. 
     
     
       13. The method of  claim 8 , wherein the memory mapper includes an address table configured to translate between the memory locations in the plurality of hosts and the corresponding memory locations in the plurality of physical devices. 
     
     
       14. The method of  claim 8 , wherein the mapping information maps a portion of the physical device to each of the plurality of hosts. 
     
     
       15. A system, comprising:
 a plurality of hosts; 
 a plurality of physical memory devices, a physical memory device of the plurality of physical memory devices being a CXL memory device; 
 a fabric manager; 
 a memory mapper that receives and stores mapping information from the fabric manager that maps memory locations in the plurality of hosts to corresponding memory locations in the plurality of physical memory devices, the mapping information including at least one shared memory location for a host of the plurality of hosts and an other host of the plurality of hosts on the physical memory device; and 
 a switch, coupled with the plurality of hosts, the plurality of physical memory devices, the fabric manager, and the memory mapper, the switch being configured to receive at least a portion of the mapping information from the memory mapper, receives a request from the host, receives an additional request from the other host, accesses memory that is identified by the request on the physical memory device, and accesses additional memory for the other host identified by the additional request on the physical memory device; 
 wherein the host and the other host share the physical memory device including the at least one shared memory location and the at least one shared memory location is accessible via the switch by only one of the host and the other host at a particular time.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.