CN115004165A - Apparatus for performing retiming and method of path switching - Google Patents

Apparatus for performing retiming and method of path switching Download PDF

Info

Publication number
CN115004165A
CN115004165A CN202080094022.2A CN202080094022A CN115004165A CN 115004165 A CN115004165 A CN 115004165A CN 202080094022 A CN202080094022 A CN 202080094022A CN 115004165 A CN115004165 A CN 115004165A
Authority
CN
China
Prior art keywords
path
data
controller
receiver
request
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.)
Granted
Application number
CN202080094022.2A
Other languages
Chinese (zh)
Other versions
CN115004165B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115004165A publication Critical patent/CN115004165A/en
Application granted granted Critical
Publication of CN115004165B publication Critical patent/CN115004165B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application provides a device for performing retiming and a method for switching paths, wherein the device comprises: the device comprises a first path, a second path and a controller, wherein the controller is used for switching the first path to the second path to transmit second data based on the second path under the condition that the transmission rate of first data transmitted by the first path is determined to meet a preset first condition, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data. In the device, after judging that the transmission rate of the first data transmitted by the first path meets the preset first condition, the controller can switch the currently used first path to the second path to transmit the second data through the second path, and because the delay of the second path is lower than that of the first path, the service data is transmitted based on the second path, so that the delay can be effectively reduced, and the requirements of different service scenes can be met.

Description

Apparatus for performing retiming and method for path switching Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a path switching method and a related device.
Background
In computer systems, a high-speed serial link constructed based on Peripheral Component Interface Express (PCIE) standard is widely used. In order to reduce the medium insertion loss of the link during use, a retimer (timer) may be cascaded into the link to relay the signal in the link and filter out link jitter.
After the receiver of the retimer receives the data, the controller performs a complex series of processing on the data to forward the data, such as performing asynchronous and frequency offset removal processing, then performing descrambling and data alignment processing, then performing corresponding modification, and performing scrambling and encoding processing, and finally forwarding the data through the transmitter.
However, some delay-sensitive traffic scenarios have a large impact due to the heavy processing of the received data by the controller in the retimer, which results in a large delay in the retimer (typically up to 40 ns).
Disclosure of Invention
The embodiment of the application provides a device for executing retiming and a method for switching paths, which can effectively reduce delay so as to meet the requirements of different service scenarios.
A first aspect of embodiments of the present application provides an apparatus for performing retiming, which may be a retimer, comprising: a first path, a second path, and a controller.
The controller is configured to switch the first path to a second path to transmit second data based on the second path when it is determined that a transmission rate of first data transmitted by the first path satisfies a preset first condition, where a delay of the second path is lower than a delay of the first path, the first data is path training data, and the second data is traffic data.
As can be seen from the retimer above: since the second path has a lower delay than the first path. When the retimer determines that the transmission rate of the first path for transmitting the first data meets a preset first condition, the retimer may switch the first path to the second path, i.e., exit from the normal path and enter the low-delay path, so as to perform service data transmission based on the low-delay path. Therefore, by switching the path and transmitting the service data based on the second path, the delay can be effectively reduced to meet the requirements of different service scenes.
With reference to the first aspect of the embodiment of the present application, in a first implementation manner of the first aspect of the embodiment of the present application, the first data is training ordered set TS2 data, which improves flexibility and selectivity of a scheme.
With reference to the first implementation manner of the first aspect of the embodiment of the present application, in a second implementation manner of the first aspect of the embodiment of the present application, the presetting a first condition includes: the transmission rate is equal to the preset rate, so that the flexibility and the selectivity of the scheme are improved.
With reference to the second implementation manner of the first aspect of the embodiment of the present application, in a third implementation manner of the first aspect of the embodiment of the present application, the presetting a first condition further includes: the TS2 data does not have a request for rate switching, a request for entering a loopback state and a request for entering a forbidden state, so that the flexibility and the selectivity of the scheme are improved.
With reference to the first aspect of the embodiment of the present application and any one of the first to third implementation manners of the first aspect of the embodiment of the present application, in a fourth implementation manner of the first aspect of the embodiment of the present application, the apparatus further includes: a receiver for receiving first data and second data, a receiver for transmitting the first data and the second data, a first path coupled to the receiver and the transmitter, the first path further connected to the controller, a second path coupled to the receiver and the transmitter;
the controller is further configured to set the first path to the unavailable state and set the second path to the available state in a case where it is determined that the transmitter completes the preparation for switching, so as to transmit the second data based on the second path, which improves flexibility and selectivity of the scheme.
With reference to the fourth implementation manner of the first aspect of the embodiment of the present application, in the fifth implementation manner of the first aspect of the embodiment of the present application, before the first path is switched to the second path, the controller is further configured to modify data that can be sent by the sender into pseudo random binary sequence PRBS data, so that flexibility and selectivity of the scheme are improved.
With reference to the fifth implementation manner of the first aspect of the embodiment of the present application, in the sixth implementation manner of the first aspect of the embodiment of the present application, after the first path is switched to the second path, the controller is further configured to modify data that can be sent by the sender into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
With reference to the first aspect of the embodiment of the present application and any one of the first to sixth implementation manners of the first aspect of the embodiment of the present application, in a seventh implementation manner of the first aspect of the embodiment of the present application, in the second path, a polarity inversion circuit is further disposed between the receiver and the transmitter;
under the condition that the polarity of the second data transmitted by the second path is opposite, the polarity reversing circuit is used for reversing the polarity of the second data, so that the flexibility and the selectivity of the scheme are improved.
With reference to the seventh implementation manner of the first aspect of the embodiment of the present application, in an eighth implementation manner of the first aspect of the embodiment of the present application, the controller is further configured to switch the second path to the first path when it is determined that the first data transmitted by the second path meets a preset second condition, so as to transmit the second data based on the first path, thereby improving flexibility and selectivity of the scheme.
With reference to the eighth implementation manner of the first aspect of the embodiment of the present application, in a ninth implementation manner of the first aspect of the embodiment of the present application, the presetting the second condition includes: the TS2 data has a request for rate switching, a request for balanced redo, a request for exiting a forbidden state or a request for exiting a hot reset state, so that the flexibility and the selectivity of the scheme are improved.
With reference to the ninth implementation manner of the first aspect of the embodiment of the present application, in a tenth implementation manner of the first aspect of the embodiment of the present application, the controller is further configured to set the second path to the unavailable state and set the first path to the available state in a case that it is determined that the sender completes the preparation for switching, so as to transmit the second data based on the first path, thereby improving flexibility and selectivity of the scheme.
With reference to the tenth implementation manner of the first aspect of the embodiment of the present application, in the eleventh implementation manner of the first aspect of the embodiment of the present application, before switching the second path to the first path, the controller is further configured to modify data that can be sent by the sender into PRBS data, so that flexibility and selectivity of the scheme are improved.
With reference to the eleventh implementation manner of the first aspect of the embodiment of the present application, in the twelfth implementation manner of the first aspect of the embodiment of the present application, after the second path is switched to the first path, the controller is further configured to modify data that can be sent by the sender into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
A second aspect of an embodiment of the present application provides a method for path switching, where the method is implemented by an apparatus for performing retiming, and the apparatus includes: a first path, a second path, and a controller; the method comprises the following steps:
under the condition that the controller determines that the transmission rate of first data transmitted by a first path meets a preset first condition, the controller switches the first path to a second path to transmit second data based on the second path, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
From the above process it can be seen that: since the second path has a lower delay than the first path. When the retimer determines that the transmission rate of the first data transmitted by the first path meets a preset first condition, the first path may be switched to the second path, i.e., the second path exits from the normal path and enters the low-delay path, so as to perform service data transmission based on the low-delay path. Therefore, by switching the path and transmitting the service data based on the second path, the delay can be effectively reduced to meet the requirements of different service scenes.
With reference to the second aspect of the embodiment of the present application, in a first implementation manner of the second aspect of the embodiment of the present application, the first data is training ordered set TS2 data, so that flexibility and selectivity of a scheme are improved.
With reference to the first implementation manner of the second aspect of the embodiment of the present application, in a second implementation manner of the second aspect of the embodiment of the present application, the presetting a first condition includes: the transmission rate is equal to the preset rate, so that the flexibility and the selectivity of the scheme are improved.
With reference to the second implementation manner of the second aspect of the embodiment of the present application, in a third implementation manner of the second aspect of the embodiment of the present application, the presetting the first condition further includes: the TS2 data does not have a request for rate switching, a request for entering a loopback state and a request for entering a forbidden state, so that the flexibility and the selectivity of the scheme are improved.
With reference to the second aspect of the embodiment of the present application and any one of the first to third implementation manners of the second aspect of the embodiment of the present application, in a fourth implementation manner of the second aspect of the embodiment of the present application, the apparatus further includes: a receiver for receiving first data and second data, a receiver for transmitting the first data and the second data, a first path coupled to the receiver and the transmitter, the first path further connected to the controller, a second path coupled to the receiver and the transmitter;
switching, by the controller, the first path to the second path to transmit the second data based on the second path includes:
in case that it is determined by the controller that the transmitter completes the preparation for switching, the first path is set to the unavailable state and the second path is set to the available state by the controller to transmit the second data based on the second path, which improves the flexibility and the selectivity of the scheme.
With reference to the fourth implementation manner of the second aspect of the embodiment of the present application, in a fifth implementation manner of the second aspect of the embodiment of the present application, before switching, by the controller, the first path to the second path, the method further includes:
the data which can be sent by the sender is modified into the PRBS data through the controller, so that the flexibility and the selectivity of the scheme are improved.
With reference to the fifth implementation manner of the second aspect of the embodiment of the present application, in a sixth implementation manner of the second aspect of the embodiment of the present application, after the switching the first path to the second path by the controller, the method further includes:
the controller modifies the data which can be sent by the sender into the data which can be received by the receiver, thereby improving the flexibility and the selectivity of the scheme.
With reference to the second aspect of the embodiment of the present application, and any one of the first to sixth implementation manners of the second aspect of the embodiment of the present application, in a seventh implementation manner of the second aspect of the embodiment of the present application, in the second path, a polarity inversion circuit is further disposed between the receiver and the transmitter, and the method further includes:
under the condition that the polarity of the second data transmitted by the second path is opposite, the polarity of the second data is inverted through the polarity inverting circuit, so that the flexibility and the selectivity of the scheme are improved.
With reference to the seventh implementation manner of the second aspect of the embodiment of the present application, in an eighth implementation manner of the second aspect of the embodiment of the present application, the method further includes:
under the condition that the controller determines that the first data transmitted by the second path meets the preset second condition, the controller switches the second path to the first path so as to transmit the second data based on the first path, and therefore the flexibility and the selectivity of the scheme are improved.
With reference to the eighth implementation manner of the second aspect of the embodiment of the present application, in a ninth implementation manner of the second aspect of the embodiment of the present application, the presetting a second condition includes: TS2 data has speed switching request, balanced redo request, forbidden state quitting request or hot reset quitting request, which improves the flexibility and selectivity of the scheme.
With reference to the ninth implementation manner of the second aspect of the embodiment of the present application, in a tenth implementation manner of the second aspect of the embodiment of the present application, the switching, by the controller, the second path to the first path to transmit the second data based on the first path includes:
the controller is further configured to set the second path to the unavailable state and set the first path to the available state in a case where it is determined that the transmitter completes the preparation for switching, so as to transmit the second data based on the first path, which improves flexibility and selectivity of the scheme.
With reference to the tenth implementation manner of the second aspect of the embodiment of the present application, in the eleventh implementation manner of the second aspect of the embodiment of the present application, before switching the second path to the first path, the controller is further configured to modify data that can be sent by the sender into PRBS data, so that flexibility and selectivity of the scheme are improved.
With reference to the eleventh implementation manner of the second aspect of the embodiment of the present application, in the twelfth implementation manner of the second aspect of the embodiment of the present application, after the second path is switched to the first path, the controller is further configured to modify data that can be sent by the sender into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
A third aspect of embodiments of the present application provides an apparatus for performing retiming, comprising:
a receiver for receiving data;
a transmitter for transmitting data;
a first path coupled to the receiver and the transmitter, the first path further connected to the controller;
a second path coupled to the receiver and the transmitter for transmitting data received by the receiver to the transmitter;
and the controller is used for switching the second path to the first path to transmit second data based on the first path under the condition that the first data transmitted by the second path is determined to meet a preset second condition, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
With reference to the third aspect of the embodiments of the present application, in a first implementation manner of the third aspect of the embodiments of the present application, the first data is training ordered set TS2 data, so that flexibility and selectivity of a scheme are improved.
With reference to the first implementation manner of the third aspect of the embodiment of the present application, in a second implementation manner of the third aspect of the embodiment of the present application, the presetting a second condition includes: the TS2 data has a request for rate switching, a request for balanced redo, a request for exiting a forbidden state or a request for exiting a hot reset state, so that the flexibility and the selectivity of the scheme are improved.
With reference to the second implementation manner of the third aspect of the embodiments of the present application, in a third implementation manner of the third aspect of the embodiments of the present application, the apparatus further includes: a receiver for receiving first data and second data, a receiver for transmitting the first data and the second data, a first path coupled to the receiver and the transmitter, the first path further connected to the controller, a second path coupled to the receiver and the transmitter;
the controller is further configured to set the second path to the unavailable state and set the first path to the available state in a case where it is determined that the transmitter completes the preparation for switching, so as to transmit the second data based on the first path, which improves flexibility and selectivity of the scheme.
With reference to the third implementation manner of the third aspect of the embodiment of the present application, in a fourth implementation manner of the third aspect of the embodiment of the present application, before switching the second path to the first path, the controller is further configured to modify data that can be sent by the sender into PRBS data, so that flexibility and selectivity of the scheme are improved.
With reference to the third implementation manner or the fourth implementation manner of the third aspect of the embodiment of the present application, in a fifth implementation manner of the third aspect of the embodiment of the present application, after the second path is switched to the first path, the controller is further configured to modify data that can be sent by the sender into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
The fourth aspect of the present application also provides a method of path switching, which is implemented by an apparatus for performing retiming, the apparatus including: a first path, a second path and a controller; the method comprises the following steps:
and under the condition that the controller determines that the first data transmitted by the second path meets a preset second condition, switching the second path to the first path through the controller so as to transmit the second data based on the first path, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
In combination with the fourth aspect of the embodiment of the present application, in a first implementation manner of the fourth aspect of the embodiment of the present application, the first data is training ordered set TS2 data, which improves flexibility and selectivity of a scheme.
With reference to the first implementation manner of the fourth aspect of the embodiment of the present application, in a second implementation manner of the fourth aspect of the embodiment of the present application, the presetting a second condition includes: the TS2 data has a request for rate switching, a request for balanced redo, a request for exiting a forbidden state or a request for exiting a hot reset state, so that the flexibility and the selectivity of the scheme are improved.
With reference to the second implementation manner of the fourth aspect of the embodiment of the present application, in a third implementation manner of the fourth aspect of the embodiment of the present application, the apparatus further includes: a receiver for receiving first data and second data, a receiver for transmitting the first data and the second data, a first path coupled to the receiver and the transmitter, the first path further connected to the controller, a second path coupled to the receiver and the transmitter;
switching, by the controller, the second path to the first path to transmit the second data based on the first path includes:
in case that it is determined by the controller that the transmitter completes the preparation for switching, the second path is set to the unavailable state by the controller and the first path is set to the available state to transmit the second data based on the first path, which improves the flexibility and the selectivity of the scheme.
With reference to the third implementation manner of the fourth aspect of the embodiment of the present application, in the fourth implementation manner of the fourth aspect of the embodiment of the present application, before the switching the second path to the first path by the controller, the method further includes:
the data which can be transmitted by the transmitter is modified into PRBS data through the controller, so that the flexibility and the selectivity of the scheme are improved.
With reference to the third implementation manner or the fourth implementation manner of the fourth aspect of the embodiment of the present application, in a fifth implementation manner of the fourth aspect of the embodiment of the present application, after the second path is switched to the first path by the controller, the method further includes:
the data which can be sent by the sender is modified into the data which is received by the receiver through the controller, so that the flexibility and the selectivity of the scheme are improved.
A fifth aspect of the present embodiment further provides a PCIE system, including:
a first PCIE device;
a second PCIE device;
the apparatus for performing retiming as in any one of the first aspect and the third aspect, coupled to the first PCIE device and the second PCIE device to provide data flow between the first PCIE device and the second PCIE device in two directions.
The embodiment of the application provides a device for performing retiming and a method for switching paths, wherein the device comprises: the device comprises a first path, a second path and a controller, wherein the controller is used for switching the first path to the second path to transmit second data based on the second path under the condition that the transmission rate of first data transmitted by the first path is determined to meet a preset first condition, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data. In the device, after judging that the transmission rate of the first data transmitted by the first path meets the preset first condition, the controller can switch the currently used first path to the second path to transmit the second data through the second path, and because the delay of the second path is lower than that of the first path, the service data is transmitted based on the second path, so that the delay can be effectively reduced, and the requirements of different service scenes can be met.
Drawings
Fig. 1 is a schematic structural diagram of a PCIE system provided in the embodiment of the present application;
fig. 2 is a schematic structural diagram of a retimer according to an embodiment of the present application;
fig. 3 is another schematic diagram of a retimer according to an embodiment of the present disclosure;
fig. 4 is another schematic diagram of a retimer according to an embodiment of the present disclosure;
fig. 5 is a flowchart illustrating a method for path switching according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described in detail below with reference to the drawings in the embodiments of the present application.
The embodiment of the present application may be applied to a PCIE system configured based on a PCIE standard, where fig. 1 is a schematic structural diagram of the PCIE system provided in the embodiment of the present application, and as shown in fig. 1, the PCIE system includes: a first PCIE device, a second PCIE device, and a means for performing retiming, where the first PCIE device and the second PCIE device may be a personal computer, a server, a data center, and so on, without specific limitation, and the means for performing retiming may be a retimer, and two PCIE devices may be coupled to one or more retimers (only one retimer is shown in fig. 1). The retimer provides a link (path) for the two PCIE devices, so that the two PCIE devices can communicate with each other to achieve information interaction.
Fig. 2 is a schematic structural diagram of a retimer according to an embodiment of the present application, and referring to fig. 2, the retimer includes: the PCIE network interface device comprises a receiver 201, a transmitter 202, and a controller 203, where the receiver 201 may receive data from a first PCIE device, the controller 203 may perform corresponding processing on the data received by the receiver 201, and the transmitter 202 may transmit the processed data to a second PCIE device. Still further, the retimer further includes: a first path 204 (normal path) and a second path 205 (low delay path), wherein the first path 204 is coupled to the receiver 201 and the transmitter 202, the first path 204 being further connected to the controller 203. The second path 205 is coupled to the receiver 201 and the transmitter 202.
When two PCIE devices perform data transmission based on the first path 204, after receiving data from the first PCIE device, the receiver 201 first sends the data to the controller 203 for processing, and the transmitter 202 sends the processed data to the second PCIE device, so that the delay of the first path 204 includes the delays of the receiver 201, the controller 203, and the transmitter 202. However, the second path 205 does not include the controller 203, when data is transmitted based on the second path 205, the data does not need to be processed by the controller 203, and the transmitter 202 can directly transmit the data to the second PCIE device after the data from the first PCIE device passes through the receiver 201, so the delay of the second path 205 only includes the delay of the receiver 201 and the transmitter 202, that is, the second path 205 has a lower delay than the first path 204.
It should be understood that, in the above example, the first PCIE device serves as a device for sending data, and the second PCIE device serves as a device for receiving data, in a possible implementation manner, the second PCIE device may serve as a device for sending data, and the first PCIE device may serve as a device for receiving data.
Based on the PCIE standard, when the PCIE system is in a normal operating state (i.e., the L0 state), if a certain error occurs in the path state or a certain requirement occurs (e.g., the path state changes), the system may enter a recovery state from the L0 state to perform path retraining. During path retraining, a retimer may switch between first path 204 and second path 205.
The path switching by the retimer includes two cases, one is entering the low delay path, i.e. from the first path 204 to the second path 205, and the other is exiting the low delay path, i.e. from the second path 205 to the first path 204, and the case of entering the low delay path will be described first.
As shown in fig. 2, a current path used for transmitting data by the PCIE system is set as the first path 204, and when the PCIE system enters a recovery state from the L0 state, the retimer may perform path switching. During the path retraining stage, the PCIE system may transmit first data (i.e., path training data) through the first path to implement the path retraining. The controller 203 of the retimer switches the first path 204 to the second path 205 when determining that the transmission rate of the first path 204 for transmitting the first data meets a preset first condition, and at this time, the current path used for transmitting the data in the PCIE system is changed to the second path 205, so that the second data, that is, the service data, can be transmitted based on the second path 205 at a subsequent stage.
The controller 203 may switch the first path 204 to the second path 205 to transmit the second data through the second path 205 when determining whether the transmission rate meets a preset first condition, that is, when determining that the PCIE system meets the preset first condition for entering the second path 205, because the second path 205 does not include the controller 203, after the receiver 201 receives the data, the data may be directly forwarded through the transmitter 202 without complex processing by the controller 203, which may effectively reduce delay, so as to meet requirements of different service scenarios.
When the PCIE system enters the recovery state from the L0 state, data for path training, such as TS1 data, TS2 data, and the like, may start to be transmitted between the first PCIE device and the second PCIE device based on the first path. After the stage of transmitting the TS1 data between the first PCIE device and the second PCIE device is completed, the stage of transmitting the TS2 data is entered. In one possible implementation, the first data transmitted by the first path 204 is TS2 data. Specifically, the controller 203 of the retimer detects whether the receiver 201 receives the TS2 data in real time, and if the controller 203 determines that the receiver 201 receives the TS2 data, the current transmission rate of the PCIE system is obtained, which is the transmission rate of the first path 204 for transmitting the first data. After obtaining the transmission rate, the controller 203 may determine whether the transmission rate satisfies a preset first condition to determine whether the second path 205 can be entered from the first path 204.
In order to enter the second path 205 from the first path 204, the controller 203 needs to determine whether the transmission rate of the first path 204 for transmitting the first data satisfies a preset first condition, which can be set according to actual requirements. In one possible implementation, presetting the first condition includes: the transmission rate is equal to a preset rate (a rate set in advance). Further, presetting the first condition further includes: TS2 data does not have a request to switch rates, a request to enter a loopback state, and a request to enter a disabled state. Specifically, the controller 203 may analyze the TS2 data and the transmission rate, and if the controller 203 determines that the TS2 data does not have the request for rate switching, the request for entering the loopback state, and the request for entering the disable state, and the transmission rate is equal to the preset rate, it is determined that the PCIE system satisfies the preset first condition for entering the second path 205.
After determining that the PCIE system satisfies the preset first condition for entering the second path, the controller 203 may perform switching between the first path 204 and the second path 205. In one possible implementation, controller 203 may modify the data that sender 202 can send to PRBS data first, and since the type of data that sender 202 can send varies, the sending of TS2 data is limited. After the controller 203 determines that the transmitter completes the preparation for switching, the controller 203 sets the first path 204 to the unavailable state and sets the second path 205 to the available state to complete the switching between the first path 204 and the second path 205. After entering the second path 205, the controller 203 modifies the data that can be sent by the sender 202 into the data that is received by the receiver 201, so that any type of data (for example, data used for negotiation between the subsequent first PCIE device and the second PCIE device, service data transmitted between the first PCIE device and the second PCIE device, and the like) that is received by the receiver 201 can be transmitted through the second path 205. To facilitate understanding of the foregoing process, the foregoing forward switching process is further described below in conjunction with fig. 2. as shown in fig. 2, the retimer further includes a data selector (MUX) 206, an input terminal of the MUX206 is coupled to the first path 204 and the second path 205, and an output terminal thereof is coupled to the transmitter 202, and it is noted that the MUX206 may be used for switching between the first path 204 and the second path 205. Specifically, the controller 203 may send an incoming low latency request to the transmitter 202 after determining that the PCIE system satisfies the preset first condition, and modify data that can be sent by the transmitter 202 into PRBS data. The transmitter 202 may perform a switching preparation (for example, switching the self state from the normal state to the low delay state) based on the entry low delay request, and after the preparation is completed, feed back a preparation completion response to the controller 203, and after the controller 203 receives the response, issue a first path switching request to the MUX206, so that the MUX206 sets the first path 204 to the unavailable state and sets the second path 205 to the available state. After receiving the switching completion response sent by the MUX206, the controller 203 modifies the data that can be sent by the sender 202 into the data received by the receiver 201, so as to transmit the data based on the second path 205.
After the PCIE system switches from the first path 204 to the second path 205, a negotiation stage based on the PCIE protocol may be performed, in which a negotiation between the first PCIE device and the second PCIE device may be performed through the second path 205, which may specifically refer to the PCIE protocol, and details are not described here again. When the PCIE system completes negotiation, the system enters the LO state, and the two PCIE devices may transmit second data (service data) through the second path 205 to complete service requirements.
In a possible implementation manner, as shown in fig. 2, a polarity inversion circuit 207 is further disposed in the second path 205, an input end of the polarity inversion circuit 207 is coupled to the receiver 201, an output end thereof is coupled to the transmitter 202, and the polarity inversion circuit 207 may invert the polarity of the traffic data. In general, service data sent by the transmitter 202 to the second PCIE device generally needs to carry a positive polarity, and if the service data received by the receiver 201 from the first PCIE device carries a negative polarity, that is, the service data has a situation of opposite polarity, polarity inversion needs to be performed, so that the service data obtains a correct polarity. Specifically, in the second path 205, after the receiver 201 receives the traffic data, the controller 203 may detect the polarity of the traffic data, and if the controller 203 determines that the polarity of the traffic data is opposite, the controller sends a polarity inversion request to the polarity inversion circuit 207, and based on the request, the polarity inversion circuit 207 may invert the polarity of the traffic data from the receiver 201 and send the inverted traffic data to the transmitter 202, so that the transmitter 202 forwards the inverted traffic data.
The above is an introduction to the case of entering the low delay path, and the case of exiting the low delay path will be specifically described below.
After the PCIE system enters the low latency path (that is, the current path for transmitting data is the second path 205), after the PCIE system is negotiated, the system may transmit the service data when the system is in the LO state. If the PCIE system enters the recovery state again from the L0 state, path retraining needs to be performed again, at this time, a path currently used by the PCIE system for transmitting data is the second path 205, and data used for path training, such as TS1 data, TS2 data, and the like, may be transmitted again between the first PCIE device and the second PCIE device based on the second path 205. After the stage of transmitting the TS1 data between the first PCIE device and the second PCIE device is completed, the stage of transmitting the TS2 data is entered, at this time, the controller 203 of the retimer may detect whether the receiver 201 receives the TS2 data in real time, and if the controller 203 determines that the receiver 201 receives the TS2 data, it is determined whether the TS2 data (first data) transmitted by the second path meets a preset second condition, so as to determine whether the first path 204 can be entered from the second path 205.
If the controller 203 of the retimer determines that the TS2 data satisfies the preset second condition, the controller 203 may switch the second path 205 to the first path 204, so that after the PCIE system completes the path switching, the first path 204 is used as a currently used path to transmit the service data (second data), that is, the low latency path enters the normal path.
To enter the first path 204 from the second path 205, the controller 203 needs to determine whether the TS2 data satisfies a preset second condition, which can be set according to actual requirements. In one possible implementation, presetting the second condition includes: TS2 data is provided with a request to rate switch or a request to balance redo or a request to exit a disabled state or a request to exit a hot reset state. Specifically, the controller 203 may analyze the TS2 data, and if the controller 203 determines that the TS2 data includes a rate switching request, a balanced redo request, an exit prohibited state request, or an exit hot reset state request, it is determined that the PCIE system satisfies the preset second condition for entering the first path 204.
After determining that the PCIE system satisfies the preset second condition of entering the first path 204, the controller 203 may perform switching between the first path 204 and the second path 205. In one possible implementation, controller 203 may modify the data that transmitter 202 is capable of transmitting to PRBS data, and therefore the transmission of TS2 data is limited due to the change in the type of data that transmitter 202 is capable of transmitting. After the controller 203 determines that the transmitter 202 completes the preparation for switching, the controller 203 sets the second path 205 to the unavailable state and sets the first path 204 to the available state to complete the switching between the first path 204 and the second path 205. After entering the first path 204, the controller 203 modifies the data that can be sent by the sender 202 into the data that is received by the receiver 201, so that any type of data (for example, data used for negotiation between a subsequent first PCIE device and a second PCIE device, service data transmitted between the first PCIE device and the second PCIE device, and the like) that is received by the receiver 201 can be transmitted through the first path 204. Specifically, after determining that the PCIE system satisfies the preset second condition, the controller 203 may send an exit low latency request to the transmitter 202, and modify data that can be sent by the transmitter 202 into PRBS data. The transmitter 202 may perform a preparation for switching (for example, switch the self state from the low delay state to the normal state) based on the exit low delay request, feed back a preparation completion response to the controller 203 after the preparation is completed, and issue a second path switching request to the MUX206 after the controller 203 receives the response, so that the MUX206 sets the second path 205 to the unavailable state and sets the first path 204 to the available state. After receiving the switching completion response sent by the MUX206, the controller 203 modifies the data that can be sent by the sender 202 into the data received by the receiver, so as to transmit the data based on the first path 204.
After the PCIE system switches from the second path 205 to the first path 204, a negotiation stage based on the PCIE protocol may be performed, and in this stage, negotiation may be performed between the first PCIE device and the second PCIE device through the first path 204, which may specifically refer to the PCIE protocol, and details are not described here again. After the PCIE system completes negotiation, the system enters an LO state, and the two PCIE devices may transmit service data through the first path 204 to complete service requirements.
It is noted that the controller 203 of the retimer provided herein may take many forms, which are described separately below:
in one possible implementation, as shown in fig. 3 (fig. 3 is another structural schematic diagram of a retimer provided in this embodiment of the present application), the retimer includes a receiver 201, a transmitter 202, and a controller 203, where the controller 203 may include a first physical coding sub-layer (PCS) 2031, a Link Training and Status State Machine (LTSSM) 2032, and a second PCS2033, an input of the first PCS2031 is coupled to the receiver 201, an output of the first PCS2031 is coupled to the LTSSM2032, an input of the second PCS2033 is coupled to the LTSSM2032, and an output of the second PCS2033 is coupled to the transmitter 202. Specifically, the first PCS2031 is configured to decode data of the receiver 201, the LTSSM2032 is configured to process the decoded data, and the second PCS2033 encodes the processed data and transmits the encoded data to the transmitter 202. It should be noted that the steps executed by the controller 203 in the foregoing embodiment are mainly executed by the LTSSM2032, for example, the LTSSM2032 may detect the type of data received by the receiver 201, the LTSSM2032 may further determine whether the TS2 data and the current data transmission rate satisfy a preset first condition, the LTSSM2032 may further determine whether the TS2 data satisfies a preset second condition, the LTSSM2032 may further control the MUX206 to perform path switching, the LTSSM2032 may further modify the type of data that can be transmitted by the transmitter 202, the LTSSM2032 may further control the polarity inversion circuit 207 to perform polarity inversion on the traffic data, and so on.
In one possible implementation, as shown in fig. 4 (fig. 4 is another structural schematic diagram of the retimer provided in this embodiment of the present application), the retimer includes a receiver 201, a transmitter 202, and a controller 203, where the controller 203 may include a first 2031, a plurality of LTSSMs 2032 (only two are shown in fig. 4 for convenience of drawing), and a second PCS2033, an input of the first PCS2031 is coupled to the receiver 201, an output of the first PCS2031 is coupled to the first LTSSM2032, an input of the second PCS2033 is coupled to the last LTSSM2032, an output of the second PCS2033 is coupled to the transmitter 202, and the plurality of LTSSMs 2032 are sequentially connected in series. Specifically, the first PCS2031 is configured to decode data of the receiver 201, the plurality of LTSSMs 2032 are configured to process the decoded data, and the second PCS2033 encodes the processed data and transmits the encoded data to the transmitter 202. It should be noted that, in the foregoing embodiment, the steps executed by the controller 203 are mainly executed by the multiple LTSSM2032 at the same time, and the steps executed by the multiple LTSSM2032 may refer to relevant description parts in the foregoing implementation manner, and are not described again here.
The foregoing is a detailed description of the retimer provided in the embodiment of the present application, and the method for path switching provided in the embodiment of the present application is described below, fig. 5 is a flowchart of the method for path switching provided in the embodiment of the present application, please refer to fig. 5, where the method is implemented by the retimer corresponding to any one of the embodiments of fig. 2 to fig. 4, and the method includes:
501. under the condition that the controller determines that the transmission rate of first data transmitted by a first path meets a preset first condition, the controller switches the first path to a second path to transmit second data based on the second path, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
In one possible implementation, the first data is training ordered set TS2 data, which improves the flexibility and selectivity of the scheme.
In one possible implementation, presetting the first condition includes: the transmission rate is equal to the preset rate, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, the presetting the first condition further includes: the TS2 data does not have a request for rate switching, a request for entering a loopback state and a request for entering a forbidden state, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, switching, by the controller, the first path to the second path to transmit the second data based on the second path includes:
in case that it is determined by the controller that the transmitter completes the preparation for switching, the first path is set to the unavailable state and the second path is set to the available state by the controller to transmit the second data based on the second path, which improves the flexibility and the selectivity of the scheme.
In one possible implementation, before switching the first path to the second path by the controller, the method further includes:
the data which can be sent by the sender is modified into the PRBS data through the controller, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, after switching the first path to the second path by the controller, the method further includes:
the controller modifies the data which can be sent by the sender into the data which can be received by the receiver, thereby improving the flexibility and the selectivity of the scheme.
In one possible implementation manner, in the second path, a polarity inversion circuit is further disposed between the receiver and the transmitter, and the method further includes:
under the condition that the polarity of the second data transmitted by the second path is opposite, the polarity of the second data is inverted through the polarity inverting circuit, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, the method further includes:
under the condition that the controller determines that the first data transmitted by the second path meets the preset second condition, the controller switches the second path to the first path so as to transmit the second data based on the first path, and therefore the flexibility and the selectivity of the scheme are improved.
In one possible implementation, presetting the second condition includes: the TS2 data has a request for rate switching, a request for balanced redo, a request for exiting a forbidden state or a request for exiting a hot reset state, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, switching, by the controller, the second path to the first path to transmit the second data based on the first path includes:
the controller is further configured to set the second path to the unavailable state and set the first path to the available state in a case where it is determined that the transmitter completes the preparation for switching, so as to transmit the second data based on the first path, which improves flexibility and selectivity of the scheme.
In a possible implementation manner, before switching the second path to the first path, the controller is further configured to modify data that can be sent by the sender into PRBS data, which improves flexibility and selectivity of the scheme.
In a possible implementation manner, after the second path is switched to the first path, the controller is further configured to modify data that can be transmitted by the transmitter into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
In this embodiment, the second path has a lower delay than the first path because the second path does not include a controller. When the retimer determines that the current data transmission rate satisfies a preset first condition, the first path may be switched to a second path, i.e., the second path exits from the normal path and enters the low-delay path, so as to perform data transmission based on the low-delay path. Therefore, in the second path, after the receiver receives the data, the data can be directly forwarded through the transmitter without complex processing of the controller, so that the delay can be effectively reduced to meet the requirements of different service scenarios.
An embodiment of the present application further provides an apparatus for performing retiming, including:
a receiver for receiving data;
a transmitter for transmitting data;
a first path coupled to the receiver and the transmitter, the first path further connected to the controller;
a second path, coupled to the receiver and the transmitter, for transmitting data received by the receiver to the transmitter;
and the controller is used for switching the second path to the first path to transmit second data based on the first path under the condition that the first data transmitted by the second path is determined to meet a preset second condition, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
In one possible implementation, the first data is training ordered set TS2 data, which improves the flexibility and selectivity of the scheme.
In one possible implementation, presetting the second condition includes: TS2 data has speed switching request, balanced redo request, forbidden state quitting request or hot reset quitting request, which improves the flexibility and selectivity of the scheme.
In one possible implementation manner, the apparatus further includes: a receiver for receiving first data and second data, a receiver for transmitting the first data and the second data, a first path coupled to the receiver and the transmitter, the first path further connected to the controller, a second path coupled to the receiver and the transmitter;
the controller is further configured to set the second path to the unavailable state and set the first path to the available state in a case where it is determined that the transmitter completes the preparation for switching, so as to transmit the second data based on the first path, which improves flexibility and selectivity of the scheme.
In a possible implementation manner, before switching the second path to the first path, the controller is further configured to modify data that can be transmitted by the transmitter into PRBS data, so that flexibility and selectivity of the scheme are improved.
In a possible implementation manner, after the second path is switched to the first path, the controller is further configured to modify data that can be sent by the sender into data that is received by the receiver, so that flexibility and selectivity of the scheme are improved.
It should be noted that, the structure of the above-mentioned apparatus and the connection relationship of each part may refer to the retimer in the embodiment shown in fig. 2 to fig. 4, and the relevant description of the apparatus may refer to the case of exiting the low latency path in the embodiment shown in fig. 2 to fig. 4, which is not repeated herein.
The embodiment of the present application further provides a method for path switching, where the method is implemented by a retimer corresponding to any one of the embodiments in fig. 2 to fig. 4, and the method includes:
and under the condition that the controller determines that the first data transmitted by the second path meets a preset second condition, switching the second path to the first path through the controller so as to transmit the second data based on the first path, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
In one possible implementation, the first data is training ordered set TS2 data, which improves the flexibility and selectivity of the scheme.
In one possible implementation, presetting the second condition includes: the TS2 data has a request for rate switching, a request for balanced redo, a request for exiting a forbidden state or a request for exiting a hot reset state, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, switching, by the controller, the second path to the first path to transmit the second data based on the first path includes:
in case that it is determined by the controller that the transmitter completes the preparation for switching, the second path is set to the unavailable state by the controller and the first path is set to the available state to transmit the second data based on the first path, which improves the flexibility and the selectivity of the scheme.
In one possible implementation, before switching the second path to the first path by the controller, the method further includes:
the data which can be transmitted by the transmitter is modified into PRBS data through the controller, so that the flexibility and the selectivity of the scheme are improved.
In one possible implementation, after switching the second path to the first path by the controller, the method further includes:
the data which can be sent by the sender is modified into the data which is received by the receiver through the controller, so that the flexibility and the selectivity of the scheme are improved.
It should be noted that, for the related description of the above method, reference may be made to the case of exiting the low latency path in the embodiments shown in fig. 2 to fig. 4, and details are not repeated here.

Claims (12)

  1. An apparatus for performing retiming, the apparatus comprising:
    a first path;
    a second path;
    the controller is configured to switch the first path to the second path to transmit second data based on the second path when it is determined that a transmission rate of first data transmitted by the first path satisfies a preset first condition, where a delay of the second path is lower than a delay of the first path, the first data is path training data, and the second data is traffic data.
  2. The apparatus of claim 1, wherein the first data is training ordered set (TS 2) data.
  3. The apparatus of claim 2, wherein presetting the first condition comprises: the transmission rate is equal to a preset rate.
  4. The apparatus of claim 3, wherein the preset first condition further comprises: the TS2 data does not have a request to switch rates, a request to enter a loopback state, and a request to enter a disable state.
  5. The apparatus of any one of claims 1 to 4, further comprising: a receiver for receiving the first data and the second data, a receiver for transmitting the first data and the second data, the first path coupled to the receiver and the transmitter, the first path further connected to the controller, the second path coupled to the receiver and the transmitter;
    the controller is further configured to set the first path to an unavailable state and set the second path to an available state to transmit second data based on the second path, in a case where it is determined that the transmitter completes a preparation for switching.
  6. The apparatus of claim 5, wherein the controller is further configured to modify data transmittable by the transmitter into a Pseudo Random Binary Sequence (PRBS) data prior to switching the first path to the second path.
  7. The apparatus of claim 5 or 6, wherein after switching the first path to the second path, the controller is further configured to modify data that the sender is capable of sending to data that the receiver receives.
  8. The apparatus according to any one of claims 1 to 7, wherein in the second path, a polarity inversion circuit is further provided between the receiver and the transmitter;
    and the polarity reversing circuit is used for reversing the polarity of the second data when the polarity of the second data transmitted by the second path is opposite.
  9. The apparatus of claim 8, wherein the controller is further configured to switch the second path to the first path to transmit second data based on the first path if it is determined that the first data transmitted by the second path satisfies a preset second condition.
  10. The apparatus of claim 9, wherein the preset second condition comprises: the TS2 data has a request to switch rates, a request to balance redo, a request to exit a disabled state, or a request to exit a warm reset state.
  11. A method of path switching, the method being implemented by an apparatus for performing retiming, the apparatus comprising: a first path, a second path, and a controller; the method comprises the following steps:
    under the condition that the controller determines that the transmission rate of first data transmitted by the first path meets a preset first condition, the controller switches the first path to the second path to transmit second data based on the second path, wherein the delay of the second path is lower than that of the first path, the first data is path training data, and the second data is service data.
  12. A PCIE system that interconnects peripheral component express (PCI express) components, the PCIE system comprising:
    a first PCIE device;
    a second PCIE device;
    the apparatus of any of claims 1 to 10, coupled to the first and second PCIE devices to provide data flow between the first and second PCIE devices in both directions.
CN202080094022.2A 2020-01-22 Device for executing retiming and path switching method Active CN115004165B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/073835 WO2021147005A1 (en) 2020-01-22 2020-01-22 Apparatus for executing re-timing and path switching method

Publications (2)

Publication Number Publication Date
CN115004165A true CN115004165A (en) 2022-09-02
CN115004165B CN115004165B (en) 2024-07-05

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0989703A2 (en) * 1998-09-22 2000-03-29 Kabushiki Kaisha Toshiba Serial transmission path switching system
US20040243715A1 (en) * 2003-05-29 2004-12-02 Toru Yokoyama Content delivery server and terminal apparatus
US20150363350A1 (en) * 2014-06-12 2015-12-17 Pericom Semiconductor Corporation Hybrid repeater for supporting backward compatibility
CN108418582A (en) * 2018-02-11 2018-08-17 华为技术有限公司 Transmit method, driver and the system of signal
CN109154927A (en) * 2016-06-27 2019-01-04 英特尔公司 Low delay multi-protocols retimer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0989703A2 (en) * 1998-09-22 2000-03-29 Kabushiki Kaisha Toshiba Serial transmission path switching system
US20040243715A1 (en) * 2003-05-29 2004-12-02 Toru Yokoyama Content delivery server and terminal apparatus
US20150363350A1 (en) * 2014-06-12 2015-12-17 Pericom Semiconductor Corporation Hybrid repeater for supporting backward compatibility
CN109154927A (en) * 2016-06-27 2019-01-04 英特尔公司 Low delay multi-protocols retimer
CN108418582A (en) * 2018-02-11 2018-08-17 华为技术有限公司 Transmit method, driver and the system of signal

Also Published As

Publication number Publication date
WO2021147005A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
WO2021147005A1 (en) Apparatus for executing re-timing and path switching method
US9785530B2 (en) Method, device, and system for processing PCIe link fault
CN113556212B (en) Precoding mechanism in PCI-EXPRESS
CA2293812C (en) Internet access for cellular networks
US8599913B1 (en) Data regeneration apparatus and method for PCI express
KR101453182B1 (en) Interruption, at least in part, of frame transmission
CN106817264B (en) Method, device and system for detecting link fault
EP2928108B1 (en) System, method and apparatus for multi-lane auto-negotiation over reduced lane media
JP2009506682A (en) Explicit flow control in gigabit / 10 gigabit ethernet systems
EP1395014B1 (en) A method of transmitting data streams with data segments of variable length
CN101594242A (en) A kind of mthods, systems and devices of transmitting video data
EP3275130B1 (en) Method for transmitting messages in a data bus system, transceiver and electronic control unit for a motor vehicle
CN109062847A (en) System on chip, IP kernel and its control method for RS485 serial communication
US5592627A (en) Pipelined, sliding-window, flow control for end-to-end communication sessions
US20170315887A1 (en) Network transceiver with auto-negotiation handling
CN115004165B (en) Device for executing retiming and path switching method
US9800345B1 (en) Network transceiver
US20170317785A1 (en) Network re-timer with forward error correction handling
CN111885022A (en) Mimicry communication method based on communication interface, communication architecture and terminal equipment
CN106534331A (en) Data transmission method and system based on dynamic port switching
US7403519B2 (en) Asymmetric ethernet network data transfer system and method
US20220171452A1 (en) Power state control for multi-channel interfaces
US20210303496A1 (en) Actuation of data transmission lanes between states
CN114338530B (en) Method and device for adjusting equipment state, storage medium and electronic device
JP7120156B2 (en) Communication device

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