Programmable logic device configuration over communication fabrics

US12222890B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12222890-B2
Application numberUS-202217846305-A
CountryUS
Kind codeB2
Filing dateJun 22, 2022
Priority dateFeb 1, 2019
Publication dateFeb 11, 2025
Grant dateFeb 11, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of programming a fabric-coupled FPGA device includes instructing a communication fabric to establish a first logical partition segregating a first set of communication switch ports within the communication fabric that includes the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA). The method includes directing configuration data configured to program the FPGA to the target device over the first logical partition. The method includes instructing the communication fabric to remove the first logical partition in the communication fabric, wherein the configuration data remains stored at the target device after removal of the first logical partition. The method includes instructing the communication fabric to establish a second logical partition segregating a second set of communication switch ports within the communication fabric that includes a selected device and the target device that stores the configuration data.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing apparatus comprising: one or more computer readable storage media; program instructions stored on the one or more computer readable storage media, that based at least in part on execution by a management processor, direct the management processor to at least: instruct a communication fabric to establish a first logical partition segregating a first set of communication switch ports within the communication fabric that includes the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA); direct configuration data configured to program the FPGA to the target device over the first logical partition; after transfer of the configuration data, instruct the communication fabric to remove the first logical partition in the communication fabric, wherein the configuration data remains stored at the target device after removal of the first logical partition; and instruct the communication fabric to establish a second logical partition segregating a second set of communication switch ports within the communication fabric that includes at least a selected device and the target device that stores the configuration data. 2. The computing apparatus of claim 1 , wherein the selected device comprises a central processing unit (CPU), a data storage device, or a network interface element. 3. The computing apparatus of claim 1 , wherein the configuration data comprises a programming bitstream to program the FPGA into a programmed state, and wherein the programmed state comprises a target programmed state of programmable logic elements of the FPGA. 4. The computing apparatus of claim 1 , wherein the target device further comprises the FPGA. 5. The computing apparatus of claim 1 , wherein the management processor comprises a first Peripheral Component Interconnect Express (PCIe) root complex; and wherein the selected device comprises a second PCIe root complex different that the first PCIe root complex. 6. The computing apparatus of claim 1 , wherein after the configuration data remains stored at the target device, the configuration data programs the FPGA into a programmed state responsive to a power cycling of at least the FPGA. 7. The computing apparatus of claim 1 , comprising further program instructions stored on the one or more computer readable storage media, that based at least in part on execution by the management processor, direct the management processor to at least: receive a user command to establish a compute unit comprising the selected device and the FPGA, wherein the user command indicates the configuration data is to be deployed for the FPGA; and establish the compute unit comprising at least the selected device and the target device. 8. The computing apparatus of claim 1 , wherein removal of the first logical partition in the communication fabric comprises de-establishing the first logical partition and placing the target device back into a pool of free devices while the configuration data remains stored at the target device while in the pool. 9. A method comprising: instructing, by a management processor, a communication fabric to establish a first logical partition segregating a first set of communication switch ports within the communication fabric that includes the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA); directing configuration data configured to program the FPGA to the target device over the first logical partition; after transfer of the configuration data, instructing, by the management processor, the communication fabric to remove the first logical partition in the communication fabric, wherein the configuration data remains stored at the target device after removal of the first logical partition; and instructing, by the management processor, the communication fabric to establish a second logical partition segregating a second set of communication switch ports within the communication fabric that includes at least a selected device and the target device configured according to the configuration data. 10. The method of claim 9 , wherein the selected device comprises one among a central processing unit (CPU), a data storage device, and a network interface element. 11. The method of claim 9 , wherein the configuration data comprises a programming bitstream to program the FPGA into a programmed state, and wherein the programmed state comprises a target programmed state of programmable logic elements of the FPGA. 12. The method of claim 9 , wherein the target device further comprises the FPGA. 13. The method of claim 9 , wherein the management processor comprises a first Peripheral Component Interconnect Express (PCIe) root complex; and wherein the selected device comprises a second PCIe root complex different that the first PCIe root complex. 14. The method of claim 9 , wherein after the configuration data remains stored at the target device, the configuration data programs the FPGA into a programmed state responsive to a power cycling of at least the FPGA. 15. The method of claim 9 , comprising: receiving a user command to establish a compute unit comprising the selected device and the FPGA, wherein the user command indicates the configuration data is to be deployed for the FPGA; and establish the compute unit comprising at least the selected device and the target device. 16. The method of claim 9 , wherein removal of the first logical partition in the PCIe fabric comprises de-establishing the first logical partition and placing the target device back into a pool of free devices while the configuration data remains stored at the target device while in the pool. 17. A computing apparatus comprising: a management processor configured to: receive user commands to establish a compute unit among a plurality of physical computing components coupled by a communication fabric, wherein the user command identifies configuration data stored in a storage device accessible to the management processor; and establish the compute unit by: instructing the communication fabric to establish a first partition segregating a first set of communication switch ports within the communication fabric to include the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA); directing at least the configuration data to the target device using the first partition; after transfer of the configuration data over the first partition, instructing the communication fabric to de-establish the first partition including the management controller and the target device, wherein the configuration data remains stored at the target device after de-establishment of the first partition; and instructing the communication fabric to establish a second partition segregating a second set of communication switch ports within the communication fabric including a selected device and the target device, the second partition within the communication fabric configured such that the selected device has visibility over the communication fabric to the target device that stores the configuration data. 18. The computing apparatus of claim 17 , wherein the selected device comprises a central processing unit (CPU), and wherein the configuration data comprises a programming bitstream to program the FPGA into the programming state comprising a target programmed state of programmable logic elements of the FPGA. 19.

Assignees

Inventors

Classifications

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

  • PCI express · CPC title

  • on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12222890B2 cover?
A method of programming a fabric-coupled FPGA device includes instructing a communication fabric to establish a first logical partition segregating a first set of communication switch ports within the communication fabric that includes the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA). The method includes directi…
Who is the assignee on this patent?
Liqid Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/4282. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).