Link training method and apparatus

By using stored link training parameters for rapid link training without changing the device system, the problem of fluctuating link establishment time in high-speed links is solved, improving link establishment speed and user experience.

WO2026091562A1PCT designated stage Publication Date: 2026-05-07HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-06-19
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

During the high-speed link establishment process, the establishment time fluctuates greatly, affecting the speed of audio and video and data service transmission, resulting in a poor user experience.

Method used

The system obtains feature description information of the device system through capability negotiation, extracts and stores training parameters from the link information, and uses the stored training parameters to perform fast link training, avoiding multiple parameter adjustments.

Benefits of technology

Shorten link training time, improve link building speed, and enhance user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025101928_07052026_PF_FP_ABST
    Figure CN2025101928_07052026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of communications. Provided are a link training method and apparatus, which aim to achieve fast training of a link. The method comprises: a first device performing capability negotiation with a second device, so as to acquire feature description information that indicates features of a device system where the first device is located; if the first device stores link information including the feature description information, extracting a training parameter from the link information; enabling a fast training flag in a link configuration request message, and sending the link configuration request message to the second device; and upon receiving an enabled fast training response flag in a link configuration response message sent by the second device, configuring the extracted training parameter to a link layer, and starting the training of a link.
Need to check novelty before this filing date? Find Prior Art

Description

A link training method and apparatus

[0001] This application claims priority to Chinese Patent Application No. 202411550127.0, filed with the State Intellectual Property Office of China on October 31, 2024, entitled "A Link Training Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communications, and more particularly to a link training method and apparatus. Background Technology

[0003] Successful establishment of the main link for the ultra-high-definition transmission interface is fundamental for audio / video and data transmission. The main link is established through link training to determine the electrical parameters of the connections between ports, and based on the negotiated parameters, it enters the service transmission state. In other words, audio / video and data service transmission can only be completed after successful link establishment.

[0004] In high-speed link establishment within the interface, due to factors such as equipment, cabling, training strategies, and environment, the establishment time can vary greatly, ranging from tens of milliseconds (ms) to seconds, which is extremely unfriendly to rapid business transmission. The speed of link establishment directly affects the speed of audio / video and data initiation and transmission, ultimately impacting the user experience. Summary of the Invention

[0005] This application provides a link training method and apparatus to achieve rapid link training, thereby shortening the link building time, increasing the link building speed, and improving the user experience.

[0006] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0007] In a first aspect, a link training method is provided, applied to a first device. The method may include: negotiating capabilities with a second device to obtain feature description information indicating the characteristics of the device system to which the first device resides; if the first device stores link information containing the obtained feature description information, extracting training parameters from the link information; enabling the fast training flag in a link configuration request message and sending a link configuration request message to the second device; when the fast training response flag is enabled in a link configuration response message sent by the second device, configuring the extracted training parameters to the link layer and starting link training.

[0008] The solution provided in this application first obtains feature description information through capability negotiation. If the device stores link information containing the feature description information obtained through capability negotiation, it indicates that the device system containing the link has not changed. Therefore, training parameters are extracted from the link information for rapid link training. Since the training parameters in the stored link information can guarantee successful link training during the previous link establishment process, and the device system has not changed, link training using the stored training parameters has a very high probability of success on the first attempt. This eliminates the need for multiple interactive attempts to change parameter values, significantly reducing the time required for link training.

[0009] In one possible implementation, the aforementioned feature description information includes one or more of the following: address information of the remote device, port identifier of the remote device, port identifier of the local device, channel rate information, number of channels information, channel direction information, and cable information.

[0010] In another possible implementation, the training parameters mentioned above include one or more of the following parameters: swing parameters, continuous-time linear equalizer (CTLE) parameters, feedforward equalizer (FFE) parameters, and decision feedback equalizer (DFE) parameters.

[0011] In another possible implementation, the extracted training parameters are those successfully trained on the device system indicated by the feature description information obtained through capability negotiation. This ensures that the stored training parameters can be used to successfully train the link on the first attempt, reducing the training time, provided the device system remains unchanged.

[0012] In another possible implementation, the method provided in this application further includes: if the extracted training parameters are configured to the link layer, and the link training is started, the link training is successful, and the link establishment is completed.

[0013] In another possible implementation, the method provided in this application further includes: if the extracted training parameters are configured to the link layer, and the link training fails after the link training is started, the normal link training process is started.

[0014] In another possible implementation, the method provided in this application further includes: after the initial successful link establishment, extracting the feature description information and training parameters from the initial successful link establishment process, and storing the feature description information and training parameters from the initial successful link establishment process in the first device. After the successful link establishment process of executing the normal training process, extracting the feature description information and training parameters as a set of link information, so as to ensure that if it is determined from the feature description information that the device system has not changed, the link training can be successfully performed on the first attempt using the stored training parameters, thereby shortening the link training time.

[0015] In another possible implementation, the aforementioned link information is stored in a non-volatile storage medium in the first device.

[0016] Secondly, a link training device is provided, deployed on a first device, the device comprising: a negotiation unit, an extraction unit, a transmission unit, and a training unit. Wherein:

[0017] The negotiation unit is used to negotiate capabilities with the second device and obtain feature description information, which is used to indicate the features of the device system to which the first device is located.

[0018] The extraction unit is used to extract training parameters from the link information if the first device stores link information containing feature description information obtained through capability negotiation.

[0019] The sending unit is used to enable the fast training flag in the link configuration request message and send the link configuration request message to the second device.

[0020] The training unit is used to configure the extracted training parameters to the link layer and start the training of the link when it receives the fast training response flag enabled in the link configuration response message sent by the second device.

[0021] It should be noted that the link training device provided in the second aspect is used to implement the link training method provided in the first aspect or any possible implementation method. Its specific implementation can refer to the first aspect or any possible implementation method of the first aspect, which will not be elaborated here.

[0022] Thirdly, a computing device is provided, the computing device including a memory and at least one processor, the memory being used to store a set of computer instructions; when the processor executes this set of computer instructions, it performs the operation of the method described in the first aspect or any possible implementation thereof.

[0023] Fourthly, a chip is provided, comprising one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of an electronic device and send the received signals to the processors, the signals including computer instructions stored in the memory. When the processor executes the computer instructions, it causes the electronic device to perform the operational steps of the method described in the first aspect or any possible implementation thereof.

[0024] Fifthly, a computer-readable storage medium is provided, comprising: computer software instructions; when the computer software instructions are executed in a computer, they cause the computer to perform the operations described in the first aspect or any possible implementation thereof.

[0025] Sixthly, a computer program product, when run on a computer, causes the computer to perform the operational steps of the method described in the first aspect or any possible implementation thereof.

[0026] In a seventh aspect, a data transmission system is provided, comprising a data transmitting device and a data receiving device, wherein the data transmitting device is used to execute the link training method described in the first aspect or any one thereof, and the data receiving device and the data transmitting device establish a link through interaction.

[0027] The solutions provided in the third to seventh aspects above are used to implement the methods provided in the first aspect or any possible implementation method above, and therefore can achieve the same beneficial effects as the first aspect or any possible implementation method, which will not be elaborated here.

[0028] It should be noted that any of the possible implementations of any of the above aspects can be combined, provided that the solutions do not contradict each other. Attached Figure Description

[0029] Figure 1 is a schematic diagram of the process of establishing a link between devices in a data transmission system;

[0030] Figure 2 is a schematic diagram of the architecture of a data transmission system;

[0031] Figure 3 is a schematic diagram of a data transmission system provided in an embodiment of this application;

[0032] Figure 4 is a schematic diagram of another data transmission system provided in an embodiment of this application;

[0033] Figure 5 is a schematic diagram of the basic components of an electronic device provided in an embodiment of this application;

[0034] Figure 6 is a schematic diagram of inter-interface transmission provided in an embodiment of this application;

[0035] Figure 7 is a schematic diagram of the structure of a computing device provided in an embodiment of this application;

[0036] Figure 8 is a flowchart illustrating a link training method provided in an embodiment of this application;

[0037] Figure 9 is a flowchart illustrating another link training method provided in an embodiment of this application;

[0038] Figure 10 is a flowchart illustrating a method for establishing a link according to an embodiment of this application;

[0039] Figure 11 is a schematic diagram of a configuration negotiation process provided in an embodiment of this application;

[0040] Figure 12 is a schematic diagram of a configuration startup process provided in an embodiment of this application;

[0041] Figure 13 is a schematic diagram of a link training device provided in an embodiment of this application;

[0042] Figure 14 is a schematic diagram of another link training device provided in an embodiment of this application. Detailed Implementation

[0043] In the embodiments of this application, in order to clearly describe the technical solutions of the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different. The technical features described by "first" and "second" have no sequential or size order.

[0044] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0045] In the embodiments of this application, at least one can also be described as one or more, and multiple can be two, three, four or more, and this application does not impose any restrictions.

[0046] Furthermore, the network architecture and scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0047] To facilitate understanding, the relevant terms involved in the embodiments of this application will be explained first.

[0048] A lane is a circuit used to transmit signals. A single-ended lane consists of a single line, while a high-speed differential lane consists of a pair of lines.

[0049] A link is used to transmit data signals or power, and typically consists of one or more channels. A link is a collection of channels or a conductor line used for power supply.

[0050] Main Link: A point-to-point link consisting of one or more channels based on high-speed differential signals, used for the transmission of high-speed service data (also known as "high-speed data"), such as audio and video signals, third-party protocol data, and other high-speed data. A main link can be a bidirectional link, meaning there are channels in different directions, or a unidirectional link, meaning the channels in the main link all have the same direction.

[0051] Sideband link (SL): A point-to-point link consisting of a transmit and a receive channel based on a low-speed single-ended signal. It is used for the transmission of low-speed data, such as device management signals, port management signals, bandwidth management signals, and power management signals, as well as for the transmission of control messages. The sideband link is a bidirectional link.

[0052] Transmitter Side / Receiver Side: The two sides of a link (usually containing multiple channels) are called the transmitter and receiver, respectively, and the data flow is from the transmitter to the receiver.

[0053] If the main link of a port only includes a unidirectional link, then the main link of that port only has a sending end or a receiving end. If the main link of a port is a bidirectional link, then the main link of that port has both a sending end and a receiving end.

[0054] Logical layer control frame (LLCF): A special code pattern used to implement link management functions such as link training and state updates. In this invention, LLCF is also abbreviated as CF; therefore, LLCF_TS1 is equivalent to CF_TS1, and LLCF_TS2 is equivalent to CF_TS2.

[0055] Figure 1 illustrates the process of establishing a link between devices in a data transmission system. This data transmission system can use a high-speed data interface. The high-speed data interface can be a General Multimedia Interface (GMPI) or others, which are not limited in this embodiment. The data transmission system illustrated in Figure 1 includes device A and device B. Device A is a main downstream port (MDP) device, and device B is a main upstream port (MUP) device.

[0056] Figure 1 illustrates that the establishment of the main link between devices consists of four parts: capability negotiation, link configuration, link training, and successful training.

[0057] Capability Negotiation: Through capability negotiation request and response messages, port capability interaction is completed, enabling both ends of the device to acquire the capabilities of the other end. The capabilities exchanged during this process are those related to link establishment, including but not limited to link mode, channel rate, FFE (Feedforward Equalizer) capabilities at both ends, and Swing capabilities at both ends. Simultaneously, the end device initiating the link establishment process, based on the results of the capability interaction, completes the link establishment decision, determining the capabilities supported by both ends. The main decisions include: link mode, channel rate, FFE (Feedforward Equalizer) capabilities, and Swing capabilities, to facilitate subsequent link training based on the decision results.

[0058] Link configuration: This involves configuring the results of the capability negotiation process in both end devices through interaction. For example, the link configuration between the two end devices is completed through "link configuration request messages" and "link configuration response messages".

[0059] Link Training: Under the capability indicated by the above decision results, the two ends of the device interact to select a set of electrical parameters, ensuring that the data sent by the transmitting end according to these parameters can be received completely and accurately by the receiving end. During the link training process, factors such as device signal output quality, cable quality, device signal receiving capability, training strategy, and external environment may trigger adjustments to one or more parameters of Swing, feed-forward equalizer (FFE), number of channels, and channel direction, resulting in multiple interactions and ultimately selecting a set of electrical parameters. Based on the selected electrical parameters, each channel in the main link undergoes clock recovery and locking, channel equalization, and channel locking. The link training process described here can be referred to as the normal link training process, and will not be elaborated upon further in this document. Among them:

[0060] Clock recovery and locking: The transmitter (TX channel) of each high-speed differential channel sends a control frame for clock locking during the training phase to the receiver (RX channel). The parameters selected by the transmitter (such as Swing parameters) support the receiver to complete clock locking.

[0061] Channel equalization: The transmitter of each high-speed differential channel sends control frames to the receiver for channel parameter optimization calculations during the training phase, and selects appropriate equalization parameters (such as appropriate FFE parameters selected by the transmitter) to improve the signal quality acquired by the receiver of each channel.

[0062] Channel locking: The transmitting end of each high-speed differential channel sends a control frame to the receiving end to confirm the synchronization status of transmission and reception, thereby completing the data boundary locking of each channel (if the start and end of the control frame can be identified), and thus completing the transmission and reception synchronization.

[0063] Multi-channel alignment: The transmitting end of each high-speed differential channel sends a control frame to the receiving end to mark the starting position of the new logical block. After the receiving end receives the control frame to mark the starting position of the new logical block, if the offset (skew) between the control frames to mark the starting position of the new logical block is less than a preset value, the receiving end can receive data normally, and the transmitting link or receiving link starts to receive high-speed service data and enters the high-speed link service transmission state (HS).

[0064] Training successful: Clock recovery and locking, channel equalization, and channel locking are completed in each channel of the main link. After multi-channel alignment is completed in the main link, the link training is successful and the link between devices is established.

[0065] In the aforementioned link establishment process, from link configuration to successful link training, considering both optimal and worst-case scenarios, the initial calculated time ranges from 10ms to 2500ms, a very large span. As shown in Figure 1, the link establishment process with uncertain time consumption is mainly the link training stage. Effectively reducing this time consumption is crucial for improving link establishment speed.

[0066] The link establishment process illustrated in Figure 1 can be applied to the data transmission system illustrated in Figure 2. As shown in Figure 2, this data transmission system includes a set-top box, cables, and a television.

[0067] However, in data transmission systems, the environment in which each device operates is not easily changed. Once established, the environment and application scenarios of the system and devices are relatively stable. For example, the data transmission system illustrated in Figure 2 is a very common device system in a living room. Once the system is set up, its environment and application scenarios are relatively stable.

[0068] Based on this, this application provides a link training method. After successful link establishment, the feature description information describing the characteristics of the device system and the training parameters of the successfully trained link are stored as a set of link information. When establishing a link again, the feature description information is first obtained through capability negotiation. If the device stores link information containing the feature description information obtained through capability negotiation, it means that the device system where the link resides has not changed. Then, the training parameters in the link information are extracted for fast link training. Since the training parameters in the stored link information can guarantee successful link training in the previous link establishment process, and the device system has not changed, link training using the stored training parameters has a very high probability of success on the first try. This eliminates the need for multiple interactive attempts to change parameter values, greatly shortening the link training time.

[0069] The technical solution provided in this application can be applied to a data transmission system including multiple data transmission devices, which can be equipment, chips applied to equipment, or interface devices, etc. In this data transmission system, data transmission devices (e.g., data transmitting devices) and data transmission devices (e.g., data receiving devices) can be directly connected or indirectly connected through switching devices such as routers; that is, all multiple data transmission devices can be connected to the switching device. In this application, data transmission between the multiple data transmission devices can be performed via wired connections. Furthermore, when transmitting data between the multiple data transmission devices, signal transmission can be performed directly or through an interface device.

[0070] When the data transmission device is a chip within a device, the chips in the data transmission system can be interconnected via wired connections. This chip can be a chip within the device, a chip in a docking station, or a chip in an adapter, etc. The docking station can accept connectors such as High Definition Multimedia Interface (HDMI), DisplayPort (DP), Universal Serial Bus (USB), and Thunderbolt.

[0071] Optionally, when the data transmission device is a chip, the chip may further include an interface module, meaning this application can be applied to an interface module for chip-to-chip interconnection. This interface module can be understood as an intellectual property (IP) module integrated within the chip. Alternatively, the interface module can also be sold independently as an IP module. For example, the chip may be a system-on-chip (SoC), a central processing unit (CPU), or a graphics processing unit (GPU), and the aforementioned interface module may be an interface module within the SoC, CPU, or GPU. Optionally, the interface module may be a transmitting circuit and / or a receiving circuit.

[0072] The following example, using a data transmission system comprising multiple devices, illustrates the structure of such a data transmission device.

[0073] Figure 3 is a schematic diagram of a data transmission system provided in an embodiment of this application. The data transmission system includes a first device 310 and a second device 320, which are connected via a wired connection, such as a cable. The first device 310 and the second device 320 can transmit signals, such as audio / video data or charging signals.

[0074] In one example, the first device 310 can be a set-top box, and the second device 320 can be a television. The set-top box and the television can be connected by a cable, and the set-top box can transmit audio and video data to the television via the cable.

[0075] In another example, the first device 310 is a display and the second device 320 is another display. The two displays can be connected by a cable, and the display can transmit control information and / or audio and video data to the other display via the cable.

[0076] Optionally, the first device 310 may include interface A, and the second device 320 may include interface B. The connection between the first device 310 and the second device 320 may specifically be between interface A of the first device 310 and interface B of the second device 320, for example, the interface A of the first device 310 and the interface B of the second device 320 may be connected by a cable.

[0077] Figure 4 is a schematic diagram of another data transmission system provided in an embodiment of this application. The data transmission system includes multiple devices 410 and a router 420. The multiple devices 410 can be connected to the router 420 via wired connections; for example, all multiple devices 410 can be connected to the router 420 via cables. Any two of the multiple devices 410 can transmit signals through the router 420, such as transmitting audio / video data or charging signals.

[0078] In one example, the plurality of devices 410 may include one or more displays 411 and set-top boxes 412, which can transmit audio and video data to the displays 411 through the router 420.

[0079] Optionally, each of the plurality of devices 410 may include an interface, and the router 420 may include multiple interfaces. The interface of each of the plurality of devices 410 may be connected to one of the multiple interfaces of the router 420. For example, the plurality of devices 410 may include multiple displays, and the multiple interfaces of the router 420 may include a first interface to a third interface. The interface of one display is connected to the first interface of the router 420 via a cable, the interface of the set-top box is connected to the second interface of the router 420 via a cable, and the interface of another display is connected to the third interface of the router 420 via a cable.

[0080] The devices in the aforementioned system with data transmission capabilities can be referred to as communication devices. These communication devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted. They can also be deployed on water (such as ships) and in the air (such as airplanes, balloons, and satellites), and can be applied to various scenarios. For example, these communication devices may include, but are not limited to: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), cameras, wearable devices, audio equipment, audio / video players, set-top boxes, game consoles, printers, mice, keyboards, in-vehicle equipment (e.g., equipment on vehicles such as cars, bicycles, electric vehicles, airplanes, ships, trains, and high-speed trains), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, smart home devices, smart robots, workshop equipment, wireless terminals in smart cities, or devices in smart homes, and flying equipment, etc. Optionally, the signals transmitted between the aforementioned communication devices may include, but are not limited to: audio and video signals, radio frequency signals, IoT data, and charging signals.

[0081] In this application, the interface specifications used for signal transmission between devices in the data transmission system may include, but are not limited to: USB interface specifications, HDMI specifications, DP specifications, and high-speed serial computer expansion bus (peripheral component interconnect express, PCI-Express) interface specifications. Accordingly, the interface may be HDMI, or a Type-C interface, etc.

[0082] For example, in the above example, the interface connection between the set-top box and the TV can be via a DP cable, following the DP interface standard, or via an HDMI cable, following the HDMI interface standard.

[0083] It is understood that the interface specifications used for signal transmission between the above-mentioned devices are merely exemplary. In practical applications, the interface specifications may also include other or any interface specifications that may appear in the future, such as the Unified Media Interconnection (UMI) interface, the GPMI interface, etc. This application embodiment does not impose specific limitations on this.

[0084] In this application, when the aforementioned device is an electronic device, Figure 5 shows a schematic diagram of the basic components of an electronic device. The electronic device includes an interface chip 500 (Unified Multimedia Interconnect Interface), which includes one or more adapters 501, a management control adapter 502, and one or more ports 503; or, when the electronic device is a routing device, the interface chip 500 only includes one or more ports 503. Each of the one or more adapters 501 can be coupled to an external component of the interface chip 500. The management control adapter 502 can be coupled to a management control component outside the interface chip 500. The port 503 can be coupled to a connector 504 of the electronic device, which is used to couple external devices of the electronic device. The one or more adapters 501 can be transmit / receive adapters. For example, when adapter 501 is used for audio / video format adaptation, adapter 501 can be an audio / video transmit / receive adapter. When adapter 501 is used for third-party protocol adaptation, adapter 501 can be a third-party protocol adapter.

[0085] Different electronic devices can be combined with their basic components to form various device types. For example, an electronic device may include a source device with at least one downlink port and at least one audio / video transmission adapter, or a source device with at least one uplink port and an audio / video reception adapter, or a docking station device with at least one uplink port, at least one audio / video reception adapter, and at least one conventional audio / video interface, or a routing device with at least one downlink port and at least one uplink port, but without audio / video transmission adapter and audio / video reception adapter, or a composite device with both uplink and downlink ports.

[0086] Figure 6 illustrates a link channel model provided in an embodiment of this application. Links between devices may include a primary link and secondary links.

[0087] In one possible embodiment, the main link may include multiple channels, each supporting unidirectional transmission; the auxiliary link may include two unidirectional channels in different directions. In other possible embodiments, the main link may include multiple channels, each with a different direction. For example, a main link may include multiple channels, such as 4 or 8 channels. The more channels the main link includes, the faster the data transmission speed. For example, as shown in Figure 6, the main link may include n transmit channels TX0-TXn and m receive channels RX0-RXm, and the auxiliary link includes a transmit channel SBTX and a receive channel SBRX, where n and m are positive integers.

[0088] Furthermore, the connections between devices can also include a power-bus link (PL) and a cable-information link (CL). The cable-information link can be used to transmit cable information, such as cable type and cable capability information. The power-bus link and the cable-information link are not shown in the figure.

[0089] For example, the main link primarily enables the transmission of ultra-high-definition audio and video signals and high-speed data (such as USB3). The main link supports bidirectional transmission, with each direction comprising multiple differential channels (lanes). Each differential channel consists of one pair (2 lines) of differential lines, and each channel supports only unidirectional transmission. Each differential line includes a transmitter (TX) and a receiver (RX). In this application, TX refers to the main link transmitter by default, and RX refers to the main link receiver by default. The main link can also support unidirectional transmission. Each differential channel is a high-speed channel, supporting rates generally above 1Gbps, such as 2Gbps, 4Gbps, 8Gbps, 10Gbps, 12Gbps, 16Gbps, 20Gbps, 24Gbps, etc.

[0090] In the link channel model shown in Figure 6, the high-speed main link of a device port includes a transmitting link (the link of the sending end of this port) used to send data to the peer end, and a receiving link (the link of the receiving end of this port) used to receive data from the peer end. The port transmitting link (also known as the logical sublayer transmitting link, TX_Link) includes all TX channels of this port, and the port receiving link (also known as the logical sublayer receiving link, RX_Link) includes all RX channels of this port.

[0091] The secondary link supports bidirectional transmission and consists of two single-ended channels in different directions. Each single-ended channel includes one line, and each line includes a secondary link transmitter (SLTX) and a secondary link receiver (SLRX). The secondary link transmits low-speed data (such as control data, used for inter-device management and control, such as device discovery, capability query, device configuration, and device control) through the single-ended channels. Each single-ended channel is a low-speed channel, typically supporting rates less than 1Gbps, such as 12.5Mbps. Due to its low supported rate and low power consumption, the secondary link can remain in a normally-on state.

[0092] In this application, the terms "high-speed channel," "high-speed differential channel," and "differential channel" have the same meaning, referring to the high-speed channel of the main link. Similarly, the terms "low-speed channel," "single-ended channel," and "low-speed single-ended channel" have the same meaning, referring to the low-speed channel of the auxiliary link. Further details will not be elaborated upon hereafter.

[0093] It should be noted that the establishment of a link / link training described in this application refers to the establishment of a main link / link training of the main link.

[0094] The solutions provided by the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0095] On one hand, this application provides a schematic diagram of the structure of a computing device 70. This computing device 70 can implement the functions of the first device 310 or the second device 320 shown in FIG3.

[0096] As shown in Figure 7, the computing device 70 may include a processor 7010, a bus 7020, a memory 7030, and a communication interface 7040. The processor 7010, the memory 7030, and the communication interface 7040 are connected via the bus 7020.

[0097] It should be understood that in this embodiment, the processor 7010 may be a central processing unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0098] The processor 7010 may also be a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the program of the present application.

[0099] The communication interface 7040 is used to enable communication between the computing device 70 and external devices or components.

[0100] Bus 7020 may include a pathway for transferring information between the aforementioned components (such as processor 7010 and memory 7030). In addition to a data bus, bus 7020 may also include a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 7020 in the diagram. Bus 7020 may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. Bus 7020 can be divided into address bus, data bus, control bus, etc.

[0101] As an example, computing device 70 may include multiple processors. A processor may be a multi-core (multi-CPU) processor. Here, "processor" can refer to one or more devices, circuits, and / or computing units used to process data (e.g., computer program instructions).

[0102] It is worth noting that Figure 7 only shows an example of a computing device 70 including one processor 7010 and one memory 7030. Here, the processor 7010 and the memory 7030 are used to indicate a type of device or equipment. In specific embodiments, the number of each type of device or equipment can be determined according to business needs.

[0103] The memory 7030 can be a pool of volatile memory or a pool of non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0104] For example, the processor 7010 can perform the following functions by running or executing software programs and / or modules stored in the memory 7030:

[0105] The system negotiates capabilities with the second device to obtain feature description information that indicates the characteristics of the device system. If the computing device 70 stores link information containing the feature description information, it extracts the training parameters from the link information. The system enables the fast training flag in the link configuration request message and sends a link configuration request message to the second device. When the system receives a link configuration response message from the second device with the fast training response flag enabled, it configures the extracted training parameters from the link information to the link layer and starts training for that link.

[0106] On the other hand, embodiments of this application provide a link training method for training links between devices in a data transmission system, thereby establishing links. This method can be applied to a data transmission system including a first device and a second device. For example, this method can be applied to the data transmission system illustrated in Figure 3 or Figure 4. The first device can be any data transmission device in the data transmission system illustrated in Figure 3 or Figure 4, and the second device is another data transmission device in the data transmission system illustrated in Figure 3 or Figure 4 that transmits data with the first device.

[0107] As shown in Figure 8, the link training method provided in this application embodiment may include:

[0108] S801, the first device and the second device negotiate capabilities to obtain feature description information used to indicate the characteristics of the device system to which the first device is located.

[0109] The first device can be the device that initiates the chain establishment process (or the chain training process). Alternatively, the first device can be a device that communicates with the device that initiates the chain establishment process.

[0110] For example, this link establishment process can be a re-establishment process for scenarios such as power on / off and standby wake-up. This link training process can be the link training phase in the re-establishment process for scenarios such as power on / off and standby wake-up.

[0111] Specifically, the feature description information can be used to describe the characteristics of the device system in which the first device resides. That is, the feature description information can be used to describe factors affecting link training, such as the environment and / or application scenario in which the first and second devices are located. The specific content of the feature description information can be configured according to actual needs; this embodiment of the application does not limit this.

[0112] For example, the feature description information includes one or more of the following: remote device address information, remote device port identifier, local device port identifier, channel rate information, channel quantity information, channel direction information, and cable information. Among them:

[0113] The local device is the device that extracts feature description information, while the remote device is the device that establishes a link with the device that extracts feature description information. Address information is used to describe the address of the device, and the content and format of the address information can be configured according to actual needs; this application embodiment does not limit this.

[0114] Among them, the channel direction information is used to indicate the transmission direction (TX direction) or the reception direction (RX direction).

[0115] The cable information refers to the identification information of cables between devices, meaning that the cable information can uniquely identify the cable. The content of the cable information can be configured according to actual needs, and this application embodiment does not limit this. For example, the cable information may include at least one of the following: cable identification code and cable serial number.

[0116] For example, the cable identification code can be a vendor identity (VID) and / or a product identity (PDI).

[0117] Correspondingly, in S801, the second device can obtain feature description information that indicates the characteristics of the device system in which the second device is located.

[0118] S802. If the first device stores link information containing feature description information obtained through capability negotiation, the first device extracts the training parameters from the link information.

[0119] After the first device and the second device successfully establish a normal link training connection, the first device can extract feature description information and successfully trained training parameters, and store them locally as a set of link information.

[0120] It is understandable that in the first device, a set of link information, including feature description information and training parameters, indicates that the training parameters enable the link training to succeed under the device system features indicated by the feature description information.

[0121] Specifically, in S802, it is determined whether the first device stores link information containing the feature description information obtained in capability negotiation in S801. This can also be understood as S802 determining whether the feature description information during the current link training process has changed compared to the feature description information in the historical successful link establishment process. In other words, it determines whether the device system to which the first device resides has changed.

[0122] For example, link information can be stored in non-volatile memory (NVM) in the first device.

[0123] Furthermore, if the first device does not store link information containing feature description information obtained through capability negotiation, then the normal link training process is executed.

[0124] If it is determined in S802 that the first device stores link information containing the feature description information obtained in capability negotiation in S801, it means that when executing the process initiated by S801, the device system where the first device and the second device are located has not changed compared with when the feature description information in the link information was stored before. Therefore, the training parameters in the stored link information can be used for fast link training.

[0125] It should be understood that the training parameters extracted in S802 are the parameters successfully trained under the device system indicated by the feature description information obtained in S801, which is the link between the first device and the second device.

[0126] In one possible implementation, the training parameters can be parameters adjusted through interaction during the link training process. The specific content of the training parameters is not limited in the embodiments of this application.

[0127] For example, training parameters may include one or more of the following parameters: swing parameters, continuous-time linear equalizer (CTLE) parameters, feed-forward equalizer (FFE) parameters, and decision-feedback equalizer (DFE) parameters.

[0128] Among them, FFE, CTLE, and DFE are commonly used signal equalization techniques in high-speed signal transmission. FFE is often used at the transmitting end of high-speed signals, while CTLE and DEF are often used at the receiving end. It should be understood that the FFE, CTLE, and DFE parameters are used to indicate parameters related to signal equalization. Of course, the names of each training parameter can be configured according to actual needs; as long as their functions are similar, they all belong to the training parameters described in the embodiments of this application.

[0129] Furthermore, the content of the training parameters extracted by the first device is related to the channel direction. For example, for the TX direction channel of the first device, the training parameters extracted by the first device in S802 include swing parameters and FFE parameters. For the RX direction channel of the first device, the training parameters extracted by the first device in S802 include CTLE parameters and DFE parameters. For the bidirectional link between the first device and the second device (which can be the TX and RX direction channels of the first device), the training parameters extracted by the first device in S802 may include swing parameters, FFE parameters, CTLE parameters, and DFE parameters.

[0130] Accordingly, in S802, if the second device stores link information and the link information contains feature description information obtained by the second device during capability negotiation, the second device extracts the training parameters from the link information.

[0131] Furthermore, the content of the training parameters extracted by the second device is related to the channel direction. For example, for the TX direction channel between the second device and the first device, the training parameters extracted by the second device in S802 include swing parameters and FFE parameters. For the RX direction channel of the second device, the training parameters extracted by the second device in S802 include CTLE parameters and DFE parameters. For a bidirectional link between the second device and the first device, the training parameters extracted by the second device in S802 may include swing parameters, FFE parameters, CTLE parameters, and DFE parameters.

[0132] S803, the first device enables the fast training flag in the link configuration request message and sends the link configuration request message to the second device.

[0133] After completing the S802 operation, the first device performs the S803 operation to negotiate the configuration with the second device and determine whether the link can be trained quickly according to the training parameters extracted in S802.

[0134] Provided that it supports (or accepts) fast training, the second device enables the fast training response flag in the link configuration response message and sends it to the first device.

[0135] The second device supports (or accepts) rapid training, which may include: the second device is configured with a rapid training function, or the link information stored by the second device contains feature description information obtained by the second device in the capability negotiation in S801, that is, the second device extracts training parameters by executing S801 and S802.

[0136] Furthermore, when the first device receives the link configuration response message sent by the second device and the fast training response flag is enabled, it completes the configuration negotiation, determines that the link can be fast trained according to the training parameters extracted in S802, and executes the operation in S804.

[0137] For example, the Fast Training flag (FT) can be configured in the link configuration request message. Enabling FT indicates fast training (i.e., link training using extracted training parameters), while disabling it indicates normal link training. Similarly, the Fast Training Response flag (FTA) can be configured in the link configuration response message. Enabling FTA indicates fast training (i.e., link training using extracted training parameters), while disabling it indicates normal link training.

[0138] The flag bit can be enabled by setting the flag bit to 1 (in binary, which can be represented by 1b), and the flag bit can be disabled by setting the flag bit to 0 (in binary, which can be represented by 0b).

[0139] Furthermore, after the first device completes the S803 operation, if the fast training response flag is not enabled in the link configuration response message sent by the second device, it indicates that the first device and the second device have not completed configuration negotiation (or the configuration negotiation has failed). In this case, the fast training process ends and the normal link training process is executed.

[0140] S804. When the fast training response flag is enabled in the link configuration response message sent by the second device, the first device configures the training parameters to the link layer and starts the training of the link.

[0141] In one possible implementation, the second device also synchronously executes the operations of S801 and S802. In S803, the second device enables the fast training response flag in the link configuration response message and sends it to the first device. In S804, the second device configures the training parameters extracted in S802 to the link layer and starts the training of the link.

[0142] Correspondingly, if the second device extracts the training parameters by executing S801 and S802, and the second device enables the fast training response flag in the link configuration response message and sends it to the first device, then the second device configures the extracted training parameters to the link layer and starts the training of the link.

[0143] Through operation S804, rapid training of the link was initiated. Using the training parameters extracted in S802, clock recovery and locking, channel equalization, channel locking, and multi-channel alignment were performed on each channel in the main link. Since the training parameters extracted in S802 were the training parameters for successful link training based on the feature description information obtained in S801, and S802 also confirmed that the feature description information had not changed, the main link in S804 could complete clock recovery and locking, channel equalization, channel locking, and multi-channel alignment, thus achieving successful link training.

[0144] The solution provided in this application allows for the extraction of stored training parameters from the stored feature description parameters that describe information affecting link training. These extracted training parameters are then directly configured into the link layer for link training, eliminating the need for multiple interactive adjustments to the training parameters, thus shortening training time and increasing training speed.

[0145] Furthermore, if the first device in S804 configures the extracted training parameters to the link layer to start the link training, and the link training is successful, then the link establishment is complete.

[0146] If link training fails in S804, proceed with the normal link training process.

[0147] In practical applications, the device initiating the link establishment process acts as the first device, executing operations S801 to S804 above to train the channel that the first device acts as the transmitting end in the link. Simultaneously, the device at the other end of the link to be trained acts as the second device, executing the operations described in S801 to S804 above to respond to the link training. In this way, the training of each channel in the enabled directions is completed, and the link is established.

[0148] As mentioned above, the training parameters extracted in S802 are the training parameters that enabled the link to be successfully trained during the normal training process of link establishment. Therefore, after successfully establishing the link through the normal training process, the first device and / or the second device extract the feature description information and the successfully trained training parameters, and store them locally as a set of link information. During the re-establishment process, the solution provided in this application (the processes of S801 to S804 above) can be executed to perform rapid link training.

[0149] For example, the successful link establishment process during normal training can be the first successful link establishment process. Alternatively, the successful link establishment process during normal training can be the most recent successful link establishment process during normal link training.

[0150] As exemplarily shown in FIG9, the link training method provided in the embodiments of this application may further include the process of S805.

[0151] S805. After the first successful link establishment, the first device extracts the feature description information and training parameters in the first successful link establishment process, and stores the feature description information and training parameters in the first successful link establishment process in the first device.

[0152] Accordingly, after the initial successful link establishment, the second device can extract the feature description information and training parameters from the initial successful link establishment process and store them in the second device. The training parameters extracted by one device are related to the channel direction.

[0153] For example, for the TX direction channel of a device (first device or second device), the training parameters extracted by the device in S805 include swing parameters and FFE parameters. For the RX direction channel of a device, the training parameters extracted by the device in S805 include CTLE parameters and DFE parameters. For a bidirectional link between devices, the training parameters extracted by the device in S805 include: swing parameters, FFE parameters, CTLE parameters, and DFE parameters.

[0154] Of course, S805 can also be replaced by: after successfully establishing the link during normal link training, the first device and / or the second device extract the feature description information and training parameters from the link establishment process and store them locally.

[0155] The following specific examples will provide a detailed explanation of the solution provided in this application.

[0156] Figure 10 illustrates the flow of a method for establishing a link provided in an embodiment of this application.

[0157] The method for establishing the link consists of two parts, as shown in Figure 10. The first part involves the device system (including the first and second devices) completing the initial link establishment (during which the normal training process is executed). After successful link establishment, feature description information and successfully trained training parameters are extracted and stored in non-volatile storage media, as shown on the right path in Figure 10. The second part involves the device system re-establishing the link due to scenarios such as power-on / off or standby wake-up. Based on the feature description information, the training parameters are extracted, the two parties negotiate, and rapid training is initiated, as shown on the left path in Figure 10.

[0158] In the first part, after the device system successfully establishes the initial link, it needs to extract feature description information and link training parameters, and store them as a set of link information on a non-volatile storage medium on the system according to a certain format. The device can store one or more sets of link information according to its own needs. Both the transmitting end and / or receiving end of the channel can extract and store the feature description information and link training parameters. The stored training parameters differ slightly and are related to the channel direction.

[0159] For example, the set of link information extracted and stored by the device includes feature description information and link training parameters, as shown in Table 1.

[0160] Table 1

[0161] The example in Table 1, which uses 4 channels in a bidirectional manner, does not constitute a specific limitation.

[0162] As shown on the right side of Figure 10, during the initial link establishment process, devices perform normal link training to establish the link. After the link establishment process begins, the devices at both ends of the link first perform capability negotiation. If the feature description information extracted from the capability negotiation result does not exist locally (for the first link establishment, no link information is stored locally), configuration negotiation is completed through a link configuration request message (FT flag set to 0) and a link configuration response message (FTA flag set to 0), and normal training is started until training is successful. After the initial link establishment is completed successfully, the feature description information and the successfully trained training parameters are extracted and stored in local non-volatile storage media.

[0163] In the second part, when the device system triggers a re-establishment of the connection due to scenarios such as power-on / off or standby wake-up, it will initiate a rapid connection establishment process, which can be divided into three steps: parameter extraction, configuration negotiation, and configuration startup. These are described below:

[0164] 1) Parameter extraction

[0165] After completing the "Capability Negotiation" step in the link establishment process shown in Figure 10, extract the feature description information of the device system from the capability negotiation results. This includes: remote device address, remote device port ID, local device port ID, channel rate, number of channels, direction of each channel, and cable information. Refer to Table 2 for the feature description information.

[0166] Table 2

[0167] The example in Table 2 uses 4 channels as an example, which does not constitute a specific limitation.

[0168] Then, based on the feature description information extracted from the capability negotiation results, a search is performed in the storage information of the local device (e.g., flash) to confirm whether the existing stored link information contains the feature description information extracted from the capability negotiation results. If so, the training parameters in that link information are extracted, and a fast training process is initiated; if the existing stored link information does not contain the feature description information extracted from the capability negotiation results, the normal training process is initiated. The training parameters are shown in Table 3.

[0169] Table 3

[0170] The examples in Table 3, which use bidirectional channels, do not constitute a specific limitation.

[0171] 2) Configuration Negotiation

[0172] Device A sets the Fast Training (FT) flag to 1 (enabled) in the "Link Configuration Request Message" and sends it to Device B. Upon receiving the message (Link Configuration Request Message), Device B sets the Fast Training Ack (FTA) flag to 1 (enabled) in the "Link Configuration Response Message" and replies. The devices at both ends of the link complete the configuration negotiation. Figure 11 illustrates the configuration negotiation process between Device A and Device B.

[0173] If the Fast Training (FT) flag in the "Link Configuration Request Message" is not 1 (disabled), or the Fast Training Ack (FTA) flag in the "Link Configuration Response Message" is not 1 (disabled), the normal training process is started. After successful training and successful link establishment, the feature description information and the successfully trained training parameters are extracted and stored in the local non-volatile storage medium.

[0174] For example, the link configuration request message and link configuration response message are management adapter messages, and their message format can refer to the format of management adapter messages. The management adapter has the functions of discovering, managing, and configuring the unified multimedia interconnection interface network. The management adapter encapsulates different types of messages into corresponding types of management adapter messages and sends them to the transport layer. This application embodiment does not limit the format and content of the link configuration request message and link configuration response message. The Fast Training (FT) flag and Fast Training Ack (FTA) flag can be set in the message data part of the message, and the specific location is not limited.

[0175] 3) Configure startup

[0176] When device A receives a "Link Configuration Response Message" with Fast Training Ack (FTA) set to 1, it will configure the extracted training parameters to the link layer and start training.

[0177] Figure 12 illustrates the configuration startup process. As shown in Figure 12, during the parameter extraction phase, training parameters are extracted from the link information containing feature description information based on the feature description information. In the configuration startup phase, the training parameters are configured to the link layer to start training. After successful training, the process ends.

[0178] The above primarily describes the solutions provided by the embodiments of the present invention from the perspective of the working principle of the device. It is understood that, in order to achieve the above functions, the device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the present invention can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present invention.

[0179] In this embodiment of the invention, devices and the like can be divided into functional modules according to the above method examples. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0180] Figure 13 illustrates a link training device 130 provided in an embodiment of this application, where each functional module is divided according to its corresponding function. This link training device 130 is used to implement the functions of the first device or device A in the above method embodiments. As shown in Figure 13, the link training device 130 may include: a negotiation unit 1301, an extraction unit 1302, a sending unit 1303, and a training unit 1304. The negotiation unit 1301 executes process S801 in Figure 8 or Figure 9; the extraction unit 1302 executes process S802 in Figure 8 or Figure 9; the sending unit 1303 executes process S803 in Figure 8 or Figure 9; and the training unit 1304 executes process S804 in Figure 8 or Figure 9. All relevant content of each step involved in the above method embodiments can be referenced from the functional descriptions of the corresponding functional modules, and will not be repeated here.

[0181] Furthermore, the link training device 130 may also include a link establishment unit, which is used to successfully establish the link after the training unit 1304 configures the training parameters to the link layer and starts the link training.

[0182] In the case of using integrated units, Figure 14 shows another link training device 140 provided in an embodiment of this application, used to implement the functions of the first device or the second device in the above embodiments. The link training device 140 includes a processing module 1401 and a communication module 1402. The processing module 1401 is used to control and manage the operation of the link training device 140, and the communication module 1402 is used to communicate with other devices. For example, the processing module 1401 is used to control the communication module 1402 to interact with other devices. The link training device 140 may also include a storage module 1403 for storing the program code and data of the link training device 140.

[0183] The processing module 1401 can be the processor 7010 in the physical structure of the computing device 70 shown in FIG. 7, and can be a processor or controller. For example, it can be a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing module 1401 can also be a combination that implements computing functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc. The communication module 1402 can be the communication interface 7040 in the physical structure of the computing device 70 shown in FIG. 7. The communication module 1402 can be a communication port, or a transceiver, transceiver circuit, or communication interface, etc. Alternatively, the above-mentioned communication interface can achieve communication with other devices through the above-mentioned transceiver components. The above-mentioned transceiver components can be implemented by antennas and / or radio frequency devices. The storage module 1403 can be the memory 7030 in the physical structure of the computing device 70 shown in FIG. 7.

[0184] As mentioned above, the link training device 130 and link training device 140 provided in the embodiments of this application can be used to implement the functions of the first device or the second device in the above embodiments of this application. For ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the embodiments of this application.

[0185] As another embodiment of this invention, a computer-readable storage medium is provided, on which instructions are stored, which, when executed, perform the link training method in the above method embodiment.

[0186] As another form of this embodiment, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to execute the link training method in the above method embodiment.

[0187] As another embodiment, a chip is provided, including one or more interface circuits and one or more processors; the interface circuits are used to receive signals from the memory of an electronic device and send the received signals to the processors, the signals including computer instructions stored in the memory. When the processor executes the computer instructions, it causes the electronic device to perform the operational steps of the method described in the first aspect or any possible implementation thereof.

[0188] This application provides another chip system, which includes a processor for implementing the technical methods of the embodiments of the present invention. In one possible design, the chip system further includes a memory for storing program instructions and / or data necessary for the embodiments of the present invention. In another possible design, the chip system further includes a memory for the processor to call application code stored in the memory. This chip system may be composed of one or more chips, or may include chips and other discrete devices; this application does not specifically limit this.

[0189] Those skilled in the art will readily recognize that, based on the units and method steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0190] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. The semiconductor medium can be an SSD.

[0191] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A link training method, characterized in that, Applied to a first device, the method includes: Capability negotiation is performed with the second device to obtain feature description information, which is used to indicate the characteristics of the device system to which the first device is located; If the first device stores link information containing the feature description information, extract the training parameters from the link information; Enable the fast training flag in the link configuration request message and send the link configuration request message to the second device; When the fast training response flag is enabled in the link configuration response message sent by the second device, the training parameters are configured to the link layer, and the training of the link is started.

2. The method according to claim 1, characterized in that, The feature description information includes one or more of the following: address information of the remote device, port identifier of the remote device, port identifier of the local device, channel rate information, number of channels information, channel direction information, and cable information.

3. The method according to claim 1 or 2, characterized in that, The training parameters include one or more of the following parameters: swing parameters, continuous-time linear equalizer (CTLE) parameters, feedforward equalizer (FFE) parameters, and decision feedback equalizer (DFE) parameters.

4. The method according to any one of claims 1-3, characterized in that, The training parameters are the parameters that the link successfully trained on the device system indicated by the feature description information.

5. The method according to any one of claims 1-4, characterized in that, The method further includes: If the training parameters are configured at the link layer, and training of the link is started, the link training will be successful and the link establishment will be completed.

6. The method according to any one of claims 1-5, characterized in that, The method further includes: After the link is successfully established for the first time, the feature description information and training parameters in the first successful link establishment process are extracted and stored in the first device.

7. The method according to any one of claims 1-6, characterized in that, The link information is stored in a non-volatile storage medium in the first device.

8. A link training device, characterized in that, Deployed in a first device, the device includes: The negotiation unit is used to negotiate capabilities with the second device and obtain feature description information, which is used to indicate the features of the device system to which the first device is located. An extraction unit is configured to extract training parameters from the link information if the first device stores link information containing the feature description information. The sending unit is used to enable the fast training flag in the link configuration request message and send the link configuration request message to the second device. The training unit is configured to configure the training parameters to the link layer and start the training of the link when it receives the fast training response flag enabled in the link configuration response message sent by the second device.

9. The apparatus according to claim 8, characterized in that, The feature description information includes one or more of the following: address information of the remote device, port identifier of the remote device, port identifier of the local device, channel rate information, number of channels information, channel direction information, and cable information.

10. The apparatus according to claim 8 or 9, characterized in that, The training parameters include one or more of the following parameters: swing parameters, continuous-time linear equalizer (CTLE) parameters, feedforward equalizer (FFE) parameters, and decision feedback equalizer (DFE) parameters.

11. The apparatus according to any one of claims 8-10, characterized in that, The training parameters are the parameters that the link successfully trained on the device system indicated by the feature description information.

12. The apparatus according to any one of claims 8-11, characterized in that, The device further includes: The link establishment unit is used to configure the training parameters to the link layer, start the training of the link, and when the link training is successful, the link establishment is completed.

13. The apparatus according to any one of claims 8-12, characterized in that, The device further includes: The processing unit is configured to extract feature description information and training parameters from the first successful link establishment process after the link is successfully established for the first time, and store the feature description information and training parameters from the first successful link establishment process in the first device.

14. The apparatus according to any one of claims 8-13, characterized in that, The link information is stored in a non-volatile storage medium in the first device.

15. A computing device, characterized in that, The computing device includes a memory and at least one processor, the memory being used to store a set of computer instructions; when the processor executes the set of computer instructions, it performs the operational steps of the method according to any one of claims 1-7.

16. A chip, characterized in that, The device includes one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory; when the processor executes the computer instructions, the electronic device performs the operation of the method according to any one of claims 1-7.

17. A computer-readable storage medium, characterized in that, include: Computer software instructions; when the computer software instructions are run in a computer, they cause the computer to perform the operational steps of the method according to any one of claims 1-7.

18. A computer program product, characterized in that, The computer program product includes a software program that, when executed by a computer or processor, causes the computer or processor to perform the operational steps of the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Controlling a physical link of a first protocol using an extended capability structure of a second protocol

    CN104322033A

  • Communication link re-training

    CN112887234A

  • Link training method and device, electronic equipment and computer readable storage medium

    CN115643138A

  • Link configuration method and device, equipment and storage medium

    CN118819448A

  • Link training method and device

    CN119743640A