Data transmission method, apparatus, system and related device

By obtaining reference samples and calculating differences in chip interconnects, the problems of limited cross-chip transmission bandwidth and high power consumption are solved, and data compression and efficient utilization of hardware resources are achieved.

CN114338826BActive Publication Date: 2025-12-16HYGON INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111670785.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-31
Publication Date
2025-12-16
Estimated Expiration
2041-12-31

AI Technical Summary

Technical Problem

With limited bandwidth resources and high power consumption in cross-chip transmission, how to compress data information and effectively utilize hardware resources during chip interconnection has become an urgent problem to be solved.

Method used

By obtaining a reference sample of the data to be transmitted, calculating the difference between the data, and sending the identification information of the reference sample and the difference, the data to be transmitted can be restored at the receiving end.

Benefits of technology

It effectively compresses data, reduces hardware resource consumption, and improves data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114338826B_ABST
    Figure CN114338826B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a data transmission method, device, system and related equipment, the method comprising: obtaining data to be transmitted; determining a reference example corresponding to the data to be transmitted, the reference example being related to the data to be transmitted in data structure; calculating the difference between the data to be transmitted and the data of the reference example; sending the identification information of the reference example and the difference; wherein the identification information of the reference example and the difference are used to restore the data to be transmitted. Embodiments of the present application can effectively compress data information and reduce hardware resource consumption.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the chip technical field, and in particular to a data transmission method, device, system and related equipment. BACKGROUND

[0002] Chip interconnection is a technology for realizing bus interconnection between chips through a high-speed physical interface. A plurality of system on chips (SOC) can be combined into a more powerful system through the chip interconnection technology to provide more efficient services for users.

[0003] However, due to limited bandwidth resources for cross-chip transmission and high transmission power consumption, how to compress data information during chip interconnection and effectively utilize hardware resources becomes a problem to be solved by those skilled in the art. SUMMARY

[0004] Therefore, embodiments of the present application provide a data transmission method, device, system and related equipment to effectively compress data information and reduce hardware resource consumption.

[0005] To achieve the above object, embodiments of the present application provide the following technical solutions.

[0006] In a first aspect, embodiments of the present application provide a data transmission method, comprising:

[0007] obtaining to-be-transmitted data;

[0008] determining a reference example corresponding to the to-be-transmitted data, the reference example being related to the to-be-transmitted data in data structure;

[0009] calculating a difference between the to-be-transmitted data and data of the reference example;

[0010] sending identification information of the reference example and the difference; wherein the identification information of the reference example is used to determine the reference example, and the to-be-transmitted data is restored based on the reference example and the difference.

[0011] In a second aspect, embodiments of the present application also provide a data transmission method, comprising:

[0012] obtaining identification information of a reference example and a difference; wherein the reference example is related to to-be-transmitted data in data structure, the identification information of the reference example is used to determine the reference example, and the difference is a difference between the to-be-transmitted data and data of the reference example;

[0013] determining the reference example according to the identification information of the reference example;

[0014] restore the to-be-transmitted data based on the reference sample and the difference value.

[0015] In a third aspect, an embodiment of the present application provides a data transmission apparatus, comprising:

[0016] a first preprocessing module configured to acquire to-be-transmitted data;

[0017] a difference value calculation module configured to determine a reference sample corresponding to the to-be-transmitted data, the reference sample being related to the to-be-transmitted data in data structure, and calculate a difference value between the to-be-transmitted data and data of the reference sample;

[0018] a first data sending module configured to send identification information of the reference sample and the difference value, wherein the identification information of the reference sample is used to determine the reference sample, and the to-be-transmitted data is restored based on the reference sample and the difference value.

[0019] In a fourth aspect, an embodiment of the present application further provides a data transmission apparatus, comprising:

[0020] a second preprocessing module configured to acquire identification information of a reference sample and a difference value, wherein the reference sample is related to to-be-transmitted data in data structure, the identification information of the reference sample is used to determine the reference sample, and the difference value is a difference value between the to-be-transmitted data and data of the reference sample;

[0021] a data recovery module configured to determine the reference sample according to the identification information of the reference sample, and restore the to-be-transmitted data based on the reference sample and the difference value.

[0022] In a fifth aspect, an embodiment of the present application further provides a data transmission system, which is configured to execute the data transmission method for a sending end provided by an embodiment of the present application, and / or execute the data transmission method for a receiving end provided by an embodiment of the present application.

[0023] In a sixth aspect, an embodiment of the present application provides a computer device, comprising at least one memory and at least one processor; the memory stores one or more computer executable instructions, and the processor invokes the one or more computer executable instructions to execute the data transmission method for a sending end provided by an embodiment of the present application, and / or execute the data transmission method for a receiving end provided by an embodiment of the present application.

[0024] In a seventh aspect, an embodiment of the present application provides a storage medium, which stores one or more executable instructions, and the one or more executable instructions are used to execute the data transmission method for a sending end provided by an embodiment of the present application, and / or execute the data transmission method for a receiving end provided by an embodiment of the present application.

[0025] The data transmission method, device, system and related equipment provided by the embodiment of the present application, the method comprises: obtaining to-be-transmitted data; determining a reference example corresponding to the to-be-transmitted data, the reference example being related to the to-be-transmitted data in data structure; calculating a difference value between the to-be-transmitted data and the reference example; and transmitting identification information of the reference example and the difference value; wherein the identification information of the reference example and the difference value are used to restore the to-be-transmitted data.

[0026] It can be seen that, in the embodiment of the present application, the sending end can determine the identification information of the reference example related to the to-be-transmitted data in data structure and the difference value between the to-be-transmitted data and the reference example based on the to-be-transmitted data, and transmit based on the identification information of the reference example and the difference value, and the receiving end can determine the reference example based on the identification information of the reference example and further restore the to-be-transmitted data based on the reference example and the difference value, so that the to-be-transmitted data is compressed into the identification information and the difference value in the process of data transmission, so that the sending end and the receiving end only need to transmit the identification information and the difference value. It can be understood that the identification information and the difference value are obviously much smaller in data amount than the to-be-transmitted data, so that the embodiment of the present application can effectively compress data information and reduce hardware resource consumption. BRIEF DESCRIPTION OF DRAWINGS

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced below. Obviously, the drawings in the following description are only embodiments of the present application, and those skilled in the art can obtain other drawings according to the provided drawings without creative labor.

[0028] Figure 1 An optional architecture diagram of chip interconnection between two chips provided by the embodiment of the present application;

[0029] Figure 2 An optional flowchart of the data transmission method applied to the sending end provided by the embodiment of the present application;

[0030] Figure 3 A bus data type example diagram provided by the embodiment of the present application;

[0031] Figure 4 A preset format diagram of data provided by the embodiment of the present application;

[0032] Figure 5 Another optional flowchart of the data transmission method applied to the sending end provided by the embodiment of the present application;

[0033] Figure 6 Yet another optional flowchart of the data transmission method applied to the sending end provided by the embodiment of the present application is shown in FIG. 6;

[0034] Figure 7 An optional flowchart of the step S11 provided by the embodiment of the present application is shown in FIG. 7;

[0035] Figure 8 Still another optional flowchart of the data transmission method applied to the sending end provided by the embodiment of the present application is shown in FIG. 8;

[0036] Figure 9 An optional updating flowchart of the reference sample provided by the embodiment of the present application is shown in FIG. 9;

[0037] Figure 10 An optional flowchart of the data transmission method applied to the receiving end provided by the embodiment of the present application is shown in FIG. 10;

[0038] Figure 11 Another optional flowchart of the data transmission method applied to the receiving end provided by the embodiment of the present application is shown in FIG. 11;

[0039] Figure 12 Yet another optional flowchart of the data transmission method applied to the receiving end provided by the embodiment of the present application is shown in FIG. 12;

[0040] Figure 13 Still another optional flowchart of the data transmission method applied to the receiving end provided by the embodiment of the present application is shown in FIG. 13;

[0041] Figure 14 An optional block diagram of the data transmission device provided by the embodiment of the present application is shown in FIG. 14;

[0042] Figure 15 Another optional block diagram of the data transmission device provided by the embodiment of the present application is shown in FIG. 15. DETAILED DESCRIPTION

[0043] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0044] In order to facilitate the understanding of the chip interconnection technology, the data transmission process in the chip interconnection technology is introduced below by taking the chip interconnection between two chips as an example.

[0045] Referring to Figure 1An optional architecture of chip interconnection between two chips shown in the figure, the two chips in the architecture can be the first chip 11 and the second chip 12, each chip includes a transport layer 13, a data link layer 14 and a physical layer 15;

[0046] The transport layer 13 is used for processing protocol related transactions, including logical interaction with an internal bus, compression of bus signals, etc.; the data link layer 14 is used for ensuring the connectivity and robustness of a link, and is responsible for tasks including link establishment, data retransmission, etc.; and the physical layer 15 is used for converting data into signals and transmitting the signals.

[0047] Taking the transmission of bus data from the first chip 11 to the second chip 12 as an example, after the bus data in the first chip 11 is transmitted through the transport layer 13, the data link layer 14 and the physical layer 15 of the first chip 11, the bus data is transmitted to the physical layer 15 of the second chip 12 through a high-speed physical interface, and is further transmitted through the data link layer 14 and is received by the transport layer 13 of the second chip 12. From a logical point of view, the transmission process is equivalent to realizing the communication between the transport layer 13 of the first chip 11 and the transport layer 13 of the second chip 12, that is, realizing the bus logical interconnection of the two chips.

[0048] However, from an actual process point of view, the data transmission between chips still essentially needs the support of hardware resources of the data link layer and the physical layer in addition to the transport layer, and how to effectively utilize these hardware resources becomes a problem to be solved by those skilled in the art.

[0049] Based on this, the embodiment of the present application provides a data transmission method, device, system and related equipment, the method comprising: obtaining to-be-transmitted data; determining a reference example corresponding to the to-be-transmitted data, the reference example being related to the to-be-transmitted data in data structure; calculating a difference value between the to-be-transmitted data and the reference example; and sending identification information of the reference example and the difference value; wherein the identification information of the reference example is used to determine the reference example, so as to restore the to-be-transmitted data based on the reference example and the difference value.

[0050] As can be seen, in the embodiment of the present application, the to-be-transmitted data can be compressed into the identification information and the difference value in the process of data transmission, so that only the identification information and the difference value need to be transmitted between the sending end and the receiving end. It can be understood that the identification information and the difference value are obviously much smaller in data volume than the to-be-transmitted data, so that the embodiment of the present application can effectively compress data information and reduce hardware resource consumption.

[0051] Next, the data transmission scheme provided by the embodiment of the present application will be described in detail.

[0052] In an optional implementation, Figure 2An exemplary flowchart of an optional data transmission method applied to a sending end according to an embodiment of the present invention is shown. The method is applied to the sending end of data transmission, such as... Figure 2 As shown, the method includes:

[0053] Step S10: Obtain the data to be transmitted;

[0054] The data to be transmitted can be understood as data that is about to be transmitted, referring to the data that is about to be processed. In a chip interconnect scenario, the data to be transmitted can be bus data, suitable for data transmitted from one chip to another. However, in other scenarios for implementing data transmission, the data to be transmitted can also be data from other lines, and this invention does not impose specific limitations on it.

[0055] The data to be transmitted can be control data used to implement logic control (the corresponding signal can be called a control signal), or content data referring to specific content (the corresponding signal can be called a data signal). Since control data has a relatively consistent format and structure, this embodiment of the invention uses control data as an example for illustration. In other embodiments of the invention, the data to be transmitted can be other types of data, and this invention does not impose specific limitations here.

[0056] Taking bus data as an example, bus data refers to data transmitted via the bus, which typically includes write requests, write data, write responses, read requests, read responses, and read data. During the actual transmission process, this data can be represented by various signals transmitted on the bus. These signals can include address signals, request types, request priorities, request labels, request status, request data, response labels, response status, response data, and other information required for protocol interaction. Request data and response data can be understood as data signals, while other signals can be understood as control signals. Accordingly, based on this signal classification, data transmitted solely through control signals, such as write requests, write responses, read requests, and read responses, can be understood as control data.

[0057] For details, please refer to Figure 3The bus data type examples shown, the bus data can be generally write request, write data, write response, read request, read response and read data, etc. The arrow direction in the figure is taken as an example that the request is sent from the left to the right, and the transmission direction of each data is illustrated. The signals that need to be transmitted in the request (such as write request / read request) include: request address, request length, request label, initiator label, acceptor label, request command, request attribute, request priority, request security level, virtual channel label and request flow label, etc. The signals that need to be transmitted in the response (such as write response / read response) include: response label, initiator label, acceptor label, response state, response attribute, response priority, virtual channel label and response flow label, etc. Thus, the data (including write request, write response, read request and read response) transmitted only by control signals can be understood as control data.

[0058] It can be understood that, in the chip interconnection scenario, when it is necessary to transmit the to-be-transmitted data from the transmission layer of one chip to the transmission layer of another chip, the to-be-transmitted data is acquired, thereby providing a basis for subsequent processing steps.

[0059] With reference to the foregoing Figure 2 , step S11: determining a reference example corresponding to the to-be-transmitted data, the reference example being related to the to-be-transmitted data in data structure;

[0060] The reference example is a preset data model used as a reference basis. By determining the difference between the to-be-transmitted data and the reference example in subsequent steps, the receiving end can restore the to-be-transmitted data based on the reference example and the difference information.

[0061] It can be understood that the reference example can be multiple. After the to-be-transmitted data is acquired, the reference example corresponding thereto can be determined. The corresponding reference example should be related to the to-be-transmitted data in data structure. In an optional example, the to-be-transmitted data can be compared with the reference example one by one to determine the reference example corresponding to the to-be-transmitted data, or the reference example corresponding to the to-be-transmitted data can be determined based on a preset rule or preset identification information.

[0062] It should be noted that the reference example is related to the to-be-transmitted data in data structure, which can be understood as that the reference example is the same as or similar to the to-be-transmitted data in data structure. For example, each domain segment in the data structure is one-to-one corresponding and the same, or only a small number (for example, less than or equal to a preset number) of domain segments are different and the remaining domain segments are one-to-one corresponding and the same in the data structure. Correspondingly, the reference example related to the to-be-transmitted data in data structure can be understood as the reference example most similar to the to-be-transmitted data in data structure. The domain segment refers to a domain segment type, such as an address domain segment, an attribute domain segment, etc., and does not refer to specific data in the domain segment.

[0063] By selecting a reference sample with the same or similar structure, the difference between the data to be transmitted and the reference sample is reduced, so as to more accurately restore the data to be transmitted.

[0064] Step S12: Calculate the difference between the data to be transmitted and the data of the reference sample;

[0065] After determining the reference sample, the difference between the data to be transmitted and the reference sample is determined by calculating the difference between the data to be transmitted and the data of the reference sample.

[0066] Taking the data to be transmitted as a common AXI (Advanced eXtensible Interface, a bus protocol) write request, and the data transmission scenario as a bus data transmission scenario as an example, the AXI write request can be configured with a write address awaddr 32 bits, a burst length (awlen) 8 bits, a burst size (awsize) 3 bits, a burst type (awburst) 2 bits, a bus lock signal (awlock) 2 bits, a memory type (awcache) 4 bits, a write address ID (awid) 12 bits, a protection type (awprot) 3 bits, a region flag (awregion) 4 bits, (a user-defined signal) awuser 6 bits, a quality service QoS (awqos) 4 bits, wherein the data to be transmitted is organized into 80-bit data to be transmitted according to {awaddr_h, awqos, awregion, awlock, awprot, awcache, awuser, awburst, awsize, awid, awlen, awaddr_l}, wherein awaddr_h indicates a high address domain segment of the write address, and awaddr_l indicates a low address domain segment of the write address; for example, the data to be transmitted can be 0x1C1D031FC8, the data of the reference sample can be 0x1C1D031FC4, and the difference between the two is 0x4, wherein 0x indicates that the corresponding data is hexadecimal data, and the data after 0x indicates the specific value.

[0067] Step S13: Send the identification information of the reference sample and the difference; wherein the identification information of the reference sample and the difference are used to restore the data to be transmitted;

[0068] The reference sample can be provided with identification information corresponding thereto, and the identification information has a corresponding relationship with the reference sample at the sending end and the receiving end, so that the corresponding reference sample can be determined based on the identification information of the reference sample at the sending end and the receiving end. For example, the sending end and the receiving end can be provided with an identical reference sample library, and the corresponding identification information can be index information corresponding to each reference sample in the reference sample library. After the identification information is determined, the corresponding reference sample can be found from the reference sample library based on the identification information. Similarly, after the reference sample is determined, the identification information corresponding to the reference sample can also be obtained. Therefore, when data transmission is performed, only the identification information is transmitted, and the reference sample corresponding to the identification information can be determined.

[0069] It can be understood that the data length of the identification information is less than the data length of the reference sample, and optionally, the data length of the identification information is much less than the data length of the reference sample, so that the data length required for transmission can be reduced, and the hardware resource consumption can be reduced.

[0070] After the reference sample and the difference value are determined, only the identification information of the reference sample and the difference value are transmitted, so that the receiving end can determine the reference sample based on the identification information of the reference sample, and further restore the data to be transmitted based on the determined reference sample and the difference value.

[0071] In one example, after the identification information of the reference sample is obtained, the reference sample can be determined based on the identification information of the reference sample, so that the data of the reference sample is obtained. For example, the data of the reference sample can be 0x1C1D031FC4. Based on the obtained difference value, for example, 0x4, the data 0x1C1D031FC4 of the reference sample can be added to the difference value 0x4, and the data to be transmitted 0x1C1D031FC8 is restored. It can be understood that the identification information of the reference sample and the difference value are essentially data obtained after compression processing of the data to be transmitted. In the bus data transmission scenario, the control signals corresponding to the identification information and the difference value are encoded and transmitted together with the data signals associated therewith according to the format specified by the data link layer.

[0072] In an optional example, the transmitted data can be transmitted based on a preset format. Specifically, referring to Figure 4The preset format of the data shown includes data length, identification information of the reference sample, and difference data. The identification information of the reference sample can be an index of the reference sample, the difference data is specific data of the difference, and the data length is used to indicate the data length of the identification information and the data length of the difference. The specific data length can be measured in bits. It can be understood that, based on the prompt of the data length, the data length of the identification information and the difference in the embodiment of the application can be set one by one based on actual conditions, and the identification information and the difference are distinguished according to the prompt of the data length, so that the amount of data to be transmitted is reduced to the greatest extent, the data information is effectively compressed, and the consumption of hardware resources is reduced.

[0073] It can be understood that, in the data transmission process, data with a fixed format is obviously more suitable for the data transmission method described in the embodiment of the application, so that, in an optional example, the method provided in the embodiment of the application can be selectively executed based on specific data to be transmitted. Specifically, referring to Figure 5 Another optional flowchart of the data transmission method applied to the sending end is shown. After step S10 and before step S11, the data transmission method can further perform the following steps:

[0074] Step S14: determining whether to process the data to be transmitted based on a preset rule, the preset rule including a data type rule, a data source rule, and / or a data identification rule.

[0075] If yes, the subsequent step S11 is performed, and if no, step S15 is performed.

[0076] The data type rule is used to set the data type of the data to be transmitted that is allowed to perform the subsequent processing step. The subsequent processing step refers to step S11. It can be understood that, when the aforementioned data to be transmitted is limited to control data, the data type rule in this step can not be set, and when the data to be transmitted is not limited in data type, the corresponding data type can be set in this step, for example, the data type is set to control data.

[0077] The data source rule is used to set the original data source of the to-be-transmitted data that allows the subsequent processing step to be executed. Wherein, the original data source of the to-be-transmitted data, whether it is a request or a response, refers to the device that sends the request, for example, a CPU (central processing unit) sends a write request, which is to-be-transmitted data, and the corresponding original data source is the CPU; and the write response corresponding to the write request is to-be-transmitted data, and the data source thereof can be a DMA (Direct Memory Access) device, but the corresponding original data source thereof is the data source of the write request corresponding thereto, that is, the CPU.

[0078] In the bus data, the original data source of the to-be-transmitted data can be a CPU (central processing unit), a GPU (graphics processing unit), a coprocessor, a DMA (Direct Memory Access) device, an IO (Input / Output) device, and the like. Considering that the correlation between to-be-transmitted data with the CPU as the original data source is generally low, and the correlation between to-be-transmitted data with the above peripheral devices as the original data source is generally high, and the corresponding to-be-transmitted data has a higher probability of having a fixed format, therefore, the peripheral devices such as the GPU, the coprocessor, the DMA device, and the IO device can be set as the original data source of the to-be-transmitted data that allows the subsequent processing step to be executed.

[0079] In a specific example, the original initiator of the to-be-transmitted data can be determined according to the initiator mark and / or the receiver mark in the to-be-transmitted data (for example, the initiator mark in the request / the receiver mark in the response).

[0080] The data identification rule is used to set the data identification of the to-be-transmitted data that allows the subsequent processing step to be executed. Wherein, for specific to-be-transmitted data, the data identification can be set to control whether the subsequent processing step is executed. In an optional example, a mark can be made in the attribute field segment of the to-be-transmitted data, so as to serve as the data identification of the to-be-transmitted data, and the data identification is used to indicate whether the subsequent processing step is allowed to be executed.

[0081] It should be noted that the preset rule can be one of the above rules, or any multiple of the above rules, which is not specifically limited in the present application.

[0082] Step S15: sending the to-be-transmitted data;

[0083] If the to-be-transmitted data does not need to be processed, the to-be-transmitted data is directly sent out.

[0084] Based on the above examples, in the data transmission process, the method provided by the embodiment of the application can be selectively executed, so that data with a fixed format is selected as much as possible for corresponding processing, thereby improving the processing efficiency of data.

[0085] It can be understood that, in the data transmission process, the smaller the difference between the to-be-transmitted data and the reference example, the greater the similarity between the to-be-transmitted data and the reference example, the fewer the data bits occupied by the difference, and the higher the compression rate of the data. The inventor believes that the difference between the to-be-transmitted data and the reference example can be reduced by adjusting the data structure of the data. Specifically, considering that the to-be-transmitted data at different times usually changes continuously with the running of the system in the data transmission process, however, different domain segments of the to-be-transmitted data, especially the to-be-transmitted data with a fixed format, can have different change probabilities, so the domain segment that is easy to change can be arranged at the low bit of the data, and the domain segment that is not easy to change can be arranged at the high bit of the data, so that when the difference of the data is calculated, if the data at the high bit does not change, the corresponding difference is only reflected in the low bit, and correspondingly, the smaller the difference of the data.

[0086] Based on this, the embodiment of the application can adjust the data used to calculate the difference to a preset data structure, and then calculate the difference based on the structure. In the preset data structure, the ordering rule of the domain segments in the data includes: the domain segment with a high change probability is arranged at the low bit, and the domain segment with a low change probability is arranged at the high bit; and the domain segments in the reference example are arranged based on the preset order. It should be noted that the data structure of the reference example can be the adjusted structure, so that the adjustment of the data structure is not necessary before each calculation, thereby reducing the calculation amount of the data transmission scheme.

[0087] Specifically, the embodiment of the application further provides another optional example of the data transmission method, which reduces the difference between the to-be-transmitted data and the reference example by adjusting the data structure. Specifically, referring to Figure 6 Another optional flowchart of the data transmission method applied to the sending end is shown in FIG. 14. After step S10 and before step S11, the data transmission method can further include the following step S14: if the result of step S14 is that the to-be-transmitted data needs to be processed, the following step S16 can be further executed.

[0088] Step S16: adjusting the data structure of the to-be-transmitted data, so that the domain segments in the to-be-transmitted data are arranged based on a preset order;

[0089] The sorting rule of the preset order includes: the domain segment with high change probability is arranged in a low position, and the domain segment with low change probability is arranged in a high position; and the domain segment in the reference example is arranged based on the preset order.

[0090] It can be understood that when determining the sorting rule of the preset order, the change probability of each domain segment of the to-be-transmitted data can be determined by statistics. The preset order should be fixed in a period of time, rather than real-time change, and when the preset order needs to be updated, the data in the reference example should be adjusted based on the updated preset order at the same time.

[0091] In an optional example, the original domain segment in the data can also be re-divided. Specifically, an original domain segment can be divided into multiple domain segments, for example, an address domain segment can be divided into a high address domain segment and a low address domain segment, or the address domain segment can be divided into more domain segments based on the composition of the system address, and the determination of the preset order is based on the re-divided domain segments, and then the adjustment of the data structure is based on the preset order.

[0092] When the to-be-transmitted data is control data (such as request / response) initiated by a peripheral device (including GPU, coprocessor, DMA device, IO device, etc.) as an original initiator, the probability of change of each domain segment of the control data corresponding to the block data operation of the original initiator can be counted, so as to determine the preset order.

[0093] In another optional example, the adjustment of the data structure of the to-be-transmitted data can also delete redundant information. For example, when the identification information of the reference example contains an original initiator mark for marking the original initiator, the original initiator mark domain segment in the to-be-transmitted data can also be deleted in this step, so as to further reduce the operation amount of the data and improve the operation efficiency of the data.

[0094] In an optional implementation, considering that the data structure is different based on different original initiators of the to-be-transmitted data, and the data structure and data content are similar when the original initiator is the same, accordingly, the reference examples can be distinguished based on different original initiators, and then when determining the reference example corresponding to the to-be-transmitted data in step S11, the original initiator can be determined as the corresponding reference.

[0095] Specifically, the identification information of the reference example contains an original initiator mark for marking the original initiator, and accordingly, step S11 can be specifically: determining the reference example corresponding to the to-be-transmitted data according to the original initiator of the to-be-transmitted data.

[0096] The original initiator of the to-be-transmitted data can be determined according to the original initiator marking field segment in the to-be-transmitted data (for example, the initiator marking field segment corresponding to the request or the receiver marking field segment corresponding to the response), and then the reference sample corresponding to the to-be-transmitted data can be determined according to the original initiator of the to-be-transmitted data.

[0097] In another optional implementation, a plurality of reference samples corresponding to one original initiator can be provided, wherein the reference samples corresponding to one original initiator can be set as a reference sample group, and one reference sample group can include at least one reference sample, and correspondingly, the reference sample group corresponding to the original initiator of the to-be-transmitted data can be determined according to the original initiator of the to-be-transmitted data. Figure 7 The optional flowchart of step S11 is shown, and step S11 can include:

[0098] Step S111: determining the reference sample group corresponding to the to-be-transmitted data according to the original initiator of the to-be-transmitted data.

[0099] Based on the original initiator marking field segment in the to-be-transmitted data, the original initiator of the to-be-transmitted data can be determined, and then the reference sample group corresponding to the to-be-transmitted data can be determined.

[0100] Step S112: determining the reference sample closest to the data structure of the to-be-transmitted data in the reference sample group.

[0101] After the reference sample group is determined, the reference sample closest to the to-be-transmitted data can be determined according to the data structure of the to-be-transmitted data.

[0102] According to the foregoing, the types of the field segments in the data structure can be selected to be one-to-one correspondence, or only a small number (for example, less than or equal to a preset number) of field segment types are different in the data structure, and the remaining field segment types are one-to-one correspondence, and the reference sample is selected as the determined reference sample. The preset number can be 3, 5 or 7, which is not limited in the application.

[0103] In an optional example, if the difference value exceeds a certain range, it is possible that the data amount is too large, and correspondingly, the reference sample closest to the to-be-transmitted data can be determined according to the difference value. Figure 8 Another optional flowchart of the data transmission method applied to the sending end is shown, and after step S12 of the embodiment of the application, step S13 further includes:

[0104] Step S17: determining whether the difference value is greater than or equal to a preset value.

[0105] It can be understood that the embodiment of the present application performs data transmission based on the difference value, which is used to reduce the data transmission amount, and accordingly, the maximum number of bits of the difference value should be much smaller than the number of bits of the data to be transmitted, and accordingly, the preset value can be the maximum value indicated by the maximum number of bits of the difference value that can be transmitted. It can be understood that the data calculation based on the reference sample identification information and the difference value is itself used to compress the data amount of the data to be transmitted, and accordingly, the data bits left for the difference value are also limited, and therefore, after exceeding the maximum data value indicated by the data bits of the corresponding difference value, accurate data transmission cannot be performed.

[0106] In the judgment of whether the difference value is greater than or equal to the preset value, if yes, step S13 is performed, and if no, step S15 can be performed to send the data to be transmitted.

[0107] In an optional example, the data transmission scheme further updates the reference sample, specifically, in step S14, if the data to be transmitted can perform subsequent processing steps and the data to be transmitted is not successfully processed (for example, the reference sample corresponding thereto is not determined in step S11, or the difference value is greater than or equal to the preset value in step S17), the reference sample update process can be performed. Figure 9 The optional update process diagram of the reference sample is shown, and the update process includes:

[0108] Step S18: Store the data to be transmitted as a reference sample to a first preset storage space.

[0109] The first preset storage space can be a storage space used by the sending end to store the reference sample. In an optional example, the first preset storage space can be set in the sample management module of the sending end, wherein when the first preset storage space has remaining space, the corresponding storage operation can be directly performed, and when the first preset storage space has no remaining space, an existing reference sample can be deleted based on a preset replacement strategy, and then the storage operation in this step is performed.

[0110] The replacement strategy, for example, can be to select the longest unused pre-stored template for deletion, and in other examples of the present application, the replacement strategy can also use other algorithms, which are not specifically limited in the present application.

[0111] It should be noted that in the storage process of the reference sample, the original initiator mark of the data to be transmitted can be used as an index for storage, or the identification information corresponding to the data to be transmitted can also be set as an index for storage, wherein the identification information includes the original initiator mark.

[0112] In addition, before storing the reference sample, the data structure of the to-be-transmitted data can be adjusted, so that the field segment in the to-be-transmitted data is arranged based on a preset order. Meanwhile, when the index contains the original initiator mark, the original initiator mark field segment in the to-be-transmitted data can be further deleted in the process of adjusting the data structure of the to-be-transmitted data.

[0113] After storing the to-be-transmitted data as the reference sample, the following operations can be further performed:

[0114] Step S19: setting a sample update mark in the to-be-transmitted data.

[0115] The sample update mark is used to indicate that the to-be-transmitted data needs to be updated as a reference sample, so that the receiving end can perform corresponding update based on the sample update mark, and ensure that the reference samples of the sending end and the receiving end are the same. The sample update mark can be set in the attribute field segment of the to-be-transmitted data.

[0116] After step S19 is performed, step S15 can be further performed, that is, the to-be-transmitted data is sent to the receiving end.

[0117] Correspondingly, the embodiment of the application further provides a data transmission method applied to the receiving end of data transmission, such as Figure 10 An exemplary optional flowchart of the data transmission method applied to the receiving end is shown, and the method comprises the following steps:

[0118] Step S20: obtaining the identification information and the difference value of the reference sample.

[0119] The reference sample is related to the to-be-transmitted data in the data structure, the identification information of the reference sample is used to determine the reference sample, and the difference value is the difference between the to-be-transmitted data and the data of the reference sample.

[0120] After the sending end sends the identification information and the difference value of the reference sample, the receiving end can obtain the identification information and the difference value of the reference sample, so as to restore the to-be-transmitted data based on the identification information and the difference value of the reference sample.

[0121] Step S21: determining the reference sample according to the identification information of the reference sample.

[0122] After obtaining the identification information of the reference sample, the reference sample can be determined based on the identification information, and then subsequent processing can be performed based on the reference sample.

[0123] It should be noted that in the data transmission scheme provided by the embodiment of the application, the reference sample and the corresponding identification information in the sending end and the receiving end are the same. The reference sample in the sending end can be stored in the first preset storage space, and the reference sample in the receiving end can be stored in the second preset storage space. The software parameters and the hardware parameters in the two preset storage spaces should also be consistent. For example, the replacement strategy of the reference sample in the two preset storage spaces should be consistent, and the space size of the two preset storage spaces should be consistent. The reference samples in the two preset storage spaces are not necessarily updated at the same time, but during the data transmission process, corresponding updates will still be performed in sequence to provide support for data compression and restoration of the sending end and the receiving end.

[0124] Step S22: restoring the to-be-transmitted data based on the reference sample and the difference value.

[0125] After the reference sample is determined, the to-be-transmitted data can be restored based on the reference sample and the difference value.

[0126] Specifically, the reference sample and the difference value can be added to obtain the to-be-transmitted data.

[0127] In an optional example, restoring the to-be-transmitted data can further include:

[0128] Step S28: sending the to-be-transmitted data to the device to which the to-be-transmitted data points.

[0129] The to-be-transmitted data contains device information to which the to-be-transmitted data points. Accordingly, the to-be-transmitted data can be sent to the device to which the to-be-transmitted data points based on the device information.

[0130] In an optional example, when the receiving end receives the data sent by the sending end, the received data can be determined to contain the identification information of the reference sample and the difference value. Specifically, referring to the optional flowchart of the data transmission method applied to the receiving end shown in FIG. 8, before step S20, the embodiment of the application can further include: Figure 11

[0131] Step S23: receiving the data sent by the sending end.

[0132] After the sending end sends the data, the receiving end can receive the data sent by the sending end.

[0133] Step S24: determining whether the received data contains the identification information of the reference sample and the difference value.

[0134] ​By judging whether the received data contains the identification information and the difference value of the reference sample, it can be determined whether to perform the restoring step of the to-be-transmitted data.

[0135] In an optional example, the judgment can be made based on the identification information of the data or the characteristic information of the data, for example, judging whether the identification information in the received data indicates that the received data contains the identification information and the difference value of the reference sample, or judging whether the received data contains the identification information and the difference value of the reference sample based on the information of a specific field segment in the received data.

[0136] When the judgment result is yes, step S20 is performed, and when the judgment result is no, it is considered that the received data is the original to-be-transmitted data of the sending end, and the original to-be-transmitted data is directly subjected to subsequent processing. For example, in the bus data transmission scenario, step S28 can be performed.

[0137] In an optional example, when the data sent by the sending end is received at the receiving end, the sent data can also be analyzed to determine whether the received data contains a sample update mark. Specifically, referring to FIG. 6, the data transmission method applied to the receiving end further includes the following steps. Figure 12 Another optional flowchart of the data transmission method applied to the receiving end is shown in FIG. 6. After step S23, or when the judgment result of step S24 is no, the embodiment of the present application can further include the following steps.

[0138] Step S25: determining whether the received data contains a sample update mark.

[0139] If yes, step S26 is performed, and if no, the sample update process is exited.

[0140] The sample update mark is used to indicate that the to-be-transmitted data is saved as a reference sample. Thus, the reference samples of the sending end and the receiving end are synchronously updated.

[0141] In an optional example, the sending end sets the sample update mark in the attribute field segment of the to-be-transmitted data, and correspondingly, the receiving end in the present example can judge the sample update mark based on the attribute field segment of the received data.

[0142] Step S26: storing the received data as a reference sample in a second preset storage space.

[0143] The received data can be understood as the original to-be-transmitted data, and the to-be-transmitted data is stored as a reference sample in the second preset storage space.

[0144] It should be noted that the second preset storage space can be a storage space of the receiving end for storing the reference sample. In an optional example, the second preset storage space can be arranged in a sample management module of the receiving end, and when the second preset storage space has remaining space, the corresponding storage operation can be directly performed, and when the second preset storage space has no remaining space, an existing reference sample can be deleted based on a preset replacement strategy, and then the storage operation in this step is performed.

[0145] The replacement strategy may, for example, be to select the longest unused pre-stored template for deletion. In other examples of the application, the replacement strategy can also use other algorithms, which are not specifically limited in the application.

[0146] It should be noted that in the storage process of the reference sample, the original initiator mark of the received data can be used as an index for storage, or the identification information corresponding to the received data can also be set as an index for storage, wherein the identification information contains the original initiator mark.

[0147] In addition, before storing the reference sample, the data structure of the received data can also be adjusted to arrange the field segments in the received data based on a preset order. Meanwhile, when the index contains the original initiator mark, the original initiator mark field segment in the received data can also be further deleted in the process of adjusting the data structure of the received data.

[0148] It can be understood that in the data compression process, if the data structure of the to-be-transmitted data is adjusted to arrange the field segments in the to-be-transmitted data based on a preset order, the data structure can also be restored in the data restoring step of this example. Specifically, refer to Figure 13 Another optional flowchart of the data transmission method applied to the receiving end is shown in FIG. 8. After step S22 and before step S28, the flowchart further includes:

[0149] Step S27: Adjusting the data structure of the to-be-transmitted data to arrange the field segments in the to-be-transmitted data based on the original order.

[0150] The original order is the arrangement order of the to-be-transmitted data before being adjusted to the preset order.

[0151] It should be noted that in the process of data transmission, the sending end and the receiving end are called relatively, one end can be both the sending end and the receiving end, and the receiving end has the data information that the sending end should set at the same time. Therefore, the receiving end has the information for adjusting the preset order of the to-be-transmitted data when the sending end sends the to-be-transmitted data. At the same time, the original order of the to-be-transmitted data is fixed, and correspondingly, in the process of adjusting the data structure, the data structure of the to-be-transmitted data can be adjusted based on the correspondence between the preset order and the original order.

[0152] In another optional example, if the sending end deletes the original initiator mark field segment of the to-be-transmitted data, the adjustment of the data structure of the to-be-transmitted data can also add the original initiator mark field segment in the to-be-transmitted data, so as to restore the to-be-transmitted data completely and accurately.

[0153] In an optional implementation, the embodiment of the present application provides a data transmission device, which is applied to the sending end of data, for example, can be in the transmission layer of the sending end, with reference to Figure 14 The optional block diagram of the data transmission device provided by the embodiment of the present application is shown, and the device can include a first preprocessing module 20, a difference calculation module 21, and a first data sending module 22.

[0154] The first preprocessing module 20 is used to obtain to-be-transmitted data.

[0155] The difference calculation module 21 is used to determine a reference example corresponding to the to-be-transmitted data, the reference example is related to the to-be-transmitted data in data structure, and a difference between the to-be-transmitted data and the reference example is calculated.

[0156] The first data sending module 22 is used to send identification information of the reference example and the difference, and the identification information of the reference example is used to determine the reference example, so as to restore the to-be-transmitted data based on the reference example and the difference.

[0157] Optionally, the first preprocessing module 20 is also used to determine whether to process the to-be-transmitted data based on a preset rule, the preset rule includes a data type rule, a data source rule, and / or a data identification rule; if yes, the difference calculation module determines the reference example corresponding to the to-be-transmitted data, and if no, the data sending module sends the to-be-transmitted data.

[0158] Optionally, the difference calculation module 21 is further configured to adjust a data structure of the to-be-transmitted data, so that field segments in the to-be-transmitted data are arranged based on a preset order; and the preset order includes a rule that a field segment with a high probability of change is arranged at a low position and a field segment with a low probability of change is arranged at a high position.

[0159] Optionally, the identification information of the reference sample includes an original initiator mark used for marking an original initiator; and the difference calculation module 21 is configured to delete an original initiator mark field segment in the to-be-transmitted data.

[0160] Optionally, the preset order is an order after re-dividing original field segments, the original field segments are original field segments in the to-be-transmitted data, and the re-dividing of the original field segments specifically includes dividing one original field segment into a plurality of field segments.

[0161] Optionally, the identification information of the reference sample includes an original initiator mark used for marking an original initiator; and the difference calculation module 21 is configured to determine a reference sample corresponding to the to-be-transmitted data, the reference sample being related to the to-be-transmitted data in a data structure, and specifically, determining the reference sample corresponding to the to-be-transmitted data according to an original initiator of the to-be-transmitted data.

[0162] Optionally, one original initiator corresponds to one reference sample group, and one reference sample group includes at least one reference sample; and the difference calculation module 21 is configured to determine a reference sample corresponding to the to-be-transmitted data, the reference sample being related to the to-be-transmitted data in a data structure, and including:

[0163] determining a reference sample group corresponding to the to-be-transmitted data according to an original initiator of the to-be-transmitted data;

[0164] determining, in the reference sample group, a reference sample closest to a data structure of the to-be-transmitted data.

[0165] Optionally, the difference calculation module 21 is further configured to determine whether the difference is greater than or equal to a preset value.

[0166] If not, the identification information of the reference sample and the difference are sent; and if yes, the to-be-transmitted data is sent.

[0167] Optionally, the first data sending module 22 is configured to send the identification information of the reference sample and the difference value, and specifically, send the identification information of the reference sample and the difference value based on a preset format, wherein the preset format comprises a data length, the identification information of the reference sample and the difference value, and the data length is used to indicate the data length of the identification information of the reference sample and the data length of the difference value.

[0168] Optionally, the data transmission device further comprises a first sample management module 23 configured to store the data to be transmitted as a reference sample in a first preset storage space, wherein the first preset storage space is a storage space for storing reference samples, and if the first preset storage space has a remaining space, a storage operation is directly performed; if the first preset storage space has no remaining space, an existing reference sample is deleted based on a preset replacement strategy, and then a storage operation is performed.

[0169] Optionally, after the first sample management module 23 stores the data to be transmitted as a reference sample in the first preset storage space, the difference value calculation module 21 is further configured to set a sample update mark in the data to be transmitted, and the first data sending module 22 sends the data to be transmitted.

[0170] In an optional implementation, the embodiment of the present application provides a data transmission device, which is applied to a receiving end of data, for example, can be applied to a transmission layer of the receiving end, and the device comprises a first preprocessing module 20, a difference value calculation module 21 and a first data sending module 22. Figure 15 An optional block diagram of the data transmission device provided by the embodiment of the present application is shown, and the device can comprise a second preprocessing module 30 and a data recovery module 31.

[0171] The second preprocessing module 30 is configured to acquire identification information of a reference sample and a difference value, wherein the reference sample is related to data to be transmitted in a data structure, the identification information of the reference sample is used to determine the reference sample, and the difference value is a difference value between the data to be transmitted and the reference sample.

[0172] The data recovery module 31 is configured to determine the reference sample according to the identification information of the reference sample, and restore the data to be transmitted based on the reference sample and the difference value.

[0173] Optionally, the second preprocessing module 30 is further configured to receive data sent by a sending end, judge whether the received data contains identification information of a reference sample and a difference value, and if yes, acquire the identification information of the reference sample and the difference value.

[0174] Optionally, the data transmission device further comprises a second sample management module 32 configured to determine whether the received data contains a sample update mark; if yes, store the received data as a reference sample in a second preset storage space; wherein the second preset storage space is a storage space for storing reference samples, and if the second preset storage space has a remaining space, directly perform a storage operation; if the second preset storage space has no remaining space, delete an existing reference sample based on a preset replacement strategy, and then perform a storage operation.

[0175] Optionally, the domain segment in the to-be-transmitted data is arranged based on a preset order, and the data recovery module 31 is further configured to adjust a data structure of the to-be-transmitted data, so that the domain segment in the to-be-transmitted data is arranged based on an original order; the original order is an arrangement order before the to-be-transmitted data is adjusted to the preset order.

[0176] Optionally, in the process of adjusting the data structure of the to-be-transmitted data, the data recovery module 31 is further configured to add an original initiator mark domain segment in the to-be-transmitted data.

[0177] Optionally, the data transmission device further comprises a second data sending module 33 configured to send the to-be-transmitted data to a device pointed by the to-be-transmitted data.

[0178] The embodiment of the present application further provides a data transmission system, which can be configured to execute the data transmission method for a sending end provided by the embodiment of the present application, and / or the data transmission method for a receiving end provided by the embodiment of the present application.

[0179] The embodiment of the present application further provides a computer device, which can comprise at least one memory and at least one processor; the memory stores one or more computer executable instructions, and the processor invokes the one or more computer executable instructions to execute the data transmission method for a sending end provided by the embodiment of the present application, and / or the data transmission method for a receiving end provided by the embodiment of the present application.

[0180] The embodiment of the present application provides a storage medium, which stores one or more executable instructions, and the one or more executable instructions are used to execute the data transmission method for a sending end provided by the embodiment of the present application, and / or the data transmission method for a receiving end provided by the embodiment of the present application.

[0181] The above describes a plurality of embodiment schemes provided by the embodiments of the present application. The optional modes introduced by each embodiment scheme can be combined with each other and cross-referenced in the case of no conflict, thereby extending a plurality of possible embodiment schemes, which can be considered as the embodiments disclosed and published by the embodiments of the present application.

[0182] Although the embodiments of the present application are disclosed as above, the present application is not limited to this. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present application, and therefore the protection scope of the present application should be subject to the range defined by the claims.

Claims

1. A data transmission method, characterized in that, For chip interconnect scenarios, applied to the transmitting end, including: Acquire data to be transmitted, wherein the data to be transmitted is bus data, the bus data includes control data, and the bus data is data transmitted from one chip to another chip via a bus. The data structure of the data to be transmitted is adjusted so that the fields in the data to be transmitted are arranged in a preset order. The preset order is determined based on the probability of each field changing in the data structure. The sorting rules of the preset order include: fields with a high probability of changing are placed in the lower position, and fields with a low probability of changing are placed in the higher position. A reference sample corresponding to the data to be transmitted is determined. The reference sample is related to the data to be transmitted in terms of data structure. The data structure of the reference sample is an adjusted structure. The field segments in the reference sample are arranged according to the preset order. The reference sample is a preset data model used as a reference basis. Calculate the difference between the data to be transmitted and the data of the reference sample; The identification information of the reference sample and the difference are sent; wherein, the identification information of the reference sample includes an original initiator tag for marking the original initiator, and the identification information of the reference sample is used to determine the reference sample so that the receiving end can reconstruct the data to be transmitted based on the reference sample and the difference, and the reference sample and its corresponding identification information are the same in the sending end and the receiving end.

2. The method according to claim 1, characterized in that, After acquiring the data to be transmitted and before determining the reference sample corresponding to the data to be transmitted, the method further includes: Based on preset rules, it is determined whether to process the data to be transmitted; wherein, the preset rules include data type rules, data source rules and / or data identification rules; If yes, perform the step of determining the reference example corresponding to the data to be transmitted; otherwise, send the data to be transmitted.

3. The method according to claim 1, characterized in that, In the step of adjusting the data structure of the data to be transmitted, the original initiator tag field segment in the data to be transmitted is also deleted.

4. The method according to claim 1, characterized in that, The preset order is the order after the original domain segments are re-divided. The original domain segments are the original domain segments in the data to be transmitted. The re-division of the original domain segments specifically means dividing one original domain segment into multiple domain segments.

5. The method according to claim 1, characterized in that, The step of determining a reference example corresponding to the data to be transmitted, wherein the reference example is related to the data to be transmitted in terms of data structure, specifically, determining a reference example corresponding to the data to be transmitted based on the original initiator of the data to be transmitted.

6. The method according to claim 1, characterized in that, One original initiator corresponds to one set of reference samples, and a set of reference samples includes at least one reference sample; determining the reference sample corresponding to the data to be transmitted, wherein the reference sample is structurally related to the data to be transmitted, includes: Based on the original initiator of the data to be transmitted, determine the reference sample group corresponding to the data to be transmitted; In the set of reference examples, the reference example that is closest to the data structure of the data to be transmitted is determined.

7. The method according to claim 1, characterized in that, After calculating the difference between the data to be transmitted and the data of the reference sample, and before sending the identification information of the reference sample and the difference, the method further includes: Determine whether the difference is greater than or equal to a preset value; If not, execute the step of sending the identification information of the reference sample and the difference; if yes, send the data to be transmitted.

8. The method according to claim 1, characterized in that, Sending the identification information of the reference sample and the difference specifically involves sending the identification information of the reference sample and the difference based on a preset format. The preset format includes a data length, the identification information of the reference sample, and the difference, wherein the data length is used to indicate the data length of the identification information of the reference sample and the data length of the difference.

9. The method according to claim 1, characterized in that, In the step of determining whether to process the data to be transmitted based on preset rules; If so, and the data to be transmitted has not been successfully processed, then the method further includes: The data to be transmitted is used as a reference example and stored in the first preset storage space; The first preset storage space is a storage space used to store reference samples. If there is remaining space in the first preset storage space, the storage operation is performed directly. If there is no remaining space in the first preset storage space, an existing reference sample is deleted based on a preset replacement strategy, and then the storage operation is performed.

10. The method according to claim 9, characterized in that, After storing the data to be transmitted as a reference sample in the first preset storage space, the method further includes: Set a sample update flag within the data to be transmitted, and then send the data to be transmitted.

11. A data transmission method, characterized in that, For chip interconnect scenarios, applied at the receiving end, including: Obtain the identification information and difference of the reference sample sent by the sending end; wherein, the reference sample is related to the data to be transmitted in terms of data structure, the data structure of the reference sample is an adjusted structure, the field segments in the reference sample are arranged according to a preset order, the preset order is determined based on the probability of each field segment changing in the data structure, the sorting rules of the preset order include: field segments with a high probability of change are placed in the lower position, and field segments with a low probability of change are placed in the higher position, the reference sample is a preset data model used as a reference basis, the identification information of the reference sample includes an original initiator tag used to mark the original initiator, the identification information of the reference sample is used to identify the reference sample, the difference is the difference between the data to be transmitted and the data of the reference sample, and the reference sample and its corresponding identification information are the same in the receiving end and the sending end; The reference sample is determined based on the identification information of the reference sample; Based on the reference sample and the difference, the data to be transmitted is restored. The data to be transmitted is bus data, which includes control data. The bus data is data transmitted from one chip to another via a bus. The domain segments in the data to be transmitted are arranged in a preset order.

12. The method according to claim 11, characterized in that, Before obtaining the identification information and difference of the reference sample, the process also includes: Receive data sent by the sending end; Determine whether the received data contains the identification information and difference of the reference sample; If so, proceed with obtaining the identification information and difference of the reference sample.

13. The method according to claim 12, characterized in that, After receiving the data sent by the sending end, the method further includes: Determine whether the received data contains sample update tags; If so, the received data is used as a reference sample and stored in the second preset storage space; The second preset storage space is used to store reference samples. If there is remaining space in the second preset storage space, the storage operation is performed directly. If there is no remaining space in the second preset storage space, an existing reference sample is deleted based on a preset replacement strategy, and then the storage operation is performed.

14. The method according to claim 11, characterized in that, After restoring the data to be transmitted based on the reference sample and the difference, the method further includes: Adjust the data structure of the data to be transmitted so that the field segments in the data to be transmitted are arranged based on the original order; The original order is the arrangement of the data to be transmitted before it was adjusted to the preset order.

15. The method according to claim 14, characterized in that, In the step of adjusting the data structure of the data to be transmitted, an original initiator marker field is also added to the data to be transmitted.

16. The method according to claim 14, characterized in that, After restoring the data to be transmitted based on the reference sample and the difference, the process further includes: Send the data to be transmitted to the device to which the data to be transmitted is directed.

17. A data transmission device, characterized in that, For chip interconnect scenarios, including: The first preprocessing module is used to acquire data to be transmitted, the data to be transmitted is bus data, the bus data includes control data, and the bus data is data transmitted from one chip to another chip via a bus. The difference calculation module is used to adjust the data structure of the data to be transmitted, so that the fields in the data to be transmitted are arranged according to a preset order. The preset order is determined based on the probability of each field changing in the data structure. The sorting rules of the preset order include: fields with a high probability of changing are placed in lower positions, and fields with a low probability of changing are placed in higher positions; a reference sample corresponding to the data to be transmitted is determined. The reference sample is related to the data to be transmitted in terms of data structure. The data structure of the reference sample is the adjusted structure. The fields in the reference sample are arranged according to the preset order. The reference sample is a preset data model used as a reference basis; the difference between the data to be transmitted and the data of the reference sample is calculated. The first data sending module is used to send the identification information of the reference sample and the difference; wherein, the identification information of the reference sample includes an original initiator marker for marking the original initiator, and the identification information of the reference sample is used to determine the reference sample so that the receiving end can reconstruct the data to be transmitted based on the reference sample and the difference, and the reference sample and its corresponding identification information are the same in the sending end and the receiving end.

18. The apparatus according to claim 17, characterized in that, The first preprocessing module is further configured to determine whether to process the data to be transmitted based on preset rules, the preset rules including data type rules, data source rules and / or data identification rules; if yes, the difference calculation module determines a reference example corresponding to the data to be transmitted; if no, the data sending module sends the data to be transmitted.

19. The apparatus according to claim 17, characterized in that, Also includes: The first sample management module is used to store the data to be transmitted as a reference sample in a first preset storage space. The first preset storage space is a storage space for storing reference samples. If there is remaining space in the first preset storage space, the storage operation is performed directly. If there is no remaining space in the first preset storage space, an existing reference sample is deleted based on a preset replacement strategy, and then the storage operation is performed.

20. A data transmission device, characterized in that, For chip interconnect scenarios, including: The second preprocessing module is used by the sending end to send the identification information and difference of the reference sample. The reference sample is structurally related to the data to be transmitted. The data structure of the reference sample is an adjusted structure. The domain segments in the reference sample are arranged according to a preset order, which is determined based on the probability of changes in each domain segment in the data structure. The sorting rules of the preset order include: domain segments with a high probability of change are placed in the lower position, and domain segments with a low probability of change are placed in the higher position. The reference sample is a preset data model used as a reference basis. The identification information of the reference sample includes an original initiator tag used to mark the original initiator. The identification information of the reference sample is used to determine the reference sample. The difference is the difference between the data to be transmitted and the data of the reference sample. The reference sample and its corresponding identification information are the same in the receiving end and the sending end. The data recovery module is used to determine the reference sample based on the identification information of the reference sample; and to restore the data to be transmitted based on the reference sample and the difference. The data to be transmitted is bus data, which includes control data. The bus data is data transmitted from one chip to another via a bus, and the fields in the data to be transmitted are arranged in a preset order.

21. The apparatus according to claim 20, characterized in that, The second preprocessing module is also used to receive data sent by the sending end; determine whether the received data contains the identification information and difference of the reference sample; if so, obtain the identification information and difference of the reference sample.

22. The apparatus according to claim 20, characterized in that, Also includes: The second sample management module is used to determine whether the received data contains a sample update flag; if so, the received data is used as a reference sample and stored in the second preset storage space; wherein, the second preset storage space is a storage space used to store reference samples. If there is remaining space in the second preset storage space, the storage operation is performed directly; if there is no remaining space in the second preset storage space, an existing reference sample is deleted based on a preset replacement strategy, and then the storage operation is performed.

23. The apparatus according to claim 20, characterized in that, The data recovery module is also used to adjust the data structure of the data to be transmitted so that the field segments in the data to be transmitted are arranged based on the original order; the original order is the arrangement order of the data to be transmitted before it is adjusted to the preset order.

24. The apparatus according to claim 20, characterized in that, Also includes: The second data transmission module is used to send the data to be transmitted to the device to which the data to be transmitted is directed.

25. A data transmission system, characterized in that, The data transmission system is configured to perform the data transmission method as described in any one of claims 1-10, and / or to perform the data transmission method as described in any one of claims 11-16.

26. A computer device, characterized in that, include: At least one memory and at least one processor; The memory stores one or more computer-executable instructions, and the processor invokes the one or more computer-executable instructions to execute the data transmission method as described in any one of claims 1-10, and / or to execute the data transmission generation method as described in any one of claims 11-16.

27. A storage medium, characterized in that, The storage medium stores one or more executable instructions, which are used to execute the data transmission method as described in any one of claims 1-10, and / or to execute the data transmission generation method as described in any one of claims 11-16.

Citation Information

Patent Citations

  • Data transmission method and device

    CN107018150A

  • Data transmission method and device

    CN110636009A