Protocol conversion device and method for read channel transaction, equipment and storage medium

The protocol conversion device and method address the challenge of processing read channel transactions across different bus protocols in multi-core processors by converting CHI to ACE protocols, ensuring cache consistency and enabling seamless communication.

CN119248608APending Publication Date: 2025-01-03SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411316114.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

Existing multi-core processor systems face challenges in processing read channel transactions due to differences in processing methods between the AXI Coherency Extensions (ACE) and Coherent Hub Interface (CHI) protocols, making it impossible to convert read channel transactions between devices using these protocols.

Method used

A protocol conversion device and method that includes a response conversion component, response generation component, and transaction management component to convert read channel transactions between devices using different bus protocols, specifically ACE and CHI, by querying transaction numbers and converting response messages to conform to the ACE protocol.

Benefits of technology

Enables accurate and timely conversion of read channel transactions, ensuring cache consistency maintenance by converting response messages from CHI to ACE protocol, allowing seamless communication between processors with different bus protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248608A_ABST
    Figure CN119248608A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of multi-core processors, and discloses a protocol conversion device, method and equipment for read channel transactions and a storage medium. The response conversion component obtains a response message transmitted by the main node; querying a first bus protocol transaction number matched with the response message from a transaction management component; taking the first bus protocol transaction number as a read response channel transaction number; on the basis of the response protocol conversion table, converting the final state information carried by the response message into response information conforming to the first bus protocol; generating a response message conforming to the first bus protocol based on the read response channel transaction number and the response information; and transmitting the response message conforming to the first bus protocol to the processor. The response generation component can send a response message to the main node after receiving the notification message sent by the transaction management component. Through the protocol conversion device for the read channel transaction, conversion of the read channel transaction under different protocols is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of multi-core processors, and in particular to a protocol conversion device, method, equipment and storage medium for a read channel transaction. Background Art

[0002] The parallel processing mode of the multi-core processor architecture provides faster and more efficient computing capabilities. Each core in a multi-core processor has a cache, and the multi-core system needs to process the cache data consistently to prevent errors caused by the processor using outdated data. The bus protocol (Advanced eXtensible Interface, AXI) is the most important part of the Advanced Microcontroller Bus Architecture (AMBA) 3.0 protocol. It is an on-chip bus for high performance, high bandwidth, and low latency. The AXI Coherency Extensions (ACE) and Coherent Hub Interface (CHI) protocols are protocols that support cache consistency and are used to maintain cache consistency in multi-core processor systems.

[0003] There are many types of transactions that multi-core processors process, including read channel transactions. Since the ACE protocol and the CHI protocol have different processing methods for read channel transactions, it is impossible to process read channel transactions between devices using different protocols.

[0004] It can be seen that how to realize the conversion of read channel transactions under different protocols is a problem that needs to be solved by those skilled in the art. Summary of the invention

[0005] The purpose of the embodiments of the present invention is to provide a protocol conversion device, method, equipment and storage medium for a read channel transaction, which can solve the conversion problem of a read channel transaction under different protocols.

[0006] To solve the above technical problems, an embodiment of the present invention provides a protocol conversion device for a read channel transaction, comprising a response conversion component, a response generation component, and a transaction management component respectively connected to the response conversion component and the response generation component;

[0007] The response conversion component is used to obtain a response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; the master node is a device using the second bus protocol; querying the first bus protocol transaction number matched by the response message from the transaction management component; using the first bus protocol transaction number as the read response channel transaction number; based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol; generating a response message that complies with the first bus protocol based on the read response channel transaction number and the response information; transmitting the response message that complies with the first bus protocol to the processor;

[0008] The response generating component is used to send a response message to the master node after receiving the notification message sent by the transaction management component.

[0009] On the one hand, the response conversion component includes a read-write response conversion module for processing read channel no-data transaction responses and write channel transaction responses, a read data response conversion module for processing read data transactions, and a data generation module.

[0010] On the one hand, the read channel transaction includes a read channel no data transaction; the read-write response conversion module includes a decoding submodule and a read response conversion submodule;

[0011] The decoding submodule is connected to the read response conversion submodule, and is used to read the response message from the first queue corresponding to the response channel; wherein the master node transmits the response message to the first queue through the response channel; parses the response message to determine the transaction type to which the response message belongs; and when the transaction type to which the response message belongs belongs to a read channel no-data transaction, transmits the response message to the read response conversion submodule;

[0012] The read response conversion submodule is used to query the first bus protocol transaction number of the read channel no-data transaction from the transaction management component; use the first bus protocol transaction number as the read response channel transaction number; convert the final state information carried by the response message into no-data response information that complies with the first bus protocol according to the read channel no-data response protocol conversion table; generate a response message that complies with the first bus protocol based on the read response channel transaction number and the no-data response information; and transmit the response message that complies with the first bus protocol to the processor through the read response channel.

[0013] On the one hand, the read channel no data transaction belongs to a read channel no data transaction of feedback response;

[0014] The transaction management component is used to send a notification message carrying the data packet identification information to the response generation component when receiving the data packet identification information transmitted by the read-write response conversion module;

[0015] The response generating component is used to, after receiving the notification message sent by the transaction management component, use the data packet identification information carried in the notification message as the second bus protocol transaction number, and send a response message carrying the second bus protocol transaction number to the master node; when receiving the response message sent by the processor, discard the response message.

[0016] In one aspect, the read channel transaction comprises a read data transaction;

[0017] The read data response conversion module is connected to the transaction management component and the data generation module respectively, and is used to read the message data packet from the second queue corresponding to the data channel; the sub-data packets after the message data packet is split are sent to the data generation module in sequence; wherein each sub-data packet has its corresponding sub-data packet number; the data packet identification information and the second bus protocol transaction number are sent to the transaction management component, and the first bus protocol transaction number of the read data transaction is queried from the transaction management component; the first bus protocol transaction number is used as the read response channel transaction number; according to the read data protocol conversion table, the final state information carried by the message data packet is converted into data response information that conforms to the first bus protocol; the read response channel transaction number and the data response information that conforms to the first bus protocol are sent to the data generation module;

[0018] The data generation module is used to receive the sub-data packet, the read response channel transaction number and the data response information that complies with the first bus protocol transmitted by the read data response conversion module; generate a data response message that complies with the first bus protocol based on the sub-data packet, the read response channel transaction number and the data response information that complies with the first bus protocol; transmit the data response message that complies with the first bus protocol to the processor through the read response channel; and after completing the transmission of the data response message corresponding to the last sub-data packet, pull up a data transmission completion signal.

[0019] On the one hand, the transaction management component is used to send a notification message carrying the data packet identification information to the response generation component when receiving the data packet identification information transmitted by the read data response conversion module;

[0020] The response generating component is used to, after receiving the notification message sent by the transaction management component, use the data packet identification information carried in the notification message as the second bus protocol transaction number, and send a response message carrying the second bus protocol transaction number to the master node; when receiving the response message sent by the processor, discard the response message.

[0021] On the one hand, the read data response conversion module is used to determine the number of splits of the message data packet according to the total number of data packets of the message data packet and the data bit width of the data bus; and split the message data packet into multiple sub-data packets according to the number of splits.

[0022] The embodiment of the present invention also provides a protocol conversion method for a read channel transaction, comprising:

[0023] Obtaining a response message transmitted by the master node; wherein the response message is a message generated by the master node according to a read channel transaction transmitted by the processor; the processor is a device using a first bus protocol; and the master node is a device using a second bus protocol;

[0024] Querying the first bus protocol transaction number matched by the response message from the transaction management component;

[0025] Using the first bus protocol transaction number as the read response channel transaction number;

[0026] Based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol;

[0027] Based on the read response channel transaction number and the response information, a response message that complies with the first bus protocol is generated; and the response message that complies with the first bus protocol is transmitted to the processor.

[0028] On the one hand, the read channel transaction includes a read channel no data transaction;

[0029] The acquisition of the response message transmitted by the master node includes:

[0030] Reading the response message from a first queue corresponding to a response channel; wherein the master node transmits the response message to the first queue through the response channel;

[0031] The querying of the first bus protocol transaction number matched by the response message from the transaction management component comprises:

[0032] Parsing the response message to determine the transaction type to which the response message belongs;

[0033] In the case that the transaction type to which the response message belongs is a read channel no data transaction, querying the first bus protocol transaction number of the read channel no data transaction from the transaction management component;

[0034] The step of converting the final state information carried by the response message into response information conforming to the first bus protocol based on the response protocol conversion table includes:

[0035] According to the read channel no-data response protocol conversion table, converting the final state information carried by the response message into no-data response information that complies with the first bus protocol;

[0036] The generating a response message that complies with the first bus protocol based on the read response channel transaction number and the response information; transmitting the response message that complies with the first bus protocol to the processor includes: generating a response message that complies with the first bus protocol based on the read response channel transaction number and the no data response information; transmitting the response message that complies with the first bus protocol to the processor through the read response channel.

[0037] In one aspect, the read channel transaction comprises a read data transaction;

[0038] The acquisition of the response message transmitted by the master node includes:

[0039] Reading a message data packet from a second queue corresponding to the data channel; splitting the message data packet into a plurality of sub-data packets; wherein each sub-data packet has a corresponding sub-data packet number;

[0040] The querying of the first bus protocol transaction number matched by the response message from the transaction management component comprises:

[0041] Sending the data packet identification information and the second bus protocol transaction number to the transaction management component, and querying the first bus protocol transaction number of the read data transaction from the transaction management component;

[0042] The using the first bus protocol transaction number as the read response channel transaction number comprises:

[0043] Using the first bus protocol transaction number as the read response channel transaction number;

[0044] The step of converting the final state information carried by the response message into response information conforming to the first bus protocol based on the response protocol conversion table includes:

[0045] According to the read data protocol conversion table, converting the final state information carried by the message data packet into data response information that complies with the first bus protocol;

[0046] The step of generating a response message that complies with the first bus protocol based on the read response channel transaction number and the response information; and transmitting the response message that complies with the first bus protocol to the processor comprises:

[0047] Generate a data response message conforming to the first bus protocol based on the sub-data packet, the read response channel transaction number and the data response information conforming to the first bus protocol;

[0048] The data response message that complies with the first bus protocol is transmitted to the processor through a read response channel; after the transmission of the data response message corresponding to the last sub-data packet is completed, a data transmission completion signal is pulled high.

[0049] On the one hand, splitting the message data packet into multiple sub-data packets includes determining the number of splits of the message data packet according to the total number of data packets of the message data packet and the data bit width of the data bus; and splitting the message data packet into multiple sub-data packets according to the number of splits.

[0050] The embodiment of the present invention further provides a protocol conversion device for a read channel transaction, comprising:

[0051] Memory for storing computer programs;

[0052] A processor is used to execute the computer program to implement the steps of the protocol conversion method for the read channel transaction as described above.

[0053] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the protocol conversion method for the read channel transaction are implemented.

[0054] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned protocol conversion method for read channel transactions when executed by a processor.

[0055] It can be seen from the above technical solution that the protocol conversion device for the read channel transaction includes a response conversion component, a response generation component, and a transaction management component connected to the response conversion component and the response generation component respectively. The response conversion component is used to obtain the response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol. Different read channel transactions have their own corresponding transaction numbers. The response conversion component can query the first bus protocol transaction number matched by the response message from the transaction management component; and use the first bus protocol transaction number as the read response channel transaction number. Since there are differences in the message formats of the first bus protocol and the second bus protocol, the response message transmitted by the master node conforms to the second bus protocol, and the processor can only recognize the message format of the first bus protocol. Therefore, the response conversion component can convert the final state information carried by the response message into response information conforming to the first bus protocol based on the response protocol conversion table; generate a response message conforming to the first bus protocol based on the read response channel transaction number and the response information; and transmit the response message conforming to the first bus protocol to the processor. After receiving the response message transmitted by the master node, the processor needs to feed back a response message to it to indicate the completion of the read channel transaction. Therefore, after receiving the notification message sent by the transaction management component, the response generation component can send a response message to the master node. The beneficial effect of the present invention is that the protocol conversion device of the read channel transaction realizes the conversion of the read channel transaction under different protocols, so that various response messages sent by the master node can be accurately and timely converted into response messages that can be recognized by the processor, helping to complete cache consistency maintenance. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0057] Figure 1 A schematic diagram of a read data transaction operation flow of an ACE protocol provided in a traditional manner;

[0058] Figure 2 A schematic diagram of a read channel no-data transaction operation flow of an ACE protocol provided in a traditional manner;

[0059] Figure 3 A schematic diagram of a CHI protocol read data transaction operation process provided in a traditional manner;

[0060] Figure 4A schematic diagram of a CHI protocol read channel no-data transaction operation process provided in a traditional manner;

[0061] Figure 5 A schematic structural diagram of a protocol conversion device for a read channel transaction provided by an embodiment of the present invention;

[0062] Figure 6 A design architecture diagram of a read channel transaction response conversion module provided by an embodiment of the present invention;

[0063] Figure 7 A flowchart of a protocol conversion method for a read channel transaction provided by an embodiment of the present invention;

[0064] Figure 8 A structural diagram of a protocol conversion device for a read channel transaction provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0065] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0066] The terms "including" and "having" in the specification of the present invention and the above-mentioned drawings, as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0067] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0068] In a multi-core processor architecture, multiple request nodes (RN) can access the same home node (HN). Each request node can be regarded as a processor.

[0069] Read channel transactions include read data transactions and read channel no data transactions. Figure 1A schematic diagram of the operation flow of a read data transaction of the ACE protocol provided in a traditional manner. The processor sends a read data request to the master node through the read request channel (AR). After receiving the read data request, the master node obtains data from other RNs or main memory, and then feeds the data back to the processor through the read response channel (R). After receiving the response to the read data, the processor sends a confirmation signal to the master node, indicating that the transaction is completed. The confirmation signal that complies with the ACE protocol can be a RACK signal.

[0070] Figure 2 A schematic diagram of the operation process of a read channel no data transaction of the ACE protocol provided in a traditional way. The processor sends a read channel no data request to the master node through the read request channel. After receiving the request, the master node sends a listening request to other RNs. After completing the corresponding operation, other RNs send a listening response to the master node. After receiving the listening response, the master node feeds back a no data response to the processor through the read response channel. After receiving the response, the processor sends a confirmation signal to the master node, indicating that the transaction is completed.

[0071] Figure 3 A schematic diagram of the read data transaction operation process of the CHI protocol provided in the traditional way. The master node can communicate with multiple processors. Figure 3 In the example, two processors, processor 0 and processor 1, are used. There are many types of read data transactions. Taking the ReadNoSnp transaction as an example, after processor 0 sends a read request to the master node through the request channel (REQ), the master node obtains data from other RNs or memory (SN), and sends the data from the data channel (DAT) of the CHI protocol to processor 0. After processor 0 receives the data, it sends a confirmation signal to the master node through the response channel (RSP), indicating that the transaction is completed. The confirmation signal that complies with the CHI protocol can be a CompACK signal.

[0072] Figure 4 A schematic diagram of the read channel no-data transaction operation process of the CHI protocol provided in the traditional way. The master node can communicate with multiple processors. Figure 4 In the example, three processors, namely processor 0, processor 1 and processor 2, are used. There are many types of read channel no data transactions. Taking the MakeUnique transaction as an example, after processor 0 sends a read channel no data request to the master node through the request channel, the master node sends a listen request to other RNs (such as processor 1 and processor 2). After processor 1 and processor 2 change the local cache status to an invalid state, they return a listen response to the master node. After receiving the listen response, the master node returns a no data response to processor 0 through the response channel. After receiving the no data response, processor 0 sends CompACK to the master node through the response channel, indicating that the transaction is completed.

[0073] In traditional solutions, there are differences in the processing procedures of read channel transactions between the ACE protocol and the CHI protocol, which makes it impossible to process read channel transactions between devices using different protocols.

[0074] Therefore, an embodiment of the present invention provides a protocol conversion device for a read channel transaction, through which the protocol conversion device for the read channel transaction can realize the conversion of the read channel transaction under different protocols, so that various response messages sent by the master node using the second bus protocol can be accurately and timely converted into response messages that can be recognized by the processor using the first bus protocol, helping to complete cache consistency maintenance. In practical applications, the first bus protocol can be the ACE protocol, and the second bus protocol can be the CHI protocol. The protocol conversion device for the read channel transaction provided by the embodiment of the present invention can realize the access of the ACE processor core to the multi-core CPU system of the CHI architecture, so that the processing of the read channel transaction can be realized between the ACE processor and the CHI master node.

[0075] Next, a protocol conversion device for a read channel transaction provided by an embodiment of the present invention is described in detail. Figure 5 A schematic structural diagram of a protocol conversion device for a read channel transaction provided by an embodiment of the present invention, the device comprises a response conversion component 11, a response generation component 12, and a transaction management component 13 (Transaction Manager, TM) connected to the response conversion component 11 and the response generation component 12 (rsp_gen) respectively.

[0076] In the embodiment of the present invention, for the sake of distinction, the device using the first bus protocol may be referred to as a processor, and the device using the second bus protocol may be referred to as a master node.

[0077] The response conversion component 11 is used to obtain the response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol. The response conversion component 11 queries the transaction management component 13 for the first bus protocol transaction number that matches the response message; uses the first bus protocol transaction number as the read response channel transaction number; based on the response protocol conversion table, converts the final state information carried by the response message into response information that conforms to the first bus protocol; based on the read response channel transaction number and the response information, generates a response message that conforms to the first bus protocol; and transmits the response message that conforms to the first bus protocol to the processor.

[0078] The response generating component 12 is used to send a response message to the master node after receiving the notification message sent by the transaction management component 13.

[0079] There are two forms of transaction numbers: one is a transaction number that complies with the first bus protocol, referred to as the first bus protocol transaction number, which can be represented by ID. The other is a transaction number that complies with the second bus protocol, referred to as the second bus protocol transaction number, which can be represented by TxnID.

[0080] Each transaction has its corresponding transaction number. In the embodiment of the present invention, the processing flow of the read channel transaction is mainly introduced. The processor sends a request to the master node through the read request channel (AR), and the processor receives a response message that complies with the first bus protocol through the read response channel (R). Therefore, ARID can be used to represent the first bus protocol transaction number corresponding to the read channel transaction, and RID can be used to represent the read response channel transaction number.

[0081] In the ACE protocol, the R channel can transmit read responses with data and without data. Whether it is a response with data or a response without data is determined by whether there is data on the data bus. The signal format transmitted by the R channel includes: read response channel transaction number (RID), Err signal (RRESP[1:0]), cache end state (RRESP[3:2]), data (RDATA), and data transmission end signal (RLAST). RRESP[1:0] corresponds to 2 bits of data, including bit 0 and bit 1, which are used to indicate whether the transmission is normal. RRESP[3:2] corresponds to 2 bits of data, including bit 2 and bit 3, where bit 2 is used to indicate whether dirty data is transmitted, and bit 3 is used to indicate whether it is in a shared state.

[0082] In the embodiment of the present invention, the response conversion component 11 includes a read-write response conversion module (rsp_br) for processing read channel no-data transaction responses and write channel transaction responses, a read data response conversion module (dar_r) for processing read data transactions, and a data generation module (dat_gen).

[0083] The read channel transaction may include a read channel no-data transaction; based on the processing of the read channel no-data transaction, the read-write response conversion module may include a decoding submodule and a read response conversion submodule.

[0084] The decoding submodule is connected to the read response conversion submodule, and is used to read the response message from the first queue corresponding to the response channel; wherein the master node transmits the response message to the first queue through the response channel; parses the response message to determine the transaction type to which the response message belongs; when the transaction type to which the response message belongs is a read channel no-data transaction, transmits the response message to the read response conversion submodule.

[0085] The read response conversion submodule is used to query the first bus protocol transaction number of the read channel no-data transaction from the transaction management component 13; use the first bus protocol transaction number as the read response channel transaction number; convert the final state information carried by the response message into no-data response information that complies with the first bus protocol according to the read channel no-data response protocol conversion table; generate a response message that complies with the first bus protocol based on the read response channel transaction number and the no-data response information; and transmit the response message that complies with the first bus protocol to the processor through the read response channel.

[0086] Figure 6 A design architecture diagram of a read channel transaction response conversion provided for an embodiment of the present invention, which mainly includes rsp_br, dar_r and dat_gen modules to complete the processing of the read channel transaction response, and assisted by TM and rsp_gen, converts the response messages from the data channel and response channel of the CHI protocol into response messages of the read response channel that conforms to the ACE protocol.

[0087] Taking the read channel no-data transaction as an example, the no-data response sent by the master node is Comp, and the final state it carries may be invalid state (I), unique clean state (UC), shared clean state (SC). It switches to the unique dirty data state (UD_PD) by transmitting dirty data. The corresponding resp[2:0] fields of these four states are 0b000, 0b010, 0b001, 0b110, and their corresponding ACE RRESP[3:2] signals are 0b00, 0b00, 0b10, 0b00, respectively.

[0088] Read channel no-data transactions can be divided into two categories: one that requires a response (CompACK) to be returned to the HN, and the other that does not require a CompACK to be returned.

[0089] In the case where the read channel no data transaction belongs to the read channel no data transaction of the feedback response, the transaction management component 13 can send a notification message carrying the data packet identification information to the response generation component 12 upon receiving the data packet identification information transmitted by the read-write response conversion module.

[0090] The response generation component 12 is used to, after receiving the notification message sent by the transaction management component 13, use the data packet identification information carried in the notification message as the second bus protocol transaction number, and send a response message carrying the second bus protocol transaction number to the master node; when receiving the response message sent by the processor, discard the response message.

[0091] The read channel dataless transactions that need to return CompACK include CleanUnique (0b1011) and MakeUnique (0b1100). For these two transactions, the protocol conversion device of the read channel transaction needs to convert the response of the CHI RSP channel into a signal of the ACE R channel and send it to the processor (Core); at the same time, send a CompAck response to HN, use the DBID from the TM module as the TxnID of the CompAck response, generate a CHI RSP message and send it to HN, indicating that the transaction is completed.

[0092] The read channel dataless transactions that do not need to return CompACK include CleanShared (0b1000), CleanInvalid (0b1001) and MakeInvalid (0b1101). For these three transactions, the protocol conversion device of the read channel transaction only needs to convert the response of the CHI RSP channel into the signal of the ACE R channel and send it to the Core. CHI Compack does not carry cache status information, and its resp is all set to 0b000.

[0093] The rsp_br module can process both read channel transaction responses and write channel transaction responses. In the embodiment of the present invention, the processing method of the read channel transaction response is mainly introduced. HN sends a response message from the CHI RSP channel to the protocol conversion device of the read channel transaction. The rsp_br module in the protocol conversion device reads the message from the first queue (FIFO). After being decoded by the decoding submodule, if it is a write channel transaction response, the write response conversion submodule (rsp_b) converts the message into a write response signal according to the write response protocol conversion table. If it is a read channel transaction response, the read response conversion submodule (rsp_r) converts the message into a read response signal according to the read channel no data response protocol conversion table and sends it out from the ACE R channel. The rsp_r submodule queries the information of the corresponding transaction from the TM module to obtain the ARID and transaction type ARSNOOP information of the ACE. The rsp_r submodule assigns ARID to RID, sets RRESP[1:0] to 0b00, and RRESP[3:2] is determined by the resp field sent by CHI, which can be obtained by querying the read channel no data response protocol conversion table. After generating the ACE R channel message, it is sent to the Core.

[0094] If the transaction type is CleanUnique or MakeUnique, after receiving the DBID information in the CHI response message, TM needs to notify the rsp_gen module to send a CompAck_I response to HN, with DBID as TxnID. Other transactions without data do not need to send CompAck. Core will send a RACK signal after receiving the response. Since CompAck_I has been sent to HN, the protocol conversion device of the read channel transaction can directly discard the RACK signal sent by Core without processing.

[0095] In the embodiment of the present invention, the read data response type is a combined read response CompData and carries final state information. RESP[2:0] in the CHI message is cache final state information, which needs to be converted into RRESP[3:2] signal in ACE.

[0096] The resp[2:0] fields of the five states of I, UC, SC, UD_PD, and SD_PD in the CHI CompData response are 0b000, 0b010, 0b001, 0b110, and 0b111, respectively, and their corresponding ACE RRESP[3:2] signals are 0b00, 0b00, 0b10, 0b01, and 0b11, respectively.

[0097] The read channel transaction includes the read data transaction, which is mainly processed by the read data response conversion module and the data generation module.

[0098] The read data response conversion module is connected to the transaction management component 13 and the data generation module respectively, and is used to read the message data packet from the second queue corresponding to the data channel; the sub-data packets after the message data packet is split are sent to the data generation module in sequence; wherein each sub-data packet has its corresponding sub-data packet number; the data packet identification information and the second bus protocol transaction number are sent to the transaction management component 13, and the first bus protocol transaction number of the read data transaction is queried from the transaction management component 13; the first bus protocol transaction number is used as the read response channel transaction number; according to the read data protocol conversion table, the final state information carried by the message data packet is converted into data response information that complies with the first bus protocol; the read response channel transaction number and the data response information that complies with the first bus protocol are sent to the data generation module.

[0099] The data generation module is used to receive the sub-data packet, the read response channel transaction number and the data response information that conforms to the first bus protocol transmitted by the read data response conversion module; generate a data response message that conforms to the first bus protocol based on the sub-data packet, the read response channel transaction number and the data response information that conforms to the first bus protocol; transmit the data response message that conforms to the first bus protocol to the processor through the read response channel; after completing the transmission of the data response message corresponding to the last sub-data packet, pull up the data transmission completion signal.

[0100] For the splitting of the data packet, the read data response conversion module can determine the number of splits of the message data packet according to the total number of data packets of the message data packet and the data bit width of the data bus; and split the message data packet into multiple sub-data packets according to the number of splits.

[0101] The read data channel R in the ACE protocol is based on burst transmission. The amount of data written at one time can be divided into multiple transfers to transmit data. The RLAST signal in the channel is used to indicate whether this transfer is the last one. In an embodiment of the present invention, CHI operates based on an entire cache line. For a 64B cache line and a 16B wide data bus, the data of each read data response needs to be divided into 4 data packets for transmission. Therefore, a 2-bit counter needs to be set in dat_gen. When the last data packet is sent, RLAST is pulled high to indicate that the data transmission is completed.

[0102] When receiving the data packet identification information transmitted by the read data response conversion module, the transaction management component 13 may send a notification message carrying the data packet identification information to the response generation component 12 .

[0103] After receiving the notification message sent by the transaction management component 13, the response generation component 12 uses the data packet identification information carried in the notification message as the second bus protocol transaction number, and sends a response message carrying the second bus protocol transaction number to the master node; when receiving a response message sent by the processor, the response message is discarded.

[0104] In an embodiment of the present invention, the read data response conversion module may generate a first verification data packet based on the multiple sub-data packets after splitting the message data packet into multiple sub-data packets, and transmit the multiple sub-data packets and the first verification data packet to the data generation module in sequence.

[0105] The data generation module receives multiple sub-data packets and a first verification data packet transmitted by the read data response conversion module; sorts the multiple sub-data packets according to the sub-data packet number of each sub-data packet, and generates a second verification data packet based on the sorted sub-data packets; determines whether the second verification data packet is the same as the first verification data packet; and if the second verification data packet is the same as the first verification data packet, performs an operation of generating a data response message that complies with the first bus protocol based on the sub-data packet, the read response channel transaction number, and the data response information that complies with the first bus protocol.

[0106] By generating a verification data packet, the correctness and security of data transmission are guaranteed, avoiding the threat to system security caused by malicious tampering of data.

[0107] HN sends a data read response message from the data channel to the protocol conversion device of the read channel transaction. The dat_r module in the protocol conversion device reads the message from the second queue, and after decoding, converts the message into a read data response signal according to the read data response protocol conversion table and sends it from the ACE R channel to the Core; at the same time, a CompAck response is sent to HN, and the DBID from the TM module is used as the TxnID of the CompAck response to generate a CHI RSP message and send it to HN, indicating that the transaction is completed.

[0108] The dat_r module reads the message data packet from the second queue and generally transmits it in four sub-packets. Each sub-packet has its corresponding sub-packet number (DataID). Therefore, it is necessary to read four sub-packets in succession. After obtaining all the data, they are arranged in order from low to high according to DataID, and the sub-packets are sent to the dat_gen module in sequence.

[0109] The dat_r module sends the TxnID and DBID field information to the TM for record, and queries the corresponding transaction information from the TM module to obtain the ARID of ACE.

[0110] The dat_r module assigns ARID to RID, sets RRESP[1:0] to 0b00, and sets RRESP[3:2] according to the resp field sent by CHI. The RID and data response information that complies with the first bus protocol are sent to the dat_gen module.

[0111] The dat_gen module organizes the above information and data into the ACE R channel message format and sends it to the Core. The RLAST signals of the first three sub-packets are pulled low, and the RLAST signal of the last sub-packet is pulled high, indicating that the data transmission is completed.

[0112] After receiving the DBID information in the CHI data response message, TM needs to notify the rsp_gen module to send a CompAck_I response to HN, with DBID as TxnID. Other transactions without data do not need to send CompAck. After receiving the response, Core will send a RACK signal. The protocol conversion device of the read channel transaction can directly discard this signal without processing.

[0113] The protocol conversion device for read channel transactions provided by the embodiment of the present invention realizes the read data response conversion function between ACE and CHI protocols and the read channel no data response conversion function, so that various types of CHI response messages sent by HN can be accurately and timely converted into ACE response messages and sent to the processor for processing. The response message carries the final state information, which can help complete cache consistency maintenance. The protocol conversion device for read channel transactions enables the kernel of the ACE interface to be connected to the CHI cache consistency system, providing rich choices for components. The protocol conversion device for read channel transactions can not only be used for interface conversion between the ACE kernel and the CHI multi-core processor, but also can be used for conversion of other ACE and CHI interfaces.

[0114] It can be seen from the above technical solution that the protocol conversion device for the read channel transaction includes a response conversion component, a response generation component, and a transaction management component connected to the response conversion component and the response generation component respectively. The response conversion component is used to obtain the response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol. Different read channel transactions have their own corresponding transaction numbers. The response conversion component can query the first bus protocol transaction number matched by the response message from the transaction management component; and use the first bus protocol transaction number as the read response channel transaction number. Since there are differences in the message formats of the first bus protocol and the second bus protocol, the response message transmitted by the master node conforms to the second bus protocol, and the processor can only recognize the message format of the first bus protocol. Therefore, the response conversion component can convert the final state information carried by the response message into response information conforming to the first bus protocol based on the response protocol conversion table; generate a response message conforming to the first bus protocol based on the read response channel transaction number and the response information; and transmit the response message conforming to the first bus protocol to the processor. After receiving the response message transmitted by the master node, the processor needs to feed back a response message to it to indicate the completion of the read channel transaction. Therefore, after receiving the notification message sent by the transaction management component, the response generation component can send a response message to the master node. The beneficial effect of the present invention is that the protocol conversion device of the read channel transaction realizes the conversion of the read channel transaction under different protocols, so that various response messages sent by the master node can be accurately and timely converted into response messages that can be recognized by the processor, helping to complete cache consistency maintenance.

[0115] Figure 7 A flowchart of a protocol conversion method for a read channel transaction provided by an embodiment of the present invention, the method comprising:

[0116] S701: Obtain a response message transmitted by the master node.

[0117] The response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol.

[0118] S702: Query the transaction management component for the first bus protocol transaction number that matches the response message.

[0119] S703: Use the first bus protocol transaction number as the read response channel transaction number.

[0120] S704: Based on the response protocol conversion table, convert the final state information carried by the response message into response information that complies with the first bus protocol.

[0121] S705: Generate a response message that complies with the first bus protocol based on the read response channel transaction number and the response information; and transmit the response message that complies with the first bus protocol to the processor.

[0122] On the one hand, the read channel transaction includes the read channel no data transaction;

[0123] The response message transmitted by the master node includes:

[0124] Reading a response message from a first queue corresponding to a response channel; wherein the master node transmits the response message to the first queue through the response channel;

[0125] Querying the first bus protocol transaction number matched by the response message from the transaction management component includes:

[0126] Parse the response message to determine the transaction type to which the response message belongs;

[0127] In the case that the transaction type to which the response message belongs is a read channel no data transaction, querying the first bus protocol transaction number of the read channel no data transaction from the transaction management component;

[0128] Based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol includes:

[0129] According to the read channel no-data response protocol conversion table, converting the final state information carried by the response message into no-data response information that complies with the first bus protocol;

[0130] Based on the read response channel transaction number and response information, a response message that complies with the first bus protocol is generated; and the response message that complies with the first bus protocol is transmitted to the processor, including: based on the read response channel transaction number and no data response information, a response message that complies with the first bus protocol is generated; and the response message that complies with the first bus protocol is transmitted to the processor through the read response channel.

[0131] On the one hand, the read channel transaction includes a read data transaction;

[0132] The response message transmitted by the master node includes:

[0133] Reading a message data packet from a second queue corresponding to the data channel; splitting the message data packet into a plurality of sub-data packets; wherein each sub-data packet has a corresponding sub-data packet number;

[0134] Querying the first bus protocol transaction number matched by the response message from the transaction management component includes:

[0135] Sending the data packet identification information and the second bus protocol transaction number to the transaction management component, and querying the first bus protocol transaction number of the read data transaction from the transaction management component;

[0136] Using the first bus protocol transaction number as the read response channel transaction number includes:

[0137] Using the first bus protocol transaction number as the read response channel transaction number;

[0138] Based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol includes:

[0139] According to the read data protocol conversion table, converting the final state information carried by the message data packet into data response information that complies with the first bus protocol;

[0140] Based on the read response channel transaction number and the response information, generating a response message that complies with the first bus protocol; transmitting the response message that complies with the first bus protocol to the processor includes:

[0141] Generate a data response message that complies with the first bus protocol based on the sub-data packet, the read response channel transaction number, and the data response information that complies with the first bus protocol;

[0142] The data response message conforming to the first bus protocol is transmitted to the processor through the read response channel; after the transmission of the data response message corresponding to the last sub-data packet is completed, the data transmission completion signal is pulled high.

[0143] On the one hand, splitting the message data packet into multiple sub-data packets includes determining the number of splits of the message data packet according to the total number of data packets of the message data packet and the data bit width of the data bus; and splitting the message data packet into multiple sub-data packets according to the number of splits.

[0144] Figure 7 The description of the features in the corresponding embodiments can be found in Figure 5 The relevant descriptions of the corresponding embodiments will not be repeated here one by one.

[0145] It can be seen from the above technical solution that the response conversion component obtains the response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; and the master node is a device using the second bus protocol. Different read channel transactions have their own corresponding transaction numbers. The response conversion component can query the first bus protocol transaction number matched by the response message from the transaction management component; and use the first bus protocol transaction number as the read response channel transaction number. Since there are differences in the message formats of the first bus protocol and the second bus protocol, the response message transmitted by the master node conforms to the second bus protocol, and the processor can only recognize the message format of the first bus protocol. Therefore, the response conversion component can convert the final state information carried by the response message into response information conforming to the first bus protocol based on the response protocol conversion table; generate a response message conforming to the first bus protocol based on the read response channel transaction number and the response information; and transmit the response message conforming to the first bus protocol to the processor, so that the processor can feedback a response message to it after receiving the response message transmitted by the master node to indicate the completion of the read channel transaction. The beneficial effect of the present invention is that the response message conforming to the second bus protocol can be converted into response information conforming to the first bus protocol through the response conversion component, thereby completing the processing of the read channel transaction response between the master node using the second bus protocol and the processor using the first bus protocol.

[0146] Figure 8 A structural diagram of a protocol conversion device for a read channel transaction provided by an embodiment of the present invention, such as Figure 8 As shown, the protocol conversion device for the read channel transaction includes: a memory 80 for storing a computer program;

[0147] The processor 81 is used to implement the steps of the protocol conversion method for the read channel transaction in the above embodiment when executing the computer program.

[0148] The protocol conversion device for the read channel transaction provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a laptop computer, or a desktop computer.

[0149] Among them, the processor 81 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 81 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 81 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 81 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 81 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0150] The memory 80 may include one or more computer-readable storage media, which may be non-transitory. The memory 80 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 80 is at least used to store the following computer program 801, wherein, after the computer program is loaded and executed by the processor 81, the relevant steps of the protocol conversion method for the read channel transaction disclosed in any of the aforementioned embodiments can be implemented. In addition, the resources stored in the memory 80 may also include an operating system 802 and data 803, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 802 may include Windows, Unix, Linux, etc. Data 803 may include but is not limited to a response message that conforms to the second bus protocol, a response protocol conversion table, a response message that conforms to the first bus protocol, etc.

[0151] In some embodiments, the protocol conversion device for the read channel transaction may also include a display screen 82 , an input / output interface 83 , a communication interface 84 , a power supply 85 , and a communication bus 86 .

[0152] Those skilled in the art will understand that Figure 8 The structure shown in the figure does not constitute a limitation on the protocol conversion device for the read channel transaction, and may include more or less components than those shown in the figure.

[0153] It is understandable that if the protocol conversion method for the read channel transaction in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the current technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium to execute all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk or optical disk and other media that can store program codes.

[0154] Based on this, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the protocol conversion method for the read channel transaction as described above are implemented.

[0155] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned protocol conversion method for read channel transactions when executed by a processor.

[0156] The above is a detailed introduction to a protocol conversion device, method, equipment and computer-readable storage medium for a read channel transaction provided by an embodiment of the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be 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 parts can be referred to the method part description.

[0157] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0158] The above is a detailed introduction to a protocol conversion device, method, equipment and computer-readable storage medium for a read channel transaction provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention, and the description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, the present invention can also be improved and modified in a number of ways, and these improvements and modifications also fall within the scope of protection of the present invention.

Claims

1. A protocol conversion device for a read channel transaction, characterized in that: It includes a response conversion component, a response generation component, and a transaction management component connected to the response conversion component and the response generation component respectively; The response conversion component is used to obtain a response message transmitted by the master node; wherein the response message is a message generated by the master node according to the read channel transaction transmitted by the processor; the processor is a device using the first bus protocol; the master node is a device using the second bus protocol; querying the first bus protocol transaction number matched by the response message from the transaction management component; using the first bus protocol transaction number as the read response channel transaction number; based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol; generating a response message that complies with the first bus protocol based on the read response channel transaction number and the response information; transmitting the response message that complies with the first bus protocol to the processor; The response generating component is used to send a response message to the master node after receiving the notification message sent by the transaction management component.

2. The protocol conversion device for reading channel transactions according to claim 1, characterized in that: The response conversion component includes a read-write response conversion module for processing a read channel no-data transaction response and a write channel transaction response, and a read data response conversion module and a data generation module for processing a read data transaction.

3. The protocol conversion device for reading channel transactions according to claim 2, characterized in that: The read channel transaction includes a read channel no data transaction; the read-write response conversion module includes a decoding submodule and a read response conversion submodule; The decoding submodule is connected to the read response conversion submodule, and is used to read the response message from the first queue corresponding to the response channel; wherein the master node transmits the response message to the first queue through the response channel; parses the response message to determine the transaction type to which the response message belongs; and when the transaction type to which the response message belongs belongs to a read channel no-data transaction, transmits the response message to the read response conversion submodule; The read response conversion submodule is used to query the first bus protocol transaction number of the read channel no-data transaction from the transaction management component; use the first bus protocol transaction number as the read response channel transaction number; convert the final state information carried by the response message into no-data response information that complies with the first bus protocol according to the read channel no-data response protocol conversion table; generate a response message that complies with the first bus protocol based on the read response channel transaction number and the no-data response information; and transmit the response message that complies with the first bus protocol to the processor through the read response channel.

4. The protocol conversion device for reading channel transactions according to claim 3, characterized in that: The read channel no data transaction belongs to the read channel no data transaction of the feedback response; The transaction management component is used to send a notification message carrying the data packet identification information to the response generation component when receiving the data packet identification information transmitted by the read-write response conversion module; The response generating component is used for, after receiving the notification message sent by the transaction management component, using the data packet identification information carried in the notification message as the second bus protocol transaction number, and sending a response message carrying the second bus protocol transaction number to the master node; In case of receiving a response message sent by the processor, discarding the response message.

5. The protocol conversion device for reading channel transactions according to claim 2, characterized in that: The read channel transaction includes a read data transaction; The read data response conversion module is connected to the transaction management component and the data generation module respectively, and is used to read the message data packet from the second queue corresponding to the data channel; the sub-data packets after the message data packet is split are sent to the data generation module in sequence; wherein each sub-data packet has its corresponding sub-data packet number; the data packet identification information and the second bus protocol transaction number are sent to the transaction management component, and the first bus protocol transaction number of the read data transaction is queried from the transaction management component; the first bus protocol transaction number is used as the read response channel transaction number; according to the read data protocol conversion table, the final state information carried by the message data packet is converted into data response information that conforms to the first bus protocol; the read response channel transaction number and the data response information that conforms to the first bus protocol are sent to the data generation module; The data generation module is used to receive the sub-data packet, the read response channel transaction number and the data response information that complies with the first bus protocol transmitted by the read data response conversion module; generate a data response message that complies with the first bus protocol based on the sub-data packet, the read response channel transaction number and the data response information that complies with the first bus protocol; transmit the data response message that complies with the first bus protocol to the processor through the read response channel; and after completing the transmission of the data response message corresponding to the last sub-data packet, pull up a data transmission completion signal.

6. The protocol conversion device for reading channel transactions according to claim 5, characterized in that: The transaction management component is used to send a notification message carrying the data packet identification information to the response generation component when receiving the data packet identification information transmitted by the read data response conversion module; The response generating component is used for, after receiving the notification message sent by the transaction management component, using the data packet identification information carried in the notification message as the second bus protocol transaction number, and sending a response message carrying the second bus protocol transaction number to the master node; In case of receiving a response message sent by the processor, discarding the response message.

7. The protocol conversion device for read channel transactions according to claim 5, characterized in that: The read data response conversion module is used to determine the number of splits of the message data packet according to the total number of data packets of the message data packet and the data bit width of the data bus; and split the message data packet into multiple sub-data packets according to the number of splits.

8. A protocol conversion method for a read channel transaction, characterized in that: include: Obtaining a response message transmitted by the master node; wherein the response message is a message generated by the master node according to a read channel transaction transmitted by the processor; the processor is a device using a first bus protocol; and the master node is a device using a second bus protocol; Querying the first bus protocol transaction number matched by the response message from the transaction management component; Using the first bus protocol transaction number as the read response channel transaction number; Based on the response protocol conversion table, converting the final state information carried by the response message into response information that complies with the first bus protocol; Based on the read response channel transaction number and the response information, a response message that complies with the first bus protocol is generated; and the response message that complies with the first bus protocol is transmitted to the processor.

9. A protocol conversion device for a read channel transaction, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program to implement the steps of the protocol conversion method for the read channel transaction as claimed in claim 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, the steps of the protocol conversion method for the read channel transaction as claimed in claim 8 are implemented.