Peer-to-peer route through in a reconfigurable computing system
US-2024020261-A1 · Jan 18, 2024 · US
US12206579B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12206579-B2 |
| Application number | US-202318383742-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 25, 2023 |
| Priority date | Jul 15, 2022 |
| Publication date | Jan 21, 2025 |
| Grant date | Jan 21, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A reconfigurable processing unit is disclosed, comprising a first internal network and a second internal network with different protocols, an interface to an external network with a different protocol, a first configurable unit sending a request to access an external memory over the first internal network, a second configurable unit receiving the request on the first internal network, obtaining a memory address, determining an identifier for the target reconfigurable processing unit, and sending the request, identifier, and memory address over the second internal network, and a third configurable unit receiving the request, identifier, and memory address on the second internal network, determining a routable address on the external network based on the identifier, synthesizing a payload with the request, address, and identifier, and sending the payload to the routable address on the external network.
Opening claim text (preview).
The invention claimed is: 1. A reconfigurable processing unit comprising: a first internal network and a second internal network, the first internal network and the second internal network having different protocols; an interface to an external network, the external network having a protocol different than either the first internal network or the second internal network; a first configurable unit coupled to the first internal network and configured to send, over the first internal network, a request to access an external memory attached to a target reconfigurable processing unit; a second configurable unit coupled to both the first internal network and the second internal network and configured to receive the request on the first internal network, obtain a memory address for the request, determine an identifier for the target reconfigurable processing unit based on the memory address, and send the request, the identifier for the target reconfigurable processing unit, and the memory address over the second internal network; and a third configurable unit coupled to both the second internal network and the interface to the external network, and configured to receive the request, the identifier for the target reconfigurable processing unit, and the memory address on the second internal network, determine a routable address on the external network for the target reconfigurable processing unit based on the identifier of the target reconfigurable processing unit, synthesize a payload that includes the request, the memory address, and an identifier of the reconfigurable processing unit, and send the payload to the routable address on the external network. 2. The reconfigurable processing unit of claim 1 , the first configurable unit further configured to generate the memory address and send the memory address to the second configurable unit over the first internal network. 3. The reconfigurable processing unit of claim 2 , the first configurable unit further configured to generate the memory address by accessing a table of addresses stored in a memory of the first configurable unit. 4. The reconfigurable processing unit of claim 2 , the first configurable unit further configured to generate the memory address by calculating the memory address based on a previous memory address. 5. The reconfigurable processing unit of claim 1 , the second configurable unit further configured to generate the memory address. 6. The reconfigurable processing unit of claim 5 , the second configurable unit further configured to generate the memory address by calculating the memory address based on a previous memory address. 7. The reconfigurable processing unit of claim 1 , wherein the request comprises a write; the first configurable unit further configured to send data for the request over the first internal network to the second configurable unit; the second configurable unit further configured to send the data for the request over the second internal network to the third configurable unit; and the third configurable unit further configured to include the data in the payload. 8. The reconfigurable processing unit of claim 1 , further comprising a fourth configurable unit coupled to the second internal network and to an external memory interface; the third configurable unit further configured to receive a second payload including a second request and a second memory address from the interface to the external network, and send the second request and the second memory address to the fourth configurable unit over the second internal network; and the fourth configurable unit configured to use the second memory address to access an external memory through the external memory interface to perform the second request. 9. The reconfigurable processing unit of claim 8 , the request comprising a write request and the second payload including second data; the third configurable unit further configured to send the second data to the fourth configurable unit over the second internal network; and the fourth configurable unit further configured to write the second data to the second memory address of the external memory through the external memory interface. 10. The reconfigurable processing unit of claim 8 , the request comprising a read request and the second payload including an identifier of a requesting reconfigurable processing unit and an identifier of a configurable unit of the requesting reconfigurable processing unit; the third configurable unit further configured to temporarily save the identifier of the requesting reconfigurable processing unit and the identifier of the configurable unit of the requesting reconfigurable processing unit; the fourth configurable unit further configured to receive second data through the external memory interface read from the second memory address of the external memory, and send the second data to the third configurable unit over the second internal network; and the third configurable unit further configured to generate a return address on the external network based on the saved identifier of the requesting reconfigurable processing unit, synthesize a return payload that includes the second data and the saved identifier of configurable unit of the requesting reconfigurable processing unit, and send the return payload to the return address through the interface to the external network. 11. A method for peer-to-peer communication between configurable units of two reconfigurable processing units (RPUs), the method comprising: sending, from a first configurable unit of a first RPU over first internal network to a second configurable unit of the first RPU a request to access an external memory attached to a second RPU coupled to the first RPU by an external network; generating a memory address for the request; looking up, by the second configurable unit, an identifier of the second RPU based on the memory address; sending the request, the identifier for the second RPU, and the memory address from the second configurable unit over a second internal network to a third configurable unit of the first RPU; looking up, by the third configurable unit, a routable address on the external network for the second RPU based on the identifier of the second RPU; synthesizing, by the third configurable unit, a payload that includes the request, the memory address, and an identifier of the first RPU; and sending the payload from the third configurable unit to the routable address on the external network; wherein the first internal network, a second internal network, and the external network each have a different protocol. 12. The method of claim 11 , wherein the first configurable unit generates the memory address and sends the memory address to the second configurable unit over the first internal network. 13. The method of claim 12 , further comprising accessing a table of addresses stored in a memory of the first configurable unit to generate the memory address. 14. The method of claim 12 , further comprising calculating the memory address based on a previous memory address. 15. The method of claim 11 , wherein the second configurable unit generates the memory address. 16. The method of claim 15 , further comprising calculating the memory address based on a previous memory address. 17. The method of claim 11 , wherein the request comprises a write, the method further comprising: sending data for the request from the first configurable unit to the second configurable unit over the first internal network; sending the data for the request from the second configurable unit t
using Bloom filters · CPC title
Multiple parallel or consecutive lookup operations (lookup operation involving Bloom filters H04L45/7459) · CPC title
Multiprotocol routers · CPC title
Address table lookup; Address filtering · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.