IP Library Granted Patent US 11,593,022
Granted Patent B2
US 11,593,022 · App. 17/419,810 · Granted Feb 28, 2023

System, method. and electronic device for cloud-based configuration of FPGA configuration data

Inventors: Xiang Liu (Hangzhou, CN); Xin Long (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
G06F3/0655G06F3/0604G06F3/067G06F13/28G06F2213/28
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,593,022
App. No.
17/419,810
Granted
Feb 28, 2023
Kind
B2
Abstract

Embodiments of the present invention provide a system, a method, and an electronic device for the cloud-based configuration of FPGA configuration data. The system includes a control module internal to an FPGA and a storage module external to the FPGA. The storage module is configured to store configuration data transmitted from a cloud, and the control module is configured to retrieve the configuration data from the storage module and to configure a corresponding processing unit of the FPGA according to the configuration data. In the embodiments of the present invention, the control module internal to the FPGA is provided, and configuration data is retrieved from the storage module external to the FPGA to configure the corresponding processing unit of the FPGA. Accordingly, during FPGA data migration, the configuration data stored in the external storage module can be directly migrated by using a general data migration method, thereby implementing live migration of FPGA data.

Claims (39)

1. A system comprising:

a field-programmable gate array (FPGA) that comprises a control module, a Direct Memory Access (DMA) module, and a processing unit (PU), the FPGA external to and in communication with a storage module;

the DMA module configured to transmit configuration data to the storage module from a cloud service;

the control module configured to retrieve the configuration data from the storage module; and

the FPGA further configured to configure the PU according to the configuration data.

2. The system of claim 1 , wherein the control module is further configured to:

monitor the storage module;

retrieve incremental data associated with the configuration data from the storage module; and

configure the PU according to the incremental data.

3. The system of claim 1 , wherein the configuration data comprises data selected from the group consisting of a register address, a register value, and an attribute identifier.

4. The system of claim 3 , wherein a register address comprises a space offset address of a register of the PU.

5. The system of claim 3 , wherein a register value comprises a value to write to a register.

6. The system of claim 3 , wherein an attribute identifier comprises an identifier used to identify a read/write attribute of a register.

7. The system of claim 1 , wherein the FPGA further comprises: a Direct Memory Access (DMA) module, wherein the DMA module is configured to transmit the configuration data to the storage module.

8. The system of claim 1 , wherein the FPGA is further configured to divide a storage region in the storage module into a first and second region and use the first region for storing the configuration data, the first region having a size smaller than a size of the second region.

9. The system of claim 1 , wherein the control module and the PU are located in a static region of the FPGA.

10. The system of claim 9 , wherein the DMA module is located outside of the static region of the FPGA.

11. The system of claim 1 , wherein the FPGA includes a second PU and the control module is further configured to configure the second PU based on the configuration data.

12. A method comprising:

transmitting, by a direct memory address (DMA) module internal to field-programmable gate array (FPGA), configuration data to a storage module external to an FPGA, the configuration data retrieved from a cloud service;

retrieving, by a control module internal to the FPGA, the configuration data from a storage module external to an FPGA; and

configuring, by the control module, a processing unit (PU) internal to the FPGA according to the configuration data.

13. The method of claim 12 , further comprising:

monitoring, by the control module, the storage module;

retrieving, by the control module, incremental data associated with the configuration data from the storage module; and

configuring, by the control module, the PU according to the incremental data.

14. The method of claim 12 , wherein storing the configuration data comprises storing data selected from the group consisting of a register address, a register value, and an attribute identifier.

15. The method of claim 12 , further comprising dividing a storage region in the storage module into a first and second region and use the first region for storing the configuration data, the first region having a size smaller than a size of the second region.

16. The method of claim 12 , further comprising configuring, by the control module, a second PU internal to the FPGA based on the configuration data.

17. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

transmitting, by a direct memory address (DMA) module internal to field-programmable gate array (FPGA), configuration data to a storage module external to an FPGA, the configuration data retrieved from a cloud service;

retrieving, by a control module internal to the FPGA, the configuration data from the storage module; and

configuring, by the control module, a processing unit (PU) internal to the FPGA according to the configuration data.

18. The non-transitory computer-readable storage medium of claim 17 , the steps further comprising:

monitoring, by the control module, the storage module;

retrieving, by the control module, incremental data associated with the configuration data from the storage module; and

configuring, by the control module, the PU based on the incremental data.

19. The non-transitory computer-readable storage medium of claim 17 , wherein storing configuration data comprises storing data selected from the group consisting of a register address, a register value, and an attribute identifier.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the control module and the PU are located in a static region of the FPGA and the DMA module is located outside of the static region of the FPGA.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2021
From: LIU, XIANG; LONG, XIN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 056757/0664 →
Priority Claims (1)
CN 201910012890.0 · Jan 7, 2019 · national
Continuity (1)
Related Publication 20220066690A1 · Mar 3, 2022