IP Library Granted Patent US 12,299,414
Granted Patent B2
US 12,299,414 · App. 18/725,085 · Granted May 13, 2025

Data processing method and apparatus, electronic device, and readable storage medium

Inventor: Zhaorong Jia (Suzhou, CN)
Assignee: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
G06F7/78
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 12,299,414
App. No.
18/725,085
Granted
May 13, 2025
Kind
B2
Abstract

The present application discloses a data processing method and apparatus, an electronic device, and a computer-readable storage medium. The method is applied to a convolution adaptor, and the convolution adaptor is arranged between external storage and an internal cache of a computing unit. The method includes: acquiring register data, where the register data is determined according to data types of target data and/or convolution types of convolution processing applied to the target data, and is used for describing reading modes of the target data; and reading the target data from the external storage according to the register data, and storing the target data in the internal cache according to a data read sequence.

Claims (67)

1. A data processing method, being applied to a convolution adaptor, the convolution adaptor being arranged between an external storage and an internal cache of a computing unit, and the data processing method comprising:

acquiring register data, wherein the register data is determined according to data types of target data and/or convolution types of convolution processing applied to the target data, and is used for describing reading modes of the target data, wherein the register data comprises jump stride data and jump cycle control data; and

reading the target data from the external storage according to the register data, and storing the target data in the internal cache according to a data read sequence;

wherein the reading the target data from the external storage comprises:

determining a target address according to a number of cycles;

executing, according to the target address and the jump stride data, a jump read operation in the external storage;

updating the number of cycles in response to a number of jumps of the jump read operation matching the jump cycle control data; and

determining, in response to the number of cycles matching the jump cycle control data, that reading of the target data is completed.

2. The data processing method according to claim 1 , wherein a plurality of sets of register data is provided, each set of register data comprises next register pointer data, a data type of the data types refers to address discrete data, and a generation process of the register data comprises:

determining a plurality of non-contiguous address intervals corresponding to the target data;

generating a plurality of different sets of the register data according to different address intervals of the plurality of non-contiguous address intervals; and

setting the next register pointer data in the register data according to a sequential relationship of the plurality of non-contiguous address intervals, such that the next register pointer data in a previous set of the register data points to an address of a next set of the register data.

3. The data processing method according to claim 1 , wherein a data type of the data types refers to a splitting type, and a generation process of the register data comprises:

determining a splitting direction of the target data according to the splitting type of the target data;

determining the jump stride data and the jump cycle control data according to the splitting direction; and

generating the register data using the jump stride data and the jump cycle control data.

4. The data processing method according to claim 1 , wherein a convolution type of the convolution types refers to a splitting convolution type, and a generation process of the register data comprises:

determining a splitting direction of the target data according to the splitting convolution type of the target data;

determining the jump stride data and the jump cycle control data according to the splitting direction; and

generating the register data using the jump stride data and the jump cycle control data.

5. The data processing method according to claim 1 , wherein a data type of the data types refers to two-dimensional (2D) data, and a generation process of the register data comprises:

setting, in response to the target data being 2D multiplier data, the jump stride data and the jump cycle control data to default values; and

setting, in response to the target data being 2D multiplicand data, the jump stride data according to a number of row vector elements of the target data, and setting the jump cycle control data according to a number of column vector elements of the target data.

6. The data processing method according to claim 1 , wherein a convolution type of the convolution types refers to a deconvolution type, and a generation process of the register data comprises:

determining a horizontal jump stride and a vertical jump stride;

determining, according to a convolution kernel, a convolution matrix using the horizontal jump stride and the vertical jump stride; and

generating the register data according to coordinate positions of each element in the convolution matrix in the convolution kernel.

7. The data processing method according to claim 1 , wherein a convolution type of the convolution types refers to a dilated convolution type, and a generation process of the register data comprises:

determining a dilated multiple;

determining the jump stride data and the jump cycle control data according to the dilated multiple; and

generating the register data using the jump stride data and the jump cycle control data.

8. The data processing method according to claim 1 , wherein a convolution type of the convolution types refers to a deformable convolution, and a generation process of the register data comprises:

determining a reference coordinate and an offset distance of a target image date of the target data; and

generating the register data using the reference coordinate and the offset distance.

9. The data processing method according to claim 1 , characterized in wherein the convolution adaptor comprises a local cache, the register data comprises cache flag data corresponding to each sub-data in the target data, and the method further comprises:

saving the sub-data to the local cache in response to the cache flag data not being in a non-cache status.

10. The data processing method according to claim 9 , further comprising:

storing the sub-data in the internal cache in response to the cache flag data being in an output status.

11. An electronic device, comprising:

a memory storing therein computer readable instructions; and

one or more processors configured to execute the computer readable instructions, wherein upon execution of the computer readable instructions, the one or more processors is configured to:

acquire register data, wherein the register data is determined according to data types of target data and/or convolution types of convolution processing applied to the target data, and is used to describe reading modes of the target data, wherein the register data comprises jump stride data and jump cycle control data; and

read the target data from an external storage according to the register data, and store the target data in an internal cache according to a data read sequence;

wherein in order to read the target data from the external storage, the one or more processors, upon execution of the computer readable instructions, is configured to:

determine a target address according to a number of cycles;

execute, according to the target address and the jump stride data, a jump read operation in the external storage;

update the number of cycles in response to a number of jumps of the jump read operation matching the jump cycle control data; and

determine, in response to the number of cycles matching the jump cycle control data, that reading of the target data is completed.

12. The electronic device according to claim 11 , further comprising a plurality of register sets, each register set of the plurality of register sets comprising a plurality of registers, and each register set of the plurality of register sets being configured to record a set of register data.

13. The electronic device according to claim 12 , further comprising a read and write controller, the read and write controller being configured to control reading and writing of the register data of the register sets or to read and write the target data.

14. The electronic device according to claim 12 , wherein a number of the register sets is two, and the two sets of the register sets are mutually ping-pong register sets.

15. The electronic device according to claim 11 , further comprising a local cache configured to store the target data or sub-data constituting the target data.

16. The electronic device according to claim 11 , further comprising an offset distance acquisition component configured to acquire an offset distance under a condition that the convolution type is deformable convolution.

17. The electronic device according to claim 11 , further comprising a triggering component configured to trigger activation of the electronic device.

18. One or more non-transitory computer-readable storage media storing therein computer-readable instructions, wherein the computer-readable instructions, upon execution by one or more processors, are configured to cause the one or more processors to:

acquire register data, wherein the register data is determined according to data types of target data and/or convolution types of convolution processing applied to the target data, and is used to describe reading modes of the target data, wherein the register data comprises jump stride data and jump cycle control data; and

read the target data from an external storage according to the register data, and store the target data in an internal cache according to a data read sequence;

wherein in order to cause the one or more processors to read the target data from the external storage, the computer-readable instructions are configured to cause the one or more processors to:

determine a target address according to a number of cycles;

execute, according to the target address and the jump stride data, a jump read operation in the external storage;

update the number of cycles in response to a number of jumps of the jump read operation matching the jump cycle control data; and

determine, in response to the number of cycles matching the jump cycle control data, that reading of the target data is completed.

19. The electronic device according to claim 12 , wherein in a progress of first register data in a first register set being applied to data transfer, a second register set is configured to be loaded with second register data.

20. The electronic device according to claim 11 , wherein upon execution of a generation process of the register data by the one or more processors, the one or more processors is further configured to:

determine a plurality of non-contiguous address intervals corresponding to the target data;

generate a plurality of different sets of the register data according to different address intervals of the plurality of non-contiguous address intervals; and

set a next register pointer data in the register data according to a sequential relationship of the plurality of non-contiguous address intervals, such that the next register pointer data in a previous set of the register data points to an address of a next set of the register data.

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 Jul 23, 2024
From: JIA, ZHAORONG
To: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 068505/0960 →
Priority Claims (1)
CN 202210381420.3 · Apr 13, 2022 · national
Continuity (1)
Related Publication 20240419405A1 · Dec 19, 2024
References Cited (26)
US 20100106944A1 · Symes · 2010 [cited by examiner]
US 20190026078A1 · Bannon · 2019 [cited by examiner]
US 20200089506A1 · Power · 2020 [cited by examiner]
US 20200265106A1 · Hargil et al. · 2020 [cited by applicant]
US 20210173787A1 · Nagy · 2021 [cited by examiner]
US 20210224125A1 · Liu · 2021 [cited by examiner]
US 20210241079A1 · Mills · 2021 [cited by examiner]
US 20210390379A1 · Sun · 2021 [cited by examiner]
US 20230229588A1 · Aggarwal · 2023 [cited by examiner]
CN 107209871A · 2017 [cited by applicant]
CN 108629411A · 2018 [cited by applicant]
CN 109740746A · 2019 [cited by applicant]
CN 110046704A · 2019 [cited by applicant]
CN 110197233A · 2019 [cited by applicant]
CN 111008040A · 2020 [cited by applicant]
CN 111258646A · 2020 [cited by applicant]
CN 111465924A · 2020 [cited by applicant]
CN 114254744A · 2022 [cited by applicant]
CN 114461978A · 2022 [cited by applicant]
Shuo, Zhang “Research on Parallel Computing Architecture of Multiple CNN Models on FPGA” <<China Doctor/Master Dissertations Full-text Database(Doctor)-Information Technology Album>> vol. 1 Jun. 2021, Jun. 15, 2021, Bei… [cited by applicant]
International Search Report and Written Opinion of International Searching Authority of corresponding PCT application (PCT/CN202/119682) Dec. 16, 2022 including English translation (12 pages). [cited by applicant]
Search report of corresponding CN priority application (CN202210381420.3) May 12, 2022 (1 page). [cited by applicant]
First Office Action of corresponding CN priority application (CN202210381420.3) May 18, 2022 including English translation (10 pages). [cited by applicant]
Supplementary search report of corresponding CN priority application (CN202210381420.3) Jun. 7, 2022 (2 pages). [cited by applicant]
Notification to Grant Patent Right for Invention of corresponding CN priority application (CN202210381420.3) Jun. 7, 2022 including English translation (3 pagess). [cited by applicant]
Zhaodong Chen et al, fuseGNN:Accelerating Graph Convolutional Neural Network Training on GPGPU, 2020, IEEE/ACM International Conference on Aided Computer Design(ICCAD), Nov. 25, 2020, Full text (9 pages). [cited by applicant]