Link switching method, related device, and storage medium
By using a switching module (such as a retimer) in the communication system to switch links between cable-connected nodes, the trigger data stream is directly changed to the request data stream, solving the problem of optical cross-connect module switching failure and achieving low-latency, high-reliability link switching.
Patent Information
- Application Number
- PCT/CN2025/081178
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-01
- Filing Date
- 2025-03-07
- Publication Date
- 2025-10-09
AI Technical Summary
In communication systems, optical cross-connect modules cannot switch network topologies when connecting different nodes via cables, resulting in high link switching delays.
A switching module (such as a retimer) is used to connect different nodes through cables. The switching indication information is used to directly change the trigger data stream to the request data stream to achieve fast link switching. The retimer is used to perform signal compensation and balancing to reduce the link switching delay.
It effectively reduces the link switching delay, improves the reliability and success rate of link switching, and ensures the transmission quality and reliability of business data streams.
Smart Images

Figure CN2025081178_09102025_PF_FP_ABST
Abstract
Description
A link switching method, related equipment and storage medium
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on April 1, 2024, with application number 202410390560.6 and invention name “A link switching method, related equipment and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a link switching method, related equipment, and storage medium. Background Art
[0003] The communication system includes multiple nodes, and the networking topology between the nodes will be switched at any time as needed. For example, the communication system includes a first node and a second node, and there is a connection relationship between the first node and the second node. As the needs of the communication system change, for example, the communication system may be based on changes in application scenarios, expansion of the communication system to increase scale, etc., the connection relationship between the first node and the second node will be switched to a connection relationship between the first node and the third node.
[0004] To achieve switching of the network topology, an optical cross-connect module is connected between the first node and the second node, and between the first node and the third node. The optical cross-connect module can cross-transmit the optical signal from the first node to the second node or the third node according to the network topology. The optical cross-connect module can be an optical circuit switch (OCS), an optical cross-connect device (OXC), a reconfigurable optical add-drop multiplexer (ROADM), etc.
[0005] However, if different nodes included in the communication equipment are connected via cables, the optical cross-connect module cannot switch the network topology. Summary of the Invention
[0006] The embodiments of the present application provide a link switching method, related equipment, and storage medium. When different nodes are connected by cables, link switching can be performed at any time as needed, and the link switching delay can be effectively reduced.
[0007] In a first aspect, embodiments of the present application provide a link switching method, the method being applied to a switching module. For example, the switching module can be any type of chip, module, device, component, board, etc., connected between a first node and a third node, and between a second node and a fourth node. The switching module includes a first port, a second port, a third port, and a fourth port. A first link of the switching module is in a conducting state, the first link includes the first port and the third port, the first port is connected to the first node, and the third port is connected to the third node. The method includes: the switching module receives switching indication information. The switching module receives the switching indication information from a management node. The management node can be located in the same cabinet as the first node, or in a different cabinet than the first node, without limitation. For another example, the management node can be located on the same board as the first node, or in the first node. In this case, the management node can be a logic module or software included in the first node, or a component or device (e.g., a processor, chip, etc.) of the first node. For another example, the management node can be a logic module, software, component, or device within the second, third, or fourth nodes. The switching indication information is used to connect the second link, which includes the first port and the fourth port, and the fourth port is connected to the fourth node. The switching module receives a first trigger data stream from the third node through the third port. The switching module changes the first trigger data stream into a first request data stream based on the switching indication information, and sends the first request data stream to the first node through the first port, where the first request data stream is used to request link switching. The switching module receives a second trigger data stream from the second node through the second port. Both the first trigger data stream and the second trigger data stream are used to trigger link switching. The switching module changes the second trigger data stream into a second request data stream based on the switching indication information, and sends the second request data stream to the fourth node through the fourth port, where the second request data stream is used to request link switching. The switching module disconnects the first link and connects the second link.
[0008] As shown in the first aspect, there is always a transmission of trigger data streams between different node ports in a connected state through the switching module. For example, the third node continuously sends a trigger data stream to the first node through the switching module. For another example, the second node continuously sends a trigger data stream to the fourth node through the switching module. When the management node determines that a link switch is required, the management node sends a switching indication information for indicating the second link to the switching module. Then, the switching module directly changes the trigger data stream to a request data stream based on the switching indication information. The request data stream is used to request each node port to perform a link switch, so that the switching module switches the first link between the first port and the third port to the second link between the first port and the fourth port. Because the request data stream is a direct change of the trigger data stream, there is no need for the switching module or each node to regenerate a new data stream for requesting the switch, which effectively reduces the delay of the switching module sending the request data stream to the node port.
[0009] Based on the first aspect, in an optional implementation, the switching module is a retimer, which transmits the first trigger data stream and the service data stream from the third node through different channels. The service data stream and the first trigger data stream shown in this implementation are transmitted through different channels in the Retimer. Using this implementation, when the Retimer receives a service data stream from the first node, the second node, the third node, or the fourth node, it can balance the service data stream through the service channel, reconstruct the signal through the internal clock, increase the transmission energy of the service data stream, compensate for the channel loss during the transmission of the service data stream, eliminate signal jitter, and thus improve the transmission distance and transmission quality of the service data stream. When the Retimer receives the trigger data stream, the Retimer switches the channel and, based on the switching indication information, changes the trigger data stream into a request data stream and sends the request data stream to the corresponding node. Moreover, the Retimer shown in this embodiment can implement link switching between different node ports when different nodes are connected by cables. The link switching performed by the Retimer effectively reduces the link switching delay and improves the reliability of the link switching.
[0010] Based on the first aspect, in an optional implementation, the switching module changes the first trigger data stream into a first request data stream according to the switching indication information, and sends the first request data stream to the first node through the first port. The method further includes: the switching module receives a first response data stream from the first node through the first port, the first response data stream is changed from the first request data stream, and the first response data stream is used to respond to the first request data stream; the switching module changes the second trigger data stream into a second request data stream according to the switching indication information, and sends the second request data stream to the fourth node through the fourth port. The method further includes: the switching module receives a second response data stream from the fourth node through the fourth port, the second response data stream is changed from the second request data stream, and the second response data stream is used to respond to the second request data stream; the switching module turns on the second link, including: the switching module turns on the second link according to the first response data stream and the second response data stream.
[0011] Using this implementation method, the switching module requests each node port to agree to link switching through a request data stream. The switching module receives the response data stream returned by each node port, and then switches the first link to the second link to connect the second link, thereby improving the reliability of link switching and ensuring the success rate of transmission of each business data stream when the second link is connected.
[0012] Based on the first aspect, in an optional implementation, before the switching module switches on the second link, the method further includes:
[0013] The switching module receives a third trigger data stream from the first node via the first port. Based on the switching indication information, the switching module changes the third trigger data stream into a third request data stream and sends the third request data stream to the third node via the third port. The third request data stream is used to request link switching. Based on the switching indication information, the switching module disconnects the first link. In this implementation, disconnecting the first link ensures successful connection of the second link.
[0014] Based on the first aspect, in an optional implementation, the switching module changes the first trigger data stream into a first request data stream according to the switching indication information, and sends the first request data stream to the first node through the first port. The method further includes: the switching module receives a third response data stream from the third node through the third port, the third response data stream is a change of the third request data stream, and the third response data stream is used to respond to the third request data stream; the switching module disconnects the first link, including: the switching module disconnects the first link according to the switching indication information, the first response data stream and the third response data stream, wherein the first response data stream is a response data stream from the first node. Using this implementation, the switching module requests each node port whether it agrees to perform link switching through the request data stream. The switching module receives the response data stream returned by each node port and then disconnects the first link to ensure the successful connection of the second link, thereby improving the reliability of link switching.
[0015] Based on the first aspect, in an optional implementation, before the switching module switches on the second link, the method further includes: the switching module changes the third response data stream into a negotiation data stream, and sends the negotiation data stream to the first node through the first port, wherein the third response data stream is a response data stream from the third node; after the switching module switches on the second link, the method further includes: the switching module receives the negotiation response data stream from the first node through the first port, wherein the negotiation response data stream is used to respond to the negotiation data stream; and the switching module sends the negotiation response data stream to the fourth node through the fourth port. With this implementation, the negotiation data stream is transmitted between the first node and the fourth node through the second link to ensure that the switched second link can reliably transmit the service data stream.
[0016] Based on the first aspect, in an optional implementation, the negotiation data stream is used to instruct the first node to interrupt transmission of the service data stream with the switching module. With this implementation, upon receiving the negotiation data stream, the node interrupts transmission of the service data stream with the switching module, thereby reducing packet loss and improving the reliability of service data stream transmission.
[0017] Based on the first aspect, in an optional implementation, the first trigger data stream, the first request data stream, the first response data stream and the first negotiation data stream respectively include a switching status field, the first response data stream is a change from the first request data stream, the first negotiation data stream is a change from the first response data stream, and the value of the switching status field in the first trigger data stream, the value in the first request data stream, the value in the first response data stream and the value in the first negotiation data stream are different from each other, wherein the first response data stream is a response data stream from the first node, and the first negotiation data stream is a negotiation data stream sent to the third node. By adopting this implementation, the purpose of changing the trigger data stream to the request data stream, the request data stream to the response data stream, and the response data stream to the negotiation data stream is achieved by changing the value of the switching status field, thereby reducing the delay of the link switching.
[0018] Based on the first aspect, in an optional implementation, the switching indication information includes a correspondence between the identifier of the first node and the identifier of the fourth node. The switching module obtains configuration information, which includes a correspondence between the identifier of the first port and the identifier of the first node, and further includes a correspondence between the identifier of the fourth port and the identifier of the fourth node. Using this implementation, the switching module can obtain the second link based on the switching indication information and stored configuration information, thereby ensuring a successful link switching.
[0019] Based on the first aspect, in an optional implementation, the switching indication information includes a correspondence between the identifier of the first node, the identifier of the first port, the identifier of the fourth port, and the identifier of the fourth node. With this implementation, the switching module can obtain the second link based on the switching indication information, thereby ensuring a success rate for link switching.
[0020] Based on the first aspect, in an optional implementation, the switching indication information is further used to indicate that the second node has failed, and before the switching module connects the second link, the method further includes: the switching indication information is further used to indicate that the third node has failed, and before the switching module connects the second link, the method further includes: the switching module generating the second request data stream based on the switching indication information. Using this implementation, when the third node fails, the management node notifies the switching module to switch the first link to the second link, ensuring that even if a node fails, link switching can be performed in a timely manner, thereby improving data transmission reliability.
[0021] Based on the first aspect, in an optional implementation, the first trigger data stream includes a switching data stream identifier and a channel number indication, wherein the switching data stream identifier is used to identify the first trigger data stream, and the channel number indication is used to indicate the number of channels supported by the third node. Using this implementation, the switching module can accurately identify the trigger data stream, response data stream, and negotiation data stream based on the switching data stream identifier, thereby improving the accuracy of link switching. The node can determine whether to agree to the link switch based on the channel number indication.
[0022] In a second aspect, an embodiment of the present application provides a method for link switching, the method being applied to a first node, a second node, a third node, or a fourth node, the node being used to connect to a switching module, the method comprising: the node sending a trigger data stream to the switching module, the trigger data stream being used to trigger link switching; the node receiving a request data stream from the switching module, the request data stream being formed by the switching module changing another trigger data stream, the request data stream being used to request link switching. For a description of the beneficial effects of this aspect, please refer to the first aspect, and no further details will be given.
[0023] Based on the second aspect, in an optional implementation, after the node receives the request data stream from the switching module, the method further includes: the node changes the request data stream into a response data stream, and the response data stream is used to respond to the request data stream; the node sends the response data stream to the switching module.
[0024] Based on the second aspect, in an optional implementation, after the node receives the request data stream from the switching module, the method also includes: the node receives the negotiation data stream from the switching module; the node interrupts the transmission of the business data stream between the node and the switching module based on the negotiation data stream.
[0025] Based on the second aspect, in an optional implementation, the trigger data stream, the request data stream, the response data stream and the negotiation data stream respectively include a switching status field, the response data stream is changed from the request data stream, and the negotiation data stream is changed from the response data stream, and the value of the switching status field in the trigger data stream, the value in the request data stream, the value in the response data stream and the value in the negotiation data stream are different from each other.
[0026] Based on the second aspect, in an optional implementation, the trigger data stream includes a switching data stream identifier and a channel number indication, wherein the switching data stream identifier is used to identify the trigger data stream, and the channel number indication is used to indicate the number of channels supported by the node.
[0027] In a third aspect, an embodiment of the present application provides a switching module, which includes a processing module, a first port, a second port, a third port and a fourth port, wherein the processing module is connected to the first port, the second port, the third port and the fourth port respectively, and the first link of the switching module is in a conducting state, the first link includes the first port and the third port, the first port is connected to the first node, and the third port is connected to the third node; the processing module is used to: receive switching indication information, the switching indication information is used to conduct the second link, the second link includes the first port and the fourth port, and the fourth port is connected to the fourth node; receive a first trigger data stream from the third node through the third port, and receive a second trigger data stream from the second node through the second port, the first trigger data stream and the second trigger data stream are respectively used to trigger link switching, and the second port is connected to the second node; according to the switching indication information, change the first trigger data stream and the second trigger data stream to a first request data stream and a second request data stream, respectively, and send the first request data stream to the first node through the first port, and send the second request data stream to the fourth node through the fourth port, the first request data stream and the second request data stream are respectively used to request link switching; conduct the second link. For the description of the switching process and beneficial effects of this aspect, please refer to the first aspect and the details will not be repeated here.
[0028] In a fourth aspect, an embodiment of the present application provides a node, comprising a processor and a node port, wherein the node port is used to connect to a switching module; the processor is used to send a trigger data stream to the switching module through the node port, wherein the trigger data stream is used to trigger a link switch; the processor receives a request data stream from the switching module through the node port, wherein the request data stream is formed by the switching module changing another trigger data stream, and the request data stream is used to request a link switch. For a description of the switching process and beneficial effects of this aspect, please refer to the second aspect, and no further details will be given.
[0029] Based on the fourth aspect, in an optional implementation, an optical module connected to the node port is further included.
[0030] In a fifth aspect, an embodiment of the present application provides a chip system, which includes a processor and an input / output interface, wherein the input / output interface is used to receive data and transmit it to the processor, or to send data from the processor to another chip system, and the processor is used to execute the method described in any one of the first aspects above, or the method described in any one of the second aspects above.
[0031] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium comprising computer program instructions. When the computer program instructions are executed by a processor, the processor executes the method as described in any one of the first or second aspects above.
[0032] In the seventh aspect, an embodiment of the present application provides a communication system, including a node and a switching module, the node including a node port, the node port being connected to the switching module, the switching module as shown in the third aspect, and the node as shown in the fourth aspect, and no further details are given.
[0033] Based on the seventh aspect, the communication system further includes another node, and the node port included in the other node is connected to the switching module.
[0034] Based on the seventh aspect, the communication system further includes an optical module, and the port of the switching module is connected to the optical module. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] FIG1 is a structural diagram of a first embodiment of a communication system provided by the present application;
[0036] FIG2 is a structural diagram of an example of the first node shown in FIG1 ;
[0037] FIG3 is a connection example diagram of FIG1 in a source link connection state;
[0038] FIG4 is a connection example diagram of FIG1 in a target link connection state;
[0039] FIG5 is a flowchart of the steps of a first embodiment of a link switching method provided by the present application;
[0040] FIG6 is a structural diagram of the switching module shown in FIG2 ;
[0041] FIG7 is a structural diagram illustrating an example of the first channel shown in FIG6 ;
[0042] FIG8 is a structural diagram illustrating an example of the second channel shown in FIG6 ;
[0043] FIG9 is a diagram illustrating an example of a connection in which FIG1 is in a source link connection state and a fault occurs;
[0044] FIG10 is a diagram illustrating an example connection in which a target link is connected and a fault occurs in FIG1 ;
[0045] FIG11 is a flowchart of a second embodiment of a link switching method provided by the present application;
[0046] FIG12 is a diagram illustrating a second embodiment of the communication system provided by the present application;
[0047] FIG13 is a diagram showing an example structure of a third embodiment of the communication system provided in this application. DETAILED DESCRIPTION
[0048] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0049] The embodiment of the present application provides a link switching method that can switch the networking topology at any time according to the needs of the communication system. In order to better understand the method shown in this embodiment, the structure of the communication system to which the method shown in the embodiment of the present application is applied is first described in conjunction with Figure 1. Figure 1 is an example diagram of the structure of the first embodiment of the communication system provided by this application. This embodiment does not limit the type of system applied to the communication system, for example, a super computing cluster (SCC), which can also be referred to as a supercomputing cluster, a database, a distributed computing system, a parallel computing system, a cloud computing network, an automatic intelligence system (AI), etc.
[0050] The communication system shown in this embodiment includes a first node 100, a second node 140, a retimer 110, a third node 120, and a fourth node 130. The communication system shown in this embodiment can be located in the same cabinet or in different cabinets, without specific limitation. For example, if located in the same cabinet, the first node 100, the second node 140, the retimer 110, the third node 120, and the fourth node 130 can be distributed on one or more boards. This embodiment does not limit the number of boards on which the first node 100, the second node 140, the retimer 110, the third node 120, and the fourth node 130 are distributed. This embodiment does not limit the number of nodes included in the communication system. For example, the first node 100 and the second node 140 can be two different nodes, or the first node 100 and the second node 140 can be the same node, without specific limitation.
[0051] Taking the first node 100 as an example, see FIG2 , which is a diagram illustrating an exemplary structure of the first node shown in FIG1 . The first node 100 includes a processor 103, a memory 102, a system bus 105, a first node port 101, and a direct memory access controller (DAMC) 106. The processor 103, the memory 102, the first node port 101, and the DAMC 106 are each connected to the system bus 105. The processor 103 can access the memory 102 via the system bus 105. For example, the processor 103 can read and write data or execute code in the memory 102 via the system bus. The system bus 105 can be, for example, a Quick Path Interconnect (QPI) or an Ultra Path Interconnect (UPI). The system bus 105 is divided into an address bus, a data bus, and a control bus. The processor 103 primarily interprets computer program instructions (or code) and processes data in the computer software. Among them, the instructions of the computer program and the data in the computer software can be stored in the memory 102. This embodiment takes the processor 103 as a central processing unit (CPU) as an example. Figure 1 only shows an example of a first node 100 including a CPU. In actual applications, there are often multiple CPUs, wherein a CPU can have one or more CPU cores. This example does not limit the number of CPUs and the number of CPU cores. It should be clear that the description of the type of processor 103 in this example is an optional example and is not limited. For example, the processor 103 can also be a neural network processor (NPU), a field-programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a network processor (NP), a microcontroller unit (MCU), or a programmable logic device (PLD), a data processing unit (DPU), a graphics processing unit (GPU), etc., and the specific details are not repeated.Memory 102 refers to an internal memory that directly exchanges data with processor 103. It can read and write data at any time and at a high speed, and serves as a temporary data storage for the operating system or other running programs. Memory 102 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, 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. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0052] The first node port 101 is an input / output (I / O) port. It should be noted that this embodiment does not limit the number of node ports included in the first node 100. For example, if the first node 100 and the second node 140 are the same node, then the first node 100 also includes a second node port 141 connected to the system bus 105. For a description of the second node port 141, please refer to the description of the first node port 101, and the details are not repeated here. For a description of the structures of the second node 140, the third node 120, and the fourth node 130, please refer to the description of the first node 100, and the details are not repeated here.
[0053] Taking the first node port 101 as an example, the first node port 101 can be a high-speed serial interface using the remote direct memory access (RDMA) protocol, the unified bus (UB) protocol, the serial advanced technology attachment (SATA), the peripheral component interconnect express (PCle), and the like. In this embodiment, the first node port 101 uses the UB protocol as an example. High-speed serial interfaces have high data transmission rates and low bit error rates, and are suitable for application scenarios of long-distance, high-speed data transmission. With the development of high-speed serial interfaces, the serializer / deserializer (SerDes) included in the node port has a higher and higher rate. Correspondingly, the medium insertion loss (IL) reflected by the interconnection medium connecting different nodes is also getting larger and larger. When the IL size exceeds the driving capability of the SerDes, it is necessary to insert a Retimer 110 in series in the link to relay and amplify the signal and filter out link jitter to enhance the driving distance of the link. Specifically, the retimer 110 includes a first port 111, a second port 112, a third port 113, and a fourth port 114. It should be noted that this embodiment does not limit the number of ports included in the retimer 110. The first port 111 is connected to the first node port 101. The second port 112 is connected to the second node port 141 of the second node 140. The third port 113 is connected to the third node port 121, and the fourth port 114 is connected to the fourth node port 131. This embodiment does not limit the number of retimers 110 connected to the communication system.
[0054] Figure 3 is a connection example diagram of Figure 1 in the source link connection state. This embodiment takes the example that each node port includes a sending interface and a receiving interface. It should be noted that this embodiment does not limit the number of sending interfaces and receiving interfaces included in each node port. For example, the first node port 101 includes a sending interface 201 and a receiving interface 202, the second node port 141 includes a sending interface 203 and a receiving interface 204, the third node port 121 includes a receiving interface 222 and a sending interface 221, and the fourth node port 131 includes a receiving interface 232 and a sending interface 231. In Retimer 110, each port includes two interfaces as an example. It should be noted that this embodiment does not limit the number of interfaces included in each port of Retimer 110. Specifically, the first port 111 in Retimer 110 includes a first interface 211 and a second interface 212, and the first interface 211 is connected to the sending interface 201, and the second interface 212 is connected to the receiving interface 202. Second port 112 includes a third interface 213 and a fourth interface 214. Third interface 213 is connected to transmit interface 203, and fourth interface 214 is connected to receive interface 204. Third port 113 includes a fifth interface 215 and a sixth interface 216. Fifth interface 215 is connected to receive interface 222, and sixth interface 216 is connected to transmit interface 221. Fourth port 114 includes a seventh interface 217 and an eighth interface 218. Seventh interface 217 is connected to receive interface 232, and eighth interface 218 is connected to transmit interface 231. As shown in FIG3 , within Retimer 110, if the first link between first interface 211 and fifth interface 215 is in a conductive state, then the transmit interface 201 and receive interface 222 are in a connected state. If the first link between second interface 212 and sixth interface 216 is in a conductive state, then the receive interface 202 and transmit interface 221 are in a connected state. If the first link between the third interface 213 and the seventh interface 217 is in a conductive state, then the sending interface 203 is in a connected state with the receiving interface 232. If the first link between the fourth interface 214 and the eighth interface 218 is in a conductive state, then the receiving interface 204 is in a connected state with the sending interface 231.
[0055] The link switching method provided in this embodiment can switch a communication system in a source link connection state (as shown in FIG3 ) to a target link connection state (as shown in FIG4 ). FIG4 is a connection example diagram of FIG1 in the target link connection state. For the description of the first node port 101, the second node port 141, the third node port 121, and the fourth node port 131 shown in FIG4 , please refer to the corresponding description of FIG3 , and no further details are given. In Retimer 110, for example, each port includes two interfaces. For the description of Retimer 110 being connected to the first node port 101, the second node port 141, the third node port 121, and the fourth node port 131, respectively, please refer to the corresponding description of FIG3 , and no further details are given. Inside Retimer 110, if the second link between the first interface 211 and the seventh interface 217 is in a conducting state, then the sending interface 201 and the receiving interface 232 are in a connected state. If the second link between the second interface 212 and the eighth interface 218 is in a conducting state, then the receiving interface 202 and the sending interface 231 are in a connected state. If the second link between the third interface 213 and the fifth interface 215 is in a conductive state, then the sending interface 203 is in a connected state with the receiving interface 222. If the second link between the fourth interface 214 and the sixth interface 216 is in a conductive state, then the receiving interface 204 is in a connected state with the sending interface 221.
[0056] FIG5 is a flowchart of the steps of the first embodiment of the link switching method provided by the present application. FIG5 shows a switching module as a Retimer as an example. The switching module is used to switch the communication system in the source link connection state as shown in FIG3 to the communication system in the target link connection state as shown in FIG4. This embodiment does not limit the switching module. For example, the switching module can be any type of chip, module, device, component, single board, etc. connected between the first node and the third node and connected between the second node and the fourth node. No specific limitation is made.
[0057] Step 501: The management node sends switching indication information to the Retimer.
[0058] The switching indication information shown in this embodiment is used to indicate the second link, so that the Retimer turns on each second link in the Retimer according to the switching indication information. For the description of each second link in the Retimer, please refer to the corresponding description of Figure 4, and the details are not repeated here. The management node shown in this embodiment can be located on the same cabinet as the first node. For example, the management node can be located on a different cabinet from the first node, and there is no specific limitation. For example, the management node and the first node can be located on the same single board, and for example, the management node can be located in the first node. Then, the management node can be a logic module or software included in the first node, or it can be a component or device (such as a processor, chip, etc.) of the first node. The relationship between the management node and the second node, the third node and the fourth node can be found in the description of the relationship between the management node and the first node, and there is no specific description here. This embodiment does not limit the type of management node. For example, the management node can be a fabric manager (FM).
[0059] Taking Figure 3 as an example, the management node 220 is connected to the Retimer 110, and the management node 220 has stored the source link connection state. The source link connection state shown in Table 1 is used to indicate that the communication system is in the source link connection state shown in Figure 3. The source link connection state includes the correspondence between the node identifier and the Retimer port identifier. Specifically, the node identifier is the identifier of the node port of the node.
[0060] Table 1
[0061] It should be understood that the description of each port identifier (ID) in this embodiment is an optional example, as long as different ports correspond to different IDs. It can be understood that the source link connection state is used to indicate the corresponding relationship between the ID of the first node port, the ID of the first port, the ID of the third port, and the ID of the third node port. Then, the data stream between the first node port of the first node and the third node port of the third node can be transmitted via the transmission link including the first node port 101, the first port 111, the third port 113, and the third node port 121. For the specific connection description, please refer to the corresponding description of Figure 3, which will not be repeated in detail. The data stream shown in this embodiment can also be referred to as a code stream, which specifically includes multiple data units, which can be data packets, data frames, data messages, control frames, etc., without specific limitation. The source link connection state is also used to indicate the corresponding relationship between the ID of the second node port, the ID of the second port, the ID of the fourth port, and the ID of the fourth node port. Then, the data flow between the second node port of the second node and the fourth node port of the fourth node can be transmitted via the transmission link including the second node port 141, the second port 112, the fourth port 114 and the fourth node port 131 of the fourth node. For the specific connection description, please refer to the corresponding description of Figure 3, and the details will not be repeated here.
[0062] If, according to network needs, the communication system is switched from the source link connection state shown in FIG3 to the target link connection state shown in FIG4. For example, in a supercomputing cluster, the management node decomposes the computing task into sub-computing tasks. For example, a sub-computing task is originally sent from the first node to the third node so that the third node can process it. Subsequently, according to the business execution needs (such as the computing resources of the node, the congestion of the node, etc.), the sub-computing task is sent from the first node to the fourth node so that the fourth node can process it. For another example, in a cloud computing network, according to changes in computing resources, network bandwidth, data storage, business model requirements, etc. according to the computing model, the first node switches the business model executed by the third node to be executed by the fourth node. Then, the management node obtains the target link connection state shown in Table 2. The target link connection state shown in Table 2 is used to indicate that the communication system is in the target link connection state shown in FIG4:
[0063] Table 2
[0064] It can be understood that the target link connection state is used to indicate the correspondence between the ID of the first node port, the ID of the first port, the ID of the fourth port, and the ID of the fourth node port. Then, the data flow between the first node port 101 of the first node and the fourth node port 131 of the fourth node can be transmitted via the transmission link including the first node port 101, the first port 111, the fourth port 114, and the fourth node port 131. For the specific connection of the transmission link, please refer to the corresponding description of Figure 4, and no further details are given. The target link connection state is also used to indicate the correspondence between the ID of the second node port, the ID of the second port, the ID of the third port, and the ID of the third node port. Then, the data flow between the second node port of the second node and the third node port of the third node can be transmitted via the transmission link including the second node port 141, the second port 112, the third port 113, and the third node port 121. For the specific connection of the transmission link, please refer to the corresponding description of Figure 4, and no further details are given. It should be clarified that, in this embodiment, the target link connection state includes the correspondence between the ID of the first node port, the ID of the first port, the ID of the fourth port, and the ID of the fourth node port, as well as the correspondence between the ID of the second node port, the ID of the second port, the ID of the third port, and the ID of the third node port as an example. In other examples, the target link connection state may only include the correspondence between the ID of the first node port, the ID of the first port, the ID of the fourth port, and the ID of the fourth node port, as well as the correspondence between the ID of the second node port, the ID of the second port, the ID of the third port, and the ID of the third node port, one of the correspondences, and there is no specific limitation.
[0065] If the management node determines that the communication system needs to switch to the target link connection state shown in Table 2, the management node sends the switching indication information to the retimer. The switching indication information includes the correspondence between the ports shown in Table 2. It should be understood that this embodiment does not limit the manner in which the target link carries the correspondence shown in Table 2. After receiving the switching indication information, the retimer can determine that the source link connection state shown in Figure 3 needs to be switched to the target link connection state shown in Figure 4.
[0066] For another example, the switching indication information may include a correspondence between the ID of the first node port and the ID of the fourth node port. The retimer stores configuration information, which includes the correspondence between the first port ID and the ID of the first node port, and the configuration information also includes the correspondence between the ID of the fourth port and the ID of the fourth node port. The retimer can obtain the target link connection status based on the switching indication information and the stored configuration information. The switching indication information may include a correspondence between the ID of the second node port and the ID of the third node port. The retimer stores configuration information, which includes the correspondence between the second port ID and the ID of the second node port, and the configuration information also includes the correspondence between the ID of the third port and the ID of the third node port. The retimer can obtain the target link connection status based on the switching indication information and the stored configuration information.
[0067] Step 502: The first node sends a third trigger data stream to the Retimer.
[0068] At step 502, the Retimer is in the connected state shown in Figure 3. The transmitting interface included in the first node port of the first node transmits the third triggering data stream to the first interface included in the first port of the Retimer. This embodiment uses the example of the first node sending the third triggering data stream to the Retimer. In other examples, the Retimer itself can also generate the third triggering data stream, and the like, without limitation. This third triggering data stream is used to trigger the Retimer to perform link switching as needed.
[0069] Several examples of the first node sending the third trigger data stream are described below:
[0070] Example 1
[0071] When the management node detects that the source link connection state needs to be switched to the target link connection state, it instructs the first node to send the third trigger data flow to the Retimer.
[0072] Example 2
[0073] In Example 1, the management node detects that the source link connection state needs to be switched to the target link connection state, and triggers the first node to send the third trigger data stream to the Retimer. In Example 2, the first node can continue to send the third trigger data stream to the Retimer.
[0074] Example 3
[0075] In Example 3, the first node may periodically send the third trigger data stream to the Retimer according to a preset period.
[0076] The format of the third trigger data stream shown in this embodiment is described below. The format of the third trigger data stream can be seen in Table 3:
[0077] Table 3
[0078] The third trigger data stream shown in this embodiment specifically includes two parts: a body (Body) and a payload (Payload). In the third trigger data stream, the 0th to (4*N-1)th bits serve as a switching data stream identifier, that is, the switching data stream identifier is used to identify the third trigger data stream, so that the Retimer determines, based on the switching data stream identifier, that the data stream carrying the switching data stream identifier is the third trigger data stream for link switching. For example, the Retimer receives a business data stream and a third trigger data stream from the first node, and the Retimer can identify the third trigger data stream from the business data stream and the third trigger data stream based on the switching data stream identifier. For example, the third trigger data stream may be a unified align marker (UAM), which is not limited. The switching data stream identifier may specifically be a UAM identifier (identify), and the UAM identify is used to identify the third trigger data stream, and the NAM identify is the Body part of the UAM. This embodiment does not limit the value of N, as long as N is a natural number. In this embodiment, error correction coding can be used for the switching data stream identifier, so that after the third trigger data stream is transmitted, even if an error occurs in one or more bits in the switching data stream identifier, it can be detected, thereby improving the reliability of the switching data stream identifier transmission. This embodiment does not limit the type of error correction coding. For example, Hamming coding (Bose Ray-Chaudhuri Hocquenghem, BCH) can be used. The switching data stream identifier shown in this embodiment can be a code word coded as CW21 or CW28 in the code word (CW) after error correction coding, etc., and is not specifically limited.
[0079] The 4*N to (4*N+3) bits in the third trigger data stream serve as a payload indication. For example, the payload indication may be UAM_END (END), where the UAM END represents the end of the UAM Body portion, and the payload is followed by the UAM_END. Error correction coding may be used for payload indication. For an explanation of error correction coding, please refer to the explanation of error correction coding for the switching data stream identifier, which will not be described in detail. The payload indication shown in this embodiment may be a codeword coded CW22 or CW28 in the CW after error correction coding, etc., and is not specifically limited.
[0080] The payload of the third trigger data stream includes a channel number indication, a switching type field, and a switching status field. Specifically, the 4*N+4 to (4*N+11)th bits in the third trigger data stream serve as a channel number indication. The 4*N+12 to (4*N+19)th bits in the third trigger data stream serve as a switching type field, and the 4*N+20 to (4*N+27)th bits in the third trigger data stream serve as a switching status field. The channel number indication is used to indicate the number of channels supported by the first node port of the first node. For example, the channel number indication is used to indicate the number of sending channels included in the sending interface of the first node port, wherein the number of sending channels is the number of independent data streams that the sending interface can simultaneously send. The channel number indication is also used to indicate the number of receiving channels included in the first node port, wherein the number of receiving channels is the number of independent data streams that the first node port can simultaneously receive. When the sending channel of the first node port is connected to the receiving channel of the third node port, then each data stream sent by the sending channel of the first node port can be successfully transmitted to the receiving channel of the third node port. Similarly, when the sending channel of the third node port is connected to the receiving channel of the first node, then each data stream sent by the sending channel of the third node port can be successfully transmitted to the receiving channel of the first node port. The channel number indication can use error correction coding. For an explanation of error correction coding, please refer to the explanation of error correction coding for switching data stream identifiers, which will not be described in detail. This implementation does not limit the specific codewords included in the channel number indication error correction coding CW, and different codewords can be used to indicate different channel numbers.
[0081] The switching type field may be a UAM Payload Type, and the switching type field includes link control information. Specifically, the UAM Payload Type is used to indicate the type of the Payload, that is, the UAM Payload Type is used to indicate that the Payload is used for link switching. The switching type field may use error correction coding. For an explanation of error correction coding, please refer to the explanation of error correction coding for switching data stream identifiers, which will not be described in detail. The switching type field shown in this embodiment may be a codeword coded as CW8 in the CW after error correction coding, etc., and is not specifically limited.
[0082] The switching status field can be UAM Payload DETAIL, which is used to indicate the various states in the link switching process. Then, when the switching status field takes different values, the switching status field will indicate different meanings. For example, if the switching status field takes the first value, the switching status field with the first value is a no-switching indication, which is used to indicate that no link switching is required. If the switching status field takes the second value, the switching status field with the second value is used as a switching request, which is used to request link switching, such as the codeword coded as CW3 in the CW after error correction coding. For another example, if the switching status field takes the third value, the switching status field with the third value is used as a switching preparation completion indication, which is used to request that the link switching is ready, such as the codeword coded as CW9 in the CW after error correction coding. If the switching status field takes the fourth value, the switching status field with the fourth value is used as a negotiation indication, which is used to indicate the triggering of the negotiation process, such as the negotiation indication is the codeword coded as CW10 in the CW after error correction coding. This embodiment uses the example of a handover request, a handover preparation completion indication, a negotiation indication, and a handover-not-required indication, which are indicated by different values in the same field (i.e., the handover status field), without limitation. In other examples, a handover request, a handover preparation completion indication, a negotiation indication, and a handover-not-required indication may be indicated by multiple different fields, without limitation. It should be noted that this embodiment does not limit the description of the various fields included in the third trigger data stream and the number of bits included in each field.
[0083] Step 503: The Retimer sends a third request data flow to the third node.
[0084] At step 503, the Retimer is in the connection state shown in Figure 3. Then, based on the switching indication information from the management node, the Retimer determines that the source link connection state needs to be switched to the target link connection state. To this end, the Retimer changes the third trigger data stream received from the first node port into a third request data stream. The difference between the third request data stream and the third trigger data stream is that the value of the switch state field is different. In the third trigger data stream, the value of the switch state field is the first value, and the Retimer changes the value of the switch state field so that the value of the switch state field is the second value. Then, the switch state field with the second value is used as a switching request to request the third node to perform a link switch. It can be understood that the value of the switch state field in the third request data stream is the second value. The Retimer sends the third request data stream to the third node port of the third node via the fifth interface 215 and the receiving interface 222 in sequence to request the third node to perform a link switch.
[0085] In this embodiment, the management node sends a switching indication message to the retimer as an example. The retimer determines that a link switch is required based on the switching indication message, and to this end, the retimer changes the third triggering data stream to the third request data stream. If the retimer does not receive the switching indication message, the retimer determines that a link switch is not required, and the retimer does not need to change the value of the switching indication message in the third triggering data stream, which has the first value.
[0086] Step 504: The second node sends a second trigger data stream to the Retimer.
[0087] Specifically, the sending interface included in the second node port of the second node sends the second trigger data stream to the third interface included in the second port of the retimer. For the description of the second trigger data stream shown in this embodiment, please refer to the description of the third trigger data stream shown in step 502, and no further details are given.
[0088] Step 505: The Retimer sends a second request data flow to the fourth node.
[0089] At the step 505 stage, the Retimer is in the connection state as shown in Figure 3. Then, the Retimer determines that the source link connection state needs to be switched to the target link connection state based on the switching indication information from the management node. To this end, the Retimer changes the second trigger data stream received from the second node port to the second request data stream. Among them, the difference between the second request data stream and the second trigger data stream is that the value of the switching state field is different. For the description of the Retimer changing the second trigger data stream to the second request data stream, please refer to the description of the Retimer changing the third trigger data stream to the third request data stream shown in step 503, and the specific details are not repeated. It can be understood that the value of the switching state field in the second request data stream is the second value. The Retimer sends the second request data stream to the fourth node port of the fourth node via the seventh interface 217 and the receiving interface 232 in sequence to instruct the fourth node to perform link switching.
[0090] Step 506: The third node sends a first trigger data stream to the Retimer.
[0091] Specifically, the sending interface included in the third node port of the third node sends the first trigger data stream to the sixth interface included in the third port of the retimer. For the description of the first trigger data stream shown in this embodiment, please refer to the description of the third trigger data stream shown in step 502, and detailed description is omitted.
[0092] Step 507: The Retimer sends a first request data flow to the first node.
[0093] At the step 507 stage, the Retimer is in the connection state as shown in Figure 3. Then, the Retimer determines that the source link connection state needs to be switched to the target link connection state based on the switching indication information from the management node. To this end, the Retimer changes the first trigger data stream received from the third node port to the first request data stream. Among them, the difference between the first request data stream and the first trigger data stream is that the value of the switching state field is different. For the description of the Retimer changing the first trigger data stream to the first request data stream, please refer to the description of the Retimer changing the third trigger data stream to the third request data stream shown in step 503, and the details are not repeated. It can be understood that the value of the switching state field in the first request data stream is the second value. The Retimer sends the first request data stream to the first node port of the first node via the second interface 212 and the receiving interface 202 in sequence to request the first node to perform link switching.
[0094] Step 508: The fourth node sends a fourth trigger data flow to the Retimer.
[0095] Specifically, the sending interface 231 included in the fourth node port of the fourth node sends the fourth trigger data stream to the eighth interface included in the fourth port of the retimer. For the description of the fourth trigger data stream shown in this embodiment, please refer to the description of the third trigger data stream shown in step 502, and the details are not repeated here.
[0096] Step 509: The Retimer sends a fourth request data flow to the second node.
[0097] At the step 509 stage, the Retimer is in the connection state as shown in Figure 3. Then, the Retimer determines that the source link connection state needs to be switched to the target link connection state based on the switching indication information from the management node. To this end, the Retimer changes the fourth trigger data stream received from the fourth node port to the fourth request data stream. Among them, the difference between the fourth request data stream and the fourth trigger data stream is that the value of the switching state field is different. For the description of the Retimer changing the fourth trigger data stream to the fourth request data stream, please refer to the description of the Retimer changing the third trigger data stream to the third request data stream shown in step 503, and the details are not repeated. It can be understood that the value of the switching state field in the fourth request data stream is the second value. The Retimer sends the fourth request data stream to the second node via the fourth interface 214 and the receiving interface 204 in sequence to request the second node port of the second node to perform link switching.
[0098] Step 510: The third node sends a third response data stream to the Retimer.
[0099] In step 503, the third node port of the third node receives the third request data stream from the retimer and determines whether to agree to the link switch based on the switch request carried in the third request data stream. For example, the third node may determine whether to agree to the link switch based on computing resources, network bandwidth, data storage, business model requirements, data to be sent, and other factors. In another example, the third node may determine whether to agree to the link switch based on the number of channels indicated by the channel number indicator carried in the third request data stream. Specifically, if the third node determines that the number of receive channels supported by the receive interface included in the third node port is equal to the number of transmit channels supported by the first node port indicated by the channel number indicator, and / or if the third node determines that the number of transmit channels supported by the transmit interface included in the third node port is equal to the number of receive channels supported by the first node port indicated by the channel number indicator, then the third node agrees to the link switch. It should be understood that this embodiment does not limit the conditions for the third node to determine whether to agree to the link switch based on the third request data stream. In step 510, the Retimer is in the connection state shown in FIG3. Then, when the third node determines to agree to perform the link switching, the sending interface included in the third node port of the third node sends the third response data stream to the sixth interface included in the third port of the Retimer.
[0100] The third response data stream shown in this embodiment is formed by the third node modifying the third request data stream. It will be understood that the third response data stream is a modification of the third request data stream. The third response data stream differs from the third request data stream in the value of the switch status field. In the third request data stream, the switch status field has the second value. However, the third node modifies the switch status field so that it has the third value. The switch status field with the third value serves as a switch preparation complete indication, indicating that the third node is ready for the link switch. In this embodiment, the third node agrees to perform a link switch. If the third node disagrees, the third node may modify the switch status field to a fifth value. The switch status field with the fifth value indicates that the third node disagrees with the link switch. For another example, if the third node disagrees with the link switch, the third node sends an indication to the management node indicating its disagreement with the link switch. This is not a specific limitation.
[0101] This embodiment uses the third node port of the third node as an example to change the third request data stream into the third response data stream, without limitation. For example, in other examples, when the third node port receives the third request data stream, it can send the third request data stream to the control device of the third node. When the control device determines that the link switching is approved, it changes the third request data stream into the third response data stream and sends the third response data stream to the third node port. The control device can be a CPU, chip, logic module, or software of the third node, without limitation.
[0102] Step 511: The fourth node sends a second response data stream to the Retimer.
[0103] In step 505, the fourth node port of the fourth node receives the second request data stream from the Retimer and, based on the switch request carried in the second request data stream, determines whether to agree to perform the link switch. For details on how the fourth node determines whether to agree to perform the link switch, refer to the description of how the third node determines whether to agree to perform the link switch shown in step 510, and details are not repeated here. At step 511, the Retimer is in the connected state shown in FIG3 . If the fourth node determines that it agrees to perform the link switch, the sending interface included in the fourth node port of the fourth node sends the second response data stream to the eighth interface included in the fourth port of the Retimer. The fourth node changes the second request data stream to the second response data stream. For details on this change, refer to the description of how the third node changes the third request data stream to the third response data stream shown in step 510, and details are not repeated here. It will be understood that in the second response data stream, the switch status field has the third value. Therefore, the switch status field with the third value serves as a switch preparation complete indication, indicating that the fourth node is ready for the link switch. This embodiment shows the fourth node port of the fourth node, changing the second request data stream to the second response data stream as an example, without limitation. For example, in other examples, when the fourth node port receives the second request data stream, the second request data stream can be sent to the control device of the fourth node. When the control device determines that it agrees to the link switching, it sends the second response data stream to the fourth node port. For the description of the control device, please refer to the description of the control device of the third node shown in step 510, without specific limitation. This embodiment takes the fourth node agreeing to perform the link switching as an example. If the fourth node does not agree to perform the link switching, please refer to the description of the third node not agreeing to perform the link switching shown in step 510, and the details will not be repeated.
[0104] Step 512: The first node sends a first response data stream to the Retimer.
[0105] Through step 507, the first node port of the first node receives the first request data stream from the Retimer and determines whether to agree to perform the link switch based on the switch request carried by the first request data stream. For the description of whether the first node determines whether to agree to perform the link switch, please refer to the description of whether the third node determines whether to agree to perform the link switch shown in step 510, and the details are not repeated here. At step 512, the Retimer is in the connected state shown in Figure 3. Then, if the first node determines that it agrees to perform the link switch, the sending interface included in the first node port of the first node sends the first response data stream to the first interface included in the first port of the Retimer. For the description of how the first node changes the first request data stream to the first response data stream, please refer to the description of how the third node changes the third request data stream to the third response data stream shown in step 510, and the details are not repeated here. It can be understood that the value of the switch status field in the third response data stream is the third value. Therefore, the switch status field with the third value serves as a switch preparation completion indication, which is used to indicate that the first node is ready for the link switch. This embodiment shows the example of changing the first request data stream to the first response data stream by taking the first node port of the first node as an example, without limitation. For example, in other examples, when the first node port receives the first request data stream, it can send the first request data stream to the control device of the first node. When the control device determines that it agrees to the link switching, it sends the first response data stream to the first node port. For the description of the control device, please refer to the description of the control device of the third node shown in step 510, without specific limitation. This embodiment takes the example of the first node agreeing to perform the link switching. If the first node does not agree to perform the link switching, please refer to the description of the third node not agreeing to perform the link switching shown in step 510, without further details.
[0106] Step 513: The second node sends a fourth response data flow to the Retimer.
[0107] Via step 509, the second node port of the second node receives the fourth request data stream from the Retimer and determines whether to agree to perform the link switch based on the switching request carried by the fourth request data stream. For the description of how the first node determines whether to agree to perform the link switch, please refer to step 510, which will not be described in detail. At step 513, the Retimer is in the connected state as shown in Figure 3. Then, if the first node determines that it agrees to perform the link switch, the sending interface included in the second node port of the second node sends the fourth response data stream to the third interface included in the second port of the Retimer. For the description of how the first node changes the fourth request data stream to the fourth response data stream, please refer to the description of how the third node changes the third request data stream to the third response data stream shown in step 510, which will not be described in detail. It can be understood that the value of the switch status field in the fourth response data stream is the third value. Therefore, the switch status field with the third value serves as a switch preparation completion indication, which is used to indicate that the second node is ready for the link switch. This embodiment shows an example of changing the fourth request data stream to the fourth response data stream by taking the second node port of the second node as an example, without limitation. For example, in other examples, when the second node port receives the fourth request data stream, the fourth request data stream can be sent to the control device of the second node. When the control device determines that it agrees to the link switching, the fourth response data stream is sent to the second node port. The description of the control device can refer to the description of the control device of the third node shown in step 510, without specific limitation.
[0108] Step 514: The Retimer sends the third negotiation data flow to the first node.
[0109] In this embodiment, when the retimer receives the first response data stream, the second response data stream, the third response data stream, and the fourth response data stream, it can determine that the first node port of the first node, the second node port of the second node, the third node port of the third node, and the fourth node port of the fourth node all agree to perform link switching. The retimer then obtains the third negotiation data stream based on the third response data stream from the third node and sends the third negotiation data stream to the receiving interface included in the first node port of the first node via the retimer's second interface. In step 514, the retimer is in the connected state shown in FIG3. When the retimer receives the third response data stream from the third node, the retimer changes the third response data stream to the third negotiation data stream. The third negotiation data stream differs from the third response data stream in the value of the switch status field. In the third response data stream, the switch status field has a third value. The retimer changes the value of the switch status field to a fourth value. The switch status field with the fourth value serves as a negotiation indication, triggering the negotiation process. It is understood that the value of the handover status field in the third negotiation data stream is the fourth value. The retimer sends the third negotiation data stream to the first node port of the first node via the second interface 212 and the receiving interface 202 in sequence to instruct the first node port of the first node to execute the negotiation process.
[0110] Step 515: The Retimer sends the second negotiation data flow to the second node.
[0111] In this embodiment, when the Retimer receives the first response data stream, the second response data stream, the third response data stream, and the fourth response data stream, it can determine that the first node port of the first node, the second node port of the second node, the third node port of the third node, and the fourth node port of the fourth node all agree to perform link switching. Then, the Retimer obtains the second negotiation data stream based on the second response data stream from the fourth node and sends the second negotiation data stream to the receiving interface included in the second node port of the second node via the Retimer's fourth interface. In step 515, the Retimer is in the connection state shown in Figure 3. Then, when the Retimer receives the second response data stream from the fourth node, the Retimer changes the second response data stream to the second negotiation data stream. For instructions on the change, please refer to the instructions for changing the third response data stream to the third negotiation data stream shown in step 514, and the details are not repeated here. It can be understood that in the second negotiation data stream, the value of the switch status field is the fourth value. Then, the switch status field with the fourth value serves as a negotiation indication, which is used to indicate the triggering of the negotiation process. The retimer sends the second negotiation data stream to the second node port of the second node via the fourth interface 214 and the receiving interface 204 in sequence, to instruct the second node port of the second node to execute the negotiation process.
[0112] Step 516: The Retimer sends the first negotiation data flow to the third node.
[0113] In this embodiment, when the Retimer receives the first response data stream, the second response data stream, the third response data stream, and the fourth response data stream, it can be determined that the first node port of the first node, the second node port of the second node, the third node port of the third node, and the fourth node port of the fourth node all agree to perform link switching. Then, the Retimer obtains the first negotiation data stream based on the first response data stream and sends the first negotiation data stream to the receiving interface included in the third node port of the third node through the fifth interface of the Retimer. In step 516, the Retimer is in the connection state shown in Figure 3. Then, the Retimer changes the first response data stream received from the first node port of the first node to the first negotiation data stream. For instructions on the change, please refer to the instructions for changing the third response data stream to the third negotiation data stream shown in step 514, and the details are not repeated here. It can be understood that in the first negotiation data stream, the value of the switching status field is the fourth value. Then, the switching status field with the fourth value serves as a negotiation indication, which is used to indicate the triggering of the negotiation process. The retimer sends the first negotiation data stream to the third node port of the third node via the fifth interface 215 and the receiving interface 222 in sequence, to instruct the third node port of the third node to execute the negotiation process.
[0114] Step 517: The Retimer sends the fourth negotiation data flow to the fourth node.
[0115] In this embodiment, when the Retimer receives the first response data stream, the second response data stream, the third response data stream, and the fourth response data stream, it can be determined that the first node port of the first node, the second node port of the second node, the third node port of the third node, and the fourth node port of the fourth node all agree to perform link switching. Then, the Retimer obtains the fourth negotiation data stream based on the fourth response data stream and sends the fourth negotiation data stream to the receiving interface included in the fourth node port of the fourth node through the seventh interface of the Retimer. In step 517, the Retimer is in the connection state shown in Figure 3. Then, the Retimer changes the fourth response data stream received from the second node port of the second node to the fourth negotiation data stream. For instructions on the change, please refer to the instructions for changing the third response data stream to the third negotiation data stream shown in step 514, and the details are not repeated here. It can be understood that in the fourth negotiation data stream, the value of the switching status field is the fourth value. Then, the switching status field with the fourth value serves as a negotiation indication, which is used to indicate the triggering of the negotiation process. The retimer sends the fourth negotiation data stream to the fourth node port of the fourth node via the seventh interface 217 and the receiving interface 232 in sequence, to instruct the fourth node port of the fourth node to execute the negotiation process.
[0116] Step 518: The Retimer switches from the source link connection state to the target link connection state.
[0117] When the Retimer successfully sends the first negotiation data stream, the second negotiation data stream, the third negotiation data stream, and the fourth negotiation data stream, the Retimer switches its own link from the source link connection state to the target link connection state. For the description of the Retimer in the target link connection state, please refer to the corresponding description of Figure 4, and the details will not be repeated. For example, as shown in Figure 4, the Retimer disconnects the circuit between the first interface 211 and the fifth interface 215, and connects the circuit between the first interface 211 and the seventh interface 217, and disconnects the circuit between the second interface 212 and the sixth interface 216, and connects the circuit between the second interface 212 and the eighth interface 218. Then, the link between the first node port 101 of the first node, the first port 111 of the Retimer, the third port 113, and the third node port 121 of the third node is in a disconnected state, and the link between the first node port 101 of the first node, the first port 111 of the Retimer, the fourth port 114, and the fourth node port 131 of the fourth node is in a connected state. Furthermore, the retimer disconnects the circuit between the third interface 213 and the seventh interface 219 and connects the circuit between the third interface 213 and the fifth interface 215. The retimer also disconnects the circuit between the fourth interface 214 and the eighth interface 218 and connects the circuit between the fourth interface 214 and the sixth interface 216. Thus, the second node port 141 of the second node, the second port 112 and the third port 113 of the retimer, and the third node port 121 of the third node are in a connected state. For example, the retimer includes a printed circuit board (PCB), and each interface in each port included in the retimer is packaged on the PCB. Therefore, the different interfaces are connected via conductive traces on the PCB. Therefore, the circuits between the different interfaces are all circuits formed by the conductive traces on the PCB. The retimer can achieve the connection or disconnection of the circuits between the different interfaces through any method, such as digital circuits, without specific limitation.
[0118] Step 519: The first node sends a third negotiation response data flow to the Retimer.
[0119] After the first node shown in this embodiment receives the third negotiation data stream, it can be determined that the Retimer has switched from the source link connection state to the target link connection state. Then, the first node returns the third negotiation response data stream to the Retimer based on the third negotiation data stream. The third negotiation response data stream may be a training set block (TSB). For example, the TSB may include a discovery training set block (DTSB), a configuration training set block (CTSB), an equalization training set block (ETSB), a retraining training set block (RTSB), and a unified training set block (UTSB). For example, the TSB includes a TSB type indication field for identifying the third negotiation response data stream, so that after the Retimer receives the third negotiation response data stream, it can identify the third negotiation response data stream based on the TSB type indication field. For example, as shown in FIG4 , the sending interface 201 included in the first node port 101 of the first node sends the third negotiation response data flow to the first interface 211 included in the first port 111 of the Retimer.
[0120] Optionally, after the first node port of the first node receives the third negotiated data stream, the first node interrupts the business data stream transmitted by the first node port. For example, the cache space corresponding to the first node port includes a data queue, and the business data stream is cached in the data queue. The first node port sends the business data stream according to the order of the data queue. In the case where the first node port receives the third negotiated data stream, the first node port sends an interrupt instruction to the data queue, so that the task queue interrupts the task queue according to the interrupt instruction, so that the first node port will not continue to send the business data stream in the task queue. The first node port can also interrupt receiving the business data stream from the switching module according to the third negotiated data stream.
[0121] Step 520: The Retimer sends a third negotiation response data stream to the fourth node.
[0122] In this embodiment, when the Retimer receives the third negotiation response data stream from the first node, the Retimer is in the target link connection state. Then, the Retimer's first interface 211 sends the third negotiation response data stream to the seventh interface 217. Then, the fourth node port of the fourth node receives the third negotiation response data stream via the receiving interface 232, so that the Retimer determines that the data stream sent by the first node's sending interface 201 is transmitted to the fourth node in sequence via the Retimer's first interface 211, the seventh interface 217, and the fourth node's receiving interface 232. Optionally, when the fourth node receives the third negotiation response data stream, it may send a response message to the Retimer in response to the third negotiation response data stream.
[0123] Step 521: The second node sends a second negotiation response data flow to the Retimer.
[0124] After the second node shown in this embodiment receives the second negotiation data stream, it can be determined that the Retimer has switched from the source link connection state to the target link connection state. Then, the second node returns the second negotiation response data stream to the Retimer based on the second negotiation data stream. For the description of the second negotiation response data stream, please refer to the description of the third negotiation response data stream shown in step 519, and the details are not repeated here. For example, as shown in Figure 4, the sending interface 203 included in the second node port 141 of the second node sends the second negotiation response data stream to the third interface 213 included in the second port 112 of the Retimer. Optionally, after the second node port of the second node receives the second negotiation data stream, the second node interrupts the business data stream transmitted by the second node port. For specific instructions, please refer to the description of the first node interrupting the business data stream transmitted by the first node port shown in step 519, and the details are not repeated here.
[0125] Step 522: The Retimer sends a second negotiation response data stream to the third node.
[0126] In this embodiment, when the retimer receives the second negotiation response data stream from the second node, the retimer is in the target link connection state. Then, the third interface 213 of the retimer sends the second negotiation response data stream to the fifth interface 215. Then, the third node port of the third node receives the second negotiation response data stream through the receiving interface 222, so that the retimer determines that the data stream sent by the sending interface 203 of the second node is transmitted to the third node via the third interface 213 of the retimer, the fifth interface 215, and the receiving interface 222 of the third node in sequence. Optionally, when the third node receives the second negotiation response data stream, it may send a response message to the retimer in response to the second negotiation response data stream.
[0127] Step 523: The third node sends a first negotiation response data flow to the Retimer.
[0128] After the third node shown in this embodiment receives the first negotiation data stream, it can be determined that the Retimer has switched from the source link connection state to the target link connection state. Then, the third node returns the first negotiation response data stream to the Retimer based on the first negotiation data stream. For the description of the first negotiation response data stream, please refer to the description of the third negotiation response data stream shown in step 519, and the details are not repeated here. For example, as shown in Figure 4, the sending interface 221 included in the third node port 121 of the third node sends the first negotiation response data stream to the sixth interface 216 included in the third port 113 of the Retimer. Optionally, after the third node port of the third node receives the first negotiation data stream, the third node interrupts the business data stream transmitted by the third node port. For specific instructions, please refer to the description of the first node interrupting the business data stream transmitted by the first node port shown in step 519, and the details are not repeated here.
[0129] Step 524: The Retimer sends a first negotiation response data stream to the second node.
[0130] In this embodiment, when the retimer receives the first negotiation response data stream from the third node, the retimer is in the target link connection state. Then, the sixth interface 216 of the retimer sends the first negotiation response data stream to the fourth interface 214. Then, the second node port of the second node receives the first negotiation response data stream through the receiving interface 204, so that the retimer determines that the data stream sent by the sending interface 221 of the third node is transmitted to the second node via the sixth interface 216 of the retimer, the fourth interface 214, and the receiving interface 204 of the second node in sequence. Optionally, when the second node receives the first negotiation response data stream, it may send a response message to the retimer in response to the first negotiation response data stream.
[0131] Step 525: The fourth node sends a fourth negotiation response data flow to the Retimer.
[0132] After the fourth node shown in this embodiment receives the fourth negotiation data stream, it can be determined that the Retimer has switched from the source link connection state to the target link connection state. Then, the fourth node returns the fourth negotiation response data stream to the Retimer based on the fourth negotiation data stream. For the description of the fourth negotiation response data stream, please refer to the description of the third negotiation response data stream shown in step 519, and the details are not repeated here. For example, as shown in Figure 4, the sending interface 231 included in the fourth node port 131 of the fourth node sends the fourth negotiation response data stream to the eighth interface 218 included in the fourth port 114 of the Retimer. Optionally, after the fourth node port of the fourth node receives the fourth negotiation data stream, the fourth node interrupts the business data stream transmitted by the fourth node port. For specific instructions, please refer to the description of the first node interrupting the business data stream transmitted by the first node port shown in step 519, and the details are not repeated here.
[0133] Step 526: The Retimer sends a fourth negotiation response data flow to the first node.
[0134] In this embodiment, when the Retimer receives the fourth negotiation response data stream from the fourth node, the Retimer is in the target link connection state. Then, the Retimer's eighth interface 218 sends the fourth negotiation response data stream to the second interface 212. Then, the first node port of the first node receives the fourth negotiation response data stream via the receiving interface 202, so that the Retimer determines that the data stream sent by the sending interface 231 of the fourth node is transmitted to the first node via the Retimer's eighth interface 218, the second interface 212, and the first node's receiving interface 202 in sequence. Optionally, when the first node receives the fourth negotiation response data stream, it may send a response message to the Retimer in response to the fourth negotiation response data stream.
[0135] Step 527: The Retimer returns a switching response message to the management node.
[0136] After steps 519 to 526, the Retimer determines that the source link connection state is successfully switched to the target link connection state, and data transmission is possible between the first node port and the fourth node port, and data transmission is possible between the second node port and the third node port. Then, the Retimer determines that the service data stream can be transmitted based on the target link connection state. The Retimer returns a switching response message to the management node. When the management node receives the switching response message, it can determine that the target link connection state shown in Table 2 has been created. Then, the management node can schedule the services of the communication system based on the information shown in Table 2.
[0137] Using the method shown in this embodiment, when a Retimer receives a service data stream from a first node, a second node, a third node, or a fourth node, it can balance the service data stream, increase the transmission energy of the service data stream through an internal clock reconstruction signal, compensate for channel loss during the service data stream transmission process, and eliminate signal jitter, thereby improving the transmission distance and transmission quality of the service data stream. Furthermore, the Retimer shown in this embodiment can implement link switching between different node ports when the different nodes are connected via cables. Specifically, trigger data streams are continuously transmitted between different node ports in a connected state through the Retimer. For example, the first node continuously sends a trigger data stream to the third node via the Retimer, and another example is that the second node continuously sends a trigger data stream to the fourth node via the Retimer. When the management node determines that a link switch is required, the management node sends a switch indication message to the Retimer to indicate the connection status of the target link. Then, based on the switch indication message, the Retimer directly changes the trigger data stream to a request data stream, which is used to request each node port to perform a link switch. Because the request data stream shown in this embodiment is a direct modification of the trigger data stream, there is no need to regenerate a new data stream for requesting a switch, effectively reducing the latency of the Retimer sending the request data stream to the node port. Furthermore, in the method shown in this embodiment, the Retimer uses the request data stream to request each node port's consent to a link switch. After receiving the response data streams returned by each node port, the Retimer switches the source link connection state to the target link connection state. This improves the reliability of link switching and ensures the success rate of transmission of each service data stream while in the target link connection state.
[0138] The structure of the switching module shown in Figures 3 to 5 is described below in conjunction with Figure 6, wherein Figure 6 is a structural example diagram of the switching module provided by the present application. As shown in Figure 6, the switching module is still taken as a Retimer as an example. The Retimer shown in this embodiment specifically includes a first serializer-deserializer (SerDes) 601, a first cross module 602, a second cross module 620, and a second SerDes 931. Among them, the first SerDes 601 is connected between the first node and the first cross module 602, and the first SerDes 601 is connected between the second node and the first cross module 602. The first cross module 602 specifically includes pins 611, 612, 613, 614, 615, 616, 617 and 618, and pins 611 and 612 are respectively connected to the sending interface 201 and the receiving interface 202 of the first node through the first SerDes 601. Pins 613 and 614 are connected to the transmit interface 203 and receive interface 204 of the second node, respectively, through the first SerDes 601. When the retimer shown in FIG6 is in the source link connection state shown in FIG3, pin 611 is connected to pin 615, pin 612 is connected to pin 616, pin 613 is connected to pin 617, and pin 617 is connected to pin 618. The second cross-connect module 620 specifically includes pins 621, 622, 623, 624, 625, 626, 627, and 628. Pins 625 and 626 are connected to the receive interface 222 and transmit interface 221 of the third node, respectively, through the second SerDes 931. Pins 627 and 628 are connected to the receive interface 232 and transmit interface 231 of the fourth node, respectively, through the second SerDes 931. The retimer shown in Figure 6 is in the source link connection state shown in Figure 3 . Pin 625 is connected to pin 612, pin 626 is connected to pin 622, pin 627 is connected to pin 623, and pin 628 is connected to pin 624. A first channel 631 is connected between pin 615 and pin 612, a second channel 632 is connected between pin 616 and pin 622, a third channel 633 is connected between pin 617 and pin 623, and a fourth channel 634 is connected between pin 618 and pin 627. The retimer also includes a control module 660 connected to the first channel 631, the second channel 632, the third channel 633, and the fourth channel 634, respectively. This control module 660 is connected to the management node and can communicate with the management node.
[0139] The structure of the first channel 631 shown in FIG7 is described below, wherein FIG7 is a diagram illustrating the structure of the first channel shown in FIG6 . The first channel 631 shown in this embodiment includes an alignment descrambler 701 connected to pin 615 , an elastic buffer 702 connected to the alignment descrambler 701 , a deskew module 704 and a listening module 705 respectively connected to the elastic buffer 702 , a distribution module 706 connected to the deskew module 704 , a link control module 707 connected to the listening module 705 , a first selection module (MUX) 708 respectively connected to the distribution module 706 and the link control module 707 , a scrambling module 709 connected to the first selection module 708 , and a second selection module 710 connected to the scrambling module 709 , wherein the second selection module 710 is connected to pin 612 . The first channel 631 also includes a polarity flipper 703, one end of which is connected between the pin 615 and the alignment descrambler 701, and a second end of which is connected to the second selection module 710. The link control module 707 is also connected to the control module 660. The first channel 631 includes a service channel for transmitting and processing service data streams, and a switching channel for transmitting and processing trigger data streams, response data streams, or negotiation response data streams. Specifically, the service channel includes the alignment descrambler 701, an elastic buffer 702, a skew module 704, a distribution module 706, a first selection module 708, a scrambling module 709, a second selection module 710, and the polarity flipper 703. The switching channel includes the alignment descrambler 701, the elastic buffer 702, the listening module 705, the link control module 707, the first selection module 708, and the scrambling module 709. The first channel 631 is used to transmit the data stream from the first node to the third node. Specifically, the first SerDes 601 receives the data stream from the transmit interface 201. The first SerDes 601 is used to convert the high-speed serial data stream from the transmit interface of the first node into a low-speed parallel data stream. The first crossbar module 602, located between pins 611 and 615, transmits the low-speed parallel data stream to the alignment descrambler 701 of the first channel 631. The alignment descrambler 701 performs frame delimiting and descrambling on the received data stream and sends the processed data stream to the elastic buffer 702. The elastic buffer 702 completes the frequency offset between the remote clock and the local clock and sends the processed data stream to the skew module 704. The listening module 705 is used to listen to the data stream sent by the elastic buffer 702. If a data stream for link switching (such as the trigger data stream, response data stream, or negotiation response data stream shown in Figure 5) is detected, the data stream for link switching is obtained from the elastic buffer 702.For example, the listening module 705 switches the data flow identifier to detect whether the data flow is a data flow for link switching. For an explanation of the switching data flow identifier, please refer to Table 3 and will not be described in detail here. Based on the identified data flow, the listening module 705 executes steps 503, 516, and 522. The skew module 704 is configured to eliminate skew between physical lanes for the data flow from the elastic buffer 702. The distribution module 706 distributes the service data flow from the skew module 704 and arranges it on each lane. The control module 660 executes step 501 and sends a switching instruction to the link control module 707. The link control module 707 is configured to send a switching instruction to the link control module 707, which is configured to switch the source link connection state to the target link connection state based on the switching instruction. The first selection module MUX 708 is configured to select a path from the data flow output by the distribution module 706 and the data flow output by the link control module 707 for transmission to the scrambling module 709. Polarity flipper 703 is used to correct errors in the data stream received from pin 615 by changing the signal's polarity when it is interfered with or attenuated during transmission, thereby restoring the original, correct signal. Second selection module 710 selects one of the data streams from scrambling module 709, link control module 707, and polarity flipper 703 to send to pin 612. Pin 612 then transmits the data stream received from first channel 631 to pin 625, enabling second SerDes 631 to convert multiple parallel data streams into a serial high-speed data stream for transmission to the third node. For a description of the structures of second channel 632, third channel 633, and fourth channel 634, refer to the description of first channel 631 and are not further elaborated here.
[0140] FIG6 is an example diagram of a Retimer in a source link connection state, in which the link control module 707 is connected to the control module 660, the first cross module 602, and the second cross module 620, respectively. To enable the Retimer to switch from the source link connection state to the target link connection state, the link control module included in each channel sends a switch command to the first cross module 602 and the second cross module 620, so that the first cross module 602 and the second cross module 620 change the connection relationship between the pins, thereby switching from the source link connection state (as shown in FIG6 ) to the target link connection state as shown in FIG8 . As shown in FIG8 , the first cross module 602 switches the connection relationship between the pins to: pin 611 is connected to pin 617, pin 612 is connected to pin 618, pin 613 is connected to pin 615, and pin 617 is connected to pin 616. The second cross module 620 switches the connection relationship between each pin to pin 612 connected to pin 627, pin 622 connected to pin 628, pin 623 connected to pin 625, and pin 624 connected to pin 626. For the description of the target link connection status, please refer to the corresponding description in Figure 4, and the details will not be repeated here.
[0141] Taking the first cross module 602 as an example, the first cross module 602 can be a module in the Retimer, or a chip, module or single board separate from the Retimer, etc., and is not specifically limited. This embodiment does not limit the way in which the first cross module 602 specifically implements the conduction or shutdown of circuits between different pins. For example, the first cross module 602 may include a register and a cross array. The register is connected to the cross array. The cross array includes each pin possessed by the first cross module 602. The register is connected to the cross array, and through software configuration, it selects the conduction or shutdown of the circuits between each pin in the cross array. Specifically, the register includes a plurality of bits, and the bits are used to turn on or off the circuits between the pins. For the description of the second cross module 620, please refer to the description of the first cross module 602, and the details are not repeated here.
[0142] The link switching method provided in the embodiment of the present application can also be applied to node failure scenarios. Figure 9 is a connection example diagram of Figure 1 in the source link connection state and a fault occurs. The communication system shown in Figure 9 is in the source link connection state. For a specific description of the source link connection state, please refer to the corresponding description of Figure 3, which will not be described in detail. If the third node and / or the third node port shown in this embodiment fails, then data flow cannot be received and sent between the third node and the Retimer. To this end, the Retimer switches the source link connection state shown in Figure 9 to the target link connection state shown in Figure 10. Among them, Figure 10 is a connection example diagram of Figure 1 in the target link connection state and a fault occurs. In the example shown in Figure 10, the first node port is connected to the fourth node through the Retimer switch to ensure that the first node port of the first node can normally receive and send data flow.
[0143] In combination with the Retimer implementation shown in Figure 11, the process of switching the source link connection state shown in Figure 9 to the target link connection state shown in Figure 10 is explained, where Figure 11 is a step flow chart of the second embodiment of the link switching method provided by this application.
[0144] Step 1101: The management node sends switching indication information to the Retimer.
[0145] When the management node shown in this embodiment detects that a fault has occurred on the third node, it sends the switching indication information to the Retimer. The switching indication information is used to indicate that the second link has occurred and is also used to indicate that the third node has occurred. This embodiment does not limit the way in which the management node determines that a fault has occurred on the third node. For example, if the data stream sent by the first node to the third node via the first link does not receive a response from the third node for more than a preset time period, the first node sends a fault indication information to the management node. The fault indication information is used to indicate that a fault has occurred on the third node. For another example, if a fault occurs on the third node port of the third node, but the link between the third node and the management node is normal, the third node directly sends a fault indication information to the management node. The switching indication information shown in this embodiment is used to indicate the second link between the first port 111 and the fourth port 114 in the Retimer, so that the Retimer turns on the second link between the first port 111 and the fourth port 114 of the Retimer according to the switching indication information, so that the communication system is in a target link connection state. The target link connection state indicated by the switching indication information shown in this embodiment can be seen in Table 4:
[0146] Table 4
[0147] It can be understood that the target link connection state is used to indicate the correspondence between the ID of the first node port, the ID of the first port, the ID of the fourth port and the ID of the fourth node port. For specific instructions, please refer to the corresponding instructions in Table 2, and no further details will be given.
[0148] Step 1102: The second node sends a second trigger data stream to the Retimer.
[0149] Step 1103: The Retimer sends a second request data flow to the fourth node.
[0150] For the description of the execution process of step 1102 to step 1103 shown in this embodiment, please refer to the corresponding steps 504 to step 505 in Figure 5, and the details are not repeated here.
[0151] Step 1104: The Retimer sends a first request data stream to the first node.
[0152] In this embodiment, the third node has failed. Therefore, the third node cannot send a trigger data stream to the retimer. Therefore, the retimer in this embodiment can generate the first request data stream based on the switching instruction information from the management node and send the first request data stream to the retimer. For an explanation of the content of the first request data stream, please refer to step 507 corresponding to FIG5 , and the details are not repeated here. It can be understood that the retimer sends the first request data stream to the first node port of the first node via the second interface 212 and the receiving interface 202 in sequence, requesting the first node to perform a link switch.
[0153] Step 1105: The fourth node sends a fourth trigger data flow to the Retimer.
[0154] Step 1106: The Retimer sends a fourth request data flow to the second node.
[0155] For the description of the execution process of step 1105 to step 1106 shown in this embodiment, please refer to the corresponding steps 508 to step 509 in Figure 5, and the details are not repeated here.
[0156] Step 1107: The fourth node sends a second response data stream to the Retimer.
[0157] For the description of the execution process of step 1107 shown in this embodiment, please refer to the corresponding step 511 in Figure 5, and the details are not repeated here.
[0158] Step 1108: The first node sends a first response data stream to the Retimer.
[0159] For the description of the execution process of step 1108 shown in this embodiment, please refer to the corresponding step 512 in Figure 5, and the details are not repeated here.
[0160] Step 1109: The second node sends a fourth response data stream to the Retimer.
[0161] For the description of the execution process of step 1109 shown in this embodiment, please refer to the corresponding step 513 in Figure 5, and the details are not repeated here.
[0162] Step 1110: The Retimer sends the third negotiation data flow to the first node.
[0163] In this embodiment, when the Retimer receives the first response data stream, the second response data stream, and the fourth response data stream, it can be determined that the first node port of the first node, the second node port of the second node, and the fourth node port of the fourth node all agree to perform link switching. Then, the Retimer generates the third negotiation data stream and sends the third negotiation data stream to the receiving interface included in the first node port of the first node via the second interface of the Retimer. For a description of the third negotiation data stream, please refer to step 514 corresponding to FIG. 5 , and detailed description is omitted here.
[0164] Step 1111: The Retimer sends a second negotiation data stream to the second node.
[0165] In this embodiment, when the retimer receives the first response data stream, the second response data stream, and the fourth response data stream, it can determine that the first node port of the first node, the second node port of the second node, and the fourth node port of the fourth node all agree to perform link switching. Then, the retimer obtains the second negotiation data stream based on the second response data stream from the fourth node. For a description of the second negotiation data stream, please refer to step 515 corresponding to FIG. 5 , and the details are not repeated here.
[0166] Step 1112: The Retimer sends a fourth negotiation data flow to the fourth node.
[0167] In this embodiment, when the retimer receives the first response data stream, the second response data stream, and the fourth response data stream, it can determine that the first node port of the first node, the second node port of the second node, and the fourth node port of the fourth node all agree to perform link switching. Then, the retimer obtains the fourth negotiation data stream based on the fourth response data stream. For a description of the fourth negotiation data stream, please refer to step 517 of FIG. 5 , and the details are not repeated here.
[0168] Step 1113: The Retimer switches from the source link connection state to the target link connection state.
[0169] When the retimer successfully sends the second, third, and fourth negotiation data flows, the retimer switches its own link from the source link connection state to the target link connection state. For an explanation of the retimer in the target link connection state, please refer to the corresponding description in FIG. The details are not repeated here.
[0170] Step 1114: The first node sends a third negotiation response data flow to the Retimer.
[0171] For the description of the execution process of step 1114 shown in this embodiment, please refer to the corresponding step 519 in Figure 5, and the details are not repeated here.
[0172] Step 1115: The Retimer sends a third negotiation response data stream to the fourth node.
[0173] For the description of the execution process of step 1115 shown in this embodiment, please refer to the corresponding step 520 in Figure 5, and the details are not repeated here.
[0174] Step 1116: The fourth node sends a fourth negotiation response data flow to the Retimer.
[0175] For the description of the execution process of step 1116 shown in this embodiment, please refer to the corresponding step 525 in Figure 5, and the details are not repeated here.
[0176] Step 1117: The Retimer sends a fourth negotiation response data stream to the first node.
[0177] For the description of the execution process of step 1117 shown in this embodiment, please refer to the corresponding step 526 in Figure 5, and the details are not repeated here.
[0178] Step 1118: The Retimer returns a switching response message to the management node.
[0179] After steps 1114 to 1117, the Retimer determines that the source link connection state has been successfully switched to the target link connection state, and that data transmission is possible between the first node port and the fourth node port. The Retimer then determines that the service data stream can be transmitted based on the target link connection state. The Retimer returns a switching response message to the management node. Upon receiving the switching response message, the management node determines that the target link connection state shown in Table 4 has been established. The management node can then schedule services for the communication system based on the information shown in Table 4.
[0180] By using the method shown in this embodiment, even if the third node fails, the Retimer can switch the connection relationship between the first node and the third node and connect the first node to the fourth node, thereby ensuring that the first node can send and receive data normally and improving the reliability of data transmission by the first node through the Retimer.
[0181] As shown in the above embodiment, the first node and the Retimer, the second node and the Retimer, the third node and the Retimer, and the fourth node and the Retimer are all connected by cables as an example. The nodes and the Retimers shown in this embodiment can also be connected by optical fibers. Figure 12 is an example diagram of the structure of the second embodiment of the communication system provided by this application. The communication system shown in this embodiment includes a first node 1200, a second node 1210, a Retimer 1220, a third node 1230, and a fourth node 1240. For the description of the first node 1200, the second node 1210, the Retimer 1220, the third node 1230, and the fourth node 1240, please refer to the corresponding description of Figures 1 and 2, and the specific details will not be repeated. Figure 12 differs from Figure 1 in that the communication system shown in this embodiment further includes optical modules 1221 and 1222. Third node 1230 further includes optical module 1232 connected between third node port 1231 and optical module 1221. Fourth node 1240 further includes optical module 1242 connected between fourth node port 1241 and optical module 1222. Retimer 1220's third port is connected to optical module 1221 via a cable, and retimer 1220's fourth port is connected to optical module 1222 via a cable. Optical module 1221 and optical module 1232 are connected via optical fiber 1251. Optical module 1222 and optical module 1242 are connected via optical fiber 1252. It will be appreciated that the embodiment shown in Figure 12 enables optical fiber connections between different nodes. Each optical module shown in this embodiment may also be referred to as an optoelectronic conversion module or an optical transceiver module, etc., for implementing electrical-to-optical conversion. For example, the optical module 1221 performs electrical-to-optical conversion on the electrical signal from the Retimer 1220 to transmit it to the optical module 1232 of the third node 1230 via the optical fiber 1251. The optical module 1232 performs optical-to-electrical conversion on the optical signal from the optical module 1221 to transmit the converted electrical signal to the third node port 1231. For the description of link connection state switching implemented by the communication system shown in this embodiment, please refer to the above embodiment, and the details are not repeated here. This embodiment takes the connection between the third node 1230 and the Retimer 1220 via an optical module as an example. In other examples, the third node 1230 and the Retimer 1220 can also be connected via a cable. The first node 1200 and the Retimer 1220 are connected via an optical module. For the connection description, please refer to the description of the connection between the third node 1230 and the Retimer 1220 via an optical module, and the details are not repeated here.
[0182] Figure 13 is a diagram illustrating the structure of the third embodiment of the communication system provided in this application. The communication system shown in this embodiment includes a first node 1200, a second node 1210, a retimer 1220, a third node 1230, and a fourth node 1240. For the description of the first node 1200, the second node 1210, the retimer 1220, the third node 1230, and the fourth node 1240, please refer to the corresponding description of Figures 1 and 2, and no further details are given. The difference between Figure 13 and Figure 12 is that the communication system shown in this embodiment also includes an optical module 1303 and an optical module 1304. The first node 1200 also includes an optical module 1301 connected between the first node port 1201 and the optical module 1303, and the second node 1210 also includes an optical module 1302 connected between the second node port 1211 and the optical module 1304. Among them, the optical module 1301 and the optical module 1303 are connected via an optical fiber 1311. Optical module 1302 and optical module 1304 are connected via optical fiber 1312. It is understood that the embodiment shown in FIG13 enables optical fiber connections between different nodes and Retimer 1220. For a description of each optical module shown in this embodiment, please refer to the corresponding description of FIG12 and will not be repeated here.
[0183] An embodiment of the present application provides a switching module. For an explanation of the structure of the switching module, please refer to Figures 6 to 8, and the details will not be repeated here.
[0184] An embodiment of the present application provides a node, comprising a processor, a system bus, and a node port, wherein the processor is connected to the node port via the system bus. The node illustrated in this embodiment may be the first node, the second node, the third node, or the fourth node illustrated in the above embodiment, and the details thereof are omitted. Optionally, the node may also include a memory and a DAMC, etc. For details, please refer to the corresponding description of FIG. 2 , and the details are omitted.
[0185] An embodiment of the present application provides a node, which includes a processor, a system bus, a node port, and a retimer. The processor is connected to the node port via the system bus, and the node port is connected to the retimer.
[0186] An embodiment of the present application provides a node, which includes a processor, a system bus, a node port, a retimer, and an optical module. The processor is connected to the node port via the system bus, the node port is connected to the retimer, and the retimer port is connected to the optical module.
[0187] An embodiment of the present application provides a node, which includes a processor, a system bus, a node port, and an optical module. The processor is connected to the node port via the system bus, and the node port is connected to the optical module.
[0188] An embodiment of the present application also provides a digital processing chip, including a processing chip and a memory, the memory and the processing chip are interconnected by lines, instructions are stored in the memory, and the processing chip is used to execute the process executed by the first node, the second node, the third node, the fourth node or the Retimer in any of the above method embodiments.
[0189] An embodiment of the present application also provides a computer storage medium, including instructions, which, when executed on a computer, enables the computer to execute the process executed by the first node, the second node, the third node, the fourth node or the Retimer in any of the above method embodiments.
[0190] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the process executed by the first node, the second node, the third node, the fourth node or the Retimer in any of the above method embodiments.
[0191] An embodiment of the present application also provides a communication system, which includes a node and a switching module. The node port included in the node is connected to the switching module. The node can be at least one of the first node, the second node, the third node and the fourth node shown in Figure 1. For the description of the switching module, please refer to the corresponding description of Figure 1, and the details will not be repeated here.
[0192] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0193] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0194] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
Claims
1. A link switching method, characterized in that: The method is applied to a switching module, the switching module including a first port, a second port, a third port, and a fourth port, a first link of the switching module being in an on state, the first link including the first port and the third port, the first port being connected to a first node, and the third port being connected to a third node, the method including: The switching module receives switching instruction information, where the switching instruction information is used to connect a second link, where the second link includes the first port and the fourth port, and the fourth port is connected to a fourth node; The switching module receives a first trigger data stream from the third node through the third port, and receives a second trigger data stream from the second node through the second port, wherein the first trigger data stream and the second trigger data stream are respectively used to trigger link switching, and the second port is connected to the second node; The switching module changes the first trigger data stream and the second trigger data stream into a first request data stream and a second request data stream respectively according to the switching indication information, and sends the first request data stream to the first node through the first port, and sends the second request data stream to the fourth node through the fourth port, where the first request data stream and the second request data stream are respectively used to request link switching; The switching module turns on the second link.
2. The method according to claim 1, characterized in that After the switching module changes the first trigger data flow and the second trigger data flow into the first request data flow and the second request data flow respectively according to the switching indication information, the method further includes: The switching module receives a first response data stream from the first node through the first port, and receives a second response data stream from the fourth node through the fourth port, wherein the first response data stream is modified from the first request data stream and is used to respond to the first request data stream, and the second response data stream is modified from the second request data stream and is used to respond to the second request data stream; The switching module conducting the second link includes: The switching module switches on the second link according to the switching indication information, the first response data flow, and the second response data flow.
3. The method according to claim 1 or 2, characterized in that Before the switching module switches on the second link, the method further includes: The switching module receives a third trigger data stream from the first node through the first port, wherein the third trigger data stream is used to trigger link switching; The switching module changes the third trigger data flow into a third request data flow according to the switching indication information, and sends the third request data flow to the third node through the third port, where the third request data flow is used to request link switching; The switching module disconnects the first link according to the switching instruction information.
4. The method according to claim 3, characterized in that After the switching module changes the first trigger data flow into a first request data flow according to the switching indication information, and sends the first request data flow to the first node through the first port, the method further includes: The switching module receives a third response data stream from the third node through the third port, wherein the third response data stream is modified from the third request data stream and is used to respond to the third request data stream; The switching module disconnecting the first link includes: The switching module disconnects the first link according to the switching indication information, the first response data flow, and the third response data flow, wherein the first response data flow is a response data flow from the first node.
5. The method according to any one of claims 1 to 4, characterized in that Before the switching module switches on the second link, the method further includes: The switching module changes the third response data stream into a negotiation data stream, and sends the negotiation data stream to the first node through the first port, wherein the third response data stream is a response data stream from the third node; After the switching module switches on the second link, the method further includes: The switching module receives a negotiation response data stream from the first node through the first port, where the negotiation response data stream is used to respond to the negotiation data stream; The switching module sends the negotiation response data stream to the fourth node through the fourth port.
6. The method according to claim 5, characterized in that The negotiation data flow is used to instruct the first node to interrupt the transmission of the service data flow between the first node and the switching module.
7. The method according to any one of claims 1 to 6, characterized in that The first trigger data stream, the first request data stream, the first response data stream and the first negotiation data stream respectively include a switching status field, the first response data stream is changed from the first request data stream, and the first negotiation data stream is changed from the first response data stream, and the value of the switching status field in the first trigger data stream, the value in the first request data stream, the value in the first response data stream and the value in the first negotiation data stream are different from each other, wherein the first response data stream is the response data stream from the first node, and the first negotiation data stream is the negotiation data stream sent to the third node.
8. The method according to any one of claims 1 to 7, characterized in that The switching indication information at least includes a correspondence between an identifier of the first node and an identifier of the fourth node.
9. The method according to any one of claims 1 to 8, characterized in that The switching indication information is further used to indicate that a fault occurs on the third node. Before the switching module switches on the second link, the method further includes: The switching module generates the second request data flow according to the switching indication information, and sends the second request data flow to the fourth node through the fourth port.
10. The method according to any one of claims 1 to 9, characterized in that The first trigger data stream includes a switching data stream identifier and a channel number indication, wherein the switching data stream identifier is used to identify the first trigger data stream, and the channel number indication is used to indicate the number of channels supported by the third node.
11. The method according to any one of claims 1 to 10, characterized in that The switching module is a retimer, and the retimer transmits the first trigger data flow and the service data flow from the third node through different channels.
12. A link switching method, characterized in that: The method is applied to a node, the node being used to connect to a switching module, and the method includes: The node sends a trigger data stream to the switching module, where the trigger data stream is used to trigger link switching; The node receives a request data flow from the switching module, where the request data flow is generated by the switching module changing another trigger data flow, and the request data flow is used to request link switching.
13. The method according to claim 12, characterized in that After the node receives the request data stream from the switching module, the method further includes: The node changes the request data stream into a response data stream, where the response data stream is used to respond to the request data stream; The node sends the response data stream to the switching module.
14. The method according to claim 12 or 13, characterized in that After the node receives the request data stream from the switching module, the method further includes: The node receives a negotiation data stream from the switching module; The node interrupts the transmission of the service data flow between the node and the switching module according to the negotiated data flow.
15. A switching module, characterized in that: The switching module includes a processing module, a first port, a second port, a third port, and a fourth port, wherein the processing module is connected to the first port, the second port, the third port, and the fourth port, respectively. A first link of the switching module is in an on state. The first link includes the first port and the third port. The first port is connected to a first node, and the third port is connected to a third node. The processing module is used for: receiving switching indication information, where the switching indication information is used to connect a second link, where the second link includes the first port and the fourth port, and the fourth port is connected to a fourth node; receiving a first trigger data stream from the third node through the third port, and receiving a second trigger data stream from the second node through the second port, wherein the first trigger data stream and the second trigger data stream are respectively used to trigger link switching, and the second port is connected to the second node; According to the switching indication information, the first trigger data stream and the second trigger data stream are respectively changed into a first request data stream and a second request data stream, and the first request data stream is sent to the first node through the first port, and the second request data stream is sent to the fourth node through the fourth port, where the first request data stream and the second request data stream are respectively used to request link switching; The second link is turned on.
16. A node, characterized in that: It includes a processor and a node port, wherein the node port is used to connect to the switching module; The processor is configured to send a trigger data stream to the switching module through the node port, wherein the trigger data stream is used to trigger link switching; The processor receives a request data stream from the switching module through the node port. The request data stream is formed by the switching module changing another trigger data stream. The request data stream is used to request link switching.
17. The node according to claim 16, characterized in that Also included is an optical module connected to the node port.
18. A chip system, characterized in that: The chip system includes a processor and an input / output interface, wherein the input / output interface is used to receive data and transmit it to the processor, or to send data from the processor to another chip system, and the processor is used to execute the method as described in any one of claims 1 to 11, or the method as described in any one of claims 12 to 14.
19. A computer-readable storage medium, characterized in that The method comprises computer program instructions which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 14.
20. A communication system, characterized in that: It includes a node and a switching module, the node includes a node port, the node port is connected to the switching module, the switching module is as described in claim 15, and the node is as described in claim 16.
Citation Information
Patent Citations
Signal transmission method and device based on optical switch, equipment and storage medium
CN112019263A
Switching method and electronic equipment
CN116056183A
Four-path optical switch and optical fiber network
JP2023134921A
Path control method, apparatus and system for retimer
WO2023141890A1