IP Library › Granted Patent US 11,726,936
Granted Patent B2
US 11,726,936 · App. 17/457,576 · Granted Aug 15, 2023

Multi-host direct memory access system for integrated circuits

Inventors: Chandrasekhar S. Thyamagondlu (Sunnyvale, CA); Darren Jue (Sunnyvale, CA); Ravi Sunkavalli (San Jose, CA); Akhil Krishnan (San Jose, CA); Tao Yu (Campbell, CA); Kushagra Sharma (Santa Clara, CA)
G06F13/28G06F13/24
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,726,936
App. No.
17/457,576
Granted
Aug 15, 2023
Kind
B2
Abstract

A system can include a plurality of processors. Each processor of the plurality of processors can be configured to execute program code. The system can include a direct memory access system configured for multi-processor operation. The direct memory access system can include a plurality of data engines coupled to a plurality of interfaces via a plurality of switches. The plurality of switches can be programmable to couple different ones of the plurality of data engines to different ones of the plurality of processors for performing direct memory access operations based on a plurality of host profiles corresponding to the plurality of processors.

Claims (46)

1. A system, comprising:

a plurality of processors, wherein each processor of the plurality of processors is configured to execute program code; and

an integrated circuit coupled to the plurality of processors, wherein the integrated circuit includes:

a direct memory access system configured for multi-processor operation, wherein the direct memory access system includes a plurality of data engines each coupled to a plurality of interfaces via a plurality of switches;

wherein the plurality of switches are programmable to couple different ones of the plurality of data engines to different ones of the plurality of processors for performing direct memory access operations based on a plurality of host profiles specifying addressing information for the plurality of processors;

a plurality of bus endpoints, wherein each bus endpoint of the plurality of bus endpoints is coupled to a processor of the plurality of processors and to a selected switch of the plurality of switches;

a kernel circuit configured for hardware acceleration; and

a network-on-chip coupled to the one or more of the plurality of interfaces of the direct memory access system, the kernel circuit, and at least one bus endpoint of the plurality of bus endpoints, wherein the network-on-chip is programmable to convey packetized data via programmed routes to circuits coupled thereto.

2. The system of claim 1 , wherein the host profiles include metadata for inclusion in flows of the direct memory access operations initiated by the plurality of data engines for sending data through the network-on-chip to a particular bus endpoint.

3. The system of claim 1 , wherein the plurality of bus endpoints comprise a plurality of peripheral component interconnect express endpoints.

4. The system of claim 1 , wherein each data engine of the plurality of data engines is independently configurable to access different ones of the plurality of processors via the plurality of interfaces for different flows of different direct memory access operations based on the plurality of host profiles.

5. The system of claim 1 , wherein the plurality of host profiles specify addressing information for respective ones of the plurality of processors and particular ones of the plurality of interfaces to be used to access the respective ones of the plurality of processors.

6. The system of claim 5 , wherein the plurality of switches are configured to connect the plurality of data engines to different ones of the plurality of processors via the plurality of interfaces using the addressing information from the host profiles for performing different flows of the direct memory access operations.

7. The system of claim 1 , wherein

the kernel is implemented in programmable circuitry.

8. The system of claim 1 , wherein

the kernel is implemented as a hardwired circuit block.

9. The system of claim 1 , wherein

the integrated circuit includes a network interface card controller configured to communicate over a network external to the integrated circuit, the network interface card controller is coupled to the direct memory access system, and the network is distinct from each bus endpoint of the plurality of bus endpoints.

10. The system of claim 3 , wherein

the integrated circuit includes programmable circuitry and the direct memory access system is implemented using the programmable circuitry.

11. The system of claim 10 , wherein

the direct memory access system is configurable to operate with a selected number of processors.

12. The system of claim 10 , wherein

at least one of the plurality of bus endpoints is implemented using the programmable circuitry.

13. The system of claim 3 , wherein

at least one of the plurality of processors is an embedded processor disposed on the integrated circuit.

14. The system of claim 13 , wherein

the integrated circuit includes programmable circuitry and the embedded processor is implemented using the programmable circuitry.

15. The system of claim 13 , wherein

the embedded processor is implemented as a hardwired circuit block.

16. The system of claim 1 , wherein

the direct memory access system is configured to generate interrupts to selected processors of the plurality of processors.

17. The system of claim 1 , wherein

the plurality of data engines includes one or more streaming data engines configured to stream data and one or more memory mapped data engines configured to convey data as memory mapped transactions.

18. A method, comprising:

providing a plurality of processors, wherein each processor of the plurality of processors is configured to execute program code;

providing an integrated circuit coupled to the plurality of processors, wherein the integrated circuit includes:

a direct memory access system configured for multi-processor operation, wherein the direct memory access system includes a plurality of data engines each coupled to a plurality of interfaces via a plurality of switches;

wherein the plurality of switches are programmable to couple different ones of the plurality of data engines to different ones of the plurality of processors for performing direct memory access operations based on a plurality of host profiles specifying addressing information for the plurality of processors; and

a plurality of bus endpoints, wherein each bus endpoint of the plurality of bus endpoints is coupled to a processor of the plurality of processors and to a selected switch of the plurality of switches;

a kernel circuit configured for hardware acceleration; and

a network-on-chip coupled to the one or more of the plurality of interfaces of the direct memory access system, the kernel circuit, and at least one bus endpoint of the plurality of bus endpoints, wherein the network-on-chip is programmable to convey packetized data via programmed routes to circuits coupled thereto.

19. The method of claim 18 , wherein the plurality of bus endpoints comprise a plurality of peripheral component interconnect express endpoints.

20. The method of claim 19 , wherein the integrated circuit includes programmable circuitry, the method comprising:

implementing the direct memory access system using the programmable circuitry, wherein the direct memory access system is configurable to operate with a selected number of host processors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2021
From: THYAMAGONDLU, CHANDRASEKHAR S.; JUE, DARREN; SUNKAVALLI, RAVI; KRISHNAN, AKHIL; YU, TAO; SHARMA, KUSHAGRA
To: XILINX, INC.
Reel/Frame 058290/0736 →
Continuity (2)
Continuation 16896765 · Jun 9, 2020
Related Publication 20220092010A1 · Mar 24, 2022
Cited By (1)
US 12,750,329