IP Library Granted Patent US 11,609,873
Granted Patent B2
US 11,609,873 · App. 17/461,149 · Granted Mar 21, 2023

PCIe device peer-to-peer communications

Inventors: James Scott Cannata (Denver, CO); Christopher R. Long (Colorado Springs, CO); Sumit Puri (Calabasas, CA); Bryan Schramm (Broomfield, CO)
Assignee: Liqid Inc.
G06F13/28G06F13/4022G06F13/4221G06F13/4234G06F2213/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 11,609,873
App. No.
17/461,149
Granted
Mar 21, 2023
Kind
B2
Abstract

Computing architectures, platforms, and systems are provided herein. In one example, system is provided. The system includes a first processor configured to initiate a communication arrangement between a first peripheral component interconnect express (PCIe) device and a second PCIe device. The communication arrangement is configured to detect transfers from the first PCIe device to one or more addresses corresponding to an address range of the second PCIe device, and redirect the transfers to the second PCIe device without passing the transfers through a second processor that initiates the transfers.

Claims (28)

1. A system comprising:

a user interface configured to receive instructions to initiate a communication arrangement between a first peripheral component interconnect express (PCIe) device and a second PCIe device;

wherein the communication arrangement is configured to redirect a transfer from the first PCIe device based on an address corresponding to an address range of the second PCIe device without passing the transfer through a host processor that executes an application initiating the transfer.

2. The system of claim 1 , wherein the communication arrangement is established in a PCIe fabric comprising one or more PCIe switch circuits.

3. The system of claim 1 , wherein the first PCIe device comprises a Graphics Processing Unit (GPU) and the second PCIe device comprises a storage device.

4. The system of claim 1 , wherein the communication arrangement is further established to detect an additional transfer from the second PCIe device to one or more addresses corresponding to an address range for the first PCIe device, and redirect the additional transfer to the first PCIe device without passing the additional transfer through the host processor that initiates the additional transfer.

5. The system of claim 1 , wherein the address range of the second PCIe device is in addition to a memory mapped address range assigned to the second PCIe device within a memory space of the host processor during enumeration of the second PCIe device by the host processor.

6. The system of claim 1 , wherein the transfer is initiated by a request originated by the application executed by the host processor to transfer data from the first PCIe device to the second PCIe device via a command that employs the communication arrangement.

7. The system of claim 1 , wherein a management driver executed by the host processor interfaces with a first device driver associated with the first PCIe device at least to initiate a direct memory access (DMA) transfer via the first device driver with a destination address corresponding to the address range for the second PCIe device.

8. The system of claim 1 , wherein the communication arrangement redirects the transfer from the first PCIe device directed to the one or more addresses corresponding to the address range for the second PCIe device at least in part by translating the one or more addresses into PCIe device physical addresses of the second PCIe device.

9. A method comprising:

receiving, via a user interface, instructions initiating a communication arrangement between a first peripheral component interconnect express (PCIe) device and a second PCIe device;

wherein the communication arrangement is configured to redirect a transfer from the first PCIe device based on an address corresponding to an address range of the second PCIe device without passing the transfer through a host processor that executes an application initiating the transfer.

10. The method of claim 9 , wherein the communication arrangement is established in a PCIe fabric comprising one or more PCIe switch circuits.

11. The method of claim 9 , wherein the first PCIe device comprises a Graphics Processing Unit (GPU) and the second PCIe device comprises a storage device.

12. The method of claim 9 , wherein at least one transfer is initiated by a request originated by the application executed by the host processor to transfer data from the first PCIe device to the second PCIe device via a command that employs the communication arrangement.

13. The method of claim 9 , wherein a management driver of the host processor interfaces with a first device driver associated with the first PCIe device at least to initiate a direct memory access (DMA) transfer via the first device driver with a destination address corresponding to the address range for the second PCIe device.

14. The method of claim 9 , wherein the communication arrangement redirects the transfer from the first PCIe device directed to the one or more addresses corresponding to the address range for the second PCIe device at least in part by translating the one or more addresses into PCIe device physical addresses of the second PCIe device.

15. An apparatus comprising:

one or more computer readable storage media;

program instructions stored on the one or more computer readable storage media, that when executed by a processor, direct the processor to at least:

receive, via a user interface, instructions to initiate a communication arrangement between a first peripheral component interconnect express (PCIe) device and a second PCIe device;

wherein the communication arrangement is configured to redirect a transfer from the first PCIe device based on an address corresponding to an address range of the second PCIe device without passing the transfer through a host processor that executes an application initiating the transfer.

16. The apparatus of claim 15 , wherein the communication arrangement is established over a PCIe fabric comprising one or more PCIe switch circuits.

17. The apparatus of claim 15 , wherein the address range of the second PCIe device is in addition to a memory mapped address range assigned to the second PCIe device within a memory space of the host processor during enumeration of the second PCIe device by the host processor.

18. The apparatus of claim 15 , wherein the transfer is initiated by a request originated by the application executed by the host processor to transfer data from the first PCIe device to the second PCIe device via a command that employs the communication arrangement.

19. The apparatus of claim 15 , wherein a management driver executed by the host processor interfaces with a first device driver associated with the first PCIe device at least to initiate a direct memory access (DMA) transfer via the first device driver with a destination address corresponding to the address range for the second PCIe device.

20. The apparatus of claim 15 , wherein the communication arrangement redirects the transfer from the first PCIe device directed to the one or more addresses corresponding to the address range for the second PCIe device at least in part by translating the one or more addresses into PCIe device physical addresses of the second PCIe device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2023
From: CANNATA, JAMES SCOTT; LONG, CHRISTOPHER R.; PURI, SUMIT; SCHRAMM, BRYAN
To: LIQID INC.
Reel/Frame 062272/0018 →
Continuity (3)
Continuation 16810944 · Mar 6, 2020
Continuation 16267623 · Feb 5, 2019
Related Publication 20220004512A1 · Jan 6, 2022
Cited By (9)
US 12,204,476 US 12,250,024 US 12,298,928 US 12,313,886 US 12,405,433 US 12,455,422 US 12,461,322 US 12,490,401 US 12,520,448