IP Library Granted Patent US 11,762,790
Granted Patent B2
US 11,762,790 · App. 17/801,284 · Granted Sep 19, 2023

Method for data synchronization between host side and FPGA accelerator

Inventors: Mingyang Ou (Jiangsu, CN); Jiaheng Fan (Jiangsu, CN); Hongwei Kan (Jiangsu, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F13/1689G06F13/30
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,762,790
App. No.
17/801,284
Granted
Sep 19, 2023
Kind
B2
Abstract

Disclosed are a method for data synchronization between a host side and a Field Programmable Gate Array (FPGA) accelerator, a Bidirectional Memory Synchronize Engine (DMSE), a FPGA accelerator, and a data synchronization system. The method includes: in response to detection of data migration from a host side to a preset memory space, generating second state information according to first state information in a first address space, and writing the second state information to a second address space (S 201 ); and in response to detection of the second state information in the second address space, calling Direct Memory Access (DMA) to migrate data in the preset memory space to a memory space of a FPGA accelerator, and copying the second state information to the first address space, so as to implement synchronization (S 202 ).

Claims (41)

1. A method for data synchronization between a host side and a Field Programmable Gate Array (FPGA) accelerator, comprising:

in response to detection of data migration from the host side to a preset memory space, generating second state information according to first state information in a first address space, and writing the second state information to a second address space, wherein the first address space and the second address space are different address spaces at the host side mapped by a Base Address Register (Bar) space, the first state information comprises a previous data frame number and a present data frame number, and the second state information comprises the present data frame number and a next data frame number; and

in response to detection of the second state information in the second address space, calling Direct Memory Access (DMA) to migrate data in the preset memory space to a memory space of the FPGA accelerator, and copying the second state information to the first address space, so as to implement synchronization.

2. The method according to claim 1 , wherein before the step of generating the second state information according to the first state information in the first address space in response to detection of data migration from the host side to the preset memory space, the method further comprises:

reading and writing the first address space at the host side mapped by the Bar space to establish a memory synchronization communication link between the host side and the FPGA accelerator.

3. The method according to claim 2 , wherein before the step of generating the second state information according to the first state information in the first address space in response to detection of data migration from the host side to the preset memory space, the method further comprises:

by the host side, reading the first state information from the first address space, determining the previous data frame number and the present data frame number according to the first state information, and judging whether a difference between the previous data frame number and the present data frame number is within a preset threshold to perform a reliability check on the memory synchronization communication link.

4. The method according to claim 3 , wherein after the step of judging whether the difference between the previous data frame number and the present data frame number is within the preset threshold to perform the reliability check on the memory synchronization communication link, the method further comprises:

continuing, by the host side, the data migration to the preset memory space till an end of a frame in response to the memory synchronization communication link not passing the reliability check within a preset time.

5. The method according to claim 4 , wherein the method further comprises:

writing, by the host side, third state information to the second address space so as to terminate synchronization.

6. The method according to claim 4 , wherein the method further comprises:

in response to the memory synchronization communication link passing the reliability check within the preset time, migrating the data to the preset memory space.

7. The method according to claim 3 , wherein before the step of calling DMA to migrate data in the preset memory space to the memory space of the FPGA accelerator, the method further comprises:

acquiring the second state information in the second address space, determining the present data frame number and the next data frame number according to the second state information, and judging whether a difference between the present data frame number and the next data frame number is within the preset threshold to perform the reliability check on the memory synchronization communication link.

8. The method according to claim 7 , wherein after the step of judging whether the difference between the present data frame number and the next data frame number is within the preset threshold to perform the reliability check on the memory synchronization communication link, the method further comprises:

writing third state information to the second address space in response to the memory synchronization communication link not passing the reliability check, so as to stop the operation of calling DMA for data migration.

9. The method according to claim 8 , wherein the method further comprises:

writing, by the host side, the third state information to the second address space so as to terminate synchronization.

10. The method according to claim 8 , wherein the method further comprises:

in response to the memory synchronization communication link passing the reliability check, calling the DMA to migrate the data in the preset memory space to the memory space of the FPGA accelerator, and copying the second state information to the first address space, so as to implement synchronization.

11. The method according to claim 7 , wherein the method further comprises:

writing, by the host side, third state information to the second address space so as to terminate synchronization.

12. The method according to claim 3 , wherein the method further comprises:

writing, by the host side, third state information to the second address space so as to terminate synchronization.

13. The method according to claim 3 , wherein the method further comprises:

reading the second state information first from the second address space, and judging whether a difference between the present data frame number and the next data frame number in the second state information is 1.

14. The method according to claim 13 , wherein the method further comprises:

in response to the difference being 1, determining that the memory synchronization communication link is reliable, calling the DMA to migrate the data in the preset memory space to the memory space of the FPGA accelerator, and copying the second state information to the first address space.

15. The method according to claim 2 , wherein the method further comprises:

writing, by the host side, third state information to the second address space so as to terminate synchronization.

16. The method according to claim 1 , wherein the method further comprises:

writing, by the host side, third state information to the second address space so as to terminate synchronization.

17. A Field Programmable Gate Array (FPGA) accelerator, comprising a Bidirectional Memory Synchronize Engine (DMSE), wherein the DMSE comprises:

a state information writing module, configured to, in response to detection of data migration from a host side to a preset memory space, generate second state information according to first state information in a first address space, and write the second state information to a second address space, wherein the first address space and the second address space are different address spaces at the host side mapped by a Base Address Register (Bar) space, the first state information comprises a previous data frame number and a present data frame number, and the second state information comprises the present data frame number and a next data frame number; and

a data migration module, configured to, in response to detection of the second state information in the second address space, call Direct Memory Access (DMA) to migrate data in the preset memory space to a memory space of the FPGA accelerator, and copy the second state information to the first address space, so as to implement synchronization.

18. The FPGA accelerator according to claim 17 , wherein the state information writing module is configured to read and write the first address space at the host side mapped by the Bar space to establish a memory synchronization communication link between the host side and the FPGA accelerator before generating the second state information according to the first state information in the first address space in response to detection of data migration from the host side to the preset memory space.

19. A data synchronization system, comprising a host side and a Field Programmable Gate Array (FPGA) accelerator, wherein the FPGA accelerator comprises a Bidirectional Memory Synchronize Engine (DMSE), wherein the DMSE comprises:

a state information writing module, configured to, in response to detection of data migration from the host side to a preset memory space, generate second state information according to first state information in a first address space, and write the second state information to a second address space, wherein the first address space and the second address space are different address spaces at the host side mapped by a Base Address Register (Bar) space, the first state information comprises a previous data frame number and a present data frame number, and the second state information comprises the present data frame number and a next data frame number; and

a data migration module, configured to, in response to detection of the second state information in the second address space, call Direct Memory Access (DMA) to migrate data in the preset memory space to a memory space of the FPGA accelerator, and copy the second state information to the first address space, so as to implement synchronization.

20. The data synchronization system according to claim 19 , wherein the state information writing module is configured to read and write the first address space at the host side mapped by the Bar space to establish a memory synchronization communication link between the host side and the FPGA accelerator before generating the second state information according to the first state information in the first address space in response to detection of data migration from the host side to the preset memory space.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2022
From: OU, MINGYANG; FAN, JIAHENG; KAN, HONGWEI
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 060853/0938 →
Priority Claims (1)
CN 202010108433.4 · Feb 21, 2020 · national
Continuity (1)
Related Publication 20230098879A1 · Mar 30, 2023