Data migration method and device, chip, equipment, storage medium and program product

By specifying the fixed amount of data for each subdata in the read request and write request of the AXI bus, the bandwidth occupation problem caused by excessive subdata in the AXI bus is solved, and the data transfer efficiency is improved.

CN119902697APending Publication Date: 2025-04-29SHENZHEN JAGUAR MICROSYSTEMS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311418176.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-27
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

Because the sub-data sizes of the target transfer data in the AXI bus are randomly divided into, the number of sub-data is too large and the bandwidth is occupied, resulting in poor transmission performance and reducing data transfer efficiency.

Method used

By including control information in the read request and the write request, the data amount of each sub-data is indicated as a set data amount, ensuring that the amount of sub-data data transmitted each time is a fixed value, thereby fixed the number of transmission times and data amount.

Benefits of technology

It avoids the problem of excessive bandwidth occupancy of sub-data, improves data transfer efficiency, and reduces performance waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902697A_ABST
    Figure CN119902697A_ABST
Patent Text Reader

Abstract

The invention relates to a data migration method and device, equipment, a storage medium and a program product. The method comprises the steps that a read request is sent to a first slave device, the read request is used for requesting to read target migrated data from a source address of the first slave device, the read request comprises first control information and second control information, the first control information is used for indicating the transmission frequency of the target migrated data in the reading process, and the second control information is used for indicating the transmission frequency of the target migrated data in the reading process; the second control information is used for indicating that the data volume of each piece of first sub-data is the set data volume, and the first sub-data is the sub-data of the target migration data transmitted each time in the reading process; receiving at least one piece of first sub-data transmitted by the first slave device; and according to the at least one piece of first sub-data, generating target moving data. By adopting the method, the data migration efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of chip technology, and in particular to a data migration method, device, chip, equipment, storage medium and program product. Background Art

[0002] Chips based on the Advanced RISC Machine (ARM) architecture typically use the Advanced eXtensible Interface (AXI) bus to write data read from one address to another address.

[0003] In the related art, the target moved data corresponding to the read request or write request using the AXI bus can be split into at least one sub-data, and each sub-data can be transmitted once respectively, thereby completing the data movement of the read request or write request.

[0004] However, in the related art, the sizes of sub-data into which the target data to be moved are split are random, resulting in an excessive number of sub-data after the split, occupying too much bandwidth and causing poor transmission performance, thereby reducing data moving efficiency. Summary of the invention

[0005] Based on this, it is necessary to provide a data migration method, device, equipment, storage medium and program product that can improve data migration efficiency in response to the above technical problems.

[0006] In a first aspect, the present application provides a data migration method. Applied to a master device, the method comprises:

[0007] Sending a read request to the first slave device, the read request being used to request reading the target moving data from the source address of the first slave device, the read request including first control information and second control information, the first control information being used to indicate the number of transmissions of the target moving data during the reading process, the second control information being used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process;

[0008] receiving at least one first sub-data transmitted by the first slave device;

[0009] The target migration data is generated according to the at least one first sub-data.

[0010] In one embodiment, generating the target migration data according to the at least one first sub-data includes:

[0011] If the source address is an unaligned address, invalid bytes in the at least one first sub-data are trimmed according to information of the source address and the data amount of the target moved data to generate the target moved data.

[0012] In one embodiment, the step of trimming invalid bytes in the at least one first sub-data according to the information of the source address and the amount of the target data to be moved to generate the target data to be moved includes:

[0013] If the number of transmissions indicated by the first control information is one, then according to the information of the source address and the amount of the target moved data, the invalid bytes in the first sub-data of a single transmission are trimmed;

[0014] The trimmed first sub-data of a single transmission is determined as the target moved data.

[0015] In one embodiment, the step of trimming invalid bytes in the at least one first sub-data according to the information of the source address and the amount of the target data to be moved to generate the target data to be moved includes:

[0016] If the number of transmissions indicated by the first control information is greater than one, concatenating the at least one first sub-data to obtain data to be processed;

[0017] According to the information of the source address and the data amount of the target moved data, trimming invalid bytes in the data to be processed;

[0018] The target moving data is generated by moving forward the effective part of the clipped data to be processed.

[0019] In one embodiment, generating the target migration data according to the at least one first sub-data includes:

[0020] If the source address is an aligned address, the at least one first sub-data is spliced ​​into the target transfer data.

[0021] In one of the embodiments, before sending the read request to the first slave device, the method further includes:

[0022] Acquire an AXI task to be executed, wherein the AXI task is used to instruct the master device to move the target moved data from the source address of the first slave device to the destination address of the second slave device, and the AXI task contains information of the source address, information of the destination address, and the data volume of the target moved data;

[0023] The information of the source address, the information of the destination address and the data amount of the target moved data are stored in the target register.

[0024] In a second aspect, the present application provides a data migration method. Applied to a master device, the method comprises:

[0025] Generate at least one second sub-data corresponding to the target moving data according to the information of the destination address, wherein the second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data;

[0026] Determine third control information and fourth control information of the target moving data according to the at least one second sub-data, wherein the third control information is used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information is used to indicate valid bytes in the second sub-data of each transmission;

[0027] Sending a write request to a second slave device corresponding to the destination address, wherein the write request is used to request writing the target migration data at the destination address, and the write request includes the third control information, the fourth control information, and the fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount;

[0028] At least one second sub-data is sent to the second slave device according to the third control information, the fourth control information and the fifth control information to transmit the target migration data.

[0029] In one embodiment, generating at least one second sub-data corresponding to the target migration data according to the destination address information includes:

[0030] If the destination address is an aligned address, the target transfer data is divided into at least one second sub-data according to the set data amount.

[0031] In one embodiment, generating at least one second sub-data corresponding to the target migration data according to the destination address information includes:

[0032] If the destination address is an unaligned address, shifting the target move data by adding invalid bytes to the target move data;

[0033] The shifted target moved data is divided into at least one second sub-data according to the set data amount.

[0034] In a third aspect, the present application provides a data migration method. Applied to a first slave device, the method comprises:

[0035] receiving a read request sent by a master device, the read request being used to request reading target moving data from a source address of the first slave device, the read request including first control information and second control information, the first control information being used to indicate the number of transmissions of the target moving data during a reading process, the second control information being used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during a reading process;

[0036] At least one first sub-data is sent to the master device according to the first control information and the second control information to transmit the target migration data.

[0037] In a fourth aspect, the present application provides a data migration method. Applied to a second slave device, the method comprises:

[0038] receiving a write request sent by a master device, the write request being used to request writing target moving data at a destination address, the write request comprising third control information, fourth control information and fifth control information, the third control information being used to indicate the number of transmissions of the target moving data during a writing process, the fourth control information being used to indicate valid bytes in each transmission of the second sub-data, and the fifth control information being used to indicate that the data amount of each second sub-data is a set data amount;

[0039] receiving at least one second sub-data transmitted by the master device;

[0040] The target migration data is written into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

[0041] In a fifth aspect, the present application provides a data migration device, the device comprising:

[0042] A first sending module is used to send a read request to a first slave device, wherein the read request is used to request to read the target moving data from the source address of the first slave device, and the read request includes first control information and second control information, wherein the first control information is used to indicate the number of transmissions of the target moving data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process;

[0043] A first receiving module, configured to receive at least one first sub-data transmitted by the first slave device;

[0044] The first processing module is used to generate the target migration data according to the at least one first sub-data.

[0045] In one of the embodiments, the first processing module is specifically used to trim invalid bytes in the at least one first sub-data to generate the target moved data according to information of the source address and the data amount of the target moved data if the source address is an unaligned address.

[0046] In one of the embodiments, the first processing module is specifically used to trim invalid bytes in the first sub-data of a single transmission based on the information of the source address and the data volume of the target moved data if the number of transmissions indicated by the first control information is one; and determine the trimmed first sub-data of a single transmission as the target moved data.

[0047] In one of the embodiments, the first processing module is specifically used to splice the at least one first sub-data to obtain data to be processed if the number of transmissions indicated by the first control information is greater than one; trim invalid bytes in the data to be processed according to the information of the source address and the data volume of the target moved data; and generate the target moved data by moving the valid part of the trimmed data to be processed forward.

[0048] In one of the embodiments, the first processing module is specifically configured to, if the source address is an aligned address, splice the at least one first sub-data into the target moved data.

[0049] In one of the embodiments, the first processing module is also used to obtain an advanced extensible interface AXI task to be executed, and the AXI task is used to instruct the master device to move the target data from the source address of the first slave device to the destination address of the second slave device. The AXI task includes information about the source address, information about the destination address, and the amount of data of the target data to be moved; the information about the source address, information about the destination address, and the amount of data of the target data to be moved are stored in a target register.

[0050] In a sixth aspect, the present application provides a data migration device, the device comprising:

[0051] A second processing module is configured to generate at least one second sub-data corresponding to the target moving data according to the information of the destination address, wherein the second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data; and to determine third control information and fourth control information of the target moving data according to the at least one second sub-data, wherein the third control information is used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information is used to indicate valid bytes in the second sub-data transmitted each time;

[0052] A second sending module is used to send a write request to a second slave device corresponding to the destination address, wherein the write request is used to request to write the target moved data at the destination address, and the write request includes the third control information, the fourth control information and the fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount; according to the third control information, the fourth control information and the fifth control information, at least one second sub-data is sent to the second slave device to transmit the target moved data.

[0053] In one of the embodiments, the second processing module is specifically configured to divide the target transfer data into at least one second sub-data according to the set data amount if the destination address is an aligned address.

[0054] In one of the embodiments, the second processing module is specifically used to shift the target moved data by adding invalid bytes to the target moved data if the destination address is an unaligned address; and divide the shifted target moved data into at least one second sub-data according to the set data amount.

[0055] In a seventh aspect, the present application provides a data migration device, the device comprising:

[0056] a second receiving module, configured to receive a read request sent by the master device, wherein the read request is used to request to read the target moving data from the source address of the first slave device, wherein the read request includes first control information and second control information, wherein the first control information is used to indicate the number of transmissions of the target moving data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process;

[0057] The third sending module is used to send at least one first sub-data to the main device according to the first control information and the second control information to transmit the target migration data.

[0058] In an eighth aspect, the present application provides a data migration device, the device comprising:

[0059] a third receiving module, configured to receive a write request sent by the master device, the write request being used to request writing the target moving data at the destination address, the write request comprising third control information, fourth control information and fifth control information, the third control information being used to indicate the number of transmissions of the target moving data during the writing process, the fourth control information being used to indicate the valid bytes in each transmission of the second sub-data, and the fifth control information being used to indicate that the data amount of each second sub-data is the set data amount; and receiving at least one second sub-data transmitted by the master device;

[0060] The third processing module is used to write the target migration data into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

[0061] In a ninth aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the data migration method described in any one of the first to fourth aspects is implemented.

[0062] In a tenth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the data migration method described in any one of the first to fourth aspects is implemented.

[0063] In an eleventh aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the data migration method described in any one of the first to fourth aspects is implemented.

[0064] In the twelfth aspect, the present application also provides a data processor chip, which includes a processor and a memory, and the memory stores a computer program, and is characterized in that when the processor executes the computer program, it implements the data migration method described in any one of the first to fourth aspects.

[0065] In the above-mentioned data migration method, apparatus, device, storage medium and program product, the master device first sends a read request to the first slave device, the read request is used to request to read the target migration data from the source address of the first slave device, and the read request includes first control information and second control information. The first control information is used to indicate the number of transmissions of the target migration data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target migration data transmitted each time during the reading process. Subsequently, the master device receives at least one first sub-data transmitted by the first slave device. Finally, the master device generates the target migration data according to the at least one first sub-data. Through the second control information, the data amount of each first sub-data is the set data amount, and then the data amount of the first sub-data transmitted each time during the target migration data transmission process is a fixed value to complete the reading of the target migration data. In this way, it is possible to avoid excessive first sub-data occupying a large amount of bandwidth, avoid performance waste, and thus improve data migration efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1An application environment diagram of a data migration method provided in an embodiment of the present application;

[0067] Figure 2 A signaling interaction diagram of a data migration method provided in an embodiment of the present application;

[0068] Figure 3 A schematic diagram of data migration provided in an embodiment of the present application;

[0069] Figure 4 A schematic diagram of another data migration provided in an embodiment of the present application;

[0070] Figure 5 A schematic diagram of another data migration provided in an embodiment of the present application;

[0071] Figure 6 A signaling interaction diagram of another data migration method provided in an embodiment of the present application;

[0072] Figure 7 A signaling interaction diagram of another data migration method provided in an embodiment of the present application;

[0073] Figure 8 A structural block diagram of a data migration device provided in an embodiment of the present application;

[0074] Fig. 9 A structural block diagram of another data migration device provided in an embodiment of the present application;

[0075] Fig.10 A structural block diagram of another data migration device provided in an embodiment of the present application;

[0076] Fig.11 A structural block diagram of another data migration device provided in an embodiment of the present application;

[0077] Fig.12 An internal structure diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0078] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0079] First, the related technology will be described below.

[0080] In the related art, the target moved data corresponding to the read request or write request using the AXI bus can be split into at least one sub-data, and each sub-data can be transmitted once respectively, thereby completing the data movement of the read request or write request.

[0081] Exemplarily, for a read / write request with a target data transfer of 5 bytes, it can be split into 2-byte sub-data and 4-byte sub-data, and two data transfers are performed for each to complete the read / write request. Exemplarily, for a read / write request with a target data transfer of 63 bytes, it can be split into 1-byte sub-data, 2-byte sub-data, 4-byte sub-data, 8-byte sub-data, 16-byte sub-data, and 32-byte sub-data, and six data transfers are performed for each to complete the read / write request.

[0082] The sub-data split from the target migration data may be a power of 2.

[0083] However, in the related art, the sizes of sub-data into which the moved data are split are random, resulting in an excessive number of sub-data after the split, occupying too much bandwidth and causing poor transmission performance, thereby reducing the data moving efficiency.

[0084] To solve the above problems, an embodiment of the present application provides a data migration method, which avoids excessive sub-data and occupying a large amount of bandwidth by fixing the data size of each sub-data of the target migration data corresponding to the read request or write request. For invalid bytes caused by fixing the data size of each sub-data, in the read request, after reading back the data, the invalid bytes are automatically trimmed, and in the write request, the valid bytes can be marked. In this way, performance waste can be avoided, thereby improving data migration efficiency.

[0085] The data migration method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the master device 101 communicates with the first slave device 102 and the second slave device 103 via an AXI bus.

[0086] In the process of reading the target moving data, the master device 101 may first send a read request to the first slave device 102, the read request is used to request to read the target moving data from the source address of the first slave device 102, the read request includes first control information and second control information, the first control information is used to indicate the number of transmissions of the target moving data in the reading process, the second control information is used to indicate that the data volume of each first sub-data is the set data volume, and the first sub-data is the sub-data of the target moving data transmitted each time in the reading process. Then the master device 101 receives at least one first sub-data transmitted by the first slave device 102. Finally, the master device 101 generates the target moving data according to the at least one first sub-data.

[0087] In the process of writing the target moving data, the master device 101 first generates at least one second sub-data corresponding to the target moving data according to the information of the destination address. The second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data. Secondly, the master device 101 determines the third control information and the fourth control information of the target moving data according to the at least one second sub-data. The third control information is used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information is used to indicate the valid bytes in the second sub-data transmitted each time. Finally, the master device 101 sends a write request to the second slave device 103 corresponding to the destination address. The write request is used to request to write the target moving data at the destination address. The write request contains the third control information, the fourth control information and the fifth control information. The fifth control information is used to indicate that the data amount of each second sub-data is the set data amount. Finally, the master device 101 sends at least one second sub-data to the second slave device 103 according to the third control information, the fourth control information and the fifth control information to transmit the target moving data.

[0088] The master device 101 may be a processor device, such as a central processing unit (CPU), a data processing unit (DPU), etc., and the first slave device 102 and the second slave device 103 may be storage devices, etc.

[0089] It should be noted that the first slave device and the second slave device involved in the embodiment of the present application can be the same device or different devices, and the embodiment of the present application does not limit this.

[0090] In one embodiment, Figure 2 As shown, a signaling interaction diagram of a data migration method is provided, such as Figure 2 As shown, the data migration method includes S201-S203:

[0091] S201. The master device sends a read request to the first slave device.

[0092] The read request is used to request to read the target transfer data from the source address of the first slave device.

[0093] The embodiments of the present application do not limit how the master device sends a read request to the first slave device. In some embodiments, the master device can send a read request to the first slave device in the address channel via the AXI bus, so that the master device reads the target transfer data at the source address of the first slave device.

[0094] It should be understood that any valid data transmitted through the AXI bus can be used as an AXI burst transmission (Burst), and each burst transmission can include multiple data transmissions, and each data transmission can be used to transmit a first sub-data split from the target moving data. The first sub-data is the sub-data of the target moving data transmitted each time during the reading process. Accordingly, different transmission times and data volumes of each first sub-data can be set for different read requests.

[0095] Among them, the read request includes first control information and second control information. The first control information is used to indicate the number of times the target moved data is transmitted during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is the set data amount, and the first sub-data is the sub-data of the target moved data transmitted each time during the reading process.

[0096] Exemplarily, the first control information may be a burst length (arlen) field of a read request in an address channel. The bit width of the arlen field may be 8 bits, and the value of the arlen field may indicate different transmission times. For example, arlen=0 indicates that the transmission time is 1, arlen=1 indicates that the transmission time is 2, and so on.

[0097] It should be understood that the data transmission on the AXI bus is performed in the form of data packets, and each first sub-data corresponds to a data packet. Accordingly, the first control information can be considered as indicating the number of data packets into which the target transfer data is split.

[0098] Exemplarily, the second control signal may be a burst size (arsize) field of a read request in an address channel, wherein the arsize field has a bit width of 3 bits, and the value of the arsize field can only be a power of 2.

[0099] In the present application, the second control information is used to indicate that the data amount of each first sub-data is the set data amount, that is, the set data amount indicated by the second control information corresponding to each first sub-data is the same. It should be understood that the above-mentioned set data amount can be specifically set according to actual conditions, and the embodiment of the present application does not limit this, for example, 64Byte, 32Byte, 16Byte, etc.

[0100] In some embodiments, the read request may further include source address information, which may be address aligned or address unaligned, and this embodiment of the present application does not limit this.

[0101] It should be understood that the above-mentioned address alignment is a rule for storing data in a memory. In the AXI protocol, if the data is stored according to an address that is divisible by 4, it can be considered as address alignment, and if the data is stored according to an address that is not divisible by 4, it can be considered as address misalignment.

[0102] In some embodiments, the first control information may be determined based on whether the address is aligned, the set data amount, and the data amount of the target moved data.

[0103] For example, the target transfer data size is 256 Bytes, and the set data size is 64 Bytes. Figure 3 and Figure 4 As shown, if the source address is 0, at this time, the source address is aligned, and the number of transmissions can be determined to be 4 times by the ratio of the target transfer data volume to the set data volume. Correspondingly, the first control information axlen is 3. Figure 5 As shown, if the source address is 1025, the source address is not aligned. Due to the address misalignment, it is necessary to read the invalid bytes at address 1024. Since the data volume of the first sub-data is set to 64Byte, it is necessary to read the 63 Byte invalid bytes starting from address 1280. Therefore, it can be determined that the number of transmissions is 4 times based on the ratio of the data volume of the target moved data to the set data volume. An additional data transmission is required, and then the number of transmissions is determined to be 5 times. Correspondingly, the first control information axlen is 4.

[0104] S202: The first slave device sends at least one first sub-data to the master device according to the first control information and the second control information.

[0105] In this step, after the first slave device receives the read request sent by the master device, it can send at least one first sub-data to the master device according to the first control information and the second control information.

[0106] It should be understood that the embodiments of the present application do not limit how the first slave device sends at least one first sub-data to the master device. In some embodiments, the first slave device can send at least one first sub-data to the master device beat by beat through the read data channel of the AXI bus based on the number of transmissions indicated by the first control information and the set data amount of each first sub-data indicated by the second indication information.

[0107] It should be understood that one data transmission may be one beat.

[0108] In some embodiments, after receiving at least one first sub-data, the master device may store it in an internal data storage register (buffer) beat by beat until all the target transfer data are received.

[0109] S203: The master device generates target migration data according to at least one first sub-data.

[0110] It should be understood that in the present application, different methods can be used to generate target transfer data depending on whether the source address is an aligned address.

[0111] In some embodiments, if the source address is an aligned address, the master device may directly splice at least one first sub-data into the target transfer data.

[0112] In other embodiments, if the source address is an unaligned address, the master device may trim invalid bytes in at least one first sub-data according to information of the source address and the data volume of the target moved data to generate the target moved data.

[0113] It should be understood that the embodiments of the present application do not limit how to trim invalid bytes in at least one first sub-data to generate target move data based on source address information and the data volume of the target move data.

[0114] In some embodiments, if the number of transmissions indicated by the first control information is one, the master device trims invalid bytes in the first sub-data of a single transmission based on the source address information and the amount of data of the target moved data, and then determines the trimmed first sub-data of a single transmission as the target moved data.

[0115] In some other embodiments, if the number of transmissions indicated by the first control information is greater than one, the master device first concatenates at least one first sub-data to obtain the data to be processed. Subsequently, the master device trims invalid bytes in the data to be processed according to the information of the source address and the amount of the target moved data. Finally, the target moved data is generated by moving the valid part of the trimmed data to be processed forward.

[0116] It should be understood that the information of the source address can be used to trim the invalid bytes in the first sub-data. If the source address is address-aligned, there is no need to trim the invalid bytes in the first sub-data. If the source address is address-unaligned, the invalid bytes in the first sub-data are trimmed based on the unaligned position of the source address.

[0117] Exemplarily, if the source address is 1025, which is a source address misalignment, then the invalid byte at the additional read address 1024 in the first sub-data can be determined, and accordingly, the invalid byte at the address 1024 in the first sub-data can be trimmed.

[0118] In some embodiments, the data size of the target moved data can be used to trim invalid bytes in the last first sub-data.

[0119] For example, when the target data size is 256 bytes and the data size is set to 64 bytes, if the source address is 1025, the source address is not aligned. Due to the address misalignment, the 63-byte invalid bytes starting at address 1280 are read in the last first sub-data, and accordingly, the 63-byte invalid bytes starting at address 1280 in the last first sub-data can be trimmed.

[0120] It should be understood that the splicing of the first sub-data mentioned above can be performed according to the reading order of the first sub-data, and the embodiment of the present application does not limit this.

[0121] It should be understood that the above-mentioned method of generating target moving data by moving the effective part of the cropped data to be processed forward can be to move the effective part of the next (next beat) first sub-data to the previous (previous beat) first sub-data, which can also be called bubbling.

[0122] In some embodiments, before moving forward the valid portion of the cropped data to be processed, it is also possible to first determine whether the source address is aligned. If the address is aligned, there is no need to move the valid portion forward. If the address is not aligned, the valid portion can be moved forward.

[0123] It should be understood that the embodiments of the present application do not limit how to obtain the source address information and the data volume of the target moved data. In some embodiments, the master device can obtain an AXI task, which is used to instruct the master device to move the target moved data from the source address of the first slave device to the destination address of the second slave device. The AXI task contains the source address information, the destination address information, and the data volume of the target moved data. Subsequently, the master device can store the source address information, the destination address information, and the data volume of the target moved data in the target register.

[0124] It should be understood that the embodiment of the present application does not limit the above-mentioned target register, for example, it can be an information storage register (buffer). Accordingly, after receiving at least one first sub-data, the master device can obtain the information of the destination address and the data amount of the target transfer data from the information storage register, obtain at least one first sub-data from the data storage register, and then start trimming invalid bytes to obtain the target transfer data.

[0125] In the present application, when the source address is a random value, invalid bytes in at least one first sub-data are trimmed according to the source address information and the data amount of the target moved data to generate the target moved data, thereby ensuring that the data movement will not be affected by address misalignment and cause performance degradation.

[0126] In the data migration method provided by the embodiment of the present application, the master device first sends a read request to the first slave device, the read request is used to request to read the target migration data from the source address of the first slave device, and the read request includes the first control information and the second control information, the first control information is used to indicate the number of transmissions of the target migration data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is the set data amount, and the first sub-data is the sub-data of the target migration data transmitted each time during the reading process. Subsequently, the master device receives at least one first sub-data transmitted by the first slave device. Finally, the master device cuts the invalid bytes in at least one first sub-data according to the information of the source address and the data amount of the target migration data to generate the target migration data. Through the second control information, the data amount of each first sub-data is the set data amount, and then the data amount of the first sub-data transmitted each time during the target migration data transmission process is a fixed value. After completing the data reading, if the source address is an unaligned address, the invalid bytes read due to the fixed data amount of the first sub-data are cut to complete the reading of the target migration data. This approach can prevent excessive first sub-data from occupying a large amount of bandwidth, avoid performance waste, and thus improve data migration efficiency.

[0127] In one embodiment, Figure 6 As shown in FIG. , a signaling interaction diagram of another data migration method is provided, such as Figure 3 As shown, the data migration method includes S301-S305:

[0128] S301. The master device generates at least one second sub-data corresponding to the target moved data according to the information of the destination address, the second sub-data is the sub-data of the target moved data transmitted each time during the writing process, and the destination address is the writing address of the target moved data.

[0129] It should be understood that the embodiments of the present application do not limit how to generate at least one second sub-data corresponding to the target moved data based on the information of the destination address. In some embodiments, if the destination address is an aligned address, the target moved data is divided into at least one second sub-data according to the set data amount.

[0130] For example, the target transfer data size is 256 Bytes, and the set data size is 64 Bytes. Figure 3 and Figure 5 As shown, if the destination address is 0 or 1024, at this time, the destination address is aligned, and the number of transmissions can be determined to be 4 times by the ratio of the data volume of the target moved data to the set data volume. Accordingly, the target moved data is split into 4 second sub-data according to each 64Byte.

[0131] In other embodiments, if the destination address is an unaligned address, the target moved data is shifted by adding invalid bytes to the target moved data, and then the shifted target moved data is divided into at least one second sub-data according to a set data amount.

[0132] For example, the target transfer data size is 256 Bytes, and the set data size is 64 Bytes. Figure 2 As shown in the figure, if the destination address is 1025, at this time, the destination address is aligned, then an invalid byte can be added at address 1024 to shift the target moving data. Since an invalid byte is added at address 1024, the total 257 bytes, and the set data size of each second sub-data is 64Bytes, it is necessary to add another 63 Bytes of invalid bytes starting from address 1280. Finally, 5 second sub-data are generated.

[0133] S302. The master device determines third control information and fourth control information of the target moved data according to at least one second sub-data, wherein the third control information is used to indicate the number of transmissions of the target moved data during the writing process, and the fourth control information is used to indicate the valid bytes in the second sub-data each time it is transmitted.

[0134] Exemplarily, the third control information may be a burst length (awlen) field of a write request in an address channel. The bit width of the awlen field may be 8 bits, and the value of the awlen field may indicate different transmission times. For example, awlen=0 indicates that the transmission time is 1, awlen=1 indicates that the transmission time is 2, and so on.

[0135] It should be understood that the third control information can be determined according to the number of the second sub-data. If the second sub-data is four, the number of transmissions indicated by the third control information is 4, and awlen=3. If the second sub-data is five, the number of transmissions indicated by the third control information is 5, and awlen=4.

[0136] Exemplarily, the fourth control information may be a byte select (wstrb) field of a write request in the address channel. Every 8 bits in the data corresponds to 1 bit of the wstrb field. The unit of a valid byte is 8 bits, that is, the wstrb field of a bus with a 32-bit data width will have 4 bits, such as wstrb [3] indicates the validity of wstrb [31:24].

[0137] It should be understood that the third control information can be determined according to the position of the invalid bytes added to the second sub-data. Figure 5As shown, the wstrb field corresponding to the first second sub-data may indicate that 63 bytes starting from address 1025 are valid, and the wstrb field corresponding to the last second sub-data may indicate that 1 Byte starting from address 1080 is valid.

[0138] S303: The master device sends a write request to the second slave device corresponding to the destination address.

[0139] The write request is used to request writing the target moved data at the destination address, and the write request includes third control information, fourth control information and fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount.

[0140] Exemplarily, the fifth control signal may be a burst size (awsize) field of a write request in an address channel, wherein the awsize field has a bit width of 3 bits, and the value of the awsize field can only be a power of 2.

[0141] In the present application, the fifth control information, similar to the second control information, is used to indicate that the data amount of each second sub-data is the set data amount, that is, the set data amount indicated by the fifth control information corresponding to each second sub-data is the same. It should be understood that the above-mentioned set data amount can be specifically set according to actual conditions, and the embodiment of the present application does not limit this, for example, 64 Byte, 32 Byte, 16 Byte, etc.

[0142] S304: The master device sends at least one second sub-data to the second slave device according to the third control information, the fourth control information and the fifth control information to transmit the target migration data.

[0143] It should be understood that the embodiments of the present application do not limit how the master device sends at least one second sub-data to the second slave device. In some embodiments, the master device can send at least one second sub-data to the second slave device beat by beat through the write data channel of the AXI bus based on the number of transmissions indicated by the third control information and the valid bytes of each second sub-data indicated by the fourth indication information, and the set data amount of the second sub-data indicated by the fifth indication information.

[0144] It should be understood that one data transmission may be one beat.

[0145] S305: The second slave device writes the target migration data into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

[0146] In the present application, after receiving at least one second sub-data based on the third control information and the fifth control information, the second slave device can remove invalid bytes in at least one second sub-data based on the fourth control information to obtain target relocation data, and then write the target relocation data to the destination address.

[0147] The data migration method provided in the embodiment of the present application first generates at least one second sub-data corresponding to the target migration data according to the information of the destination address, the second sub-data is the sub-data of the target migration data transmitted each time during the writing process, and the destination address is the writing address of the target migration data. Secondly, according to at least one second sub-data, the third control information and the fourth control information of the target migration data are determined, the third control information is used to indicate the number of transmissions of the target migration data during the writing process, and the fourth control information is used to indicate the valid bytes in the second sub-data transmitted each time. Thirdly, a write request is sent to the second slave device corresponding to the destination address, the write request is used to request to write the target migration data at the destination address, the write request contains the third control information, the fourth control information and the fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount. Finally, according to the third control information, the fourth control information and the fifth control information, at least one second sub-data is sent to the second slave device to transmit the target migration data. Through the fifth control information, the data amount of each second sub-data is the set data amount, and then the data amount of the second sub-data transmitted each time during the target migration data transmission process is a fixed value. Furthermore, the valid data in the second sub-data can be marked by the fourth control information to complete the reading of the target data to be moved. In this way, it is possible to avoid excessive second sub-data occupying a large amount of bandwidth, avoid performance waste, and thus improve data moving efficiency.

[0148] In one embodiment, Figure 7 As shown, a signaling interaction diagram of another data migration method is provided, such as Figure 4 As shown, the data migration method includes S401-S408:

[0149] S401. The master device sends a read request to the first slave device.

[0150] Among them, the read request is used to request to read the target moved data from the source address of the first slave device, and the read request includes first control information and second control information. The first control information is used to indicate the number of transmissions of the target moved data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is the set data amount, and the first sub-data is the sub-data of the target moved data transmitted each time during the reading process.

[0151] S402: The first slave device sends at least one first sub-data to the master device according to the first control information and the second control information.

[0152] S403: The master device generates target migration data according to at least one first sub-data.

[0153] S404: The master device generates at least one second sub-data corresponding to the target migration data according to the destination address information.

[0154] The second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data.

[0155] S405: The master device determines third control information and fourth control information of the target data to be moved according to at least one second sub-data.

[0156] The third control information is used to indicate the number of transmissions of the target moved data during the writing process, and the fourth control information is used to indicate the valid bytes in the second sub-data of each transmission.

[0157] S406: The master device sends a write request to the second slave device corresponding to the destination address.

[0158] The write request is used to request to write the target moved data at the destination address, and the write request includes third control information, fourth control information and fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount;

[0159] S407: The master device sends at least one second sub-data to the second slave device according to the third control information, the fourth control information and the fifth control information to transmit the target migration data.

[0160] S408: The second slave device writes the target migration data into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

[0161] The data migration method provided in the embodiment of the present application avoids excessive sub-data and occupying a large amount of bandwidth by fixing the data size of each sub-data of the target migration data corresponding to the read request or write request. For invalid bytes caused by fixing the data size of each sub-data, in the read request, after reading back the data, the invalid bytes are automatically trimmed, and in the write request, the valid bytes can be marked. In this way, performance waste can be avoided, thereby improving data migration efficiency.

[0162] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0163] Based on the same inventive concept, the embodiment of the present application also provides a data migration device for implementing the data migration method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data migration device embodiments provided below can refer to the limitations of the data migration method above, and will not be repeated here.

[0164] In one embodiment, Figure 8 As shown, a data migration device 500 is provided, comprising: a first sending module 501, a first receiving module 502 and a first processing module 503, wherein:

[0165] The first sending module 501 is used to send a read request to the first slave device, the read request is used to request to read the target moved data from the source address of the first slave device, the read request includes first control information and second control information, the first control information is used to indicate the number of transmissions of the target moved data during the reading process, the second control information is used to indicate that the data amount of each first sub-data is the set data amount, and the first sub-data is the sub-data of the target moved data transmitted each time during the reading process.

[0166] The first receiving module 502 is configured to receive at least one first sub-data transmitted by a first slave device.

[0167] The first processing module 503 is used to generate target migration data according to at least one first sub-data.

[0168] In one embodiment, the first processing module 503 is specifically configured to trim invalid bytes in at least one first sub-data to generate target move data according to information of the source address and the amount of target move data if the source address is an unaligned address.

[0169] In one of the embodiments, the first processing module 503 is specifically used to trim invalid bytes in the first sub-data of a single transmission according to the source address information and the data volume of the target moved data if the number of transmissions indicated by the first control information is one; and determine the trimmed first sub-data of a single transmission as the target moved data.

[0170] In one of the embodiments, the first processing module 503 is specifically used to splice at least one first sub-data to obtain data to be processed if the number of transmissions indicated by the first control information is greater than one; trim invalid bytes in the data to be processed according to the information of the source address and the data volume of the target moved data; and generate the target moved data by moving the valid part of the trimmed data to be processed forward.

[0171] In one embodiment, the first processing module 503 is specifically configured to splice at least one first sub-data into target transfer data if the source address is an aligned address.

[0172] In one embodiment, the first processing module 503 is also used to obtain an advanced extensible interface AXI task to be executed, the AXI task is used to instruct the master device to move the target data from the source address of the first slave device to the destination address of the second slave device, the AXI task includes the source address information, the destination address information and the data volume of the target data; the source address information, the destination address information and the data volume of the target data are stored in the target register.

[0173] In one embodiment, Fig. 9 As shown, a data migration device 600 is provided, comprising: a second processing module 601 and a second sending module 602, wherein:

[0174] The second processing module 601 is used to generate at least one second sub-data corresponding to the target moving data according to the information of the destination address, the second sub-data being the sub-data of the target moving data transmitted each time during the writing process, and the destination address being the writing address of the target moving data; and to determine the third control information and the fourth control information of the target moving data according to the at least one second sub-data, the third control information being used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information being used to indicate the valid bytes in the second sub-data transmitted each time.

[0175] The second sending module 602 is used to send a write request to the second slave device corresponding to the destination address, the write request is used to request to write the target moved data at the destination address, the write request includes third control information, fourth control information and fifth control information, the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount; according to the third control information, the fourth control information and the fifth control information, at least one second sub-data is sent to the second slave device to transmit the target moved data.

[0176] In one embodiment, the second processing module 601 is specifically configured to divide the target transfer data into at least one second sub-data according to a set data amount if the destination address is an aligned address.

[0177] In one embodiment, the second processing module 602 is specifically used to shift the target moving data by adding invalid bytes to the target moving data if the destination address is an unaligned address; and divide the shifted target moving data into at least one second sub-data according to a set data amount.

[0178] In one embodiment, Fig.10 As shown, a data migration device 700 is provided, comprising: a second receiving module 701 and a third sending module 702, wherein:

[0179] The second receiving module is used to receive a read request sent by the master device, the read request is used to request to read the target moved data from the source address of the first slave device, the read request includes first control information and second control information, the first control information is used to indicate the number of transmissions of the target moved data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is the set data amount, and the first sub-data is the sub-data of the target moved data transmitted each time during the reading process.

[0180] The third sending module 702 is used to send at least one first sub-data to the master device according to the first control information and the second control information to transmit the target migration data.

[0181] In one embodiment, Fig.11 As shown, a data migration device 800 is provided, comprising: a third receiving module 801, and a third processing module 802, wherein:

[0182] The third receiving module 801 is used to receive a write request sent by the master device, the write request is used to request to write the target moved data at the destination address, the write request includes third control information, fourth control information and fifth control information, the third control information is used to indicate the number of transmissions of the target moved data during the writing process, the fourth control information is used to indicate the valid bytes in the second sub-data transmitted each time, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount; receive at least one second sub-data transmitted by the master device.

[0183] The third processing module 802 is used to write the target migration data into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

[0184] Each module in the above data migration device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0185] In one embodiment, a computer device is provided, which may be a terminal, or a server, a server cluster, etc. Its internal structure diagram may be as follows: Fig.12 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a data migration method is implemented.

[0186] Those skilled in the art will understand that Fig.12 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0187] In one embodiment, a data processor chip is provided, the data processor chip includes a processor and a memory, the memory stores a computer program, and the processor implements the above data migration method when executing the computer program. The data processor chip may be a DPU (Data Processing Unit) chip.

[0188] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the above-mentioned data migration method when executing the computer program.

[0189] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned data migration method is implemented.

[0190] In one embodiment, a computer program product is provided, including a computer program, which implements the above-mentioned data migration method when executed by a processor.

[0191] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0192] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0193] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A data migration method, characterized in that: Applied to a master device, the method comprises: Sending a read request to the first slave device, the read request being used to request reading the target moving data from the source address of the first slave device, the read request including first control information and second control information, the first control information being used to indicate the number of transmissions of the target moving data during the reading process, the second control information being used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process; receiving at least one first sub-data transmitted by the first slave device; The target migration data is generated according to the at least one first sub-data.

2. The method according to claim 1, characterized in that The step of generating the target migration data according to the at least one first sub-data includes: If the source address is an unaligned address, invalid bytes in the at least one first sub-data are trimmed according to information of the source address and the data amount of the target moved data to generate the target moved data.

3. The method according to claim 2, characterized in that The step of trimming invalid bytes in the at least one first sub-data according to the information of the source address and the amount of the target data to be moved to generate the target data to be moved includes: If the number of transmissions indicated by the first control information is one, then according to the information of the source address and the amount of the target moved data, the invalid bytes in the first sub-data of a single transmission are trimmed; The trimmed first sub-data of a single transmission is determined as the target moved data.

4. The method according to claim 2, characterized in that: The step of trimming invalid bytes in the at least one first sub-data according to the information of the source address and the amount of the target data to be moved to generate the target data to be moved includes: If the number of transmissions indicated by the first control information is greater than one, concatenating the at least one first sub-data to obtain data to be processed; According to the information of the source address and the data amount of the target moved data, trimming invalid bytes in the data to be processed; The target moving data is generated by moving forward the effective part of the clipped data to be processed.

5. The method according to claim 1, characterized in that The step of generating the target migration data according to the at least one first sub-data includes: If the source address is an aligned address, the at least one first sub-data is spliced ​​into the target transfer data.

6. The method according to any one of claims 1 to 5, characterized in that: Before sending the read request to the first slave device, the method further includes: Acquire an advanced extensible interface AXI task to be executed, wherein the AXI task is used to instruct the master device to move the target moved data from the source address of the first slave device to the destination address of the second slave device, and the AXI task contains information of the source address, information of the destination address and the data volume of the target moved data; The information of the source address, the information of the destination address and the data amount of the target moved data are stored in the target register.

7. A data migration method, characterized in that: Applied to a master device, the method comprises: Generate at least one second sub-data corresponding to the target moving data according to the information of the destination address, wherein the second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data; Determine third control information and fourth control information of the target moving data according to the at least one second sub-data, wherein the third control information is used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information is used to indicate valid bytes in the second sub-data of each transmission; Sending a write request to a second slave device corresponding to the destination address, wherein the write request is used to request writing the target migration data at the destination address, and the write request includes the third control information, the fourth control information, and the fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount; At least one second sub-data is sent to the second slave device according to the third control information, the fourth control information and the fifth control information to transmit the target migration data.

8. The method according to claim 7, characterized in that The step of generating at least one second sub-data corresponding to the target migration data according to the destination address information includes: If the destination address is an aligned address, the target transfer data is divided into at least one second sub-data according to the set data amount.

9. The method according to claim 7, characterized in that: The step of generating at least one second sub-data corresponding to the target migration data according to the destination address information includes: If the destination address is an unaligned address, adding invalid bytes to the target move data to shift the target move data; The shifted target moved data is divided into at least one second sub-data according to the set data amount.

10. A data migration method, characterized in that: Applied to a first slave device, the method includes: receiving a read request sent by a master device, the read request being used to request reading target moving data from a source address of the first slave device, the read request including first control information and second control information, the first control information being used to indicate the number of transmissions of the target moving data during a reading process, the second control information being used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during a reading process; At least one first sub-data is sent to the master device according to the first control information and the second control information to transmit the target migration data.

11. A data migration method, characterized in that: Applied to a second slave device, the method comprises: receiving a write request sent by a master device, the write request being used to request writing target moving data at a destination address, the write request comprising third control information, fourth control information and fifth control information, the third control information being used to indicate the number of transmissions of the target moving data during a writing process, the fourth control information being used to indicate valid bytes in each transmission of the second sub-data, and the fifth control information being used to indicate that the data amount of each second sub-data is a set data amount; receiving at least one second sub-data transmitted by the master device; The target migration data is written into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

12. A data migration device, characterized in that: The device comprises: A first sending module is used to send a read request to a first slave device, wherein the read request is used to request to read the target moving data from the source address of the first slave device, and the read request includes first control information and second control information, wherein the first control information is used to indicate the number of transmissions of the target moving data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process; A first receiving module, configured to receive at least one first sub-data transmitted by the first slave device; The first processing module is used to generate the target migration data according to the at least one first sub-data.

13. A data migration device, characterized in that: The device comprises: A second processing module is configured to generate at least one second sub-data corresponding to the target moving data according to the information of the destination address, wherein the second sub-data is the sub-data of the target moving data transmitted each time during the writing process, and the destination address is the writing address of the target moving data; and to determine third control information and fourth control information of the target moving data according to the at least one second sub-data, wherein the third control information is used to indicate the number of transmissions of the target moving data during the writing process, and the fourth control information is used to indicate valid bytes in the second sub-data transmitted each time; A second sending module is used to send a write request to a second slave device corresponding to the destination address, wherein the write request is used to request to write the target moved data at the destination address, and the write request includes the third control information, the fourth control information and the fifth control information, and the fifth control information is used to indicate that the data amount of each second sub-data is the set data amount; according to the third control information, the fourth control information and the fifth control information, at least one second sub-data is sent to the second slave device to transmit the target moved data.

14. A data migration device, characterized in that: The device comprises: a second receiving module, configured to receive a read request sent by the master device, wherein the read request is used to request to read the target moving data from the source address of the first slave device, wherein the read request includes first control information and second control information, wherein the first control information is used to indicate the number of transmissions of the target moving data during the reading process, and the second control information is used to indicate that the data amount of each first sub-data is a set data amount, and the first sub-data is the sub-data of the target moving data transmitted each time during the reading process; The third sending module is used to send at least one first sub-data to the main device according to the first control information and the second control information to transmit the target migration data.

15. A data migration device, characterized in that: The device comprises: a third receiving module, configured to receive a write request sent by the master device, the write request being used to request writing the target moving data at the destination address, the write request comprising third control information, fourth control information and fifth control information, the third control information being used to indicate the number of transmissions of the target moving data during the writing process, the fourth control information being used to indicate the valid bytes in each transmission of the second sub-data, and the fifth control information being used to indicate that the data amount of each second sub-data is the set data amount; and receiving at least one second sub-data transmitted by the master device; The third processing module is used to write the target migration data into the destination address according to the third control information, the fourth control information, the fifth control information and the at least one second sub-data.

16. A data processor chip, comprising a processor and a memory, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the data migration method according to any one of claims 1 to 11 is implemented.

17. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 11 are implemented.

18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

19. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.