[go: up one dir, main page]

CN120295958B - Data transmission method, device, medium and product - Google Patents

Data transmission method, device, medium and product

Info

Publication number
CN120295958B
CN120295958B CN202510788370.4A CN202510788370A CN120295958B CN 120295958 B CN120295958 B CN 120295958B CN 202510788370 A CN202510788370 A CN 202510788370A CN 120295958 B CN120295958 B CN 120295958B
Authority
CN
China
Prior art keywords
data
read
slave device
cache
virtual channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202510788370.4A
Other languages
Chinese (zh)
Other versions
CN120295958A (en
Inventor
王凯
符云越
刘凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202510788370.4A priority Critical patent/CN120295958B/en
Publication of CN120295958A publication Critical patent/CN120295958A/en
Application granted granted Critical
Publication of CN120295958B publication Critical patent/CN120295958B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention discloses a data transmission method, equipment, a medium and a product, which relate to the technical field of communication and comprise the steps that a master end sends a read-write request to a slave end, a target virtual channel is determined from a plurality of virtual channels after receiving a confirmation receiving signal replied by the slave end, a channel identifier of the target virtual channel and the read-write request are sent to the slave end, the execution result is stored in a cache through the target virtual channel corresponding to the channel identifier when receiving an execution result and the channel identifier returned by the slave end, the execution result is generated when the slave end executes read-write operation based on the read-write request, a refreshing request generated by the slave end based on a retention data list is acquired after the read-write operation is ended, and a confirmation refreshing signal is replied to the slave end so that the slave end retransmits the retention data to the master end and updates the retention data list, and the updated retention data list sent by the slave end after the retransmission operation is ended is acquired, and a refreshing completion signal is replied to the slave end. The reliability of multiple data transmissions is improved based on a four-way handshake between the master and slave.

Description

Data transmission method, device, medium and product
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data transmission method, apparatus, medium, and product.
Background
A SoC (System on Chip) Chip is a highly integrated circuit design that can integrate all critical components of a computer or other electronic System onto a single Chip. In the SoC Chip, an On-Chip Bus (On-Chip Bus) can realize rapid data exchange among the processor, the memory and the peripheral equipment, support the concurrent communication of multiple modules and meet the requirements of a complex system.
The bus handshake mechanism in the chip is a protocol for controlling data transmission, and ensures reliable and efficient data transmission between a sender and a receiver. Common handshake mechanisms include the VALID/READY protocol, in which the sender indicates that data is READY via a VALID signal and the receiver indicates that data can be received via a READY signal. When the VALID and READY signals are both high, the sender transmits data to the receiver, at which point the data transmission is complete. The handshake mechanism supports bidirectional flow control, a sender controls sending time, a receiver controls receiving speed, and data congestion and loss are avoided. However, the handshake mechanism can only ensure the reliability of single data transmission, and if the data transmission is abnormal, the data transmission is not complete, and the handshake mechanism does not provide a corresponding solution, so that the problem of data loss in the transmission process can be caused, and the next data transmission is influenced.
It can be seen how to improve the reliability of multiple data transmissions is a problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The embodiment of the invention aims to provide a data transmission method, device, medium and product, which can improve the reliability of multiple data transmission based on four-way handshake between a master device end and a slave device end. The specific scheme is as follows:
in a first aspect, the present invention provides a data transmission method, applied to a main device side, including:
the method comprises the steps of sending a read-write request to a slave device side so as to determine a target virtual channel from a plurality of virtual channels after receiving a confirmation receiving signal replied by the slave device side based on the read-write request;
the method comprises the steps of sending a channel identifier of a target virtual channel and a read-write request to a slave device side, and storing an execution result into a corresponding cache through the target virtual channel corresponding to the channel identifier when the execution result and the channel identifier returned by the slave device side are obtained;
The method comprises the steps of obtaining a refreshing request generated by a slave device end based on a retained data list after finishing data read-write operation, and replying a confirmation refreshing signal to the slave device end so that the slave device end retransmits retained data to a master device end and updates the retained data list, wherein the retained data list is used for recording information of each retained data;
And acquiring an updated retained data list sent by the slave device after the retransmission operation is finished, and replying a refresh completion signal to the slave device.
Optionally, the master device end and the slave device end are communicated through an on-chip bus;
Correspondingly, the slave device retransmits the retained data to the master device, comprising:
And the slave equipment end splices each retained data by utilizing the transmission bandwidth of the bus, and retransmits the spliced data to the master equipment end.
Optionally, determining the target virtual channel from the plurality of virtual channels includes:
Acquiring each data to be read and written from the corresponding cache based on the read-write request;
and determining a target virtual channel from the virtual channels according to the data to be read and written and the credit signals.
Optionally, determining the target virtual channel from the plurality of virtual channels according to the data to be read and written and the credit signal includes:
respectively distributing first target virtual channels for the data to be read and written from a plurality of virtual channels, and respectively storing the data to be read and written into the corresponding first target virtual channels;
and determining a second target virtual channel with the credit count not smaller than the preset count from the plurality of virtual channels according to the credit signals so as to output the data to be read and written stored in the first target virtual channel through the second target virtual channel.
Optionally, sending the channel identifier of the target virtual channel and the read-write request to the slave device side includes:
And sending the channel identifiers of the first target virtual channel and the second target virtual channel and a read-write request containing the data to be read-written output by the second target virtual channel to the slave equipment side.
Optionally, the refresh request is a request generated by the slave device based on whether the information of the retention data exists in the retention data list, wherein if the information of the retention data does not exist in the retention data list, the refresh request is not generated, and if the information of the retention data exists in the retention data list, the refresh request is generated.
Optionally, the data transmission method of the present invention further includes:
when the retention buffer memory and the local buffer memory in the slave device end reach respective corresponding buffer memory threshold values, a back pressure signal sent by the slave device end is obtained;
when the channel use number of the virtual channels reaches a preset number and each buffer memory in the main equipment end reaches a buffer memory threshold value corresponding to each buffer memory, a back pressure signal is sent to the upper computer, so that the upper computer stops sending data to the main equipment end;
The local cache is used for storing data generated from the equipment end and data acquired from the outside.
Optionally, before sending the back pressure signal to the host computer, the method further includes:
When the number of channels reaches a preset number, sending a back pressure signal to a secondary data buffer in the main equipment end through a primary list buffer in the main equipment end so as to inhibit the secondary data buffer from sending data to a plurality of virtual channels;
when the secondary data buffer reaches a corresponding buffer threshold, starting a back pressure buffer in the main equipment terminal based on a back pressure signal so as to receive data sent by the upper computer through the started back pressure buffer;
triggering the operation of sending the back pressure signal to the upper computer when the back pressure buffer reaches a corresponding buffer threshold;
the primary list cache is used for storing state information of the secondary data cache, the primary equipment end and the secondary equipment end, and the secondary data cache is used for storing data generated by the primary equipment end and data acquired from the outside.
Optionally, the data transmission method of the present invention further includes:
when a preset change event is monitored or a new slave device is monitored to be accessed, updating the first-level list cache;
The preset change event is an event of changing state information of the secondary data cache, the master equipment end or the slave equipment end.
Optionally, the state information of any object includes an object identifier, an occupied space identifier, a channel identifier of a virtual channel, and a state field set, where any object is any one of a secondary data cache, a master device side and a slave device side, and the occupied space identifier is used to identify the space size occupied by the state information of any object in the primary list cache.
Optionally, the state field set of any object includes a data state identifier, a full free space identifier and a scattered free space identifier for data to be read and written, where the full free space identifier is used to identify whether the cache of any object is a full free space, the scattered free space identifier is used to identify a duty ratio of the scattered free space in the cache of any object, the scattered free space is a block space containing free address segments in each block space, each block space is a space obtained by blocking the cache of any object, and data is stored in addresses adjacent to the front and rear of the free address segments.
Optionally, the state information of any object further includes a custom field associated with the fragmented free space identifier;
Correspondingly, when target data is required to be written into the cache of any object, determining each free address segment from the cache of any object based on the custom field and the fragmented free space identifier, and writing the target data into the target free address segment after determining the target free address segment capable of completely storing the target data from each free address segment.
In a second aspect, the present invention provides an electronic device comprising:
a memory for storing a computer program;
a processor for executing the computer program to implement the steps of the aforementioned data transmission method.
In a third aspect, the present invention provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of the aforementioned data transmission method.
In a fourth aspect, the invention provides a computer program product comprising computer programs/instructions which when executed by a processor implement the steps of the aforementioned data transmission method.
The method comprises the steps of sending a read-write request to a slave device side by a master device side to determine a target virtual channel from a plurality of virtual channels after receiving a confirmation receiving signal replied by the slave device side based on the read-write request, sending a channel identifier of the target virtual channel and the read-write request to the slave device side to store an execution result corresponding to the channel identifier in a corresponding cache when the execution result and the channel identifier returned by the slave device side are obtained, obtaining a refresh request generated by the slave device side based on a retention data list after finishing the read-write operation of the data based on the read-write request, replying a confirmation refreshing signal to the slave device side so as to enable the slave device side to resend the retention data to the master device side and update the retention data list, wherein the retention data list is used for recording information of each retention data, obtaining the updated retention data list sent by the slave device side after finishing the resending operation, and replying a refresh signal to the slave device side.
The method has the advantages that the master equipment end sends the read-write request to the slave equipment end and receives the confirmation receiving signal replied by the slave equipment end, the method belongs to first handshaking between the master equipment end and the slave equipment end, and the purpose of the first handshaking is to determine whether the master equipment end can send the channel identification and the read-write request of the target virtual channel to the slave equipment end or not and determine whether the slave equipment end can receive the channel identification and the read-write request of the target virtual channel sent by the master equipment end or not. And then, the master equipment end sends the channel identification and the read-write request of the target virtual channel to the slave equipment end, and receives the execution result and the channel identification replied by the slave equipment end, which belong to a second handshake between the master equipment end and the slave equipment end, wherein the purpose of the second handshake is to realize the data read-write of the master equipment end to the slave equipment end. And next, the slave device generates a refresh request based on the retention data list after finishing the data read-write operation and sends the refresh request to the master device and receives a confirmation refresh signal replied by the master device, which belongs to a third handshake between the master device and the slave device, wherein the purpose of the third handshake is to retransmit the retention data which needs to be sent to the master device in the slave device to the master device, solve the problem that the slave device has data which is not sent to the master device because of the internal retention of the slave device after finishing the data read-write operation abnormally, avoid the data loss in the transmission process, and improve the reliability of data transmission. And finally, the slave device side sends the retention data list to the master device side and receives a refreshing completion signal replied by the master device side, which belongs to a fourth handshake between the master device side and the slave device side, and the purpose of the fourth handshake is to synchronize the current situation of internal retention data to the master device side by the slave device side. Therefore, through four-way handshake between the master equipment end and the slave equipment end, the invention not only can ensure the mutual communication and interconnection between the master equipment end and the slave equipment end, but also can ensure the reliability of multiple data transmission between the master equipment end and the slave equipment end.
Drawings
For a clearer description of embodiments of the present invention, the drawings that are required to be used in the embodiments will be briefly described, it being apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to the drawings without inventive effort for those skilled in the art.
Fig. 1 is a flowchart of a data transmission method according to an embodiment of the present invention;
fig. 2 is a flow chart of virtual channel selection according to an embodiment of the present invention;
FIG. 3 is a flow chart of a multi-level buffer backpressure process according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a status field set according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a first level list cache according to an embodiment of the present invention;
fig. 6 is a diagram of a data transmission structure according to an embodiment of the present invention;
fig. 7 is a flow chart of a four-way handshake according to an embodiment of the present invention;
FIG. 8 is a flow chart of another four-way handshake according to an embodiment of the present inventions;
Fig. 9 is a block diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without making any inventive effort are within the scope of the present invention.
The terms "comprising" and "having" in the description of the invention and in the above-described figures, as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements but may include other steps or elements not expressly listed.
In order to better understand the aspects of the present invention, the present invention will be described in further detail with reference to the accompanying drawings and detailed description.
In the VALID/READY handshake protocol, only the reliability of single data transmission can be ensured, if the data transmission is abnormal, the data is not completely transmitted, and the handshake mechanism does not provide a corresponding solution, so that the problem of data loss in the transmission process can be caused, and the next data transmission is influenced. Therefore, the invention provides a data transmission method which can improve the reliability of multiple data transmission based on four-way handshake between a main equipment end and a slave equipment end.
Referring to fig. 1, an embodiment of the present invention provides a data transmission method, which is applied to a main device side, and includes:
Step S11, the read-write request is sent to the slave device side, and after receiving a confirmation receiving signal replied by the slave device side based on the read-write request, a target virtual channel is determined from a plurality of virtual channels.
In the embodiment of the invention, a master device side acquires a read-write request sent by an upper computer and executes a first handshake operation to send the read-write request to a slave device side through an on-chip bus, correspondingly, the slave device side determines whether to reply a confirmation receiving signal to the master device side according to a local cache in the slave device side after receiving the read-write request, and the master device side receives the confirmation receiving signal replied by the slave device side through the on-chip bus and determines a target virtual channel from a plurality of virtual channels.
It should be noted that the number of slave device ends is at least one, and the slave device ends are connected with the master device end through the on-chip bus, that is, the master device end and the slave device ends are mutually communicated through the on-chip bus, or, signal/data transmission between the master device end and the slave device ends can be transmitted to each other only through the on-chip bus.
After receiving the read-write request, the slave device analyzes the read-write request to determine the buffer capacity required by the read-write, and determines whether the read-write can be performed normally according to the buffer capacity required by the read-write and the free capacity in the local buffer. If the read-write is not possible, the refused receiving signal is returned to the main equipment end through the on-chip bus. If the read-write can be performed normally, the confirmation receiving signal is returned to the main equipment side through the on-chip bus.
Specifically, if the buffer capacity required by the current reading and writing is larger than the free capacity in the local buffer, the normal reading and writing can not be ensured, and if the buffer capacity required by the current reading and writing is smaller than or equal to the free capacity in the local buffer, the normal reading and writing can be ensured.
Further, in the process of determining the target virtual channel from the virtual channels, each data to be read and written is obtained from the corresponding cache based on the read-write request, and the target virtual channel is determined from the virtual channels according to each data to be read and written and the credit signal.
The method comprises the steps of obtaining data to be read and written from corresponding caches based on read and write requests, respectively distributing first target virtual channels for the data to be read and written from a plurality of virtual channels, respectively storing the data to be read and written into corresponding first target virtual channels, determining a second target virtual channel with credit count not smaller than preset count from the virtual channels according to credit signals, and outputting the data to be read and written stored in the first target virtual channel through the second target virtual channel.
It should be noted that, for the determination of the first target virtual channel and the determination of the second target virtual channel, the sequence is not divided, that is, the first target virtual channel may be determined first, the second target virtual channel may be determined first, the first target virtual channel may be determined second, and the first target virtual channel and the second target virtual channel may be determined simultaneously.
As shown in fig. 2, taking the case that a plurality of data to be read and written are obtained from corresponding caches at the same time, virtual channel arbitration is performed on the plurality of data to be read and written based on a read and write request, so as to respectively allocate a first target virtual channel for the plurality of data to be read and written from a plurality of virtual channels, and then the plurality of data to be read and written are respectively stored in the corresponding first target virtual channels. And determining credit positions of the virtual channels according to the credit signals, and selecting a second target virtual channel of the credit position 1, wherein the credit position 1 of the virtual channel represents that the credit count of the virtual channel is not less than a preset count, and the preset count can be set to 0. And then outputting the data to be read and written stored in the first target virtual channel through the second target virtual channel.
In the process of outputting the data to be read and written stored in the first target virtual channel through the second target virtual channel, determining the second target virtual channel corresponding to each first target virtual channel based on the overlapping condition and/or the loading condition of the first target virtual channel and the second target virtual channel, and outputting the data to be read and written stored in the first target virtual channel through the corresponding second target virtual channel. In this way, by considering the overlapping situation, the number of data transmissions between the cross channels can be reduced, and by considering the load situation, load balancing between the virtual channels can be ensured to a greater extent.
According to one embodiment, when the overlapping condition of the first target virtual channel and the second target virtual channel represents that the first target virtual channel and the second target virtual channel have overlapping channels, for any channel in the first target virtual channel, if any channel is an overlapping channel, determining a channel consistent with any channel in the second target virtual channel as a second target virtual channel corresponding to any channel, and if any channel is not an overlapping channel, determining a channel with the smallest current load from the second target virtual channel according to the load condition of the second target virtual channel, and determining the channel with the smallest current load as the second target virtual channel corresponding to any channel.
In addition, priorities may be set for the plurality of virtual channels, so as to further combine the priorities of the first target virtual channel and the second target virtual channel, and determine the second target virtual channel corresponding to each first target virtual channel. And selecting a second target virtual channel for the first target virtual channel with high priority, and selecting the corresponding second target virtual channel with high priority.
It should be noted that, if only one data to be read and written is obtained from the corresponding buffer at the same time, virtual channel arbitration is not needed for the data to be read and written, and the first target virtual channel is directly allocated to the data to be read and written from the plurality of virtual channels.
Step S12, a channel identifier of the target virtual channel and a read-write request are sent to the slave device side, so that when an execution result and the channel identifier returned by the slave device side are obtained, the execution result is stored in a corresponding cache through the target virtual channel corresponding to the channel identifier, and the execution result is generated when the slave device side executes corresponding data read-write operation based on the read-write request.
In the embodiment of the invention, the master device side executes a second handshake operation to send a channel identifier of a first target virtual channel and a channel identifier of a second target virtual channel and a read-write request containing data to be read and written output by the second target virtual channel to the slave device side through an on-chip bus, correspondingly, the slave device side executes corresponding data read-write operation on a local cache based on the read-write request to read/write the data to be read and written in the local cache, and returns an execution result and the channel identifier generated when the data read-write operation is executed to the master device side through the on-chip bus, and the master device side stores the execution result into the corresponding cache through the target virtual channel corresponding to the channel identifier when receiving the execution result and the channel identifier.
The local cache in the slave device side is used for storing data generated by the slave device side and data acquired from the outside, wherein the data acquired from the outside comprises data acquired from the master device side, data acquired from an upper computer and the like. And, the local cache in the slave device side is implemented using Static Random-Access Memory (SRAM), and simultaneously, the reading and writing of data are managed by the read-write pointer.
And S13, acquiring a refreshing request generated by the slave equipment end based on the retained data list after finishing the data read-write operation, and replying a confirmation refreshing signal to the slave equipment end so that the slave equipment end retransmits the retained data to the master equipment end and updates the retained data list, wherein the retained data list is used for recording the information of each retained data.
In the embodiment of the invention, after the slave device end normally finishes the data read-write operation, the slave device end determines whether to generate a refresh request based on the retained data list, if the refresh request is generated, a third handshake operation is executed to send the refresh request to the master device end through the on-chip bus and acquire a confirmed refresh signal replied by the master device end based on the refresh request, so that the slave device end retransmits the retained data to the master device end when receiving the confirmed refresh signal and updates the retained data list. If the refresh request is not generated, the third handshake operation is not executed, namely the four-way handshake between the main equipment end and the slave equipment end of the round is ended.
Wherein, the retention data refers to data which is retained in the slave device side and needs to be sent to the master device side. The reason for the generation of the retention data includes, but is not limited to, when the slave device performs the data reading operation, the slave device does not completely read the data in the slave device to the master device due to the abnormal end of the data reading operation, and the parameter of the on-chip bus is reset to end the four-way handshake of the round, at this time, the slave device continues to read the residual data from the local cache to the retention cache of the slave device, so that the slave device retransmits the retention data in the retention cache to the master device based on the retention data list when the slave device performs the third handshake operation in the four-way handshake in the next round.
It should be noted that, considering the actual working situations of the master device side and the slave device side, the retained data may be all retransmitted to the master device side in the third handshake operation of a certain round, or only a part of the retained data may be retransmitted to the master device side in the third handshake operation of a certain round, in which case, the retained data may be further retransmitted to the master device side in the third handshake operation of a subsequent round until the retained data is all retransmitted to the master device side.
And the refresh request is a request generated by the slave device side based on whether the information of the retention data exists in the retention data list. That is, whether or not to generate a refresh request is determined by determining whether or not there is information of the hold-up data in the hold-up data list, and if there is no information of the hold-up data in the hold-up data list, no refresh request is generated, and if there is information of the hold-up data in the hold-up data list, a refresh request is generated.
In addition, the embodiment of the invention considers that if each retention data is sent to the main equipment end through the on-chip bus respectively, the transmission bandwidth of the on-chip bus may not be fully utilized, so that bandwidth waste is caused. Therefore, in the embodiment of the invention, when the slave device receives the acknowledgement refresh signal, the slave device uses the transmission bandwidth of the on-chip bus to splice each retained data, and retransmits the spliced data to the master device. The transmission bandwidth of the on-chip bus can be set to 64bits/128bits and the like, so that the spliced data can fully use the transmission bandwidth of the on-chip bus, and the times of data transmission are reduced.
Further, updating the hold-up data list includes deleting the information of the retransmitted hold-up data from the hold-up data list by the slave device side after retransmitting the hold-up data to the master device side, thereby realizing the update of the hold-up data list. When new hold-up data is generated, information of the newly generated hold-up data is newly added to the hold-up data list to update the hold-up data list.
Step S14, the updated retention data list sent by the slave device end after the retransmission operation is finished is obtained, and a refresh completion signal is returned to the slave device end.
In the embodiment of the invention, after the slave device ends the retransmission operation of the retained data, a fourth handshake operation is performed to send the updated retained data list to the master device and acquire a refresh completion signal replied by the master device.
Wherein, for the end of the retransmission operation, a case is that the master device side determines whether to send a retransmission end signal to the slave device side according to the own operating state and/or the data size of the retention data retransmitted by the slave device side and/or the execution duration of the retransmission operation, so that the slave device side ends the retransmission operation based on the retransmission end signal. In another case, the slave device determines whether to end the retransmission operation according to the operation state of the slave device and/or the data size of the data amount of the data which has been retransmitted and retained in the present round and/or the execution duration of the retransmission operation. Of course, other situations are possible and are not illustrated here too much.
After receiving the hold-up data list sent by the slave device, the master device side can determine information of the hold-up data in the slave device side, for example, how many hold-up data are included in the slave device side, the size of each hold-up data, and the like, and then returns a refresh completion signal to the slave device side so as to end the four-way handshake between the master device side and the slave device side of the round.
In order to solve the problems of data transmission performance degradation and the like possibly caused by bus blockage, the invention further designs a multi-level buffer back pressure mechanism so as to dynamically adjust the data transmission rate by combining four-way handshake and ensure that the high-efficiency operation can be maintained under peak load.
Specifically, when the retention buffer and the local buffer in the slave device end reach respective corresponding buffer thresholds, the master device end obtains the back pressure signals sent by the slave device end, and when the channel usage number of a plurality of virtual channels reaches a preset number and each buffer in the master device end reaches respective corresponding buffer threshold, the back pressure signals are sent to the upper computer, so that the upper computer stops sending data to the master device end. The local cache in the slave device side is used for storing data generated by the slave device side and data acquired from the outside.
More specifically, after the master device obtains the back pressure signals sent by the slave device, when the number of channels used by the virtual channels reaches a preset number, the back pressure signals are sent to the secondary data caches in the master device through the primary list caches in the master device so as to inhibit the secondary data caches from sending data to the virtual channels, when the secondary data caches reach corresponding cache thresholds, the back pressure caches in the master device are started based on the back pressure signals so as to receive the data sent by the upper computer through the started back pressure caches, and when the back pressure caches reach the corresponding cache thresholds, the back pressure signals are triggered to be sent to the upper computer so that the upper computer stops sending the data to the master device.
The primary list cache in the primary equipment end is used for storing secondary data cache, state information of the primary equipment end and the secondary equipment end, and the secondary data cache in the primary equipment end is used for storing data generated by the primary equipment end and data acquired from the outside, wherein the data acquired from the outside comprises, but is not limited to, data acquired from the secondary equipment end and data acquired from an upper computer.
As shown in fig. 3, the multi-level buffer counter-pressure mechanism marks the slave device as a lower layer, the master device as a middle layer, the upper computer as an upper layer, and each buffer in each device corresponds to an independent buffer threshold. Specifically, when the retention buffer in the slave device side reaches a corresponding buffer threshold value 0 and the local buffer in the slave device side reaches a corresponding buffer threshold value 1, the slave device side sends a back pressure signal to the master device side. After receiving the back pressure signals sent by the slave device, the master device sends back pressure signals to a first-level list buffer in the master device when the number of channels of the virtual channels reaches a preset number 2, and control logic of the first-level list buffer sends back pressure signals to a second-level data buffer in the master device, after receiving the back pressure signals, the second-level data buffer stops sending data to the virtual channels, and starts back pressure buffer in the master device based on the back pressure signals when the second-level data buffer reaches a corresponding buffer threshold 3, and receives data sent by the upper computer through the started back pressure buffer, and finally sends back pressure signals to the upper computer when the back pressure buffer reaches a corresponding buffer threshold 4, so that the upper computer stops sending data to the master device.
It should be noted that, the buffer threshold value corresponding to each buffer may be designed to be 90% of the total capacity of each buffer. In this way, when the buffer memory of each layer approaches the corresponding buffer memory threshold value, the embodiment of the invention notifies the previous layer to stop or slow down the data transmission, thereby avoiding the data loss or overflow.
The primary list cache is used for storing the state information of the secondary data cache, the master equipment end and the slave equipment end, so that the master equipment end updates the primary list cache when monitoring a preset change event or monitoring that a new slave equipment is accessed, wherein the preset change event is an event of changing the state information of the secondary data cache, the master equipment end or the slave equipment end.
It should be noted that, after each handshake operation is finished, an event of changing the state information of the secondary data cache, the master device side or the slave device side is basically brought, so that after each handshake operation is finished, the primary list cache is basically updated.
And for any one object in the secondary data cache, the master equipment end and the slave equipment end, recording the object as any object, wherein the state information of any object stored in the primary list cache comprises an object identifier, an occupied space identifier, a channel identifier of a virtual channel and a state field set.
Wherein the object identifiers occupy 8bits, and different objects correspond to different object identifiers. The occupied space identifier occupies 4bits and is used for identifying the size of the space occupied by the state information of any object in the first-level list cache. The channel identifier of the virtual channel also occupies 4bits. The set of status fields takes 8bits.
And the state field set of any object comprises a data state identifier, a full free space identifier and a fragmented free space identifier for data to be read and written. The method comprises the steps of determining whether a cache of any object is a complete free space or not according to a full free space identifier, determining the duty ratio of the free space in the cache of any object according to a broken free space identifier, wherein the free space is a block space containing free address segments in each block space, each block space is a space obtained by blocking the cache of any object, and data are stored in addresses adjacent to each other before and after the free address segments.
As shown in fig. 4, the data state identifiers for the data to be read and written include a data state identifier for the data to be written and a data state identifier for the data to be read, each data state identifier occupies 2bits, and each data state identifier includes four state cases of 00, 01, 10 and 11, where 00 represents an occupied state, 01 represents waiting for writing/waiting for reading, 10 represents waiting for flushing, and 11 represents waiting for external handshake refresh. While the full free space flag occupies 1bit, and a 0 indicates a non-full free space, and a1 indicates a full free space. Taking a cache as an example, the broken free space identifier takes up 3bits, including eight cases of 000, 001, 010, 011, 100, 101, 110 and 111, wherein 000 represents no broken free space, 001 represents 1/8 broken free space, 010 represents 2/8 broken free space, 011 represents 3/8 broken free space, 100 represents 4/8 broken free space, 101 represents 5/8 broken free space, 110 represents 6/8 broken free space, and 111 represents 7/8 broken free space.
It should be noted that, besides dividing a certain cache into eight blocks of space, it may be divided into four blocks, sixteen blocks, and the like, at this time, the number of bits occupied by the fragmented free space identifier needs to be adjusted correspondingly according to the number of the fragments.
For the free address segment, data is stored in addresses adjacent to the free address segment, but no data is stored in the free address segment. For example, the address range of the block space A is 0x0001-0x1110, if the address 0x0001 stores data, 0x0010-0x0100 does not store data, and 0x0101-0x1110 stores data, then 0x0010-0x0100 is a spare address segment, and correspondingly, the block space A is a spare space.
Taking the master device side as an example, the data state identifier for the data to be written is illustrated, when the master device side wants to write the data to the slave device side, the master device side is initially in the 11 state, and after the first handshake operation between the master device side and the slave device side is completed, the master device side is switched to the 01 state, and starts to acquire the data to be written from the second data cache or the back pressure cache, and when the data to be written is acquired, the master device side is switched to the 00 state, and when the second handshake operation is performed to send the data to be written to the slave device side, the master device side is switched to the 10 state, and after the second handshake operation is completed, the master device side is switched to the 11 state.
In addition, the state information of any object stored in the first-level list cache also comprises a custom field associated with the fragmented free space identifier, wherein the custom field occupies 4bits and is used for determining a free address segment in the cache of any object by combining the fragmented free space identifier. Based on this, the level one list cache is shown in fig. 5, where each row represents state information of one object.
Correspondingly, when target data is required to be written into the cache of any object, determining each free address segment from the cache of any object based on the custom field and the fragmented free space identifier, and writing the target data into the target free address segment after determining the target free address segment capable of completely storing the target data from each free address segment. Therefore, the embodiment of the invention can fully utilize the scattered free space in the cache and improve the cache utilization rate.
The method has the advantages that the master equipment end sends the read-write request to the slave equipment end and receives the confirmation receiving signal replied by the slave equipment end, the method belongs to first handshaking between the master equipment end and the slave equipment end, and the purpose of the first handshaking is to determine whether the master equipment end can send the channel identification and the read-write request of the target virtual channel to the slave equipment end or not and determine whether the slave equipment end can receive the channel identification and the read-write request of the target virtual channel sent by the master equipment end or not. And then, the master equipment end sends the channel identification and the read-write request of the target virtual channel to the slave equipment end, and receives the execution result and the channel identification replied by the slave equipment end, which belong to a second handshake between the master equipment end and the slave equipment end, wherein the purpose of the second handshake is to realize the data read-write of the master equipment end to the slave equipment end. And next, the slave device generates a refresh request based on the retention data list after finishing the data read-write operation and sends the refresh request to the master device and receives a confirmation refresh signal replied by the master device, which belongs to a third handshake between the master device and the slave device, wherein the purpose of the third handshake is to retransmit the retention data which needs to be sent to the master device in the slave device to the master device, solve the problem that the slave device has data which is not sent to the master device because of the internal retention of the slave device after finishing the data read-write operation abnormally, avoid the data loss in the transmission process, and improve the reliability of data transmission. And finally, the slave device side sends the retention data list to the master device side and receives a refreshing completion signal replied by the master device side, which belongs to a fourth handshake between the master device side and the slave device side, and the purpose of the fourth handshake is to synchronize the current situation of internal retention data to the master device side by the slave device side. Therefore, through four-way handshake between the master equipment end and the slave equipment end, the invention not only can ensure the mutual communication and interconnection between the master equipment end and the slave equipment end, but also can ensure the reliability of multiple data transmission between the master equipment end and the slave equipment end.
Taking fig. 6 and fig. 7 as an example, a data transmission method according to an embodiment of the present invention will be described in detail.
In the first handshake operation, the master sends a read-write request (i.e. handshake signals) to the slave via the on-chip bus through the handshake mechanism. The slave device receives the read-write request through the handshake mechanism, and replies an acknowledge receiving signal (i.e. handshake signal) to the master device via the on-chip bus. After the master device obtains the acknowledgement receiving signal replied by the slave device through the handshake mechanism, the master device determines that the first handshake operation is finished.
After the primary handshake operation is finished, the primary list cache is updated, a logic sending feedback signal is sent to the bus primary side, data to be read and written are obtained from the secondary data cache/back pressure cache based on a read-write request, and the data to be read and written are output to the bus primary side through a target virtual channel to send logic.
In the second handshake operation, the bus master sending logic outputs the channel identifier of the target virtual channel and the read-write request containing the data to be read-written to the slave via the on-chip bus in parallel. After receiving the channel identification of the target virtual channel and the read-write request containing the data to be read-written through the bus slave end receiving logic, the slave end executes corresponding data read-write operation on the local cache based on the read-write request so as to read/write the data to be read-written in the local cache, and the execution result generated when the data read-write operation is executed and the channel identification of the target virtual channel are parallelly output to the master end through the on-chip bus through the bus slave end feedback logic. When the main equipment receives the execution result and the channel identification of the target virtual channel through the bus main equipment receiving logic, the execution result is stored into the secondary data cache/back pressure cache through the target virtual channel, and the second handshake operation is determined to be finished.
In the third handshake operation, after the slave device end normally finishes the data read-write operation, determining whether to generate a refresh request based on the retention data list, and if the refresh request is generated, sending the refresh request (i.e. handshake signals) to the master device end through the on-chip bus by a handshake mechanism. The master device receives the refresh request through the handshake mechanism and replies an acknowledge refresh signal (i.e., handshake signal) to the slave device via the on-chip bus. After the slave device acquires the acknowledgement refreshing signal through the handshake mechanism, the slave device retransmits the retained data in the retained cache to the master device through the on-chip bus in parallel through the feedback logic of the bus slave device, and simultaneously updates the retained data list until the retransmission operation is finished, so as to finish the third handshake operation.
In the fourth handshake operation, after the slave device ends the retransmission operation, the updated retained data list is output to the master device side in parallel through the on-chip bus by the bus slave feedback logic. After receiving the retention data list, the master device replies a refresh completion signal to the slave device through a handshake mechanism. After receiving the refresh completion signal, the slave device determines that the fourth handshake operation has ended.
Further, as shown in fig. 8, for the four-way handshake between the master device side and the slave device side, the on-chip bus starts to be in an idle state, and when the first handshake signal of the master device side is acquired, the on-chip bus is enabled, and then the four-way handshake operation between the master device side and the slave device side is sequentially performed by using the on-chip bus. If handshake interruption occurs in the process of executing the first handshake operation, the bus in the control chip is switched to an idle state. If a handshake interrupt occurs during the execution of the second handshake operation and the third handshake operation, the on-chip bus is controlled to switch to a reset state, so that after each parameter of the on-chip bus is reset, the on-chip bus is controlled to switch to an idle state. If the data read-write operation is normally finished in the process of executing the second handshake operation, determining whether to generate a refresh request by judging whether information of the retained data exists in the retained data list, if so, continuing to execute the third handshake operation, and if not, not executing the third handshake operation, namely finishing the four-way handshake between the main equipment end and the slave equipment end of the round, and controlling the bus in the chip to be switched to an idle state.
The method has the advantages that the master equipment end sends the read-write request to the slave equipment end and receives the confirmation receiving signal replied by the slave equipment end, the method belongs to first handshaking between the master equipment end and the slave equipment end, and the purpose of the first handshaking is to determine whether the master equipment end can send the channel identification and the read-write request of the target virtual channel to the slave equipment end or not and determine whether the slave equipment end can receive the channel identification and the read-write request of the target virtual channel sent by the master equipment end or not. And then, the master equipment end sends the channel identification and the read-write request of the target virtual channel to the slave equipment end, and receives the execution result and the channel identification replied by the slave equipment end, which belong to a second handshake between the master equipment end and the slave equipment end, wherein the purpose of the second handshake is to realize the data read-write of the master equipment end to the slave equipment end. And next, the slave device generates a refresh request based on the retention data list after finishing the data read-write operation and sends the refresh request to the master device and receives a confirmation refresh signal replied by the master device, which belongs to a third handshake between the master device and the slave device, wherein the purpose of the third handshake is to retransmit the retention data which needs to be sent to the master device in the slave device to the master device, solve the problem that the slave device has data which is not sent to the master device because of the internal retention of the slave device after finishing the data read-write operation abnormally, avoid the data loss in the transmission process, and improve the reliability of data transmission. And finally, the slave device side sends the retention data list to the master device side and receives a refreshing completion signal replied by the master device side, which belongs to a fourth handshake between the master device side and the slave device side, and the purpose of the fourth handshake is to synchronize the current situation of internal retention data to the master device side by the slave device side. Therefore, through four-way handshake between the master equipment end and the slave equipment end, the invention not only can ensure the mutual communication and interconnection between the master equipment end and the slave equipment end, but also can ensure the reliability of multiple data transmission between the master equipment end and the slave equipment end.
Further, the embodiment of the present application further discloses an electronic device, and fig. 9 is a block diagram of an electronic device according to an exemplary embodiment, where the content of the diagram is not to be considered as any limitation on the scope of use of the present application. The electronic device may comprise, in particular, at least one processor 11, at least one memory 12, a power supply 13, a communication interface 14, an input-output interface 15 and a communication bus 16. The memory 12 is used for storing a computer program, which is loaded and executed by the processor 11 to implement the relevant steps in the data transmission method disclosed in any of the foregoing embodiments. In addition, the electronic device in the present embodiment may be specifically an electronic computer.
In this embodiment, the power supply 13 is configured to provide a working voltage for each hardware device on the electronic device, the communication interface 14 is configured to create a data transmission channel with an external device for the electronic device, and the communication protocol to be followed is any communication protocol applicable to the technical solution of the present application, which is not specifically limited herein, and the input/output interface 15 is configured to obtain external input data or output data to the outside, where the specific interface type may be selected according to the specific application needs, and is not specifically limited herein.
The memory 12 may be a carrier for storing resources, such as a read-only memory, a random access memory, a magnetic disk, or an optical disk, and the resources stored thereon may include an operating system 121, a computer program 122, and the like, and the storage may be temporary storage or permanent storage.
The operating system 121 is used for managing and controlling various hardware devices on the electronic device and the computer program 122, which may be Windows Server, netware, unix, linux, etc. The computer program 122 may further include a computer program that can be used to perform other specific tasks in addition to the computer program that can be used to perform the data transmission method performed by the electronic device as disclosed in any of the previous embodiments.
Furthermore, the application also discloses a computer readable storage medium for storing a computer program, wherein the computer program realizes the data transmission method disclosed by the prior art when being executed by a processor. For specific steps of the method, reference may be made to the corresponding contents disclosed in the foregoing embodiments, and no further description is given here.
Furthermore, the application also discloses a computer program product comprising a computer program/instruction, wherein the computer program/instruction realizes the data transmission method disclosed in the previous description when being executed by a processor. For specific steps of the method, reference may be made to the corresponding contents disclosed in the foregoing embodiments, and no further description is given here.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, so that the same or similar parts between the embodiments are referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
While the foregoing has described in some detail the principles and embodiments of the present application with reference to specific examples, the foregoing examples are provided to facilitate an understanding of the principles and embodiments of the application and are provided by those skilled in the art to which the application pertains, and these should not be construed as limiting the application.

Claims (15)

1. The data transmission method is characterized by being applied to a main equipment end and comprising the following steps:
The method comprises the steps of sending a read-write request to a slave device side, and determining a target virtual channel from a plurality of virtual channels after receiving a confirmation receiving signal replied by the slave device side based on the read-write request;
The channel identification of the target virtual channel and the read-write request are sent to the slave device side, so that when an execution result returned by the slave device side and the channel identification are obtained, the execution result is stored in a corresponding cache through the target virtual channel corresponding to the channel identification;
The method comprises the steps of obtaining a refreshing request generated by a slave device end based on a retained data list after finishing data read-write operation, and replying a confirmation refreshing signal to the slave device end so that the slave device end retransmits retained data to a master device end and updates the retained data list, wherein the retained data list is used for recording information of each retained data;
And acquiring the updated retained data list sent by the slave device after the retransmission operation is finished, and replying a refresh completion signal to the slave device.
2. The data transmission method according to claim 1, wherein the master device side and the slave device side are interconnected through an on-chip bus;
Correspondingly, the slave device end retransmits the retained data to the master device end, and the method comprises the following steps:
And the slave equipment end splices each retained data by utilizing the transmission bandwidth of the bus and retransmits the spliced data to the master equipment end.
3. The method of claim 1, wherein determining a target virtual channel from among a plurality of virtual channels comprises:
acquiring each data to be read and written from the corresponding cache based on the read-write request;
and determining a target virtual channel from a plurality of virtual channels according to the data to be read and written and the credit signals.
4. A data transmission method according to claim 3, wherein said determining a target virtual channel from a plurality of virtual channels according to each of the data to be read and written and a credit signal comprises:
Respectively distributing a first target virtual channel for each data to be read and written from the virtual channels, and respectively storing each data to be read and written into the corresponding first target virtual channel;
and determining a second target virtual channel with the credit count not smaller than a preset count from the plurality of virtual channels according to the credit signals so as to output the data to be read and written stored in the first target virtual channel through the second target virtual channel.
5. The method for transmitting data according to claim 4, wherein the sending the channel identifier of the target virtual channel and the read-write request to the slave device side includes:
And sending the channel identifiers of the first target virtual channel and the second target virtual channel and the read-write request containing the data to be read-written output by the second target virtual channel to the slave device side.
6. The data transmission method according to claim 1, wherein the refresh request is a request generated by the slave device based on whether or not there is information of the hold-up data in the hold-up data list, wherein the refresh request is not generated if there is no information of the hold-up data in the hold-up data list, and the refresh request is generated if there is information of the hold-up data in the hold-up data list.
7. The data transmission method according to any one of claims 1 to 6, characterized by further comprising:
when the retention buffer memory and the local buffer memory in the slave device end reach respective corresponding buffer memory threshold values, acquiring a back pressure signal sent by the slave device end;
when the channel use number of the virtual channels reaches a preset number and each buffer in the main equipment end reaches a corresponding buffer threshold, sending the back pressure signal to an upper computer so that the upper computer stops sending data to the main equipment end;
the local cache is used for storing data generated by the equipment end and data acquired from the outside.
8. The method of claim 7, wherein before sending the backpressure signal to the host computer, further comprising:
when the number of channels reaches a preset number, the back pressure signal is sent to a secondary data buffer in the main equipment end through a primary list buffer in the main equipment end so as to inhibit the secondary data buffer from sending data to the virtual channels;
when the secondary data cache reaches a corresponding cache threshold value, starting the back pressure cache in the main equipment end based on the back pressure signal so as to receive data sent by the upper computer through the started back pressure cache;
Triggering the operation of sending the back pressure signal to an upper computer when the back pressure buffer reaches a corresponding buffer threshold;
The primary list cache is used for storing state information of the secondary data cache, the master equipment end and the slave equipment end, and the secondary data cache is used for storing data generated by the master equipment end and data acquired from the outside.
9. The data transmission method according to claim 8, further comprising:
when a preset change event is monitored or a new slave device is monitored to be accessed, updating the first-level list cache;
The preset change event is an event that the state information of the secondary data cache, the master equipment end or the slave equipment end is changed.
10. The data transmission method according to claim 8, wherein the status information of any one object includes an object identifier, an occupied space identifier, a channel identifier of a virtual channel, and a status field set, where the any one object is any one of the secondary data cache, the master device side, and the slave device side, and the occupied space identifier is used to identify a space size occupied by the status information of the any one object in the primary list cache.
11. The data transmission method according to claim 10, wherein the state field set of any object includes a data state identifier for data to be read and written, a full free space identifier and a fragmented free space identifier, the full free space identifier is used for identifying whether a cache of the any object is a full free space, the fragmented free space identifier is used for identifying a ratio of fragmented free space in the cache of the any object, the fragmented free space is a block space containing free address segments in each block space, the block spaces are spaces obtained by blocking the cache of the any object, and data is stored in addresses adjacent to the free address segments.
12. The data transmission method according to claim 11, wherein the status information of any one of the objects further includes a custom field associated with the fragmented free space identifier;
Correspondingly, when target data is required to be written into the cache of any object, determining each free address segment from the cache of any object based on the custom field and the fragmented free space identifier, and writing the target data into the target free address segment after determining a target free address segment capable of completely storing the target data from each free address segment.
13. An electronic device, comprising:
a memory for storing a computer program;
A processor for executing the computer program to perform the steps of the data transmission method according to any one of claims 1 to 12.
14. A computer-readable storage medium, on which a computer program is stored, which computer program, when being executed by a processor, carries out the steps of the data transmission method according to any one of claims 1 to 12.
15. A computer program product comprising computer programs/instructions which, when executed by a processor, implement the steps of the data transmission method of any one of claims 1 to 12.
CN202510788370.4A 2025-06-13 2025-06-13 Data transmission method, device, medium and product Active CN120295958B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202510788370.4A CN120295958B (en) 2025-06-13 2025-06-13 Data transmission method, device, medium and product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202510788370.4A CN120295958B (en) 2025-06-13 2025-06-13 Data transmission method, device, medium and product

Publications (2)

Publication Number Publication Date
CN120295958A CN120295958A (en) 2025-07-11
CN120295958B true CN120295958B (en) 2025-08-05

Family

ID=96269821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202510788370.4A Active CN120295958B (en) 2025-06-13 2025-06-13 Data transmission method, device, medium and product

Country Status (1)

Country Link
CN (1) CN120295958B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223510A (en) * 2011-06-03 2011-10-19 杭州华三通信技术有限公司 Method and device for scheduling cache
CN119065612A (en) * 2024-09-29 2024-12-03 济南浪潮数据技术有限公司 A monitoring data cache flushing method, device and medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778271B2 (en) * 2005-08-19 2010-08-17 International Business Machines Corporation Method for communicating instructions and data between a processor and external devices
CN101477505B (en) * 2008-12-23 2012-11-21 无锡中星微电子有限公司 Data transmission method between master and slave equipments through bus
JP2014167818A (en) * 2014-05-12 2014-09-11 Hitachi Ltd Data transfer device and data transfer method
US11016890B2 (en) * 2018-02-05 2021-05-25 Micron Technology, Inc. CPU cache flushing to persistent memory
CN116028238A (en) * 2022-10-31 2023-04-28 广东浪潮智慧计算技术有限公司 Computing engine communication method and device
CN120104540A (en) * 2025-02-26 2025-06-06 山东云海国创云计算装备产业创新中心有限公司 A response transmission method, device, equipment and medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223510A (en) * 2011-06-03 2011-10-19 杭州华三通信技术有限公司 Method and device for scheduling cache
CN119065612A (en) * 2024-09-29 2024-12-03 济南浪潮数据技术有限公司 A monitoring data cache flushing method, device and medium

Also Published As

Publication number Publication date
CN120295958A (en) 2025-07-11

Similar Documents

Publication Publication Date Title
US12430073B2 (en) Managed fetching and execution of commands from submission queues
CN107209644B (en) A data processing method and NVMe memory
US10783086B2 (en) Method and apparatus for increasing a speed of accessing a storage device
US9986087B2 (en) Methods of sharing a WiFi hotspot and associated electronic devices
CN111385296B (en) Business process restarting method, device, storage medium and system
CN109976898B (en) SPI and Eeprom asynchronous communication method of hierarchical task system
US20200076742A1 (en) Sending data using a plurality of credit pools at the receivers
CN113794764A (en) Request processing method and medium for server cluster and electronic device
US11231964B2 (en) Computing device shared resource lock allocation
CN114503756A (en) Communication method and device
US20080215823A1 (en) Data consistency control system and data consistency control method
CN117075815A (en) Disk data buffer management method, device, equipment and storage medium
CN119201482B (en) Memory management method for multi-core system and multi-core system, device, and medium
US11431648B2 (en) Technologies for providing adaptive utilization of different interconnects for workloads
CN120295958B (en) Data transmission method, device, medium and product
US11665019B2 (en) Apparatus for transmitting data over a bus system and operating method for that purpose
CN115827506A (en) Data writing method, data reading method, device, processing core and processor
JP2020144410A (en) Memory controller
WO2025091991A1 (en) Random access method, and communication node and storage medium
CN115766606B (en) Data transmission method, device, vehicle-mounted terminal and storage medium
JP5341198B2 (en) Bit inversion in communication interface
JP2007221522A (en) Polling device, terminal device, polling method and program
CN103714059A (en) Data updating method and device
CN117909269A (en) Network control method, system, device, equipment and storage medium
CN117215803B (en) Process communication method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant