IP Library Granted Patent US 10,983,939
Granted Patent B2
US 10,983,939 · App. 15/669,136 · Granted Apr 20, 2021

System and method for independent, direct and parallel communication among multiple field programmable gate arrays

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 10,983,939
App. No.
15/669,136
Granted
Apr 20, 2021
Kind
B2
Abstract

Representative embodiments are disclosed for data transfer between field programmable gate arrays (FPGAs). A representative system includes: a PCIe communication network comprising a PCIe switch and a plurality of PCIe communication lines; a host computing system coupled to the PCIe communication network; a nonblocking crossbar switch; a plurality of memory circuits; and a plurality of field programmable gate arrays, each field programmable gate array configurable for a plurality of data transfers to and from the host computing system and any other field programmable gate array of the plurality of field programmable gate arrays, with each data transfer including a designation of a first memory address, a file size, and a stream number. Once base DMA registers have been initialized for a selected application, no further involvement by the host computing system is involved for the duration of the selected application.

Claims (38)

1. A system couplable to a host computing system, the system comprising:

a PCIe communication network comprising a PCIe switch and a plurality of PCIe communication lines;

a plurality of memory circuits; and

a plurality of field programmable gate arrays, each field programmable gate array coupled to the PCIe communication network and to at least one memory circuit of the plurality of memory circuits, each field programmable gate array configured to generate a data packet, for each data transfer of a plurality of data transfers, comprising a data transfer header having a designation of a first memory address and a stream number.

2. The system of claim 1 , wherein each field programmable gate array of the plurality of field programmable gate arrays is further configured to generate a plurality of data transfers to any other field programmable gate array of the plurality of field programmable gate arrays.

3. The system of claim 1 , further comprising:

at least one tertiary field programmable gate array configured as a non-blocking crossbar switch and coupled to the plurality of field programmable gate arrays;

wherein each field programmable gate array is further configured to perform one or more data transfers through the PCIe communication network or through the nonblocking crossbar switch, and wherein each field programmable gate array is further configured to perform at least some data transfers of the plurality of data transfers in parallel and directly between or among the plurality of field programmable gate arrays.

4. The system of claim 1 , wherein each field programmable gate array is further configured to include a file size designation in each data transfer header.

5. The system of claim 1 , wherein prior to commencement of a computing application to be performed by one or more field programmable gate arrays of the plurality of field programmable gate arrays, the host computing system is adapted to transmit a plurality of DMA register messages to the one or more field programmable gate arrays, each DMA register message designating a memory address of the plurality of memory circuits, a file size, and the stream number.

6. The system of claim 5 , wherein each DMA register maintains its designations until another DMA register message changing the designations is received.

7. The system of claim 1 , wherein each field programmable gate array is further configured to include a designation of a second memory address and a tie stream number in one or more data transfer headers.

8. The system of claim 7 , wherein in response to receiving a data transfer including the designation of the second memory address and the tie stream number, each field programmable gate array is further configured to forward the data transferred to the second memory address and the tie stream number.

9. The system of claim 1 , further comprising:

a plurality of data communication lines coupling the plurality of field programmable gate arrays in series, and wherein each field programmable gate array is further configured to perform one or more data transfers directly through the plurality of data communication lines.

10. A method of data transfer in a system, the system comprising a host computing system, a PCIe communication network, a plurality of memory circuits, and a plurality of field programmable gate arrays, with each field programmable gate array coupled to the PCIe communication network and to at least one memory circuit of the plurality of memory circuits, the method comprising:

configuring each field programmable gate array of the plurality of field programmable gate arrays to generate a plurality of data transfers to any other field programmable gate array of the plurality of field programmable gate arrays; and

configuring each field programmable gate array of the plurality of field programmable gate arrays to generate a data packet, for each data transfer of the plurality of data transfers, comprising a data transfer header having a designation of a first memory address of the plurality of memory circuits and a stream number of a plurality of stream numbers.

11. The method of claim 10 , further comprising:

using the host computing system, transmitting a plurality of DMA register messages to one or more field programmable gate arrays of the plurality of field programmable gate arrays, each DMA register message designating a selected memory address of the plurality of memory circuits, a selected file size, and a selected stream number of the plurality of stream numbers.

12. The method of claim 11 , further comprising:

maintaining the designations in each DMA register until another DMA register message changing the designations is received by the one or more field programmable gate arrays of the plurality of field programmable gate arrays.

13. The method of claim 10 , further comprising:

configuring each field programmable gate array to include a file size designation in each data transfer header.

14. The method of claim 10 , further comprising:

configuring each field programmable gate array to include a designation of a second memory address and a tie stream number in one or more data transfer headers.

15. The method of claim 14 , further comprising:

configuring each field programmable gate array to, in response to receiving a data transfer including the designation of the second memory address and the tie stream number, forward the data transferred to the second memory address and the tie stream number.

16. The method of claim 10 , wherein at least some data transfers of the plurality of data transfers occur in parallel and directly between or among the plurality of field programmable gate arrays.

17. A system comprising:

a PCIe communication network comprising a PCIe switch and a plurality of PCIe communication lines;

a nonblocking crossbar switch;

a plurality of memory circuits;

a plurality of field programmable gate arrays, each field programmable gate array coupled to the PCIe communication network, to the nonblocking crossbar switch, and to at least one memory circuit of the plurality of memory circuits, each field programmable gate array configured to generate a plurality of data transfers to and from any other field programmable gate array of the plurality of field programmable gate arrays, each field programmable gate array further configured to generate a data packet, for each data transfer of the plurality of data transfers, comprising a data transfer header having a designation of a first memory address and a stream number; and

a host computing system coupled to the PCIe communication network, wherein prior to commencement of a computing application to be performed by one or more field programmable gate arrays of the plurality of field programmable gate, the host computing system is adapted to transmit a plurality of DMA register messages to the one or more field programmable gate arrays, each DMA register message designating a selected memory address of the plurality of memory circuits, a selected file size, and a selected stream number.

18. The system of claim 17 , wherein each data transfer header further comprises a file size designation, and wherein each DMA register maintains its designations until another DMA register message changing the designations is received.

19. The system of claim 17 , wherein each field programmable gate array is further configured to include a designation of a second memory address and a tie stream number in one or more data transfer headers.

20. The system of claim 19 , wherein in response to receiving a data transfer including the designation of the second memory address and the tie stream number, each field programmable gate array is further configured to forward the data transferred to the second memory address and the tie stream number.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050709/0838 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046597/0333 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 044348/0253 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 044653/0333 →