IP Library › Granted Patent US 11,971,834
Granted Patent B2
US 11,971,834 · App. 18/182,556 · Granted Apr 30, 2024

Interconnect for direct memory access controllers

Inventors: Ruihua Peng (San Jose, CA); Monica Man Kay Tang (Santa Clara, CA); Xiaoling Xu (Cupertino, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F13/28G06F13/1689G06F13/4068G06F15/17375G06F15/7825
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,971,834
App. No.
18/182,556
Granted
Apr 30, 2024
Kind
B2
Abstract

A computing device is provided, including a plurality of memory devices, a plurality of direct memory access (DMA) controllers, and an on-chip interconnect. The on-chip interconnect may be configured to implement control logic to convey a read request from a primary DMA controller of the plurality of DMA controllers to a source memory device of the plurality of memory devices. The on-chip interconnect may be further configured to implement the control logic to convey a read response from the source memory device to the primary DMA controller and one or more secondary DMA controllers of the plurality of DMA controllers.

Claims (44)

1. An integrated circuit comprising:

a plurality of direct memory access (DMA) controllers; and

an on-chip interconnect configured to implement control logic to:

convey a read request from a primary DMA controller of the plurality of DMA controllers to a source memory device; and

broadcast or multi-cast a read response by conveying respective copies of the read response from the source memory device to the primary DMA controller and one or more secondary DMA controllers, each of the primary DMA controller and one or more secondary DMA controllers having a corresponding on-chip destination memory device included in the integrated circuit,

wherein the primary DMA controller and the one or more secondary DMA controllers are each configured to write data included in the read response to a plurality of different respective pointer addresses at the corresponding on-chip destination memory devices for the respective primary and secondary DMA controllers.

2. The integrated circuit of claim 1 , wherein:

a secondary DMA controller of the one or more secondary DMA controllers is configured to transmit a synchronization request to the primary DMA controller; and

the on-chip interconnect is configured to implement the control logic to convey the read request from the primary DMA controller to the source memory device in response to the primary DMA controller receiving the synchronization request.

3. The integrated circuit of claim 2 , wherein the on-chip interconnect is configured to synchronize respective memory caches of the on-chip destination memory devices by writing the data included in the read response to the on-chip destination memory devices.

4. The integrated circuit of claim 1 , wherein the on-chip interconnect is configured to implement the control logic to convey the read response to each DMA controller of the plurality of DMA controllers.

5. The integrated circuit of claim 1 , wherein the on-chip interconnect is configured to implement the control logic to

convey the read response to a proper subset of the plurality of DMA controllers.

6. The integrated circuit of claim 5 , wherein the read request indicates the proper subset of the plurality of DMA controllers to which the read response is configured to be conveyed.

7. The integrated circuit of claim 1 , further comprising a respective plurality of processing devices communicatively coupled to the plurality of DMA controllers, wherein each processing device of the plurality of processing devices is a central processing unit (CPU), a core of a CPU, a graphics processing unit (GPU), a core of a GPU, a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC).

8. The integrated circuit of claim 7 , wherein the read response further includes processing setting metadata that indicates a preprocessing operation that the respective processing devices are configured to apply to the data included in the read response prior to writing to data included in the read response to the destination memory devices.

9. The integrated circuit of claim 7 , wherein the preprocessing operation is a compression operation or an encryption operation.

10. The integrated circuit of claim 1 , wherein the pointer addresses are included in respective headers of the copies of the read response.

11. A method for use with an integrated circuit that includes a plurality of direct memory access (DMA) controllers and an on-chip interconnect, the method comprising implementing control logic at the on-chip interconnect at least in part by:

conveying a read request from a primary DMA controller of the plurality of DMA controllers to a source memory device; and

broadcasting or multi-cast a read response by conveying respective copies of the read response from the source memory device to the primary DMA controller and one or more secondary DMA controllers, each of the primary DMA controller and one or more secondary DMA controllers having a corresponding on-chip destination memory device included in the integrated circuit,

wherein the primary DMA controller and the one or more secondary DMA controllers are each configured to write data included in the read response to a plurality of different respective pointer addresses at the corresponding on-chip destination memory devices for the respective primary and secondary DMA controllers.

12. The method of claim 11 , further comprising:

at a secondary DMA controller of the one or more secondary DMA controllers, transmitting a synchronization request to the primary DMA controller; and

at the on-chip interconnect, implementing the control logic to convey the read request from the primary DMA controller to the source memory device in response to the primary DMA controller receiving the synchronization request.

13. The method of claim 12 , further comprising, at the on-chip interconnect, synchronizing respective memory caches of the on-chip destination memory devices by writing the data included in the read response to the on-chip destination memory devices.

14. The method of claim 11 , further comprising, at the on-chip interconnect

conveying the read response to a proper subset of the plurality of DMA controllers.

15. The method of claim 14 , wherein the read request indicates the proper subset of the plurality of DMA controllers to which the read response is conveyed.

16. The method of claim 11 , wherein:

the integrated circuit further includes a respective plurality of processing devices communicatively coupled to the plurality of DMA controllers;

the read response further includes processing setting metadata that indicates a preprocessing operation; and

the method further comprises, at the respective processing devices, applying the preprocessing operation to the data included in the read response prior to writing to data included in the read response to the destination memory devices.

17. The method of claim 16 , wherein the preprocessing operation is a compression operation or an encryption operation.

18. The method of claim 11 , wherein the pointer addresses are included in respective headers of the copies of the read response.

19. An integrated circuit comprising:

a plurality of direct memory access (DMA) controllers;

a respective plurality of processing devices communicatively coupled to the plurality of DMA controllers; and

an on-chip interconnect configured to implement control logic to:

convey a read request from a primary DMA controller of the plurality of DMA controllers to a source memory device; and

broadcast or multi-cast a read response by conveying respective copies of the read response from the source memory device to the primary DMA controller and one or more secondary DMA controllers, each of the primary DMA controller and one or more secondary DMA controllers having a corresponding on-chip destination memory device included in the integrated circuit;

control the processing devices to apply a preprocessing operation to data included in the read response; and

control the primary DMA controller and the one or more secondary DMA controllers to write the data included in the read response to corresponding on-chip destination memory devices associated with the respective primary and secondary DMA controllers subsequently to applying the preprocessing operation.

20. The integrated circuit of claim 19 , wherein the preprocessing operation is a compression operation or an encryption operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2023
From: PENG, RUIHUA; TANG, MONICA MAN KAY; XU, XIAOLING
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062960/0560 →
Continuity (2)
Continuation 17086010 · Oct 30, 2020
Related Publication 20230214342A1 · Jul 6, 2023