CN115794731B - Decoupling control method for inter-chip multi-channel data link transmission - Google Patents

Decoupling control method for inter-chip multi-channel data link transmission Download PDF

Info

Publication number
CN115794731B
CN115794731B CN202310043090.1A CN202310043090A CN115794731B CN 115794731 B CN115794731 B CN 115794731B CN 202310043090 A CN202310043090 A CN 202310043090A CN 115794731 B CN115794731 B CN 115794731B
Authority
CN
China
Prior art keywords
physical control
data
channel
data packet
control sublayer
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
CN202310043090.1A
Other languages
Chinese (zh)
Other versions
CN115794731A (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.)
Beijing Chaomo Technology Co ltd
Original Assignee
Beijing Chaomo Technology 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 Beijing Chaomo Technology Co ltd filed Critical Beijing Chaomo Technology Co ltd
Priority to CN202310043090.1A priority Critical patent/CN115794731B/en
Publication of CN115794731A publication Critical patent/CN115794731A/en
Application granted granted Critical
Publication of CN115794731B publication Critical patent/CN115794731B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application relates to a decoupling control method for inter-core multi-channel data link transmission, and belongs to the technical field of cores. The method and the device can acquire the transaction layer data packet in the media data access control sublayer, distribute the same data packet in the transaction layer data packet to the same physical control sublayer group, wherein the physical control sublayer group comprises at least one physical control sublayer channel, and one physical control sublayer channel corresponds to one link control logic, so that the problems of strong transmission coupling and data link transmission suspension caused by channel failure or blocking existing in the inter-core data link are solved; and fault tolerance processing and load balancing processing are carried out on the transmission in the decoupled multilink so as to enable the transmission of the link to obtain better reliability, availability and serviceability (RAS) characteristics.

Description

Decoupling control method for inter-chip multi-channel data link transmission
Technical Field
The application belongs to the technical field of core particles, and particularly relates to a decoupling control method for transmission of a multichannel data link between core particles.
Background
At present, when various high-performance services are realized based on the core grains, the requirement for data link transmission between the core grains is often high so as to avoid high-performance service interruption. The core particle refers to a prefabricated wafer which has specific functions and can be combined and integrated.
In practice, it has been found that data transmission between the core grains is now dependent on parallel transmission of data over a plurality of channels, wherein the coupling between the plurality of channels is relatively strong. Thus, if a channel fails or is blocked, the entire data link transmission may be aborted. It can be seen that the existing inter-core data link transmission has the problem of strong coupling and data link transmission suspension caused by channel failure or blocking.
In view of the above problems, no effective solution has been proposed at present.
Disclosure of Invention
Therefore, the decoupling control method for the inter-core multi-channel data link transmission is beneficial to solving the problems that the transmission coupling of the inter-core data link is strong, and the data link transmission is stopped due to channel failure or blocking.
In order to achieve the above purpose, the present application adopts the following technical scheme:
in a first aspect, the present application provides a decoupling control method for inter-die multichannel data link transmission, the method comprising:
Acquiring a transaction layer data packet in a media data access control sublayer;
distributing the same data packet in the transaction layer data packet to the same physical control sub-layer group so as to realize decoupling among the physical control sub-layer groups; the physical control sublayer group comprises at least one physical control sublayer channel, and one physical control sublayer channel corresponds to one link control logic.
Further, allocating the same data packet in the transaction layer data packet to the same physical control sub-layer group includes:
and distributing the same data packet in the transaction layer data packet to the same physical control sub-layer group based on a preset data fault tolerance operation and/or a preset load balancing operation so as to realize data fault tolerance and/or load balancing among the physical control sub-layer groups.
Further, the preset load balancing operation at least includes the following steps:
acquiring a credit ready state table; the credit ready state table is used for indicating the receiving state of the physical control sublayer channel for the transaction layer data packet;
performing weight-based service quality arbitration on the credit ready state list to obtain an arbitration result; the arbitration result is used for indicating the service quality of data transmission of each physical control sublayer channel.
Further, based on a preset load balancing operation, allocating the same data packet in the transaction layer data packets to the same physical control sub-layer group, including:
if the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel with the same service quality meeting the preset quality condition according to a cross matrix selection mode based on the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the physical control sublayer channels of which the two or more service qualities in the same physical control sublayer group meet the preset quality condition according to a cross matrix selection mode based on the arbitration result.
Further, based on a preset data fault tolerance operation and a preset load balancing operation, the same data packet in the transaction layer data packet is allocated to the same physical control sub-layer group, which comprises the following steps:
acquiring a fault state vector table; the fault state vector table is used for representing the fault state of the physical control sublayer channel;
If the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel which has no fault and has the same service quality and meets the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the two or more physical control sublayer channels with service quality meeting the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result.
Further, the method further comprises:
acquiring channel quantity configuration parameters and group quantity configuration parameters of a physical control sublayer;
and setting the number of the physical control sublayer channels and the number of the physical control sublayer groups in the physical control sublayer group based on the channel number configuration parameters and the group number configuration parameters.
Further, the link control logic includes at least one of: the physical control sub-layer channel flow control first-in first-out queue, physical control sub-layer channel transmission allocation logic, retransmission buffer unit, cyclic redundancy check, error check and correction, physical control sub-layer channel credit ready state table logic, physical control sub-layer channel fault-free state marking logic; and each physical control sub-layer channel shares the data cache space of the retransmission cache unit.
Further, the preset data fault tolerance operation further includes the following steps:
performing target control operation on the transaction layer data packet under the control of the media data access control sublayer; the target control operation is at least one of: cyclic redundancy check, dirty data mark, error data packet counting logic, transaction layer data packet overtime counting logic and transaction layer data packet error interrupt triggering logic;
if the cyclic redundancy check detects that the physical control sublayer returns the appointed error data, determining an error correction category corresponding to the appointed error data; wherein the error correction category includes a correctable category or an uncorrectable category;
And if the error correction type is the uncorrectable type, executing the backup data retransmission operation in the retransmission caching unit.
Further, the method further comprises:
acquiring target data after the dirty data marking is executed;
returning the target data to a main processor device or an on-chip interconnection protocol bus so that the main processor device or the on-chip interconnection protocol bus determines the error importance degree corresponding to the target data;
executing specified data processing operation according to the error importance degree; wherein the specified data processing operation comprises at least one of: retransmission, ignore, discard, interrupt, update; wherein the updating comprises updating a fault vector state table and/or updating a credit ready state table.
Further, the method further comprises:
setting a transaction layer data packet timeout timer and/or a transaction layer data packet retransmission counter in the media data access control sublayer;
performing target control operation on the transaction layer data packet under the control of the media data access control sublayer, including:
if the transaction layer data packet timeout timer detects timeout and/or the transaction layer data packet retransmission counter detects exceeding a set number of times, reporting an exception to a main processor device, so that the main processor device performs a fault processing operation, wherein the fault processing operation comprises at least one of the following steps: retransmission, ignore, discard, interrupt, reset restart.
In a second aspect, the present application provides a core particle, where the core particle performs data link transmission between core particles by using the decoupling control method for multi-channel data link transmission between core particles.
The application adopts the technical scheme, possesses following beneficial effect at least:
according to the method and the device, the same data packet in the transaction layer data packet in the media data access control sublayer is distributed to the same physical control sublayer group, and as the data dependency in the same data packet is strong, the data dependency among different data packets is weak, so that the data with the strong dependency in the same data packet is distributed to the same physical control sublayer group (channel), and the data with the weak dependency among different data packets can be distributed to different physical control sublayer groups (channels), the coupling performance among the physical control sublayer groups (channels) can be reduced, the decoupling control of the transmission of the inter-core multi-channel data link is realized, and the problems that the transmission coupling performance is strong, and the transmission of the data link is stopped due to channel faults or blocking are solved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart illustrating a decoupling control method for inter-die multi-channel data link transmission, according to an example embodiment;
FIG. 2 is a flow chart illustrating a decoupling control method for inter-die multi-channel data link transmission according to another exemplary embodiment;
FIG. 3 is an overall architecture diagram illustrating inter-die multichannel data link transmission according to an exemplary embodiment;
FIG. 4 is a diagram of a decoupling control architecture for inter-die multichannel data link transmission, according to another example embodiment;
FIG. 5 is a diagram of a decoupling control architecture for inter-die multichannel data link transmission, according to another example embodiment;
FIG. 6 is a diagram of a decoupling control architecture for inter-die multi-channel data link transmission, according to another example embodiment;
Fig. 7 is a diagram illustrating mapping between physical control sublayer channels and physical channels according to an example embodiment.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail below. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. All other embodiments, based on the examples herein, which are within the scope of the protection sought by those of ordinary skill in the art without undue effort, are intended to be encompassed by the present application.
Referring to fig. 1, fig. 1 is a flowchart illustrating a decoupling control method for inter-core multi-channel data link transmission according to an exemplary embodiment, the decoupling control method for inter-core multi-channel data link transmission comprising the steps of:
step S11, acquiring a transaction layer data packet in a media data access control sublayer;
step S12, the same data packet in the transaction layer data packet is distributed to the same physical control sub-layer group so as to realize decoupling among the physical control sub-layer groups; the physical control sublayer group comprises at least one physical control sublayer channel, and one physical control sublayer channel corresponds to one link control logic.
In this embodiment, the execution body may be a core (chip). The core is a prefabricated wafer (Die) with specific functions and capable of being combined and integrated, and the data links in inter-core transmission are often designed in parallel by multiple channels (Lane), so that if one channel fails or is blocked, the transmission of the whole data link is stopped. In contrast, the decoupling control method for inter-chip multi-channel data link transmission can weaken or eliminate the strong coupling relation between multi-channel parallel transmission data contents, so that the problem that the transmission of the whole data link is stopped due to the fact that one channel is failed or blocked in multi-channel parallel data transmission is solved, and therefore the high-speed IO bus link transmission among all wafers or all slots of a high-performance heterogeneous interconnection computing system can achieve better RAS characteristic (reliability, availability and serviceability) protection.
When data transmission is carried out among the core particles, the main processor can firstly send out application data packets, and the application data packets reach a link transaction layer in an external interface link through a protocol application layer, a protocol network layer and a protocol link layer in an on-chip interconnection protocol bus. The link transaction layer packets are transmitted to the data link layer and then through the data link layer to the physical layer. The data link layer comprises a plurality of physical control sub-layer channels, and the physical layer comprises a plurality of physical channels. The improvement of the method mainly consists in the data link layer and the physical layer, and the strong coupling relation of parallel transmission data contents between the physical control sub-layer channels is weakened by executing corresponding decoupling control operation on the physical control sub-layer channels. And, after the decoupling control operation is performed, in order to obtain better RAS characteristics, further control is needed to implement fault tolerance and load balancing between multiple channels.
Specifically, the execution body may first acquire a transaction layer packet (Transaction Layer Packet, TLP) in a media data access control sublayer (MAC layer), and allocate the same packet (packet) in the transaction layer packet to the same physical control sublayer group. Wherein the physical control sublayer group comprises at least one physical control sublayer channel. For the case that only one physical control sublayer channel is included in the physical control sublayer group, the same data packet in the transaction layer data packet can be allocated to the same physical control sublayer channel. Because the data coupling between the same data packet is higher, the coupling between the physical control sub-layer channels can be reduced compared to the manner in which the same data packet is allocated to different physical control sub-layer channels. For the case that the physical control sublayer group comprises two or more physical control sublayer channels, the same data packet can be distributed to the two or more physical control sublayer channels of the same physical control sublayer group, so that the coupling between the physical control sublayer groups is reduced, the two or more physical control sublayer channels inside the same physical control sublayer group process the same data packet together, and the processing efficiency of the data packet is improved.
And, one physical control sublayer channel may correspond to one link control logic. Compared with a mode that a plurality of physical control sub-layer channels correspond to one link control logic, the link control logic is adopted to control one physical control sub-layer channel, so that the coupling between the physical control sub-layer channels can be reduced. The link control logic may include control logic of a control flow first-in first-out queue of the physical control sub-layer channel, control logic of credit of the physical control sub-layer channel, and error correction control logic of the physical control sub-layer channel.
By the application, the same packet data in the TLP data is allocated to the same PCS lane (in the PCS Group), and the same packet data in the TLP data is the data in the FC FIFO (flow control FIFO queue) output by the MAC layer (media data access control sublayer). In this way, the strong coupling relation between the data contents of the multichannel parallel transmission can be weakened or eliminated, and the independent work of the multichannel parallel transmission can be realized. The MAC TLP can perform data transmission from other PCS lane links, so that the problem that the whole data link transmission is suspended due to the fact that one channel is failed or blocked in multi-channel parallel data transmission is solved.
Referring to fig. 2 together, fig. 2 is a flowchart illustrating a decoupling control method for inter-core multi-channel data link transmission according to another exemplary embodiment, the decoupling control method for inter-core multi-channel data link transmission comprising the steps of:
s21, acquiring a transaction layer data packet in a media data access control sublayer;
step S22, based on a preset data fault tolerance operation and/or a preset load balancing operation, the same data packet in the transaction layer data packet is allocated to the same physical control sub-layer group, so as to implement decoupling, data fault tolerance and/or load balancing among the physical control sub-layer groups.
As an optional implementation manner, the preset load balancing operation at least includes the following steps:
acquiring a credit ready state table; the credit ready state table is used for indicating the receiving state of the physical control sublayer channel for the transaction layer data packet;
performing weight-based service quality arbitration on the credit ready state list to obtain an arbitration result; the arbitration result is used for indicating the service quality of data transmission of each physical control sublayer channel.
As an optional implementation manner, based on a preset load balancing operation, the same data packet in the transaction layer data packet is allocated to the same physical control sub-layer group, which includes:
if the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel with the same service quality meeting the preset quality condition according to a cross matrix selection mode based on the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the physical control sublayer channels of which the two or more service qualities in the same physical control sublayer group meet the preset quality condition according to a cross matrix selection mode based on the arbitration result.
In this embodiment, the credit ready state table may be used to indicate the receiving state of each physical control sub-layer channel for the transaction layer data packet, and by analyzing the credit ready state table, it may be determined which channels in the physical control sub-layer channels can receive more transaction layer data packets, and then the transaction layer data packets that need to be allocated are allocated to the physical control sub-layer channels with stronger receiving capability. Specifically, after the credit ready state table is obtained, the credit ready state table may be subjected to weighted quality of service arbitration. The quality of service (Quality of Service, qoS) refers to a network that can utilize various basic technologies to provide better service capability for specified network communication, and is a security mechanism of the network, which is a technology for solving the problems of network delay and blocking. And performing weight-based service quality arbitration on the credit ready state list, wherein the obtained arbitration result is used for indicating the service quality of data transmission of each physical control sub-layer channel. When the data packet is distributed, the optimal physical control sub-layer channel can be selected based on the arbitration result.
Specifically, if the physical control sublayer group includes one physical control sublayer channel, based on the arbitration result, the transaction layer data packets input by a plurality of virtual channels in the media data access control sublayer are distributed to the same physical control sublayer channel with the optimal current service quality according to a cross Matrix selection (Matrix Mux) mode. And if the physical control sublayer group comprises two or more physical control sublayer channels, based on the arbitration result, distributing the same data packet in the transaction layer data packet to the two or more physical control sublayer channels in the same physical control sublayer group with optimal current service quality according to a cross Matrix selection (Matrix Mux) mode for the transaction layer data packet input by a plurality of virtual channels in the media data access control sublayer. At this time, the preset quality condition may be used to indicate that the quality of service parameter of the physical control sublayer channel meets the corresponding parameter condition, that is, determine that the quality of service is in a preferred degree. By setting the parameter conditions, the determination flexibility of the service quality can be improved, for example, setting the parameter conditions to be severe conditions can select at least one optimal physical control sublayer channel as the channel for distributing the data packet at this time.
The MAC layer of the data link layer may perform QOS arbitration of the split weights based on Credit Ready Status Table (CRST) of the PCS layer, to obtain the arbitration result. By the adoption of the method for distributing the TLP data packets by the weight QOS, the quantity of the data packets transmitted on each physical control sub-layer channel can be balanced at the same time, and therefore the problem of load balancing among multiple channels is solved. And, all the physical control sub-layer channels are grouped to obtain a physical control sub-layer group, a plurality of adjacent physical control sub-layer channels can be used as a whole, and become objects distributed by FCFIFO output by an upper MAC layer according to cross matrix selection (matrixMux), so that the more the number of physical control sub-layer channels in the physical control sub-layer group is, the smaller the transmission delay of a single TLP data packet to and fro in a data link layer is, the better the performance is, but the stronger the parallel transmission data content dependency relationship among the physical control sub-layer channels is. Therefore, the number of physical control sub-layer groups and the number of the physical control sub-layer channels in the physical control sub-layer groups can be reasonably set by comprehensively considering the situations that the link fails and cannot work normally, the data bandwidth requirement of the link of the MAC layer, the transmission performance of the system, the transmission delay and the like, and the embodiment does not limit the specific number value. And by carrying out data alignment among the multiple channels, the extra invalid bandwidth occupation condition on the link caused by the swing of the multiple channels of data can be effectively eliminated, so that the effective transmission bandwidth of the link is improved.
As an optional implementation manner, the allocating the same data packet in the transaction layer data packet to the same physical control sub-layer group based on a preset data fault tolerance operation and a preset load balancing operation includes:
acquiring a fault state vector table; the fault state vector table is used for representing the fault state of the physical control sublayer channel;
if the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel which has no fault and has the same service quality and meets the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the two or more physical control sublayer channels with service quality meeting the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result.
In this embodiment, the fault state vector table is used to represent the fault states of the respective physical control sub-layer channels, where the fault states may include faulty and non-faulty. When the data packet is distributed, the same data packet in the transaction layer data packet can be distributed to the same physical control sub-channel without faults by combining with a fault state vector table.
According to the FIFO credit condition of the PCS channels FC, it may be marked in a hierarchical manner, which PCS channels are in a state of being able to accept TLP packets of the transaction layer, and then arbitrate from the MAC layer in a weight priority manner that a protocol layer TLP in a certain virtual channel enters a corresponding and suitable PCS channel for data interaction.
As an alternative embodiment, the method further comprises:
acquiring channel quantity configuration parameters and group quantity configuration parameters of a physical control sublayer;
and setting the number of the physical control sublayer channels and the number of the physical control sublayer groups in the physical control sublayer group based on the channel number configuration parameters and the group number configuration parameters.
In this embodiment, the number of channels for the physical control sub-layer and the number of groups for the physical control sub-layer may be configured in a customized manner. The decoupling degree and the data processing efficiency between the physical control sublayers can be balanced by acquiring the channel number configuration parameters and the group number parameters, setting the corresponding number of the physical control sublayer channels and the number of the physical control sublayer groups.
As an alternative embodiment, the link control logic includes at least one of: the physical control sub-layer channel flow control first-in first-out queue, physical control sub-layer channel transmission allocation logic, retransmission buffer unit, cyclic redundancy check, error check and correction, physical control sub-layer channel credit ready state table logic, physical control sub-layer channel fault-free state marking logic.
In this embodiment, control logic corresponding to the physical control sub-layer channel flow control fifo queue may be used to control data transmission of a control flow in a corresponding physical control sub-layer channel, control logic corresponding to a retransmission buffer unit (Retry buffer) may be used to trigger Retry buffer for abnormal data in the physical control sub-layer channel, control logic corresponding to Cyclic Redundancy Check (CRC) may be used to detect or check errors that may occur after data transmission or storage in the physical control sub-layer channel, control logic corresponding to Error Checking and Correction (ECC) may be used to trigger checking operation and correction operation for error data in the physical control sub-layer channel, physical control sub-layer channel credit ready state table logic may be used to manage and control the corresponding physical control sub-layer channel, and physical control sub-layer channel fault-free state marking logic may mark a physical control sub-layer channel that may normally perform data packet transmission. The method comprises the steps of carrying out CRC error detection and ECC error correction on data transmitted on a PCS channel, and carrying out retransmission operation on uncorrectable link data so as to solve the problem of temporary data transmission errors in each channel.
As an optional implementation manner, each of the physical control sublayer channels shares a data buffer space of the retransmission buffer unit.
In this embodiment, each physical control sublayer channel may share the data buffer space of the retransmission buffer unit, so that not only the data buffer space of the retransmission buffer unit can be saved, but also the size of the retransmission buffer unit can be expanded, and the retransmission capability is improved.
As an optional implementation manner, the preset data fault tolerance operation further includes the following steps:
performing target control operation on the transaction layer data packet under the control of the media data access control sublayer; the target control operation is at least one of: cyclic redundancy check, dirty data mark, error data packet counting logic, transaction layer data packet overtime counting logic and transaction layer data packet error interrupt triggering logic;
if the cyclic redundancy check detects that the physical control sublayer returns the appointed error data, determining an error correction category corresponding to the appointed error data; wherein the error correction category includes a correctable category or an uncorrectable category;
and if the error correction type is the uncorrectable type, executing the backup data retransmission operation in the retransmission caching unit.
In this embodiment, if uncorrectable data is returned to the media data access control sublayer, a corresponding data error may be determined through cyclic redundancy check. Alternatively, the uncorrectable data may be marked by dirty data marking, and the uncorrectable data with the marking may be returned to the host processor or the protocol layer interconnection bus, where the upper layer logic determines whether to discard the faulty data in accordance with the degree of importance of the data error, abort the dirty data marked data, or make an original data retransmission request, etc.
In this embodiment, the medium data access control sublayer may perform cyclic redundancy check on the transaction layer packet, and if the cyclic redundancy check detects the specified error data, perform the error importance determination. The specified error data is data which is uncorrectable by the physical control sublayer. If the error importance degree corresponding to the error importance judgment reaches the set degree, determining the error correction type as the uncorrectable type, and executing the backup data retransmission operation in the retransmission caching unit to attempt to correct the appointed error data.
As an alternative embodiment, the method further comprises:
acquiring target data after the dirty data marking is executed;
returning the target data to a main processor device or an on-chip interconnection protocol bus so that the main processor device or the on-chip interconnection protocol bus determines the error importance degree corresponding to the target data;
executing specified data processing operation according to the error importance degree; wherein the specified data processing operation comprises at least one of: retransmission, ignore, discard, interrupt, update; wherein the updating comprises updating a fault vector state table and/or updating a credit ready state table.
In this embodiment, the execution body may perform dirty data marking on the transaction layer packet under control of the media data access control sublayer, to obtain target data after dirty data marking. And then, the target data can be returned to the main processor equipment or the on-chip interconnection protocol bus so as to enable the main processor equipment or the on-chip interconnection protocol bus to carry out error importance judgment, and the error importance degree corresponding to the target data is obtained. If the degree of importance of the error reaches the set degree, processing operations such as retransmission, neglect, discarding, interrupt and the like can be performed on the target data. If the degree of importance of the error is higher than the threshold value, the error is determined to be serious, and the fault vector state table and the credit ready state table can be updated according to the error.
When the PCS layer has uncorrectable data and returns to the MAC layer, the error can be detected through CRC check of the MAC layer, and whether to perform a retransmission request is determined according to the importance degree of the data error, and the data is returned to the main processor device or the protocol layer interconnection bus, so as to request to perform a retransmission operation on the erroneous TLP data packet. Or when the PCS layer has uncorrectable data and returns to the MAC layer, dirty data marks can be returned to the main processor equipment or the protocol layer interconnection bus along with data or response, and upper layer logic judges whether fault data is ignored, discarded, dirty data is abnormally interrupted or processing operations such as original data retransmission requests are performed according to the importance degree of data errors.
As an alternative embodiment, the method further comprises:
setting a transaction layer data packet timeout timer and/or a transaction layer data packet retransmission counter in the media data access control sublayer;
performing target control operation on the transaction layer data packet under the control of the media data access control sublayer, including:
and if the overtime timer of the transaction layer data packet detects overtime and/or the retransmission counter of the transaction layer data packet detects overtime set times, reporting an exception to the main processor equipment so as to enable the main processor equipment to perform fault processing.
In this embodiment, by setting the transaction layer packet timeout timer and the transaction layer packet retransmission counter in the media data access control sublayer, it is possible to monitor that a serious temporary data transmission error or a high-frequency temporary data transmission error storm occurs in the physical control sublayer group or the physical control sublayer channel, so that after the transaction layer packet in the media data access control sublayer is allocated to the physical control sublayer group or the physical control sublayer channel, the situation of timeout or the number of times occurs without responding for a long time. At this time, the reporting exception may be triggered to the main processor device, so that the main processor device performs a corresponding processing operation. Among other things, failure handling may include, but is not limited to, application process shutdown, restart, data link reset or retrain, and even whole system reset restart.
As an optional implementation manner, when the number of PCS channels in each PCS group is different, or the number of PCS channels that can actually work normally is different from the number of PCS channels that are configured originally due to a link failure, the input allocation module of the PCS channels can allocate a TLP packet in the FC FIFO output by the MAC layer according to the FC FIFO CRST input by the PCS channels in the PCS group and the actual failure mapping situation of each PCS channel in the PCS group, that is, the MAC layer TLP data that enters the PCS group is allocated in parallel to a plurality of PCS channels that can also work normally according to a certain processing principle for parallel transmission. Therefore, the configuration design of different PCS channel numbers in different PCS groups is realized, the actual fault mapping conditions of the FCFIFO CRST input by the PCS channels and each PCS channel in the PCS group can be dynamically updated in real time in the working process of a data transmission link, and the problem that a permanent fault occurs in a certain physical channel in multiple channels is solved by a reconfigurable method of dynamic index remapping.
Referring to fig. 3 together, fig. 3 is a diagram illustrating an overall architecture of inter-core multi-channel data link transmission according to an exemplary embodiment, and as shown in fig. 3, a Host processor device (Host CPU) may send an application data packet to a link transaction layer (Link Transaction Layer) in an external interface wiring link (External Interface Link) through a protocol application layer (Protocol Transaction Layer), a protocol network layer (Protocol Network Layer), and a protocol link layer (Protocol Link Layer) in an on-chip interconnect protocol bus (Protocol Interconnect) during multi-channel data link transmission between cores. The method mainly comprises the steps of carrying out scheme processing on transaction Layer Data packets (TLPs) from a Link transaction Layer, carrying out scheme processing on a Data Link Layer (Link Data Layer) and a Physical Layer (Physical Layer), and then carrying out channel fault tolerance and channel load balancing scheme design of complete decoupling of the Data Link Layer in a comprehensive manner by combining a retransmission (replay), dirty Data marking (poison) and interrupt (inr) abnormal reporting mode. The PCS (Physicalcontrol Sublayer ) link control and the PHY Lane (Physical Lane) are in one-to-one correspondence, a plurality of PCS Lane controls and shares a retransmission buffer (retransmission buffer unit) to realize link data retransmission, and the Physical Lane can adopt a redundancy replacement strategy to realize self-adaptive fault tolerance of faults. In particular, it can be seen that the physical layer has a set Repair PHY Lane (physical channel for failure Repair).
Referring to fig. 4 together, fig. 4 is a diagram illustrating a decoupling control structure for inter-core multi-channel data link transmission according to another exemplary embodiment, as shown in fig. 4, the top of fig. 4 is a media data access control sub-layer link layer (hereinafter referred to as MAC layer), where the MAC layer has 2 input buffers (input buffers) of a virtual channel TLP (transaction layer packet), which are VC0 and VC1, respectively. And, the flow control fifo of the MAC layer output is in a credit way. Logic such as TLP Timeout Timer (transaction layer packet timeout timer), replay Logic, TLP CRC (Cyclic Redundancy Check ), poison Logic, CRC Check, and Replay Counter may also be added at the MAC layer. And, the MAC layer may also support the use of TLP state buffer tables and PCS CRST (Credit Ready status table, credit ready state table). The MAC layer can arbitrate quality of service (Quality of Service, QOS) based on the PCS CRST, and distribute the multiple virtual channel input TLP packets to the corresponding PCS Lane for transmission in a cross Matrix selection (Matrix Mux) manner. The MAC layer can report the exception to the upper layer processing logic in conjunction with retransmission (replay), dirty data tag (poison), interrupt (inr) exception reporting.
For the PCS link layer, the alternative shown in FIG. 4 includes 8 PCS groups, each of which includes a PCS Lane. Each PCS Lane corresponds to one PCS link control, which corresponds to FC FIFO (control flow first-in first-out queue), retry Buffer (retransmission Buffer unit), CRC (Cyclic Redundancy Check ), ECC (Error Correcting Code, error check and correction), credit Ready status (credit ready state) in fig. 4. And, the PCS Link layer can support PCS Link Control, PCS Lane Input Allocation (PCS channel input allocation), PCS Flow Control, PCS FIFO CRST (credit of PCS FIFO queue), PHY Lanes FSVT (failure state vector table of physical channel), PCS Index IMRT (Index relation map table between PCS Lane and PHY Lane).
For the physical layer, as shown in fig. 4, the physical layer has 8 conventional physical lanes, 1 physical lane redundant physical lane (redundant physical channel), and one failed physical lane. The PCS link control and the PHY Lane are in one-to-one correspondence, a plurality of PCS control and share a retry buffer to realize link data retransmission, and the physical Lane adopts a redundancy replacement strategy and the like.
Referring to fig. 5 together, fig. 5 is a diagram illustrating a decoupling control architecture for inter-core multi-channel data link transmission according to another exemplary embodiment, and the main difference between the diagram in fig. 5 is that the PCS link control layer is provided with 2 PCS groups, each PCS Group contains 4 PCS lanes, compared to fig. 4. Referring to fig. 6 together, fig. 6 is a diagram illustrating a decoupling control architecture for inter-core multi-channel data link transmission according to another exemplary embodiment, and the main difference between the architecture in fig. 6 and fig. 4 is that the PCS link control layer is provided with 1 PCS Group, each PCS Group contains 8 PCS lanes.
Referring to fig. 7 together, fig. 7 is a schematic diagram illustrating mapping between physical control sub-layer channels and physical channels according to an exemplary embodiment, and as shown in fig. 7, taking 2 physical control sub-layer groups (PCS groups) as an example, for physical control sub-layer Group 1 and physical control sub-layer Group 2, each physical control sub-layer Group includes 4 physical control sub-layer channels (PCS lane1, PCS lane2, PCS lane3, and PCS lane 4), respectively. While data link transmission between the core particles requires mapping each physical control sub-layer channel into a corresponding physical channel in the physical layer. In fig. 7, 9 physical channels may be included in the physical layer, and 1 Redundant physical channel (PYH _2lane redundancy) and 8 normal physical channels among the 9 physical channels. In the example of fig. 7, physical channel PYH _1lane_3 may be a failed physical channel. In this way, by adopting a fault-tolerant mapping mode, the fault physical channel can be skipped, and the corresponding fault-free physical channel can be allocated to each physical control sub-layer channel by combining with the preset redundant physical channel. In practical applications, the number of redundant physical channels may be set according to actual needs, which is not limited in this embodiment.
The processing performed at the physical layer can replace a physical channel which cannot work when a permanent fault occurs for introducing redundancy, and the fault states of a conventional physical layer and a redundant layer are marked in a link test link of the physical layer so that a complete fault state vector table can be obtained through PCS transmission of the data link layer. Therefore, before the link is recovered to be normal, software or hardware algorithm can give out a PCS lane channel reasonable Index (Index) relation by adopting a flexible configuration mode in combination with a fault state vector table, and map the PCS lane channel reasonable Index (Index) relation to a normal physical lane.
According to the method and the device, the same data packet in the transaction layer data packet in the media data access control sublayer is distributed to the same physical control sublayer group, the data dependency in the same data packet is strong, the data dependency among different data packets is weak, therefore, the data with strong dependency in the same data packet is distributed to the same physical control sublayer group (channel), and the data with weak dependency among different data packets can be distributed to different physical control sublayer groups (channels), so that the coupling performance among the physical control sublayer groups (channels) can be reduced, the decoupling control of the inter-core multi-channel data link transmission is realized, the problem that the transmission coupling performance of the inter-core multi-channel data link is strong, the data link transmission is stopped due to channel faults or blocking is solved, the fault-tolerant processing is carried out on the transmission in the decoupled multi-link, and the load balancing processing is carried out, so that the link transmission obtains better reliability, availability and serviceability (RAS) characteristics.
Furthermore, the application also provides a core particle, and the core particle transmits the data link between the core particles through the decoupling control method for the multi-channel data link transmission between the core particles.
It is to be understood that the same or similar parts in the above embodiments may be referred to each other, and that in some embodiments, the same or similar parts in other embodiments may be referred to.
It should be noted that in the description of the present application, the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Furthermore, in the description of the present application, unless otherwise indicated, the meaning of "plurality", "multiple" means at least two.
It will be understood that when an element is referred to as being "mounted" or "disposed" on another element, it can be directly on the other element or intervening elements may also be present; when an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may be present, and further, as used herein, connection may comprise a wireless connection; the use of the term "and/or" includes any and all combinations of one or more of the associated listed items.
Any process or method description in a flowchart or otherwise described herein may be understood as: means, segments, or portions of code representing executable instructions including one or more steps for implementing specific logical functions or processes are included in the preferred embodiments of the present application, in which functions may be executed out of order from that shown or discussed, including in a substantially simultaneous manner or in an inverse order, depending upon the functionality involved, as would be understood by those skilled in the art to which the embodiments of the present application pertains.
It is to be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or part of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, where the program when executed includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing module, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented as software functional modules and sold or used as a stand-alone product.
The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, or the like.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present application have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the application, and that variations, modifications, alternatives, and variations may be made to the above embodiments by one of ordinary skill in the art within the scope of the application.

Claims (8)

1. A decoupling control method for inter-die multichannel data link transmission, the method comprising:
acquiring a transaction layer data packet in a media data access control sublayer;
assigning the same data packet in the transaction layer data packet to the same physical control sub-layer group comprises the following steps: based on a preset data fault-tolerant operation and/or a preset load balancing operation, the same data packet in the transaction layer data packets is distributed to the same physical control sub-layer group so as to realize data fault tolerance and/or load balancing among the physical control sub-layer groups; to achieve decoupling between the physical control sub-groups of layers; the physical control sublayer group comprises at least one physical control sublayer channel, and one physical control sublayer channel corresponds to one link control logic;
the preset data fault tolerance operation further comprises the following steps:
Performing target control operation on the transaction layer data packet under the control of the media data access control sublayer; the target control operation is at least one of: cyclic redundancy check, dirty data mark, error data packet counting logic, transaction layer data packet overtime counting logic and transaction layer data packet error interrupt triggering logic;
if the cyclic redundancy check detects that the physical control sublayer returns the appointed error data, determining an error correction category corresponding to the appointed error data; wherein the error correction category includes a correctable category or an uncorrectable category;
and if the error correction type is the uncorrectable type, executing the backup data retransmission operation in the retransmission caching unit.
2. The method according to claim 1, wherein the preset load balancing operation comprises at least the steps of:
acquiring a credit ready state table; the credit ready state table is used for indicating the receiving state of the physical control sublayer channel for the transaction layer data packet;
performing weight-based service quality arbitration on the credit ready state list to obtain an arbitration result; the arbitration result is used for indicating the service quality of data transmission of each physical control sublayer channel.
3. The method of claim 2, wherein assigning the same packet of the transaction layer packets to the same physical control sub-group of layers based on a preset load balancing operation comprises:
if the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel with the same service quality meeting the preset quality condition according to a cross matrix selection mode based on the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the physical control sublayer channels of which the two or more service qualities in the same physical control sublayer group meet the preset quality condition according to a cross matrix selection mode based on the arbitration result.
4. The method of claim 2, wherein assigning the same one of the transaction layer packets to the same physical control sub-group of layers based on a preset data fault tolerance operation and a preset load balancing operation comprises:
Acquiring a fault state vector table; the fault state vector table is used for representing the fault state of the physical control sublayer channel;
if the physical control sublayer group comprises one physical control sublayer channel, distributing the same data packet in the transaction layer data packet to the physical control sublayer channel which has no fault and has the same service quality and meets the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result;
and if the physical control sublayer group comprises two or more physical control sublayer channels, distributing the same data packet in the transaction layer data packet to the two or more physical control sublayer channels with service quality meeting the preset quality condition according to a cross matrix selection mode based on the fault state vector table and the arbitration result.
5. The method according to claim 1, wherein the method further comprises:
acquiring channel quantity configuration parameters and group quantity configuration parameters of a physical control sublayer;
and setting the number of the physical control sublayer channels and the number of the physical control sublayer groups in the physical control sublayer group based on the channel number configuration parameters and the group number configuration parameters.
6. The method of claim 1, wherein the link control logic comprises at least one of: the physical control sub-layer channel flow control first-in first-out queue, physical control sub-layer channel transmission allocation logic, the retransmission buffer unit, cyclic redundancy check, error check and correction, physical control sub-layer channel credit ready state table logic, physical control sub-layer channel fault-free state marking logic; and each physical control sub-layer channel shares the data cache space of the retransmission cache unit.
7. The method according to claim 1, wherein the method further comprises:
acquiring target data after the dirty data marking is executed;
returning the target data to a main processor device or an on-chip interconnection protocol bus so that the main processor device or the on-chip interconnection protocol bus determines the error importance degree corresponding to the target data;
executing specified data processing operation according to the error importance degree; wherein the specified data processing operation comprises at least one of: retransmission, ignore, discard, interrupt, update; wherein the updating comprises updating a fault vector state table and/or updating a credit ready state table.
8. The method according to claim 1, wherein the method further comprises:
setting a transaction layer data packet timeout timer and/or a transaction layer data packet retransmission counter in the media data access control sublayer;
performing target control operation on the transaction layer data packet under the control of the media data access control sublayer, including:
if the transaction layer data packet timeout timer detects timeout and/or the transaction layer data packet retransmission counter detects exceeding a set number of times, reporting an exception to a main processor device, so that the main processor device performs a fault processing operation, wherein the fault processing operation comprises at least one of the following steps: retransmission, ignore, discard, interrupt, reset restart.
CN202310043090.1A 2023-01-29 2023-01-29 Decoupling control method for inter-chip multi-channel data link transmission Active CN115794731B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310043090.1A CN115794731B (en) 2023-01-29 2023-01-29 Decoupling control method for inter-chip multi-channel data link transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310043090.1A CN115794731B (en) 2023-01-29 2023-01-29 Decoupling control method for inter-chip multi-channel data link transmission

Publications (2)

Publication Number Publication Date
CN115794731A CN115794731A (en) 2023-03-14
CN115794731B true CN115794731B (en) 2023-07-04

Family

ID=85428986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310043090.1A Active CN115794731B (en) 2023-01-29 2023-01-29 Decoupling control method for inter-chip multi-channel data link transmission

Country Status (1)

Country Link
CN (1) CN115794731B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627894B (en) * 2023-07-20 2023-10-20 之江实验室 Medium access control layer, communication method and system
CN117834755B (en) * 2024-03-04 2024-05-10 中国人民解放军国防科技大学 Interface circuit between protocol layer and adapter layer facing core particle interconnection interface and chip

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547192A (en) * 2008-03-24 2009-09-30 大唐移动通信设备有限公司 Method and device for allocating and transmitting TCP data pockets
CN106850188B (en) * 2017-01-24 2018-09-14 中国航天***科学与工程研究院 A kind of data transmission system based on multichannel isomery one-way transmission path
US10701154B2 (en) * 2017-05-22 2020-06-30 Microsoft Technology Licensing, Llc Sharding over multi-link data channels
US10776302B2 (en) * 2019-04-02 2020-09-15 Intel Corporation Virtualized link states of multiple protocol layer package interconnects
CN115622666B (en) * 2022-12-06 2023-03-21 北京超摩科技有限公司 Fault channel replacement method for transmission of data link between core particles and core particles

Also Published As

Publication number Publication date
CN115794731A (en) 2023-03-14

Similar Documents

Publication Publication Date Title
CN115794731B (en) Decoupling control method for inter-chip multi-channel data link transmission
US7620854B2 (en) Method and system for handling input/output (I/O) errors
US7739432B1 (en) Command switching for multiple initiator access to a SATA drive
US9436548B2 (en) ECC bypass using low latency CE correction with retry select signal
EP2002602B1 (en) Method and system for error assessment over a communication link
US8275938B2 (en) Computer system for controlling allocation of physical links and method thereof
US7668981B1 (en) Storage paths
US7774656B2 (en) System and article of manufacture for handling a fabric failure
US20100115329A1 (en) Storage Device, and Data path Failover Method of Internal Network of Storage Controller
US20070297434A1 (en) Mechanism for detecting and clearing i/o fabric lockup conditions for error recovery
US10078543B2 (en) Correctable error filtering for input/output subsystem
EP3608791B1 (en) Non-volatile memory switch with host isolation
US8286027B2 (en) Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems
CN115622666B (en) Fault channel replacement method for transmission of data link between core particles and core particles
KR102413593B1 (en) Methods and circuits for deadlock avoidance
US20120266027A1 (en) Storage apparatus and method of controlling the same
US8055934B1 (en) Error routing in a multi-root communication fabric
US6594735B1 (en) High availability computing system
EP1890439B1 (en) Data processing management apparatus, mode management apparatus and mode management method
US8402320B2 (en) Input/output device including a mechanism for error handling in multiple processor and multi-function systems
US6032269A (en) Firmware recovery from hanging channels by buffer analysis
US8711684B1 (en) Method and apparatus for detecting an intermittent path to a storage system
US7590811B1 (en) Methods and system for improving data and application availability in clusters
US7676558B2 (en) Configuring shared devices over a fabric
US20240231996A1 (en) Deterministic Hardware Indictment in Response to Fatal PCIe NTB Error

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