IP Library › Granted Patent US 12,001,370
Granted Patent B2
US 12,001,370 · App. 17/565,601 · Granted Jun 4, 2024

Multi-node memory address space for PCIe devices

Inventor: Brock A. Taylor (Austin, TX)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F13/4221G06F12/0238G06F13/1668G06F13/404G06F2213/0026
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,001,370
App. No.
17/565,601
Granted
Jun 4, 2024
Kind
B2
Abstract

A device in an interconnect network is provided. The device comprises an end point processor comprising end point memory and an interconnect network link in communication with an interconnect network switch. The device is configured to issue, by the end point processor, a request to send data from the end point memory to other end point memory of another end point processor of another device in the interconnect network and provide, to the interconnect network switch, the request using memory addresses from a global memory address map which comprises a first global memory address range for the end point processor and a second global memory address range for the other end point processor.

Claims (46)

1. A device in an interconnected network, the device comprising:

a plurality of end point processors each comprising end point memory;

an interconnect network link in communication with an interconnect network switch; and

a local address space comprising local addresses of the end point memory of each of the end point processors;

the device configured to:

issue, by an end point processor of the plurality of end point processors, a request to send data from the end point memory of the end point processor to end point memory of another end point processor of another device in the interconnect network; and

provide, to the interconnect network switch, the request using memory addresses from a global memory address map which comprises information identifying the global addresses for the device and the other device and global memory address ranges for each of the plurality of end point processors of the device and each of a plurality of end point processors of the other device.

2. The device of claim 1 , wherein the end point processor of the device is a first GPU and the other end point processor of the other device is a second GPU.

3. The device of claim 1 wherein the interconnect network is a peripheral component interconnect express (PCIe) network.

4. The device of claim 1 , wherein the first global memory address range and the second global memory address range are non-overlapping address ranges.

5. The device of claim 1 , wherein the end point processor and the other end point processor are a same processor type, and

the first global memory address range and the second global memory address range are part of a continuous global address range for processors of the same processor type.

6. The device of claim 1 , wherein the device is configured to map local addresses of the end point memory of the end point processor to the first global memory address range.

7. The device of claim 1 , wherein the local address space comprises a device aperture and the device is further configured to map the local addresses of the end point memory of each end point processor of the device to a non-overlapping global address range using the corresponding device aperture.

8. The device of claim 1 , wherein the device is configured to:

skip read and write operations used for inter-device data transfers; and

map local addresses of the end point memory to the first global memory address range by translating local addresses of the skipped read and write operations.

9. A method for accessing memory in an interconnect network, the method comprising:

issuing, by an end point processor of a plurality of end point processors of a first device in the interconnect network, a request to send data from end point memory of the end point processor to end point memory of another end point processor of a second device in communication with the first device via an interconnect network switch, wherein the first device comprises a local address space comprising local addresses of the end point memory of each of the plurality of end point processors; and

providing, to the interconnect network switch, the request using memory addresses from a global memory address map which comprises information identifying the global addresses for the first device and the second device and global memory address ranges for each of a plurality of end point processors of the first device and each of a plurality of end point processors of the second device.

10. The method of claim 9 , wherein the end point processor of the first device is a first GPU and the other end point processor of the second device is a second GPU.

11. The method of claim 9 , wherein the interconnect network is a peripheral component interconnect express (PCIe) network.

12. The method of claim 9 , wherein the first global memory address range and the second global memory address range are non-overlapping address ranges.

13. The method of claim 9 , wherein the end point processor and the other end point processor are a same processor type, and

the first global memory address range and the second global memory address range are part of a continuous global address range for processors of the same processor type.

14. The method of claim 9 , further comprising mapping local addresses of the end point memory of each end point processor of the first device to the first global memory address range.

15. The method of claim 9 , further comprising:

skipping read and write operations used for inter-device data transfers; and

mapping local addresses of the end point memory to the first global memory address range by translating the local addresses of the skipped read and write operations.

16. An interconnect network comprising:

an interconnect network switch;

a first device comprising:

a plurality of first end point processors each comprising first end point memory; and

a first interconnect network link in communication with the interconnect network switch; and

a first local address space comprising local addresses of the first end point memory of each of the plurality of first end point processors;

a second device comprising:

a plurality of second end point processors each comprising second end point memory; and

a second interconnect link in communication with the interconnect network switch; and

a second local address space comprising local addresses of the second end point memory of each of the plurality of second end point processors;

the first device configured to:

issue, by a first end point processor of the plurality of first end point processors, a request to send data from the first end point memory of the first end point processor to the second end point memory of a second end point processor of the plurality of second end point processors; and

provide, to the interconnect network switch, the request using memory addresses from a global memory address map which comprises information identifying the global addresses for the first device and the second device and global memory address ranges for each of the plurality of end point processors of the first device and the second device.

17. The interconnect network of claim 16 , wherein the first end point processor of the first device is a first GPU and the second end point processor of the second device is a second GPU.

18. The interconnect network of claim 16 , wherein the interconnect network is a peripheral component interconnect express (PCIe) network.

19. The interconnect network of claim 16 , wherein the first global memory address range and the second global memory address range are non-overlapping address ranges.

20. The interconnect network of claim 16 , wherein the interconnect network switch is configured to route the request to the second device using a global identifier, from the global memory address map, identifying the second device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2022
From: TAYLOR, BROCK A.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 059159/0780 →
Continuity (1)
Related Publication 20230214345A1 · Jul 6, 2023
Cited By (1)
US 12,639,469