Method, device, system and communication device for adjusting link state, and chip
By utilizing control codes in Ethernet frames to carry AN or LT information during the data transmission phase, the link status is optimized, solving the problem of inflexible link status adjustment and enabling online adjustment of link status and performance improvement.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-11-30
- Publication Date
- 2026-06-02
AI Technical Summary
In existing technologies, link status adjustment is not flexible or precise enough, which prevents the effective optimization of link transmission performance.
By using control codes in Ethernet frames to carry AN or LT information during the data transmission phase, the link status can be optimized, avoiding the need for re-establishing the link and enabling online adjustment of the link status.
It improves the accuracy and flexibility of link status management, enhances the reliability and compatibility of link transmission information, and is suitable for various AN information or LT information scenarios.
Smart Images

Figure CN122137770A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to methods, apparatus, systems, communication devices, and chips for adjusting link status. Background Technology
[0002] In the field of communication technology, different devices can transmit information through links. This is achieved by performing an AN (Answer-Alternate) or LT (Learning-Learning-Learning) procedure to determine the parameters used for link transmission, thereby establishing the link. After the link is established, its operational status affects the performance of information transmission. Therefore, it is necessary to adjust the link status to ensure the performance of information transmission. Summary of the Invention
[0003] This application provides a method, apparatus, system, communication device, and chip for adjusting link status, so as to realize the adjustment of link status. The technical solution provided by this application includes the following aspects.
[0004] In a first aspect, a method for adjusting the state of a link is provided. The method is applied to a first device in a topology, and the first device is connected to a second device in the topology via a link. The method includes: during a data transmission phase, the first device acquires a first frame, the first frame carrying auto-negotiation AN information or link training LT information; the first device sends the first frame to the second device, and the first frame is used by the second device to optimize the working state of the link according to the AN information or LT information.
[0005] The data transmission phase can refer to the stage after the AN or LT process is completed and the link is established, during which data is transmitted. The first frame can be a control frame or a data frame; this application does not limit the type of the first frame. Furthermore, AN and LT are negotiation processes for establishing a link for data transmission. During the data transmission phase, this application optimizes the link's operating state based on AN or LT information to avoid re-establishing the link. In other words, this application fine-tunes and optimizes the link without disrupting the original results negotiated during the link establishment phase or the AN or LT negotiation phase.
[0006] In one possible implementation, the first device includes a physical coding sublayer (PCS), where the first frame is an Ethernet frame, and the control code in the Ethernet frame carries the AN information or LT information. When the first device includes a PCS layer, by multiplexing the control code in the Ethernet frame to carry the AN information or LT information, the utilization rate of the control code is improved, enabling online adjustment of the link state.
[0007] In one possible implementation, the control code is an O code. An O code is a code used to control program flow, specifying the specific operation to be performed. By reusing existing O codes in Ethernet frames to carry AN or LT information, the utilization rate of O codes is improved.
[0008] In one possible implementation, the first device includes a forward error correction (FEC) layer, where the first frame is an Ethernet frame, and the control code of the Ethernet frame carries the AN information or LT information. If the first device includes an FCE layer, by multiplexing the control code in the Ethernet frame to carry the AN information or LT information, the utilization rate of the control code is improved, enabling online adjustment of the link state.
[0009] In one possible implementation, the control code is an alignment marker (AM) codeword. By reusing existing AM codewords in the Ethernet frame to carry AN or LT information, the utilization rate of AM codewords is improved.
[0010] In one possible implementation, the first device includes a media access control (MAC) layer and a PCS layer. The first device generates Ethernet packets at the MAC layer, and the Ethernet packets carry the AN information or LT information. The first frame is the Ethernet frame obtained when the Ethernet packet enters the PCS layer. With the first device including both a MAC layer and a PCS layer, carrying AN information or LT information through Ethernet packets enables online adjustment of the link state.
[0011] In one possible implementation, the Ethernet packet is either a Link Layer Discovery Protocol (LLDP) packet or a Precision Time Protocol (PTP) packet. This makes the method compatible with both LLDP and PTP protocols.
[0012] In one possible implementation, the AN information or LT information is used by the second device to optimize the performance of the link. The AN information or LT information includes at least one of latency, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. This application can support multiple types of AN information or LT information, making it applicable to more scenarios.
[0013] In one possible implementation, the AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to switch from the working state to the energy-saving state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to switch from the energy-saving state to the working state. Triggering channel state switching through channel identification information offers high flexibility, finer granularity, and more precise control.
[0014] In one possible implementation, the AN information or LT information includes at least one of latency, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the link's status information, or the first frame is used to announce the link's status information based on an event. When multiple AN or LT information types are supported, periodically announcing the link's status information makes the announcement more reliable and improves the accuracy of link management. Announcing the link's status information based on an event improves the timeliness of the announcement.
[0015] Secondly, a method for adjusting the link state is provided. This method is applied to a second device in a topology, which is connected to a first device in the topology via a link. The method includes: during a data transmission phase, the second device receives a first frame sent by the first device, the first frame carrying auto-negotiation AN information or link training LT information; the second device obtains the AN information or the LT information from the first frame, and the AN information or LT information is used by the second device to optimize the working state of the link.
[0016] The second device obtains AN or LT information from the received first frame and optimizes the link's operating state based on this information. Since AN and LT are the negotiation and training processes for establishing a link for data transmission, this application optimizes the link's operating state based on the AN or LT information during the data transmission phase, avoiding the need to rebuild the link. In other words, this application fine-tunes and optimizes the link without disrupting the original results negotiated during the link establishment phase or the AN or LT negotiation phase.
[0017] In one possible implementation, the first device includes a PCS layer, the first frame being an Ethernet frame in the PCS layer, and the control code in the Ethernet frame carrying the AN information or LT information; the second device obtains the AN information or the LT information from the first frame, including: the second device obtaining the AN information or the LT information from the control code in the Ethernet frame.
[0018] In one possible implementation, the control code is a 0 code.
[0019] In one possible implementation, the first device includes an FEC layer, the first frame being an Ethernet frame in the FEC layer, and the control code of the Ethernet frame carrying the AN information or LT information; the second device obtains the AN information or the LT information from the first frame, including: the second device obtaining the AN information or the LT information from the control code in the Ethernet frame.
[0020] In one possible implementation, the control code is an alignment marker AM codeword.
[0021] In one possible implementation, the first device includes a MAC layer and a PCS layer. The first device generates an Ethernet packet at the MAC layer. The Ethernet packet carries the AN information or LT information. The first frame is an Ethernet frame obtained by the Ethernet packet entering the PCS layer. The second device obtains the AN information or the LT information from the first frame, including: the second device obtains the AN information or the LT information from the Ethernet packet.
[0022] In one possible implementation, the Ethernet message is a Link Layer Discovery Protocol (LLDP) message or a Precision Time Protocol (PTP) message.
[0023] In one possible implementation, the AN information or LT information is used by the second device to optimize the performance of the link, and the AN information or LT information includes at least one of latency, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
[0024] In one possible implementation, the AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the power-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the power-saving state.
[0025] In one possible implementation, the AN information or LT information includes at least one of latency, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the status information of the link, or the first frame is used to announce the status information of the link based on event triggering.
[0026] Thirdly, a link state adjustment device is provided, which is applied to a first device in a topology, the first device being connected to a second device in the topology via a link, the device comprising:
[0027] The acquisition module is used to acquire the first frame during the data transmission phase. The first frame carries AN information or LT information.
[0028] The transmitting module is used to transmit the first frame to the second device, and the first frame is used by the second device to optimize the working state of the link according to the AN information or LT information.
[0029] The relevant limitations of the first device, the first frame, the AN information or LT information can be referred to the relevant content of the first aspect, and will not be repeated here.
[0030] Fourthly, a link state adjustment device is provided, which is applied to a second device in a topology, the second device being connected to a first device in the topology via a link, the device comprising:
[0031] The receiving module is used to receive a first frame sent by the first device during the data transmission phase, wherein the first frame carries AN information or LT information.
[0032] The acquisition module is used to acquire the AN information or the LT information from the first frame, and the AN information or LT information is used by the second device to optimize the working state of the link.
[0033] The relevant limitations of the first device, the first frame, the AN information, or the LT information can be referred to the relevant content in the second aspect, and will not be repeated here.
[0034] Fifthly, a link state adjustment system is provided, the system comprising a first device and a second device, the first device being used to execute the link state adjustment method provided by the first aspect or a corresponding possible implementation, and the second device being used to execute the link state adjustment method provided by the second aspect or a corresponding possible implementation.
[0035] In a sixth aspect, a communication device is provided, comprising a transceiver and a processor, the transceiver being used to perform transmission and reception functions, and the processor being used to perform other functions besides the transmission and reception functions, so that the communication device implements the link state adjustment method provided in the first aspect, the second aspect, or a corresponding possible implementation.
[0036] In a seventh aspect, a chip is provided, the chip including an interface circuit and a control circuit, the interface circuit being used to transmit and receive data, and the control circuit being used to process the data, so that a first device on which the chip is mounted implements the link state adjustment method provided in the first aspect or a corresponding possible implementation, or so that a second device on which the chip is mounted implements the link state adjustment method provided in the second aspect or a corresponding possible implementation.
[0037] It should be understood that the technical effects achieved by the technical solutions provided by the second to seventh aspects of this application and their corresponding possible implementations can be found in the above description of the technical effects achieved by the technical solutions provided by the first or second aspects and their corresponding possible implementations, and will not be repeated here. Attached Figure Description
[0038] Figure 1 This is a schematic diagram of the structure of an HRO optical module provided in an embodiment of this application;
[0039] Figure 2 This is a schematic diagram of another HRO optical module provided in an embodiment of this application;
[0040] Figure 3 This is a schematic diagram of the structure of an LPO optical module provided in an embodiment of this application;
[0041] Figure 4 This is a schematic diagram of another LPO optical module provided in an embodiment of this application;
[0042] Figure 5 A schematic diagram of a communication system provided in an embodiment of this application;
[0043] Figure 6 A schematic diagram of another communication system provided in the embodiments of this application;
[0044] Figure 7 A schematic diagram of yet another communication system provided in the embodiments of this application;
[0045] Figure 8 A schematic diagram of another communication system provided in the embodiments of this application;
[0046] Figure 9 A flowchart illustrating a link state adjustment method provided in an embodiment of this application;
[0047] Figure 10 A schematic diagram of an OSI model and an Ethernet model provided for embodiments of this application;
[0048] Figure 11 A schematic diagram of a 64 / 66B code block provided for an embodiment of this application;
[0049] Figure 12 This is a schematic diagram of the structure of a first frame provided in an embodiment of this application;
[0050] Figure 13 A schematic diagram of a basic page provided for an embodiment of this application;
[0051] Figure 14 A schematic diagram of a next page provided for an embodiment of this application;
[0052] Figure 15 Another schematic diagram of the next page provided for an embodiment of this application;
[0053] Figure 16 A schematic diagram of a communication system provided in an embodiment of this application;
[0054] Figure 17 A schematic diagram of an AM structure provided in an embodiment of this application;
[0055] Figure 18 A schematic diagram illustrating an AM mapping to a PCS channel provided in an embodiment of this application;
[0056] Figure 19 This application provides a schematic diagram of the structure of an LLDP message according to an embodiment of the present application.
[0057] Figure 20 A schematic diagram of the TLV format of an LLDPDU provided in this application embodiment;
[0058] Figure 21 This is a schematic diagram of the structure of an extended frame with embedded segment information provided in an embodiment of this application;
[0059] Figure 22 A schematic diagram of an O-code sequence provided in an embodiment of this application;
[0060] Figure 23 A schematic diagram of a control code provided for an embodiment of this application;
[0061] Figure 24 A schematic diagram illustrating segment topology discovery as provided in an embodiment of this application;
[0062] Figure 25 A link fault signal state diagram provided in an embodiment of this application;
[0063] Figure 26 A schematic diagram illustrating an allocation identifier provided in an embodiment of this application;
[0064] Figure 27 A schematic diagram of an AN extended frame provided in an embodiment of this application;
[0065] Figure 28 A schematic diagram of another AN extended frame provided in an embodiment of this application;
[0066] Figure 29 A schematic diagram of an LT extended frame provided in an embodiment of this application;
[0067] Figure 30 A schematic diagram of a non-loopback mode and a loopback mode provided for embodiments of this application;
[0068] Figure 31 A schematic diagram illustrating the interaction between a first device and a second device provided in an embodiment of this application;
[0069] Figure 32 This is a schematic diagram illustrating a combination of in-band and out-of-band solutions provided in an embodiment of this application;
[0070] Figure 33 A schematic diagram of a device HostChip and optical module TWI interface topology provided in this application embodiment;
[0071] Figure 34 A schematic diagram of a lane-symmetric scene provided in an embodiment of this application;
[0072] Figure 35 A schematic diagram of an asymmetric lane scene provided in an embodiment of this application;
[0073] Figure 36 A schematic diagram illustrating the establishment of a message path in a lane-symmetric scenario provided in this application embodiment;
[0074] Figure 37 This is a schematic diagram illustrating the establishment of a message path in a lane asymmetric scenario, as provided in an embodiment of this application.
[0075] Figure 38 A schematic diagram of another lane asymmetric scenario provided in this application embodiment;
[0076] Figure 39 A schematic diagram of yet another lane asymmetric scenario provided in this application embodiment;
[0077] Figure 40 A schematic diagram illustrating the establishment of a message path on the host chip side, as provided in an embodiment of this application;
[0078] Figure 41 A schematic diagram illustrating the establishment of a message path on the intermediate device side, provided as an embodiment of this application;
[0079] Figure 42 A schematic diagram of a broadcast frame provided in an embodiment of this application;
[0080] Figure 43 A schematic diagram of another broadcast frame provided in an embodiment of this application;
[0081] Figure 44 A schematic diagram of another broadcast frame provided in an embodiment of this application;
[0082] Figure 45 A schematic diagram of yet another broadcast frame provided in an embodiment of this application;
[0083] Figure 46 A schematic diagram illustrating a broadcast communication method provided in an embodiment of this application;
[0084] Figure 47 A schematic diagram illustrating another broadcast communication method provided in an embodiment of this application;
[0085] Figure 48 A schematic diagram illustrating another broadcast communication method provided in an embodiment of this application;
[0086] Figure 49 A schematic diagram illustrating yet another broadcast communication method provided in an embodiment of this application;
[0087] Figure 50 A flowchart illustrating a broadcast communication method provided in an embodiment of this application;
[0088] Figure 51 A flowchart illustrating another broadcast communication method provided in this application embodiment;
[0089] Figure 52 A schematic diagram illustrating yet another broadcast communication method provided in an embodiment of this application;
[0090] Figure 53 A flowchart illustrating another broadcast communication method provided in this application embodiment;
[0091] Figure 54 A flowchart illustrating yet another broadcast communication method provided in this application embodiment;
[0092] Figure 55 A schematic diagram illustrating yet another broadcast communication method provided in an embodiment of this application;
[0093] Figure 56 A flowchart illustrating yet another broadcast communication method provided in this application embodiment;
[0094] Figure 57 A flowchart illustrating yet another broadcast communication method provided in this application embodiment;
[0095] Figure 58 A schematic diagram illustrating the process of online management of an optoelectronic interface provided in this application embodiment;
[0096] Figure 59 A flowchart illustrating an online management method for an optoelectronic interface provided in this application embodiment;
[0097] Figure 60 A schematic diagram illustrating the dynamic allocation and management process of optoelectronic interface segment pointers provided in this application embodiment;
[0098] Figure 61 A schematic diagram of a link state adjustment device provided in an embodiment of this application;
[0099] Figure 62 A schematic diagram of another link state adjustment device provided in an embodiment of this application. Detailed Implementation
[0100] The terminology used in the implementation section of this application is for the purpose of explaining specific embodiments of this application only, and is not intended to limit this application.
[0101] In a communication system, links can be established between different devices to transmit information. Furthermore, after a link is established between devices, the AN (Anti-Link) or LT (Long-Link) process can be implemented in full-duplex mode. The AN and LT processes are negotiation processes for establishing a link for data transmission to determine the parameters used when communicating through the link (e.g., transmitting information) and ensure communication quality.
[0102] The LT process is a link initialization mechanism defined in the Physical Medium Dependent (PMD) layer. The LT process is used to determine link parameters between different devices, such as the link parameters associated with the transmitter (TX) connected in the device. Through the link training process, the link parameters associated with the TX are trained, thereby optimizing the TX's transmission performance and consequently affecting the link's performance.
[0103] For example, link parameters include, but are not limited to, equalizer coefficients, optical modulation amplitude (OMA), chirp / dispersion (CD), differential swing, drive current or digital pre-distortion (DPD), laser parameters, modulator parameters, bandwidth, voltage difference (Vπ, Vpi) corresponding to the π phase shift of the modulator, emission power, wavelength frequency offset, bias offset, skew, etc. Taking the LT process between device A and device B as an example, for the transmission direction from device B to device A, the LT process includes at least one link parameter setting process. In one link parameter setting process, the receiver (RX) of device A detects the signal status of the link (from the TX of device B to the RX of device A), and the TX of device A sends the link parameters associated with the TX of device B to the RX of device B, so that the TX of device B sets the link parameters associated with the TX of device B. After the setup process of a certain link procedure is completed, if the RX signal of device A detects that the link signal status meets the requirements, then the link parameters set in this link parameter setup process are the link parameters used by device B's TX when device A communicates with device B through the link, and the LT procedure ends. The principle is the same for the transmission direction from device A to device B, and will not be elaborated further.
[0104] For example, the aforementioned signal states include, but are not limited to, signal-to-noise ratio (SNR), bit error rate (BER), or eye pattern. For instance, if the signal state is BER, then meeting the requirement could mean that the detected BER value is less than the BER threshold. However, this application does not limit the use of BER as the criterion for determining whether the signal state meets the requirement.
[0105] The AN (Answer-Ask) process is used to determine the transmission parameters between different devices. For example, transmission parameters include, but are not limited to, rate parameters and forward error correction (FEC) capability parameters. Rate parameters are, for example, 10G BASE-KR, where 10G BASE represents 10 gigabit per second (Gbps) and KR represents the backplane. FEC capability parameters are, for example, 25G RS-FEC, where 25G represents 25Gbps and RS represents reed-solomon. Taking the AN process between device A and device B as an example, for the transmission direction from device A to device B, device A sends the transmission parameters it supports to device B. Device B receives the transmission parameters supported by device A and, combined with the transmission parameters supported by device B, determines the transmission parameters commonly supported by both device B and device A. These are then used as the transmission parameters for communication between device A and device B via the link. The principle is the same for the transmission direction from device B to device A, and will not be elaborated further.
[0106] This application provides a communication system comprising at least two devices, wherein different devices among the at least two devices are capable of implementing at least one of the above-described AN process or LT process. In exemplary embodiments, the devices in the communication system provided by this application include, but are not limited to, the following.
[0107] The first type of device is the host chip, also known as the host chip within a device, which is connected to other devices via telecommunications channels. For example, host chips include, but are not limited to, switch chips or physical layer (PHY) chips, such as application-specific integrated circuit (ASIC) chips.
[0108] The second type of device is the electrical interconnect device, which connects to other devices via telecommunication channels. Exemplarily, electrical interconnect devices include direct attach cables (DACs), which include, but are not limited to, active electrical cables (AEC) modules, active copper cables (ACC) modules, or passive direct attach cable DAC modules. Optionally, the electrical interconnect device can be linear (L). For example, the AEC module is an LAEC module, and the ACC module is a LAC module.
[0109] The third type of device is the optoelectronic interconnect device, which is used for optoelectronic conversion and is connected to other devices through optical channels, or to other devices through optical channels and telecommunication channels.
[0110] In some implementations, the optoelectronic interconnect device includes an optical module. Exemplarily, the types of optical modules include, but are not limited to, the following.
[0111] (1) Normal optical module.
[0112] (2) Optical digital signal processor (oDSP) module, also known as oDSP optical module.
[0113] (3) LPO module, also known as LPO optical module.
[0114] (4) Co-packaged optics (CPO) modules, also known as CPO optical modules. CPO modules are obtained by assembling optical engines (OE) and host chips together, for example, by assembling them together on a substrate to form a co-package of OE and host chips.
[0115] (5) Near package optics (NPO) modules, also known as NPO optical modules. By assembling the OE and the host chip on the same printed circuit board (PCB) respectively, a near package of OE and host chip can be formed, thus obtaining an NPO module.
[0116] (6) Half retimed optics (HRO) module, also known as HRO optical module. HRO module refers to retimed transmitter linear receiver.
[0117] (7) Linear receive optics (LRO) module, also known as LRO optical module.
[0118] (8) Transmitter retimed optics (TRO) module, also known as TRO optical module.
[0119] In other embodiments, the optoelectronic interconnect device includes active optical cables (AOCs), which are obtained by integrating optical modules and optical fibers. Optionally, the optoelectronic interconnect device in this embodiment can be linear (L). For example, the AOC is an LAOC.
[0120] Below, in conjunction with Figures 1 to 4 The structure of several optoelectronic interconnect devices is illustrated with examples.
[0121] The first structure is an oDSP optical module. The oDSP optical module includes an internal microcontroller unit (MCU) and an oDSP. The oDSP optical module can participate in the methods provided in the embodiments of this application through the MCU and the oDSP.
[0122] The second structure is the HRO optical module.
[0123] In some implementations, see Figure 1 The HRO optical module supports the inclusion of a lite digital signal processor (DSP), analog signal processor (ASP), or clock and data recovery (CDR) in any transmission direction. Therefore, the HRO optical module includes, but is not limited to: lite DSP / ASP / CDR, MCU, continuous time linear equalizer (CTLE), driver (DRV), trans-impedance amplifier (TIA), laser, modulator, photodetector (PD), multiplexer (MUX), and demultiplexer (DEMUX). The HRO optical module can participate in the methods provided in the embodiments of this application through lite DSP / ASP / CDR.
[0124] In other implementations, see Figure 2The HRO optical module supports a CDR equipped with a differential Manchester encoding (DME) transceiver and a MUX / DEMUX in any transmission direction. Therefore, the HRO optical module includes, but is not limited to: a CDR (equipped with a DME transceiver and MUX / DEMUX), an MCU, a CTLE, a DRV, a TIA, a laser, a modulator, a PD, a MUX, and a DEMUX. The HRO optical module can participate in the methods provided in the embodiments of this application through the CDR (equipped with a DME transceiver and MUX / DEMUX).
[0125] The third structure is the standard LPO optical module, such as... Figure 3 As shown, the standard LPO optical module includes, but is not limited to: MCU, CTLE, DRV, TIA, laser, modulator, PD, MUX, and DEMUX. This standard LPO optical module connects to the control system via the common management interface specification (CMIS) and participates in the methods provided in the embodiments of this application according to the control system's control functions.
[0126] The CMIS interface is an out-of-band interface, meaning it is not part of the network interface. Besides the CMIS interface, embodiments of this application may also employ peripheral component interconnect express (PCIe), management data input / output (MDIO), or inter-integrated circuit (IIC). 2 C) and other interfaces are not limited here.
[0127] For example, the control system includes an off-chip processor (e.g., a central processing unit (CPU)) or a main control board, implemented in software, which is more flexible. Alternatively, the control system includes a host chip, such as an MCU integrated in the host chip; this application embodiment does not limit this.
[0128] The fourth structure improves the LPO optical module, such as... Figure 4 As shown, the improved LPO optical module in Figure 3Based on the standard architecture shown, firmware, such as a digital / analog signal processing chip, is added as a co-processor for the MCU, forming an MCU with the digital / analog signal processing chip. This allows the MCU with the digital / analog signal processing chip to participate in the methods provided in the embodiments of this application, reducing reliance on software. For example, the digital / analog signal processing chip is... Figure 4 The lite CDR & DME transceiver shown.
[0129] For example, the digital / analog signal processing chip can be integrated into the MCU, or it can be located in at least one of the CTLE or laser and called by the MCU. The embodiments of this application do not limit the deployment location of the digital / analog signal processing chip in the LPO optical module.
[0130] Furthermore, the fourth structure is illustrated using an improved LPO optical module as an example. For CPO or NPO modules, the CPO or NPO module may also include an MCU equipped with a digital / analog signal processing chip, and participate in the method provided in the embodiments of this application through this MCU equipped with a digital / analog signal processing chip, which will not be elaborated further here.
[0131] The fourth type of device, other than the three types mentioned above, is also called a repeater. For example, the fourth type of device may be a retimer, repeater, redriver, or gearbox, etc. This application embodiment does not limit this; the fourth type of device can be flexibly set according to actual needs.
[0132] In a communication system, the devices described above can be located in different devices, such as switches or network interface cards (NICs). For ease of understanding, the following exemplary communication systems are illustrated using the example of a communication system including a first device and a second device.
[0133] The first type of communication system, such as Figure 5 As shown, the first device includes a host chip 1 and an LPO optical module 1 connected via a telecommunication channel, and the second device includes a host chip 2 and an LPO optical module 2 connected via a telecommunication channel. The LPO optical module 1 and LPO optical module 2 are connected via an optical channel. In this embodiment of the application, Figure 5 The situation shown is only an example, and there may be other situations. For example, at least one of the LPO optical modules 1 or LPO optical module 2 can be replaced with the HRO optical module mentioned above.
[0134] The second type of communication system, such as Figure 6 As shown, the first device includes a host chip 1 and an oDSP optical module connected via a telecommunications channel, and the second device includes a host chip 2 and an LPO optical module connected via a telecommunications channel. The oDSP optical module and the LPO optical module are connected via an optical channel, which is also referred to as mixed insertion of oDSP optical modules and LPO optical modules.
[0135] The oDSP optical module includes an oDSP. The first side of the oDSP is used to connect to host chip 1 and communicate with host chip 1 via a telecommunications channel; therefore, this first side can also be called the host side. For example, the serializer / deserializer (serdes) located on the first side of the oDSP communicates with the serdes located on host chip 1. Figure 6 The oDSP (not shown) communicates via a telecommunications channel. The second side of the oDSP is used to connect the transmitter optical sub-assembly (TOSA) and / or the receiver optical sub-assembly (ROSA). This second side communicates with the TOSA / ROSA via a telecommunications channel and can therefore be called the media side. This application does not limit the devices included in the hostside and mediaside. In one implementation, the TOSA / ROSA is located within the oDSP optical module. The TOSA / ROSA communicates with the LPO optical module of the second device via an optical channel. Compared to the oDSP optical module, the LPO optical module eliminates the oDSP. Because the LPO optical module eliminates the oDSP, the host chip 2 is required to perform optoelectronic channel compensation.
[0136] The third type of communication system, such as Figure 7 As shown, the first device includes a host chip 1, a retimer, and an LPO optical module connected sequentially via telecommunication channels. The second device includes a CPO module, which comprises an OE and a host chip 2 connected via telecommunication channels. The LPO optical module and the CPO module are connected via an optical channel; this configuration is also known as mixed insertion of LPO and CPO modules. The telecommunication channel between the OE and the host chip 2 is shorter than the telecommunication channels between devices in the first device.
[0137] The fourth type of communication system, such as Figure 8As shown, the first device includes a host chip 1 and an oDSP optical module 1 connected via a telecommunication channel, and the second device includes a host chip 2 and an oDSP optical module 2 connected via a telecommunication channel. The oDSP optical module 2 is connected to the oDSP optical module 1 via an optical channel. The structures of the oDSP optical module 1 and the oDSP optical module 2 can be found in the description of the oDSP optical module in the second type of communication system above, and will not be repeated here.
[0138] The fifth type of communication system includes a first device comprising a host chip 1 and a second device comprising a host chip 2, wherein the host chip 2 and the host chip 1 are connected via a telecommunication channel.
[0139] Regardless of the communication system described above, segment-by-segment AN (Anti-Segment) or LT (Long-Terminal) procedures can be implemented between different devices. Considering the similarity between segmented AN and segmented LT procedures, the segmented LT procedure will be used as an example here. A segmented LT procedure refers to the sequential implementation of LT procedures between adjacent devices in the link, with each adjacent device in the link constituting a segment. For example, see... Figure 8 The link is located between host chip 1 and host chip 2. Host chip 1 first performs segmented LT process 1 with oDSP optical module 1, then oDSP optical module 1 performs segmented LT process 2 with oDSP optical module 2, and then oDSP optical module 2 performs segmented LT process 3 with host chip 2. This completes the segmented LT process between host chip 1 and host chip 2.
[0140] This application provides a link state adjustment method. Based on the execution of the AN (Answer-Alignment) or LT (Long-Terminal) process, this method avoids re-establishing the link. During the data transmission phase, it optimizes the working state of the link between devices by transmitting AN or LT information between devices. This allows for fine-tuning and optimization of the link without disrupting the original results negotiated during the link establishment phase or the AN or LT negotiation phase. This effectively improves the reliability and compatibility of optoelectronic interfaces in scenarios involving multiple segments and mixed insertion of multiple types of optical modules. For example, the method provided in this application can be applied to network scenarios supporting the Institute of Electrical and Electronics Engineers (IEEE) 802.3 standard's 400GBASE-CR / KR8, 800GBASE-CR / KR8, and 1.6T defined backplane and cable high-speed Ethernet interfaces. It can also be applied to, but is not limited to, network devices involving high-speed optoelectronic interconnect interfaces such as those from the Ultra Ethernet Consortium (UEC) / Multi-Source Agreements (MSA), and supports, but is not limited to, complex scenarios such as mixed insertion of LPO / LRO / traditional oDSP optical modules.
[0141] Furthermore, the method provided in this application does not limit the topology of the segment, the device / optical module type, or the number of segment levels. For example... Figure 9 As shown, the method can be applied to a first device in the topology, which is connected to a second device in the topology via a link. The method includes the following steps 901 and 902.
[0142] Step 901: During the data transmission phase, the first device acquires the first frame, which carries AN information or LT information.
[0143] The data transmission phase can refer to the phase after the AN or LT negotiation is completed and the link is established, during which data is transmitted. The first frame can be a control frame or a data frame; this application does not limit the type of the first frame. In the embodiments of this application, the first device and the first frame include, but are not limited to, the following situations.
[0144] In scenario one, the first device includes a PCS layer, and the first frame is an Ethernet frame in the PCS layer. The control code in the Ethernet frame carries AN information or LT information.
[0145] In this case, such as Figure 10The diagrams shown depict the OSI and Ethernet models. The left side represents the Open Systems Interconnection (OSI) model, also known as the OSI reference model. OSI defines a seven-layer framework for network interconnection: Physical (PHY), Data Link, Network, Transport, Session, Presentation, and Application. Each layer implements its own functions and protocols and facilitates interface communication with adjacent layers.
[0146] like Figure 10 As shown, the right side represents the Ethernet model defined by the IEEE 802.3 protocol standard. In the IEEE 802.3 protocol standard, the data link layer is divided into three sublayers from low to high (or from bottom to top): the MAC sublayer, the MAC control sublayer, and the logical link control (LLC) sublayer. The MAC sublayer is a separate sublayer that performs functions such as encapsulation (framing, address identification, error detection) and media access (collision detection and delay procedures). The MAC control sublayer is optional. The LLC sublayer ensures that data packets can be transmitted in different types of networks by adding a destination address service finder and a source address service accesser to the data packets.
[0147] See also Figure 10The reconciliation sublayer (RS) is used for instruction translation. The PCS, physical medium attachment (PMA), and physical medium dependent (PMD) layers represent the various sublayers implementing the physical layer protocol. In practical applications, the physical layer also includes sublayers such as AN and FEC. The specific operations of these physical sublayers are implemented by the physical layer (PHY) chip. Furthermore, the interface between RS and PCS includes the interface between the physical layer chip and the upper-layer protocol chip, including but not limited to medium-independent interfaces (MIIs), such as gigabit media-independent interface (GMII), reduced gigabit media-independent interface (IRGMII), and serial gigabit media-independent interface (SGMII). For example, RS is used for instruction translation, mapping GMII path data and related control signals to the MAC interface. Figure 10 The examples used are only 100G Ethernet Media Independent Interface (CGMII), 200GMII, 400GMII, and 800GMII, but are not limited to these. In addition, there is a Physical Media Dependent Interface (MDI) between the physical layer chip and the physical medium.
[0148] In this scenario, the first device includes a PCS layer, and the first frame is an Ethernet frame at the PCS layer. The PCS layer is used for 64-bit / 66-bit encoding. Figure 11 Taking the 64 / 66B code block diagram as an example, the encoded 66-bit code block is divided into two categories: data code block and control code block. These two types of code blocks are distinguished by the first two bits, which are called the synchronization (sync) field. For example, if the 0th bit is 0 and the 1st bit is 1, the 66-bit code block is a data code block. Similarly, if the 0th bit is 1 and the 1st bit is 0, the 66-bit code block is a control code block. In 64B / 66B encoding, the two bits used as the synchronization field are called overhead, and the remaining 64 bits are called information, also known as payload.
[0149] like Figure 11As shown, the synchronization field (also called the synchronization header) has two values: 01 and 10. 01 indicates that the following 64 bits are all data, while 10 indicates that the following 64 bits are a mixture of data and control information. When the 66-bit code block is a control code block, bits 9 through 2 are used as the block type field. Different values in this field indicate different types of control code blocks. The following 56 bits are control information, data, or a mixture of both. Here, D represents data encoding, with each data code being 8 bits, for example... Figure 11 In the code, D0-D7; C represents the control code, each control code is 7 bits, for example... Figure 11 In the 8-byte sequence, C0-C7; S indicates the start of the packet, and S will only appear in the 0th and 4th bytes. For example... Figure 11 In the byte order S0;T indicates the end of the packet. T can appear in any byte, for example... Figure 11 T0-T7 in the diagram. Z represents the control code, each control code is 7 bits, for example... Figure 11 Z4-Z7 in the middle.
[0150] In this embodiment, the first frame can use 64B / 66B code blocks, compatible with the protocol's synchronization field, block type field, and O code definition. Extended information can be embedded in D1-3 and D5-7. Therefore, this application can carry at least one of AN information or LT information through D1-D3, D5-D7, etc. Optionally, this application can also carry at least one of AN information or LT information through O codes. Figure 11 As shown, through Figure 11 The O0 code carries at least one of the AN (Answer) or LT (Launch) information. This application does not limit the method of using D1-D3, D5-D7, etc., to carry AN or LT information, or using the O code to carry AN or LT information. Since D1-D3 and D5-D7 are data code blocks that can be used to carry service data, while the O code is a control code block, using the O code to carry at least one of the AN or LT information will not affect the service data compared to using data code blocks.
[0151] In one possible implementation, such as Figure 12 The first frame shown is a structural diagram. The first frame provided in this application embodiment may include, but is not limited to, the following fields.
[0152] Frame header / type: The marking information of the first frame, used to distinguish and identify the first frame. Different frame markers are used to realize different types of frames (such as broadcast commands, mode switching, etc.).
[0153] Frame length: The length of the first frame.
[0154] Segment pointer select field: Used to carry marker information in the first frame to specify a specific control object (such as device, physical channel, parameter space, etc.), and supports multi-level pointers and broadcast pointers.
[0155] Segment pointer echo field: The specified object responds after parsing the first frame and completing the processing flow. The request initiator recognizes the response and completes the handshake.
[0156] Segment request control field: Used to control the parameters or modes of specified objects in the optoelectronic link, such as feed-forward equalizer (FFE), nonlinear predistortion, frequency offset, optical power, FEC coding, swing, etc., to improve the performance margin and energy efficiency of the high-speed link, or to complete specified design for X (DFX) functions (such as loopback).
[0157] Segment response status field: Used to specify information such as object control status response and link diagnostics, such as FEC BurstErr / SNR / EQ parameters, etc.
[0158] In one possible implementation, the first frame also supports nextpage expansion. For example... Figure 12 As shown, the base page and the first next page can be expanded according to time. st nextpage), the second next page (2) st nextpage) to the Nth next page (N st Regarding the next page, this application does not limit the number of next pages, that is, it does not limit the size of N. The structure of the base page can be found in [reference needed]. Figure 13 D0 to D47 contain 48 valid data entries, each 2 bits in length. D0 to D4 are selector fields, and D15 is the NP field, which indicates whether a next page exists after the base page. Optionally, the next page can be either a message type or an unformatted type. The structure of a message type next page can be found in [reference needed]. Figure 14The structure of the next page of the unformatted type can be found in [reference]. Figure 15 .
[0159] Optionally, the method provided in this application embodiment also supports inserting a remote fault (RF) (>3 frames) to force a MAC layer link down in order to avoid service disruption during the interface initialization topology negotiation process.
[0160] Furthermore, in the method provided in this application embodiment, each device in the optoelectronic link supports independent filling / parsing of the first frame. The filling method supports out-of-band methods such as the common management interface specification (CMIS) and in-band parsing and updating of the first frame by the device. For details, please refer to the following description, which will not be repeated here.
[0161] In summary, this scenario allows the first frame to carry at least one of AN or LT information, enables online self-negotiation and link training, supports specifying control objects via pointers without affecting normal link establishment at the interface, and achieves lossless service perception through the interpolation cycle of control codes such as O codes.
[0162] Scenario 2: The first device includes an FEC layer, and the first frame is an Ethernet frame at the FEC layer. The control code of the Ethernet frame carries AN or LT information. For example, the control code is an AM codeword.
[0163] In this case, such as Figure 16In the communication system shown, the MAC layer generates a cyclic redundancy check (CRC) code, such as CRC32. After adding the CRC32 checksum, the data enters the PCS layer through the x GMII interface of the RS layer. At the PCS layer, encoding and scrambling are performed, followed by FEC encoding. The encoded data then enters the PMA layer. The PMA layer converts the parallel data from the PCS layer into a serial data stream through multiplexing (MUX) and transmits it to the physical medium through the PMD layer. The PMD layer converts the serial data stream from the PMA layer into a signal suitable for transmission over a specific physical medium (such as optical fiber, twisted pair, etc.). At the transmitting end, the PMD layer converts the electrical signal into an optical signal or other suitable transmission format through modulation, driver, and transmitter optical subassembly (TOSA). At the receiving end, the PMD layer performs the reverse process. It converts the received signal back into an electrical signal using a receiver optical subassembly (ROSA), trans-impedance amplifier (TIA), and analog-to-digital converter (ADC) before sending it to the PMA layer. The PMA layer demultiplexes the serial data stream received from the PMD layer back into parallel data, decodes it through the FEC layer, and then transmits it to the PCS layer. The PCS layer decodes and descrambles the data after the FEC layer, then transmits it to the MAC layer through the RS layer, where a CRC32 check is performed.
[0164] Based on the above architecture, when the first device includes an FEC layer, the first frame is an Ethernet frame at the FEC layer. The Ethernet frame includes an AM codeword, through which AN information or LT information can be carried.
[0165] like Figure 17The diagram shows the structure of AM. AM includes a common marker (CM) field, a unique marker (UM) field, and a unique pad (UP) field. The CM field includes CM0 to CM5, which are the common identifiers for all virtual channels; that is, the CM field values are the same for all virtual channels. The UM field includes UM1 to UM5, where a set of values from UM0 to UM5 uniquely identifies a virtual channel. The UP field includes UP0 to UP2, where the values from UP0 to UP2 are padding data set based on experience or actual needs. The bit positions of CM0 to CM2, UP0, CM3 to CM5, UP1, UM0 to UM2, UP2, and UM3 to UM5 can be seen as follows: Figure 17 As shown. Furthermore, CM3 to CM5 are the bit reversals of CM0 to CM2, and UM3 to UM5 are the bit reversals of UM0 to UM2.
[0166] Figure 18 This is a schematic diagram of an AM mapping to a PCS channel provided in an embodiment of this application. Figure 18 In this code, the AM corresponding to the i-th PCS channel is represented by AM_i, where i ranges from 0 to 8 in 200G Ethernet. The symbols included in AM_i are derived from FEC codeword A and FEC codeword B, respectively. Each symbol consists of 10 bits. For details on how FEC codeword A and FEC codeword B are obtained and mapped, please refer to the relevant content on FEC encoding and PCS channel mapping in the IEEE 802.3 standard. These details will not be elaborated here. Figure 18 For other details, please refer to the relevant content in the IEEE 802.3 standard; they will not be repeated here. Furthermore, Figure 18 This application uses 200G Ethernet as an example for illustration only. It is also applicable to scenarios that include AM codewords, such as 400G and 800G Ethernet. The embodiments of this application are not limited to this.
[0167] In this embodiment, the first frame uses AM codewords to carry AN or LT information, compatible with protocols CM0-5 and UM0-5. Extended information can be embedded in UP0-2 or padded with pseudo-random binary sequence (PRBS) bit fields. In this second scenario, the structure of the first frame can be referred to the relevant description in scenario one, and will not be repeated here. The AM codewords in this embodiment can be used independently, or multiple AM codes can be used to extend the first frame and concatenate it into a multi-frame structure. The first frame supports NextPage extension, for example, see the relevant explanation of NextPage in scenario one.
[0168] In addition, in scenario two, each device in the optoelectronic link supports independent filling / parsing of the first frame at the channel (Lane) granularity. The mapping relationship between the virtual lane and the physical lane of the device can be determined during link establishment and stored in each device of the link, thereby improving the communication efficiency of the first frame. The filling method supports out-of-band methods such as CMIS and in-band parsing and updating of control frames by the device.
[0169] In this second scenario, the first frame supports embedding AN or LT frames (e.g., multiple AM control frames combined into a multiframe), supports specifying the control object through pointers, and enables independent concurrent online self-negotiation and link training at the lane granularity without affecting normal link establishment of the interface. AM codewords can be inserted according to the protocol cycle to achieve lossless service perception.
[0170] Scenario 3: The first device includes a MAC layer and a PCS layer. The first device generates Ethernet packets at the MAC layer. The Ethernet packets carry AN information or LT information. The first frame is the Ethernet frame obtained by the Ethernet packets entering the PCS layer.
[0171] For scenario three, you can continue to refer to this. Figure 16 In the case where the first device includes a MAC layer and a PCS layer, the first device can generate Ethernet packets at the MAC layer. These Ethernet packets carry AN information or LT information. Then, the Ethernet packet is transmitted to the PCS layer, and the first frame is the Ethernet frame obtained after the Ethernet packet enters the PCS layer. For example, the Ethernet packet may be an LLDP packet or a PTP packet.
[0172] Taking Ethernet packets as data link layer LLDP packets as an example, such as Figure 19 The structure of an LLDP message, shown below, includes, from top to bottom, the destination address, source address, length / type, link layer discovery protocol data unit (LLDPDU), PAD, and frame check sequence. The length of each field is as follows: Figure 19 As shown. The type length value (TLV) format of LLDPDU is described in [reference needed]. Figure 20 It is compatible with the TLV format in LLDPDU, including TLV header, TLV organization unique identifiers (OUI), and subtype definition. AN information or LT information can be embedded in the bit fields of the TLV information string.
[0173] In this third scenario, the structure of the first frame can be referenced from the description in the first scenario, and will not be repeated here. The LLDP message described above is only an example; it can also be transmitted via Ethernet messages at the data link layer (e.g., PTP message, also known as 1588 message), network layer, etc. Compared to the implementation methods of carrying AN or LT information in O and AM codewords, this third scenario does not affect the current PCS layer design and has high versatility.
[0174] Furthermore, the first frame supports NextPage expansion, as described in Case 1. In Case 3, the HostChips on both sides of the optoelectronic link support independent filling / parsing of the first frame because they have a MAC layer. For repeater devices such as optical modules, which lack a MAC layer, the information of optical modules and repeater devices is handled by the Hostchip in out-of-band methods such as CMIS.
[0175] In this third scenario, the first frame supports embedding AN or LT frames and allows the control object to be specified via a pointer, thereby enabling online self-negotiation and link training without affecting normal link establishment of the interface. Service-aware lossless operation can be achieved through the insertion cycle of Ethernet packets.
[0176] In either case, the first frame can be used for online optoelectronic interface device management, enabling online detection and control of the entire optoelectronic link device information and parameters through pointers, thereby improving the operation and maintenance efficiency of high-speed optoelectronic interfaces.
[0177] Step 902: The first device sends a first frame to the second device. The first frame is used by the second device to optimize the working state of the link based on AN information or LT information.
[0178] In this embodiment, AN information or LT information can be used by a second device to optimize link performance. The AN information or LT information includes, but is not limited to, at least one of latency, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
[0179] Furthermore, embodiments of this application also support state switching at the channel level. For example, AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the energy-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the energy-saving state.
[0180] In one possible implementation, the first frame in this embodiment is used to periodically announce the status information of the link. This embodiment does not limit the length of the announcement period; it can be set based on the application scenario or flexibly adjusted. Optionally, the first frame in this embodiment can also trigger the announcement of the link's status information based on an event. The event that triggers the announcement of the link's status information could be that the device detects that the AN information or LT information does not meet the requirements. For example, if the AN information is a delay, then the AN information not meeting the requirements means that the delay exceeds a delay threshold.
[0181] Since in this embodiment, the first device sends a first frame to the second device so that the second device can optimize the link based on the AN or LT information in the first frame, the first device needs to determine which second device in the topology to send the first frame to before sending it. This embodiment does not limit the method by which the first device determines the second device. In one possible implementation, the first device performs a topology negotiation process to determine the topology information before link state adjustment, thereby determining the second device. Taking the use of a second frame to implement the topology negotiation process as an example, this second frame can be an AN extended frame with embedded segment information.
[0182] For example, taking the segment information carried by the O code of the PCS layer as an example, this application implements an embedded segment information frame structure based on the PCS codeword format of the compatible protocol. The extended frame format can refer to the definition of AN NP Message as an example, or NP Unformatted can be used, or a portion of the AN frame can be truncated to form the extended frame, supporting NP-based extension. The extended frame formed by truncating a portion of the AN frame does not necessarily have to be a complete 48-bit AN frame; it only needs to be able to negotiate the topology of the optoelectronic link.
[0183] For details regarding the O-code in the PCS layer, please refer to the above. Figure 11 The description will not be repeated here. The structure of the extended frame containing embedded segment information, i.e., the second frame, can be found in [reference needed]. Figure 21 This includes, but is not limited to, the following:
[0184] Frame type: The frame type marker is used to identify different types of segment information frames, such as broadcast frames, test frames, etc. For example, using the Message type NextPage, the frame type marker can be extended through the Message Code Field. This is just an example. The Type field is not limited to 4 bits (16 types) and can be extended to more Type types, compatible with the LF / RF definitions of the O code corresponding field defined by the MAC layer protocol. For example, descriptions of different channels and O codes can be found in [link to documentation]. Figure 22 .
[0185] Total number of cascaded components on the local equipment (TNCLOC): The local equipment refers to the device where the host chip that sends the allocation frame is located. The TNCLOC field indicates the number of device cascades in the link between the host chip (excluding) and the optical module (including) of the local equipment. Each active device in the link between the host chip and the optical module of the local equipment can be considered a first-level device. Active devices can include the aforementioned electrical interconnect devices, repeaters (also known as intermediate cascade devices), and optical modules.
[0186] Local optical type (in-band / out-of-band padding): Optical module type information (e.g., TX / RX Retimed, GearBox, etc.).
[0187] Local device information: Information such as the type of intermediate cascaded devices within the local device, including but not limited to retimers or gearboxes.
[0188] Local segment information: Segment link information within the local device (such as loss level). For example, information on each segment of the link between the host chip of the local device and the optical module of the local device, including but not limited to insertion loss level.
[0189] Segment diagnostic info: Link segment diagnostic information (such as Frame Lock / FEC Burst Error). Each device in the link topology supports independent parsing / filling of different domain segments (or different NP pages) of extended frames, or the same domain segment (or the same NP page) of extended frames.
[0190] Segment pointer: Link cascading pointer information, supporting multi-level pointers. Multi-level pointers can be used in combination. For example, a level 1 pointer can point to different devices in the link topology, a level 2 pointer can point to different lanes of the same device, and a level 3 pointer can point to different units (parameter spaces, etc.) of the same lane of the same device. Alternatively, level 2 and level 3 pointers can point to lanes of different devices (source lane and destination lane) respectively, so as to dynamically establish message path connections between lane (Y) of any specified device and host chip lane (X) in the link topology.
[0191] Sequence ordered set: This field segment preserves the IEEE protocol PCS layer O code definition, for example, see [link to relevant documentation]. Figure 23 The sequence ordered set in the various control codes shown.
[0192] Furthermore, device information field padding supports out-of-band methods such as CMIS and in-band device parsing and modification of SegmentInfo frames (e.g., Figure 21 The in-band segment pointer method shown is implemented, with each device operating independently.
[0193] Of course, the AN extended frame structure described above is merely an example and is not intended to limit the frame structure of the second frame. For example, when the second frame is an AN frame, the extended subframes included in the AN frame can also be DME fields, which is equivalent to embedding the DME in the LT frame into the AN frame to obtain an improved AN frame. Optionally, the second frame can also be implemented using LT extended frames, and this application embodiment does not limit this. When the second frame is an LT extended frame, the extended subframes included in the LT extended frame can also be next pages. For example, embedding the next page in the LT frame into the LT frame to obtain an improved LT frame. Or, for example, using at least one standard LT frame A as the next page of a standard LT frame B, then at least one standard LT frame A is an extended subframe, resulting in an LT extended frame.
[0194] Based on the frame structure of the second frame described above, the second frame can specify the second device in at least two of the following ways.
[0195] In the first specification method, the second frame includes an extended subframe, which is used to specify the second device.
[0196] The link between the first device and the second device includes multiple devices, each corresponding to an extended subframe. Therefore, the second device can be specified based on the extended subframe. For example, the first specification method includes specification method one and specification method two as follows.
[0197] In the first specification method, the second frame includes multiple extended subframes, each corresponding to a specific device. For example, each device might correspond to a separate next page. If the second frame needs to specify a particular second device, the specified information is carried in the extended subframe corresponding to that device. The device corresponding to the extended subframe carrying the specified information is the second device specified in the first frame.
[0198] For example, see Figure 8The first device is host chip 1, and the second device is host chip 2. The second frame includes extended subframes 0-3. Extended subframe 0 corresponds to host chip 1, extended subframe 1 corresponds to oDSP optical module 1, extended subframe 2 corresponds to oDSP optical module 2, and extended subframe 3 corresponds to host chip 2. When extended subframe 3 in the second frame carries specified information, since extended subframe 3 corresponds to host chip 2, the second device specified in the second frame is host chip 2.
[0199] Furthermore, each of the multiple devices can be configured individually, enabling each device to know the order of its corresponding extended subframe among the multiple extended subframes. Since the second device is one of multiple devices, after receiving the second frame, the second device can determine its corresponding extended subframe from the multiple extended subframes based on the order it knows. If the extended subframe corresponding to the second device carries specified information, the second device can determine that it is the second device specified in the second frame, facilitating the implementation of the AN process or LT process between the first and second devices.
[0200] In the second specification method, the second frame includes at least one extended subframe, which contains multiple extended fields (also called extended domain segments). These extended fields correspond one-to-one with multiple devices. For example, each device might correspond to an extended field in the nextpage domain. Alternatively, each device might correspond to an extended field in the PRBS domain. To specify a second device in the second frame, the specified information is carried in the extended field corresponding to that device. The device corresponding to the extended field carrying the specified information is the second device specified by the second frame. In other words, in specification method two, the extended subframe includes extended fields, which are used to specify the second device.
[0201] For example, see Figure 8 The first device is host chip 1, and the second device is host chip 2. The extended subframe in the second frame includes extended fields 0-3. Extended field 0 corresponds to host chip 1, extended field 1 corresponds to oDSP optical module 1, extended field 2 corresponds to oDSP optical module 2, and extended field 3 corresponds to host chip 2. When extended field 3 in the second frame carries specified information, since extended field 3 corresponds to host chip 2, the second device specified in the second frame is host chip 2.
[0202] Furthermore, each of the multiple devices can be configured individually so that each device can know the position of its corresponding extended field in the extended subframe. For example, each device can know that its corresponding extended field is the Y to Z fields in the Xth extended subframe. Since the second device is one of multiple devices, after receiving the second frame, the second device can determine its corresponding extended field from the extended subframe based on the position it knows. If the extended field of the second device carries the specified information, the second device can determine that it is the second device specified in the second frame, which facilitates the implementation of the AN process or LT process between the first device and the second device.
[0203] The first specification method mentioned above mentions that the extended subframe carries specified information, and the second specification method mentioned that the extended field carries specified information. For example, the specified information includes, but is not limited to, the following two types.
[0204] The first type of specification information is either AN parameters or LT parameters. That is, the extended subframe is also used to carry AN parameters used in the AN process or LT parameters used in the LT process. When the extended subframe carries the first type of specification information, the second frame can not only specify the second device but also enable the second device to perform the AN or LT process according to the first type of specification information (combined command and control; specifying the second device and performing the AN / LT process are both completed through the second frame). In one example, the AN parameters include optical negotiation parameters and electrical negotiation parameters, and the AN process includes the AN process for the optical channel based on the optical negotiation parameters and the AN process for the telecommunication channel based on the electrical negotiation parameters. Examples of optical channels and telecommunication channels can be found in [reference needed]. Figures 4 to 8 Since the second frame includes an extended subframe, in this case, the second frame can at least be used for the first device and the second device to implement the AN process.
[0205] The AN and LT parameters were illustrated above and will not be repeated here. For example, optical negotiation parameters include, but are not limited to, the type of optical module, the capabilities supported by the optical module's interface, and the transmission distance supported by the optical module's interface. The capabilities supported by the optical module's interface are, for example, rate parameters, such as those related to short-reach (SR, 100 meters), data center reach (DR, 500 meters), long-reach or fiber reach (FR, 2 kilometers), long-reach (LR, 10 kilometers), or extended reach (ER, 40 kilometers). Transmission distances are, for example, the aforementioned SR, DR, FR, LR, or ER. Optionally, electrical negotiation parameters include, but are not limited to, transmission parameters such as rate parameters and FEC capability parameters, where the rate parameter is, for example, a rate parameter related to backplane reach (KR, less than 1 meter) or cable reach (CR, less than 10 meters). It should be noted that even for optical modules of the same type, the optical negotiation parameters will differ if the manufacturers are different. Therefore, in one possible implementation of this application, the optical negotiation parameters also include the factory settings information of the optical module. The factory settings information includes, but is not limited to, read-only factory settings, such as the optical module's capability information, the adjustable parameters supported by the optical module, and the adjustment range of the parameters. Optionally, the factory settings information may also include manufacturer information, such as the manufacturer's identifier.
[0206] The second type of specified information is set based on experience or actual needs, and its content is not limited. Alternatively, each of the multiple devices can be configured separately, ensuring that each device is aware that the specified information represents the current device. Since the second device is one of multiple devices, it can determine that it is the second device specified by the second frame when the specified information is carried in the corresponding extended subframe (or extended field). For example, after sending the second frame to the second device, the first device can send other frames carrying AN or LT parameters, allowing the second device to perform the AN or LT procedure based on the other frames (command and control separation; the process of specifying the second device is completed through the second frame, while the implementation of the AN / LT procedure is completed through other frames).
[0207] In the second designation method, the second frame carries a first identifier, which indicates the second device.
[0208] In one example, for a link containing multiple devices, each device has its own first identifier, and each device is aware of its own first identifier. For example, the first identifier could be a device identifier, a device address, etc. In this example, the first device can be configured with the first identifiers of other devices in the link, so that the first device can determine the second device from among the other devices according to actual needs, thereby carrying the first identifier indicating the second device in the second frame.
[0209] As previously mentioned, the second frame includes an extended subframe. For example, the second frame carries a first identifier through the extended subframe. Accordingly, after receiving the second frame, if the first identifier carried in the second frame is the same as the first identifier possessed by the second device, it determines that it is the second device specified by the second frame, facilitating the first device and the second device to perform the AN procedure or LT procedure. For example, if the second frame also carries AN parameters used in the AN procedure or LT parameters used in the LT procedure, then the second frame can not only specify the second device but also enable the second device to perform the AN procedure or LT procedure based on the first type of specification information (combined command and control). For example, the second frame is used to request the first device and the second device to perform the AN procedure. The second frame also includes optical negotiation parameters and electrical negotiation parameters; the functions of the optical negotiation parameters and electrical negotiation parameters are explained in the first type of specification information above. Alternatively, if the second frame does not carry AN parameters or LT parameters, the first device can send other frames carrying AN parameters or LT parameters to the second device after sending the second frame, enabling the second device to perform the AN procedure or LT procedure based on the other frames (separated command and control).
[0210] In another example, the first identifier of each of the multiple devices is obtained through assignment. Alternatively, each device learns its own first identifier through an assignment process. This first identifier represents the position of the indicated device on the link; for example, the first identifier represents the distance (or relative positional relationship) between the indicated device and the host chip, which can be represented by the number of device levels between the device and the host chip. For example, the first identifier could be a pointer, etc. In exemplary embodiments, the first identifier is assigned in at least two ways, including the following two.
[0211] The first allocation method is the in-band (as-you-go) allocation method, in which multiple devices on the link independently determine the first identifier for allocation.
[0212] In the first allocation method, host chip 1 in the first device sends a first allocation frame to host chip 2 in the second device. The first allocation frame is used to allocate a first identifier in a first transmission direction to each device in the link. The first transmission direction is the transmission direction from host chip 1 to host chip 2, and the first identifier in the first transmission direction represents the distance between the indicated device and host chip 1. Optionally, the first identifier in the first transmission direction can be denoted as a local pointer. Host chip 2 in the second device sends a second allocation frame to host chip 1 in the first device. The second allocation frame is used to allocate a first identifier in a second transmission direction to each device in the link. The second transmission direction is the transmission direction from host chip 2 to host chip 1, and the first identifier in the second transmission direction represents the distance between the indicated device and host chip 2. Optionally, the first identifier in the second transmission direction can be denoted as a remote pointer, also known as a distant end.
[0213] For example, the first allocation frame and the second allocation frame (hereinafter referred to as the allocation frame) have the same frame structure. For instance, the allocation frame may include the next page (message type or unformatted type) of an AN frame. Or, for example, the allocation frame may include the PRBS field of an LT frame. Allocation frames are also called segment information frames. Taking the example of an allocation frame including a next page of message type, the structure of the allocation frame can also be referenced. Figure 21 The structure of the extended frame is shown.
[0214] Optionally, Figure 21 Each field shown is filled in by the host chip within the local device. Alternatively, Figure 21 At least some of the fields shown can be filled by other devices within the local device besides the host chip (in-band method, other devices fill in the fields themselves, without the host chip needing to fill them in). For example, the optical module within the local device can fill in the local optical type field, the intermediate cascade device within the local device can fill in the local device info field, the optical module or intermediate cascade device within the local device can fill in the local segment info field or segment diagnostic info field, and so on.
[0215] In one example, when the local device includes a standard LPO optical module, the standard LPO optical module does not fill in any fields. Fields related to the standard LPO optical module are filled in by other devices in the local device besides the standard LPO optical module (such as the host chip, intermediate cascade devices, etc.) in place of the standard LPO optical module (out-of-band method, through control interfaces such as CMIS). For example, the fields filled in by the host chip or intermediate cascade devices in place of the standard LPO optical module include, but are not limited to, at least one of the following: the local optical type field, the local segment info field corresponding to the segment where the standard LPO optical module is located, or the segment diagnostic info field corresponding to the segment where the standard LPO optical module is located. Figure 21 In this context, "info" refers to "information".
[0216] On the one hand, see Figure 24 After host chip 1 in the first device sends an extended frame containing embedded segment information (i.e., the second frame) to host chip 2 in the second device, host chip 2 can determine the topology information within the first device based on the frametype field, TNCLOC field (the number of device stages in the link from host chip 1 to optical module 1 within the first device is read by host chip 1 and filled into the TNCLOC field (or domain segment)), local optical type field (filled in in-band or out-of-band), local device information field (filled in in-band or out-of-band), local segment information field, and segment diagnostic information field (auxiliary information belonging to each segment within the first device) in the extended frame containing embedded segment information. Host chip 2 can also determine the topology information within the second device on its own. Thus, host chip 2 can determine the topology information of the entire link, where the entire link refers to the link between host chip 1 and host chip 2.
[0217] Furthermore, after host chip 2 in the second device sends an extended frame containing embedded segment information to host chip 1 in the first device, host chip 1 can determine the topology information within the second device based on the frame type field, TNCLOC field (obtained by host chip 2 reading the number of device stages in the link from host chip 2 to optical module 2 within the second device and filling in the TNCLOC field), local optical type field (filled in either in-band or out-of-band), local device information field (filled in either in-band or out-of-band), local segment information field, and segment diagnostic information field (auxiliary information belonging to each segment within the second device) in the extended frame containing embedded segment information. Since host chip 1 can also determine the topology information within the first device, it can also determine the topology information of the entire link. Therefore, both host chip 1 and host chip 2 can determine the topology information of the entire link, possessing a full-link perspective (or global perspective). This process can also be called segment topology discovery.
[0218] For devices that do not support the IEEE CL73-defined AN DME frames, link topology negotiation can be achieved through PCS layer O-code extended frames, as described above. To avoid MAC layer linkup during the topology negotiation phase, dual-side hostchip negotiation synchronization can be achieved through bottom-insertion RF. Figure 25 As shown, during the topology negotiation process, the Frame TYPE field of the Segment Info extended control frame is set to Local Fault, Remote Fault, or Link Interruption according to the protocol PCS layer definition. The insertion is canceled after the link topology negotiation is completed. Before the topology negotiation, consecutive Local Fault, Remote Fault, or Link Interruption frames (>3 frames) are inserted to make the Link Fault signal state machine enter the FAULT state. Then, Segment Info extended control frames (<127 frames) are inserted. A set of Segment Info extended control frame interactions is completed before the state machine jumps back to INIT. The above process can be repeated multiple times until the link topology negotiation process is completed. Figure 25 For related information, please refer to Part 6 of the Ethernet section of IEEE Standard 802.3-2018 (IEEE 802.3-2018, IEEE Standard for Ethernet SECTION SIX).
[0219] On the other hand, see continue. Figure 24After host chip 1 in the first device sends the first allocation frame to host chip 2 in the second device, since the first allocation frame needs to be transmitted to host chip 2 through intermediate devices (devices located between host chip 1 and host chip 2) in the entire link, each device in the entire link can determine the first identifier in the first transmission direction based on the segment pointer field in the first allocation frame. After host chip 2 in the second device sends an extended frame (hereinafter referred to as the second allocation frame) with embedded segment information to host chip 1 in the first device, since the second allocation frame needs to be transmitted to host chip 1 through each device in the entire link, each device in the entire link can determine the first identifier in the second transmission direction based on the segment pointer field in the second allocation frame.
[0220] In this embodiment, the segment pointer supports dynamically establishing message path connections from the host chip to any specified device on the link topology. The relay device / optical module supports setting two register fields (or tags) regarding the segment pointer: local and remote (or full-link cascade). For example, the segment pointer includes, but is not limited to, the following.
[0221] 1. Local segment pointer: Represents the positional offset (e.g., topological positional coordinates) of a device (including optical modules) from its local host chip in the entire link.
[0222] 2. Remote segment pointer: Represents the positional offset (e.g., topological positional coordinates) of a device (including optical modules) from a remote host chip in the entire link.
[0223] In this context, the remote segment pointer[x] of device x in the link equals the total number of cascaded links minus the local segment pointer[x]. Therefore, in the link topology of the same interface, only one device can have its remote segment pointer equal to its local segment pointer; for example, Figure 26The total number of cascaded connections in the entire link is 4. Optionally, only one device can have its remote segment pointer equal to its local segment pointer in the link topology of the same interface. In other words, at most one device is allowed to have its remote segment pointer equal to its local segment pointer in the link topology of the same interface.
[0224] for example, Figure 26 In the second device, the remote segment pointer of the optical module 2 is equal to the local segment pointer. Of course, in the embodiments of this application, any device can also satisfy the condition that the remote segment pointer is not equal to the local segment pointer, so that the first identifier is unique in the first transmission direction and the second transmission direction, or in other words, globally unique.
[0225] Furthermore, the local segment pointer and remote segment pointer have different meanings. They can be used by devices to distinguish whether the initiator of the extended frame request is the local hostchip or the remote hostchip. After completing the request processing flow, each device can independently fill in response information in different domain segments (or different NP pages) corresponding to the extended frame based on the different initiators' requests and the device's local or remote segment pointer marker (without affecting other domain segments or NP pages). The local and remote hostchips can identify different domain segments (or different NP pages) of the extended frame based on each device's local and remote segment pointers and obtain information such as the corresponding return status of each device. The values of the local segment pointer and remote segment pointer may be different or the same. For example, when their values are the same (only one device can exist in the same interface link topology), it indicates that the device's offset position from the local hostchip and remote hostchip is the same. In this case, after responding to different initiators' requests from the local and remote hostchips, the device uses different lanes (MsgBus) to return to the local hostchip and remote hostchip. The hostchip has two backfill messages, which can be located in the same domain segment (or the same NP page) of the extended frame. The local hostchip and remote hostchip can still correctly parse the backfill message of the device based on the pointer position. Of course, this situation can also be avoided during pointer enumeration by avoiding the case where the local segment pointer and remote segment pointer are the same. For example, an offset can be added to the local segment pointer and remote segment pointer to ensure that after the pointer enumeration process, the pointer values of the local segment pointer and remote segment pointer of each device in the entire link are not equal, or the pointer values of the local segment pointer and remote segment pointer of each device in the entire link are globally unique in an interface link topology. This enables more flexible MsgBus message communication between any devices.
[0226] 3. Local broadcast pointer and remote broadcast pointer: Supports device broadcast pointers. All devices share the same local broadcast pointer and remote broadcast pointer. However, the local and remote broadcast pointers can differ. This allows each device to identify whether the broadcast request initiator is the local or remote hostchip. After completing the broadcast request processing, each device can independently fill in independent information (without affecting other segments or NP pages) in different domains (or NP pages) corresponding to the extended frame based on the different initiators' requests and the device's local and remote segment pointers. The local and remote hostchips can identify different domains (or NP pages) of the extended frame based on each device's local and remote segment pointers, and obtain information such as the device's return status. For example, if some extended frame broadcast requests only require device processing, the hostchip does not need to identify the device status or distinguish the return status of each device. In this case, the local and remote broadcast pointers are different. The pointers can be equal. After each device completes the local broadcast request or remote broadcast request command processing flow, there is no need to backfill the status information or each device fills in a common status information in the same domain segment (or the same NP page) of the extended frame.
[0227] Based on the above description of the segment pointer field, this application does not limit the method of determining the first identifier in the first transmission direction based on the segmentpointer field in the first allocation frame, and the method of determining the first identifier in the second transmission direction based on the segmentpointer field in the second allocation frame, but includes at least the following two determination methods.
[0228] In the first determination method, each device in the entire link, except for host chip 1, reads the segment pointer field from the first allocation frame as its first identifier in the first transmission direction. All devices share the same first identifier in the first transmission direction. For example, all intermediate devices share the same first identifier in the first transmission direction. Optionally, for the first determination method, the first identifier in the first transmission direction can be recorded as the local broadcast pointer. In the second allocation frame, each device in the entire link, except for host chip 2, reads the segment pointer field as its first identifier in the second transmission direction. All devices share the same first identifier in the second transmission direction. For example, all intermediate devices share the same first identifier in the second transmission direction. Optionally, for the first determination method, the first identifier in the second transmission direction can be recorded as the remote broadcast pointer.
[0229] In the second determination method, each device in the entire link, except for host chip 1, determines its own first identifier in the first transmission direction based on the segment pointer field in the first allocation frame. After updating the segment pointer field in the first allocation frame, each device sends the first allocation frame to its downstream adjacent device in the first transmission direction until host chip 2 receives the first allocation frame. The first identifiers of each device in the first transmission direction are different. For example, the first identifiers of each intermediate device in the first transmission direction are different. Optionally, for the second determination method, the first identifier in the first transmission direction can be recorded as a local segment pointer. Each device in the entire link, except for host chip 2, determines its own first identifier in the second transmission direction based on the segment pointer field in the second allocation frame. After updating the segment pointer field in the second allocation frame, each device sends the second allocation frame to its downstream adjacent device in the second transmission direction until host chip 1 receives the second allocation frame. The first identifiers of each device in the second transmission direction are different. For example, the first identifiers of each intermediate device in the second transmission direction are different. Optionally, for the second determination method, the first identifier in the second transmission direction can be recorded as a remote segment pointer.
[0230] For example, determining a first identifier for oneself in the first transmission direction based on the segment pointer field in the first allocation frame includes: reading a first value of the segment pointer field in the first allocation frame and using the first value as the first identifier for oneself in the first transmission direction. Updating the segment pointer field in the first allocation frame includes: increasing (or decreasing) the first value by a specified value to obtain a second value, and writing the second value into the segment pointer field, such that the value of the segment pointer field in the first allocation frame is replaced by the second value. Additionally, determining a first identifier for oneself in the second transmission direction based on the segment pointer field in the second allocation frame includes: reading a third value of the segment pointer field in the second allocation frame and using the third value as the first identifier for oneself in the second transmission direction. Updating the segment pointer field in the first allocation frame includes: increasing (or decreasing) the third value by a specified value to obtain a fourth value, and writing the fourth value into the segment pointer field, such that the value of the segment pointer field in the second allocation frame is replaced by the fourth value.
[0231] For example, see Figure 26 The host chip 1 sends a first allocation frame (segment pointer field value is 1) to the repeater. The repeater determines the local segment pointer is 1, updates the segment pointer field value in the first allocation frame to 2, and then sends a first allocation frame (segment pointer field value is 2) to optical module 1. Optical module 1 determines the local segment pointer is 2, updates the segment pointer field value in the first allocation frame to 3, and then sends a first allocation frame (segment pointer field value is 3) to optical module 2. Optical module 2 determines the local segment pointer is 3, updates the segment pointer field value in the first allocation frame to 4, and then sends a first allocation frame (segment pointer field value is 4) to host chip 2. Optionally, host chip 2 can determine its own local segment pointer as 4 based on the end-link topology information or the received first allocation frame. Figure 26 (Not shown in the image), In addition, host chip 1 can determine its own local segment pointer to be 0 based on the topology information of the entire link. Figure 26(Not shown in the image). Alternatively, host chip 1 and host chip 2 may not have their own local segment pointers, in which case only the intermediate device between host chip 1 and host chip 2 has a local segment pointer in the entire link. Figure 26 In this context, C2C refers to chip to chip (C2C), and C2M refers to chip to module (C2M).
[0232] For example, see also Figure 26 The host chip 2 sends a second allocation frame (with the segment pointer field value set to 1) to the optical module 2. The optical module 2 determines that the remote segment pointer is 1, updates the segment pointer field value in the second allocation frame to 2, and then sends a second allocation frame (with the segment pointer field value set to 2) to the optical module 1. The optical module 1 determines that the remote segment pointer is 2, updates the segment pointer field value in the second allocation frame to 3, and then sends a second allocation frame (with the segment pointer field value set to 3) to the repeater. The repeater determines that the remote segment pointer is 3, updates the segment pointer field value in the second allocation frame to 4, and then sends a second allocation frame (with the segment pointer field value set to 4) to the host chip 1. Optionally, the host chip 1 can determine its own remote segment pointer as 4 based on the end-link topology information or the received second allocation frame. Figure 26 (Not shown in the image), Additionally, host chip 2 can determine its own remote segment pointer to be 0 based on the end-to-end topology information. Figure 26 (Not shown in the image). Alternatively, host chip 1 and host chip 2 may not have their own remote segmentpointer, in which case only the intermediate device between host chip 1 and host chip 2 has a remote segmentpointer in the entire link.
[0233] In an exemplary embodiment, the first allocation frame and the second allocation frame may contain different fields to facilitate the intermediate device in distinguishing different transmission directions. For example, the transmitted nonce field in the base page of the first allocation frame may have a fifth value, while the transmitted nonce field in the base page of the second allocation frame may have a sixth value, which differs from the fifth value. Accordingly, each intermediate device may be configured with both the fifth and sixth values. Upon receiving an allocation frame, if the allocation frame carries the fifth value, it indicates that the allocation frame is the first allocation frame, and the intermediate device determines the first identifier for the first transmission direction based on the first allocation frame. If the allocation frame carries the sixth value, it indicates that the allocation frame is the second allocation frame, and the intermediate device determines the first identifier for the second transmission direction based on the second allocation frame.
[0234] The first allocation method has been described above. For example, before the first device acquires the second frame, the method further includes: the first device sending an allocation frame to the second device, the allocation frame being used to allocate a first identifier to the second device. For example, the allocation frame carries reference information, and the first identifier is determined based on the reference information. The reference information may be, for example, the segment pointer field in the allocation frame.
[0235] When the first device is a host chip, it sends an allocation frame to the second device after generating it. When the first device is not a host chip, it sends an allocation frame to the second device after receiving it. In both the first and second determination methods described above (where the first and second devices are adjacent), the reference information in the allocation frame received by the second device is the same as the reference information in the allocation frame sent by the first device. Alternatively, in the second determination method (where the first and second devices are not adjacent), the reference information in the allocation frame received by the second device is the updated reference information from a third device between the first and second devices.
[0236] The second allocation method employs an out-of-band (non-in-band) allocation process, where the first identifier of multiple devices on the link is assigned by the host chip. For example, the out-of-band (non-in-band) allocation process can be used regardless of whether the link includes a standard LPO optical module. Similarly, the out-of-band (non-in-band) allocation process can be used regardless of whether the second device is a standard LPO optical module.
[0237] In an exemplary embodiment, the first identifier is determined based on the link topology information, whereby the link includes a link between the first device and the second device. For example, the link is the full link described above. The link topology information has already been explained in the above allocation method and will not be repeated here.
[0238] Optionally, the first identifier of a device in both the first and second transmission directions can be assigned by the host chip in the device containing the device based on the end-to-end topology information. For example, in the first device, the local segment pointer, remote segment pointer, local broadcast pointer, and remote broadcast pointer of each device are assigned by host chip 1 based on the end-to-end topology information. Similarly, in the second device, the local segment pointer, remote segment pointer, local broadcast pointer, and remote broadcast pointer of each device are assigned by host chip 2 based on the end-to-end topology information.
[0239] For example, the host chip can store the assigned first identifier in the cache of the host chip or CPU, or it can store the assigned first identifier in the register corresponding to the device indicated by the first identifier through an out-of-band interface (including but not limited to the CMIS interface), so that the device indicated by the first identifier can read and use the first identifier from the corresponding register, including but not limited to using the first identifier when implementing the AN process or LT process. In one example, the host chip stores the first identifier of a standard LPO optical module in the cache of the host chip or CPU, and stores the first identifier of a device different from the standard LPO optical module in the register corresponding to the device.
[0240] As explained above, regardless of the allocation method, the identifiers involved include: local segment pointer, remote segment pointer, local broadcast pointer, and remote broadcast pointer. The conditions for each identifier are explained below.
[0241] In one example, the local segment pointer and the remote segment pointer also satisfy the following exemplary rules (for illustrative purposes only).
[0242] (1) Since the local segment pointer and remote segment pointer have different meanings, the extended frame (including but not limited to the first frame or other frames mentioned above) used to implement the AN or LT process carries the local segment pointer or remote segment pointer. This can be used by the host chip or other device in the first device to select the device corresponding to the local segment pointer and establish a message bus (MsgBus). It can also be used by the host chip or other device in the second device to select the device corresponding to the remote segment pointer and establish a message bus. The local segment pointer and remote segment pointer can also be used by each device on the link to determine whether the initiator of the extended frame is the host chip or other device in the first device and the transmission direction of the extended frame is the first transmission direction, or whether the initiator of the extended frame is the host chip or other device in the second device and the transmission direction of the extended frame is the second transmission direction. Each device on the link can then perform forward transmission, backward transmission, or processing operations based on the initiator and transmission direction of the extended frame. Forward transmission, backward transmission, and processing operations will be explained in detail below.
[0243] (2) In the link topology, each device contains at least 2 pointers, that is, 2 first identifiers, namely 1 local segment pointer and 1 remote segment pointer.
[0244] (3) In the same interface link topology, the local segment pointers of different devices are different, and the remote segment pointers of different devices are different.
[0245] (4) The same rules can be used to generate local segment pointers and remote segment pointers within the same interface link topology.
[0246] For example, local segment pointer = function 1 (local topology info, remote topology info), remote segment pointer = function 2 (local topology info, remote topology info).
[0247] Here, `function` refers to the processing function, `local topology info` is the local topology information, and `remotetopology info` is the remote topology information. The processing function can refer to either sequentially numbered according to the device's offset from the host chip, or performing calculations based on these numbers. Optionally, the calculations include, but are not limited to, at least one of the following arithmetic or logical combinational operations: maximum value calculation (max), minimum value calculation (min), offset, or value assignment.
[0248] When the local segment pointer and remote segment pointer are globally unique, the local segment pointer and remote segment pointer can be determined sequentially (including but not limited to ascending or descending order) from the host chip's local segment pointer with the smaller value in the transmitted nonce field. For example, see... Figure 26The transmitted nonce field corresponding to host chip 1 in the first device has a value of 1, and the transmitted nonce field corresponding to host chip 2 in the second device has a value of 2, where value 2 is greater than value 1. Starting from the local segment pointer of host chip 1, the local segment pointer of the repeater is determined to be 1, the local segment pointer of optical module 1 to be 2, the local segment pointer of optical module 2 to be 3, the remote segment pointer of optical module 2 to be 4, the remote segment pointer of optical module 1 to be 5, and the remote segment pointer of the repeater to be 6. The protocol defines that the AN state machine can only normally transition to the ACKNOWLEDGE_DETECT state when the transmitted nonce field values of the base page of the local end (first device) and the base page of the remote end (second device) are not equal, thus allowing the smaller transmitted nonce field value to exist. The above rules still apply to multi-level pointers, with each level (1st / 2nd / 3rd) pointer allocated independently.
[0249] In one example, the local broadcast pointer and the remote broadcast pointer satisfy the following exemplary rules (for illustrative purposes only).
[0250] (1) In the link topology, each device contains at least two first identifiers, namely the local broadcast pointer and the remote broadcast pointer.
[0251] (2) In the same interface link topology, the local broadcast pointers of each device are the same, and the remote broadcast pointers of each device are also the same.
[0252] (3) In the same interface link topology, the local broadcast pointer is different from the local segment pointer and remote segment pointer of each device.
[0253] (4) In the same interface link topology, the remote broadcast pointer is different from the local segment pointer and remote segment pointer of each device.
[0254] (5) The local broadcast pointer can be used by the host chip or other devices in the first device to select multiple devices corresponding to the local broadcast pointer and establish a message path. The remote broadcast pointer can be used by the host chip or other devices in the second device to select multiple devices corresponding to the remote broadcast pointer and establish a message path. The local broadcast pointer and the remote broadcast pointer can also be used by each device on the link to determine whether the initiator of the extended frame is the host chip or other device in the first device and the transmission direction of the extended frame is the first transmission direction, or whether the initiator of the extended frame is the host chip or other device in the second device and the transmission direction of the extended frame is the second transmission direction. Each device on the link can perform forward transmission, backward transmission, or processing operations according to the initiator and transmission direction of the extended frame. Forward transmission, backward transmission, and processing operations will be explained in detail below.
[0255] (6) When the sender of the extended frame does not need to identify the device status or distinguish the return status of each device, the local broadcast pointer can be equal to the remote broadcast pointer.
[0256] (7) When the sender of the extended frame needs to identify the device status or distinguish the return status of each device, the local broadcast pointer is not equal to the remote broadcast pointer.
[0257] (8) The same rules can be used to generate local broadcast pointers and remote broadcast pointers within the same interface link topology.
[0258] For example, local broadcast pointer=function 3(local topology info, remote topology info), remote broadcast pointer=function 4(local topology info, remote topology info).
[0259] For explanations of function, local topology info, and remote topology info, please refer to the above text, and they will not be repeated here.
[0260] Furthermore, the host chip can send extended frames marked with segment pointers according to its algorithm requirements. Devices at each level in the entire link detect the segment pointer field in the extended frame. When the segment pointer in the parsed frame equals the device pointer, a message path is established between that device and the corresponding host chip; otherwise, the extended frame is directly transmitted. Flexible combinations of multi-level pointers are supported, which can be used to establish message paths from the host chip to any specified device and any specified lane. Multi-level pointers support independent lane granularity. This application, through the segment pointer function, allows the host chip to flexibly complete message interaction with specific devices in the link topology from its perspective. This embeds the multi-segment message interaction process into the overall communication flow of the local and remote host chips, thereby simplifying the multi-segment segmentation control flow, avoiding mutual coupling, and enabling global parameter tuning.
[0261] As described above, the first identifier indicates the second device. Exemplarily, the second device includes multiple transmission channels (lanes), and the first identifier further indicates at least one of the multiple lanes (such as the first channel). Optionally, the second device has multiple parameter spaces (units), each unit including at least one parameter (transmission parameter, link parameter, or mode parameter, etc.), and the first identifier further indicates at least one of the multiple units. The content indicated by the first identifier can be extended based on experience or actual needs, and this application embodiment does not limit this. When the first identifier further indicates the first channel, the implemented AN process is the AN process corresponding to the first channel, and the implemented LT process is the LT process corresponding to the first channel. For example, when implementing the LT process, the trained link parameters are the link parameters of the first channel. When the first identifier further indicates the parameter space, the implemented AN process is the AN process corresponding to the parameter space, and the implemented LT process is the LT process corresponding to the parameter space. For example, when implementing the LT process, the trained link parameters are the link parameters included in the parameter space.
[0262] In the first example, the first identifier indicates a combination of the second device, lane, and unit. For example, when the first identifier is P, it indicates the second device 1, lane 2, and unit 3. When the first identifier is Q, it indicates the second device 1, lane 4, and unit 5.
[0263] In the second example, the first identifier includes multiple sub-identifiers, each indicating one or two of the second device, lane, or unit, with different sub-identifiers indicating different content. For example, the first sub-identifier indicates the second device and lane, while the second sub-identifier indicates the unit. Another example is that the first sub-identifier indicates the second device, and the second sub-identifier indicates the lane and unit. Yet another example is that the first sub-identifier indicates the second device (first-level device identifier), the second sub-identifier indicates the lane (second-level lane identifier), and the third sub-identifier indicates the unit (third-level unit identifier).
[0264] The first identifier in both examples above can be assigned according to the rules described above. For example, it can be assigned based on the overall link topology information, following the rules described above. When the first identifier includes multiple sub-identifiers, each sub-identifier can be independently assigned according to the rules described above.
[0265] Whether the second device is specified through an extended subframe (such as an extended field) in the second frame or through a first identifier carried in the second frame, it is used to implement the AN procedure or LT procedure between the first and second devices. For example, if the second frame (or other frames after the second frame, i.e., the extended frames mentioned above) contains AN parameters used in the AN procedure, the second device can use the AN parameters to implement the AN procedure. Similarly, if the second frame (or other frames after the second frame, i.e., the extended frames mentioned above) contains LT parameters used in the LT procedure, the second device can use the LT parameters to implement the LT procedure. Considering that the way the second frame carries AN or LT parameters follows the same principle as the way other frames carry AN or LT parameters, the following explanation uses the way the second frame carries AN or LT parameters as an example to avoid redundancy.
[0266] For example, the extended subframe of the second frame includes the following three fields.
[0267] The first field, the `frame type` field, is used to identify the frame type of the current frame. For example, it can identify the frame type as a unicast, broadcast, multicast, or test frame, etc. Unicast targets a single device on the link, broadcast targets all devices on the link (such as all intermediate devices), and multicast targets some (at least two) of all devices. The value of the `frame type` field corresponds one-to-one with the identified frame type.
[0268] The second type of field is the field related to the identifier. For example, the field related to the identifier includes a first part and a second part.
[0269] The first part is filled by the sender of the second frame and includes the first identifier indicating the second device, so that the second device can identify itself as the receiver of the second frame. Optionally, the first part may also include an identifier indicating the first device (or the first device's lane, unit, etc.), so that the second device can identify the first device as the sender of the second frame. If the first part only includes the first identifier (or the first identifier and the identifier indicating the first device), then the second frame is a unicast frame. For example, the unicast frame is a device-level unicast frame, but it can be a lane-level broadcast frame.
[0270] For example, when the first identifier is a local segment pointer or a remote segment pointer, the second frame also includes a second identifier, which indicates a fifth device. The first device, the second device, and the fifth device are devices on the same link. The first device can also send the second frame to the fifth device. The second frame is also used to request the first device to perform an AN procedure or a LT procedure with the fifth device indicated by the first identifier. In this case, the second frame is a unicast frame.
[0271] Alternatively, when the first identifier is a local broadcast pointer or a remote broadcast pointer, it indicates not only the second device but also the sixth device, and the first, second, and sixth devices are on the same link. The first device can also send a second frame to the sixth device, which is also used to request the first device to perform an AN procedure or a LT procedure with the sixth device indicated by the first identifier. In this case, the second frame is a broadcast frame.
[0272] Optionally, the second frame may also include a broadcast mask, which indicates a reference device (or its lane, unit, etc.). This reference device is located on the same link as the first and second devices, but is an unspecified device (or a masked device). For example, when the first identifier is a local broadcastpointer or a remote broadcast pointer (not limited to this), the reference device is located on the same link as the first, second, and sixth devices, but is an unspecified device. In other words, by using a local broadcastpointer or a remote broadcast pointer in conjunction with a broadcast mask (not limited to this), it is possible to specify a portion of all devices included in the entire link (i.e., devices other than the reference device). In this case, the second frame is a multicast frame.
[0273] The second part is filled by the receiver of the second frame as a response to the second frame. The second part can be the same as the first part, so that the sender of the second frame can determine that the response comes from the receiver of the second frame. The receiver of the second frame includes the second device, and may also include the fifth device, sixth device, etc., mentioned above. Optionally, if a response from the receiver of the second frame is not required, the second field may include only the first part and not the second part, or include both the first and second parts but the second part does not need to be filled.
[0274] The third type of field is the field related to implementing the AN or LT process. For example, the fields related to implementing the AN or LT process include the third and fourth parts.
[0275] The third part is filled by the sender of the second frame and includes control information for implementing the AN or LT procedure, including but not limited to the AN or LT parameters mentioned above, for controlling the receiver of the second frame to implement the AN or LT procedure.
[0276] The fourth part is filled in by the receiver of the second frame, including but not limited to status information. The status information is obtained by the receiver of the second frame through the AN or LT process implemented according to the control information, serving as a response to the second frame. If there are multiple receivers of the second frame, each receiver can independently fill in the status information based on its own identifier. Optionally, if a response from the receiver of the second frame is not required, the third field may include only the third part and exclude the fourth part, or include both the third and fourth parts but the fourth part does not need to be filled in.
[0277] For example, both the second and third fields described above are optional. For instance, in the first specification method described above, the first frame does not need to include the second field. Or, for the second specification method described above, in the case of unified command and control, the second frame includes both the second and third fields to specify the second device through the second field and to carry the AN or LT parameters through the third field. Alternatively, in the second specification method described above, in the case of separate command and control, the second frame includes the second field to specify the second device through the second field, and other frames include the third field to carry the AN or LT parameters through the third field.
[0278] Based on the above explanation, the frame structure of the second frame is illustrated as follows.
[0279] In the first example, when the second frame has the first frame structure (AN frame), the next page of the second frame (message type or unformatted type) can carry AN parameters so that the second device can use the AN parameters to implement the AN procedure. The second frame is a unified AN extended frame. For an example of an unformatted type next page, see [link to example]. Figure 27 and Figure 28 The unformatted type of next page can include the following fields.
[0280] (1) The frame type field is used to mark the frame type of the current frame. Figure 27 and Figure 28The frame type field occupying U0 to U2 (3 bits in total) is merely an example; the embodiments of this application do not limit the number of bits occupied by the frame type field. For example, the frame type field can be used to mark the current next page in combination with other next pages (e.g., ...). Figure 27 As shown in the example), it can also be used alone to mark the current next page (e.g. Figure 28 (as shown in the example).
[0281] For example, see Figure 27 , Figure 27 This illustrates the combination of the current next page with other next pages. The current next page includes a frame type field, which indicates that the current frame is used in combination with other next pages. Other next pages also include a frame type field, which indicates that the other next page is a test frame.
[0282] In an exemplary embodiment, fields other than the frame type field in the test frame are used to carry test-related information to implement design for X (DFX) functions, such as link measurement, timestamps, loopback control, broadcast commands, PRBS, or custom code patterns.
[0283] In one example, other fields carry specific test patterns to test DME encoding and decoding that support different oversampling ratios. These test patterns can be PRBS patterns or custom patterns. The test patterns can be used for link error rate measurement or link diagnosis. For example, the test frame can modify different oversampling ratios (affecting T1 to T4) while still maintaining the AN protocol definition for T5 to T6 (i.e., not affecting T5 and T6), and does not affect the total duration of a single page of the AN frame as defined by the protocol (i.e., T5), simplifying the encoding / decoding state machine design. The DME oversampling ratio (rate) can be dynamically adjusted sequentially during the process (e.g., from low speed to high speed, 1 / 16, 1 / 8, 1 / 4, 1 / 2, or 1, etc.) to reduce the initial state error rate requirement and achieve gradual optimization of link parameters. Exemplarily, in addition to dynamically adjusting the rate sequentially, AN frames and LT frames in this embodiment can be transmitted at the same rate. Wherein, T1 is the transition position spacing, T2 is the clock transition to clock transition, T3 is the clock transition to data transition, T4 is the transitions in a DME page, T5 is the DME page width, and T6 is the DME Manchester violation delimiter width.
[0284] In another example, other fields carry specific test patterns to measure channel characteristics such as insertion loss (IL), return loss (RL), impedance, or crosstalk of the optical and telecommunication channels on the link, thereby completing channel estimation and parameter initialization.
[0285] In yet another example, other fields carry specific test patterns to measure the incident and reflection spectra when using the test patterns, test link impedance discontinuities, and can be used for online time domain reflectometer (TDR) or optical TDR (OTDR) functions to support the diagnosis of photoelectric channel fault types and fault locations, and can adjust the device transceiver circuits or optical device impedance matching through measurement results.
[0286] In another example, under different oversampling ratios for DME encoding and decoding (1 / 4, 1 / 2, or 1, etc.), the design of the AN protocol definition T1 to T6 is still compatible with the AN frame decoding state machine design. The link performance under different frequency signals is measured and can be used to set the device initial mode and parameters.
[0287] (2) Fields related to the first identifier.
[0288] In one example, see Figure 27 The fields related to the first identifier include the segment pointer select field and the segment pointer echo field. Optionally, for standard LPO optical modules, these two fields can be read and written out of band using control interfaces such as CMIS (Common Control Interface).
[0289] For example, the segment pointer select field carries a first identifier, and this first identifier indicates the second device (or the lane, unit, etc. of the second device). If the first identifier carried in the segment pointer select field is the same as the first identifier of the second device itself, the second device determines that it is the second device specified in the first frame. After implementing the AN procedure based on the control information carried in the segment request control field, the second device, in addition to filling the segment response status field with status information, also fills the segment pointer echo field with the first identifier, making the value of the segment pointer echo field equal to the value of the segment pointer select field. Then, it returns to the first device so that the first device knows that the responding device is the second device indicated by the first identifier carried in the segment pointer echo field. Alternatively, if the first identifier carried in the segment pointer select field is different from the first identifier of the second device itself, the second device transmits the first frame downstream to its adjacent device according to the transmission direction of the first frame.
[0290] For example, the `segment pointer select` field carries a first identifier, and the `segment pointer echo` field carries an identifier indicating the first device (or the lane, unit, etc. of the first device). For instance, the first identifier in the `segment pointer select` field indicates the second device, and the identifier in the `segment pointer echo` field indicates the first device, used to establish a message path between the first and second devices to implement AN or LT procedures. Alternatively, the first identifier in the `segment pointer select` field indicates a lane of the second device, and the identifier in the `segment pointer echo` field indicates a lane of the first device, used to establish a message path between the lanes of the first and second devices to implement AN or LT procedures.
[0291] See another example. Figure 28 The fields associated with the first identifier include a segment pointer select field and an extended segment pointer field, each carrying a different sub-identifier from the first identifier. For example, the segment pointer select field carries a first sub-identifier that indicates a second device, and the extended segment pointer field carries a second sub-identifier that indicates at least one of a lane or a unit.
[0292] Optionally, if the segment pointer select field carries a first sub-identifier indicating the second device and the extended segment pointer field carries a second sub-identifier indicating the lane (as the extended segmentpointer field (2nd)), the segment request control field can be used to carry a third sub-identifier indicating the unit (as the extended segment pointer field (3rd)), and the segment response status field can be used as the segment pointer echo field mentioned above. Of course, the segment request control field can also carry control information as described above, and the segment response status field can also carry status information as described above.
[0293] (3) segment request control field and segment response status field.
[0294] For example, the segment request control field can refer to the control field of the standard LT frame (occupying 16 bytes) to carry AN parameters used in the AN process, including but not limited to control information such as rate parameters, FEC capability parameters and device mode parameters. Device mode parameters include but are not limited to retimed mode, low power mode, etc. Retimed mode is a working mode of HRO optical module.
[0295] For example, see Figure 27 and Figure 28 The segment request control field can carry at least one of the following: a preset with multiple coefficients (e.g., preset 4), a test pattern (e.g., test pattern 2), coefficients (e.g., coefficient 5), a work mode (e.g., mode 3), a reserved field (reserve, rsv, which can carry an NP or toggle.LT (toggle bit field, T) for pagination, see below for details), an extended segment pointer field, or a command. The work mode can refer to performance, energy saving, or encoding / decoding methods, etc.
[0296] For example, the segment response status field can refer to the standard LT frame status field (occupying 16 bytes) to carry status information obtained after implementing the AN procedure. The status information is, for example, a specified status returned as needed after implementing the AN procedure. The AN procedure can be implemented based on the control information such as the rate parameters, FEC capability parameters, and device mode parameters mentioned above. After the second device implements the AN procedure according to the control information carried in the segment request control field, it fills the status information into the segment response status field and returns it to the first device so that the first device can know the status information.
[0297] For example, see Figure 27 and Figure 28The segment response status field can carry at least one of the following: initial condition status (IC_status), pattern status, coefficient status (coeff_status), rsv, ready to send (RTS), complete (e.g., indicating completion of the LT process), training frame local (TFL), or segmentpointer echo field, etc.
[0298] This is equivalent to embedding the DME field (including the control field and status field) of the LT frame into the AN frame, so as to facilitate the adjustment of link parameters during the implementation of AN.
[0299] Based on the unified AN extended frame illustrated above, implementing the AN procedure between the first device and the second device may include the following steps. The AN procedure transmits and receives unified AN extended frames on a single lane (e.g., lane 0).
[0300] (1) The first device and the second device establish a message path based on the second frame and implement the AN process.
[0301] (2) The AN process can be used to configure transmission parameters such as rate parameters, FEC capability parameters, and device mode parameters. This configuration can refer to the state machine defined by at least one of the AN or LT protocols to complete message interaction and parameter updates, thereby simplifying the design. This configuration can be based on the results of implementing the LT process, and it can also provide assurance for subsequent LT process implementations. For example, it can ensure that the link quality meets the requirements of DME decoding.
[0302] (3) The first device and the second device can be flexibly configured. For example, the first device is the host chip 1 in the first device, and the second device is the optical module in the second device. Or, for example, the first device is the optical module in the first device, and the second device is the optical module in the second device.
[0303] In a second example, if the second frame has a second frame structure (LT frame), the PRBS field or next page of the second frame can carry LT parameters so that the second device can use the LT parameters to perform the LT procedure. The second frame is a unified LT extended frame. See also Figure 29 The PRBS field can include the following fields.
[0304] (1) Frame header field: This field is optional and includes a frame type field, a first identifier, and a length. The first identifier and length are optional fields. The length can be, for example, the length of the segment control field and segment status field within the PRBS field, or the page number of the next page. The fields in the frame header can be functionally divided into: request or control type field and response or status type field. Different types of the second frame can be marked using the frame header fields. The HostChip initiates a Request, establishing a message path with a specified object in the link via MsgBus based on the Pointer mechanism. The specified object can be a Device / PhysicalLane / Unit (parameter space, etc.) in the link topology. The Request can be set to different types as needed, including but not limited to the following cases.
[0305] (a) Classified by communication object: Supports unicast, broadcast or multicast types.
[0306] (b) By function: mode configuration (e.g., device mode parameters as described above, which is equivalent to embedding AN frames into LT frames, or loopback mode as described below), link parameter configuration (presets for coarse tuning, including multiple coefficients, single coefficients for fine tuning, or convergence thresholds corresponding to the LT algorithm required for implementing the LT process, etc. Coarse tuning can be performed before the device state machine defined by the LT protocol enters the TRAIN_LOCAL state to avoid timeouts and restarts in the LT process), status information query (frame locking status, segment diagnostic results, SNR, BER, TX equalizer coefficients or RX equalizer coefficients, etc., RX equalizer coefficients are, for example, feed-forward equalizer (FFE) coefficients or decision feedback equalizer (DFE) coefficients, etc.), DFX test (see description above), etc.
[0307] (c) By communication method: No need to identify the device return status, but need to identify the common status information returned by each device (each device can use the same field segment or next page for parsing and filling), and need to identify and distinguish the different status information returned by each device (each device can use different field segments or next page for parsing and filling).
[0308] (2) The segment control field and segment status field can be found in the LT frame DME field segment format defined in the protocol. Figure 27 and Figure 28 The AN frame format shown simplifies the design of the encoder-decoder state machine. For example, different meanings for the segment control field and segment status field are defined according to different frame types.
[0309] The segment control field carries control information, including but not limited to LT parameters. If the first identifier carried in the frame header is the same as the first identifier of the second device itself, the second device determines that it is the second device specified in the first frame.
[0310] In one example, after the second device performs the LT procedure based on the control information carried in the segment control field, it fills the segment status field with status information (see the explanation above, which will not be repeated here), and then returns it to the first device so that the first device can know the status information of the second device. Alternatively, if the first identifier carried in the segment control field is different from the first identifier of the second device itself, the second device will transmit the second frame to the downstream adjacent device according to the transmission direction of the second frame.
[0311] In another example, after the second device performs the LT procedure, it obtains the link parameters (such as the RX parameters of the second device), fills the link parameters into the segment status field, and then returns the RX parameters of the second device to the first device. This allows the first device to configure the TX link parameters of the first device in one go based on the link parameters carried in the segment status field, thereby improving the efficiency of link parameter configuration.
[0312] Based on the unified LT extended frame illustrated above, implementing the LT process between the first device and the second device may include the following steps.
[0313] (1) The first device determines the second device based on the signal state of the first device's RX. The LT process needs to be implemented to train and obtain the link parameters of the second device's TX.
[0314] (2) The first device can select the device that is closer to itself (such as the device that is located in the same device) as the second device by the first identifier, or it can select the device that is farther away from itself (such as the device that is located in a different device) as the second device, or it can select the second device according to the quality of each segment included in the link.
[0315] For example, the first device first queries the frame locking status of each segment. Different devices can respond to the frame locking status of the segments they are connected to based on their own identifiers. If a segment is not locked, the device connected to that segment is selected as the second device.
[0316] For example, the first device can be configured with a loopback mode for the second device for segmented diagnostics and parameter tuning. Alternatively, the first device can prioritize selecting a device located within the same equipment (such as an optical module) as the second device, configure a loopback mode for the second device to tune segments within the equipment containing the first device, then deactivate the loopback mode for the second device, and finally select a device located in a different equipment as the second device to tune segments between different equipment. See also... Figure 30 The device supports loopback modes (including but not limited to dual-mode loopback or non-dual-mode loopback). It can select any device (or lane, unit, etc.) in the link as the second device via a first identifier and configure the loopback mode at the loopback point, thereby achieving data path switching. This application does not limit the location of the loopback point in the device; for example, the loopback point of the optical module can be located on the HostSide side or the MediaSide side.
[0317] (3) The second device parses the first frame. If the first identifier in the first frame is different from the first identifier of the second device itself, the first frame is transmitted transparently. If the first identifier in the first frame is the same as the first identifier of the second device itself, a message path is established between the second device and the first device based on the first identifier in the first frame. The second device can distinguish the transmission direction of the first frame by the first identifier (or whether the initiator of the first frame is a device within the first device or a device within the second device). The second device can also distinguish the transmission direction of the first frame by the RX identifier (identification, ID) of the lane received in the first frame. The RXID is used to uniquely identify the RX. The reason is that the first transmission direction and the second transmission direction in the second device correspond to different RXIDs. If the second device does not involve changes in the number of lanes in the link, each lane within the interface of the second device can be used independently as a MsgBus, and each MsgBus supports independent parallel operation at the lane granularity.
[0318] (4) If the second device receives the first frame in different transmission directions simultaneously, it can respond sequentially in a time-division manner (without order restrictions) to avoid failure caused by simultaneous bidirectional responses. Taking the optical module in the first device as an example, if the HostSide side of the optical module detects that the RX of lane (x) is not locked, while the MediaSide side detects that the RX of lane (y) is normally locked, then the second device can respond to the first frame in the second transmission direction first. This first frame is sent by the device in the second device (such as host chip 2). Alternatively, if both the HostSide and MediaSide sides of the optical module are normally locked, but the host chip in the first device where the optical module is located is not locked, then the second device can respond to the first frame in the first transmission direction first. This first frame is sent by the device in the first device (such as host chip 1).
[0319] (5) The first and second devices can set the lane swap mapping relationship of intermediate devices according to the topology information of the entire link. Lane swap includes the mapping relationship between RX and TX of the same lane on the intermediate device. For example, the CPU or host chip can pre-store the lane swap mapping relationship of intermediate devices according to the hardware design of the device, or obtain the lane swap mapping relationship according to the segment topology mechanism mentioned above.
[0320] (6) The LT process implemented between host chip 1 in the first device and host chip 2 in the second device is the local host chip LT process, the LT process implemented between host chip 2 and host chip 1 is the remote host chip LT process, and the LT process between different devices is the segment LT process. The embodiments of this application can integrate the segment LT process into the local host chip LT process (or the remote host chip LT process). Each lane supports independent parallel training and supports full-duplex training in the first transmission direction and the second transmission direction.
[0321] For example, see Figure 31In the first transmission direction, the first device can be host chip 1, and the second device can be optical module 2. Host chip 1 sends a request (e.g., the second frame). The second frame carries the local segment pointer of optical module 2 as 3. After passing through the repeater and optical module 1, the second frame reaches optical module 2. Optical module 2 performs the AN procedure or LT procedure according to the first frame and then returns a response to host chip 1. In the second transmission direction, the first device can be host chip 2, and the second device can be a repeater. Host chip 2 sends a request (e.g., the second frame). The second frame carries the remote segment pointer of the repeater as 3. After passing through the optical module 2 and optical module 1, the second frame reaches the repeater. The repeater performs the AN procedure or LT procedure according to the second frame and then returns a response to host chip 2.
[0322] The above describes the methods for implementing the AN process and the LT process. In exemplary embodiments, this application also supports using the Protocol Physical Coding Sublayer (PCS) or FEC layer to reserve codewords, and dynamically and losslessly fine-tuning any specified device (or lane, unit, etc.) in the link topology during service traffic gaps based on the RX side signal quality in the device, the order of extended subframes, the order of extended fields in the extended subframes, or identifiers, etc.
[0323] In this embodiment, the implementation of the AN process and the implementation of the LT process can be achieved collaboratively through out-of-band (control interfaces such as CMIS) and in-band (MsgBus).
[0324] (a) In-band scheme: If devices such as repeaters and optical modules in the link support in-band parsing and padding of unified AN / LT extended frames, then these devices can implement the AN process or the LT process in-band based on a first identifier and a state machine defined by at least one of the AN or LT protocols. Optionally, these devices can also respond, such as padding the first frame with state information to obtain a response frame, or returning a response frame to the first device to respond.
[0325] (b) Out-of-band solution (devices within the same device): If the first device and the second device are within the same device, and the second device does not support in-band parsing and padding of unified AN / LT extended frames, then the control system such as the host chip or CPU within the device can use the out-of-band control interface such as CMIS within the device to perform the AN process or the LT process on behalf of the second device (such as directly setting the transmission parameters or link parameters of the second device).
[0326] (c) Combination of out-of-band and in-band solutions (devices in different devices): The first device and the second device are in different devices, and the second device does not support in-band parsing and padding of unified AN / LT extended frames. After the first device sends a first frame to the second device, the second device transparently transmits the first frame, enabling the host chip or CPU control system of the device where the second device is located to receive the first frame (sending the first frame to the host chip of the device where the second device is located via in-band method). Subsequently, the host chip or CPU control system of the device where the second device is located parses the first frame, identifies the second device based on the first identifier in the first frame, and performs the AN process or LT process on behalf of the second device through the out-of-band control interface such as CMIS within the device (such as directly setting the parameters of the second device). Optionally, the host chip or CPU control system of the device where the second device is located can also respond, for example, the host chip or CPU control system of the device where the second device is located fills the status information into the first frame to obtain a response frame, sends the response frame to the second device, and the second device transparently transmits the response frame to the first device to respond.
[0327] Since the host chip can obtain the full-link topology information (including the types of each device on the link), when the host chip is used as the first device, it can determine whether the second device supports in-band parsing and padding of unified AN / LT extended frames based on the type of the second device, so as to select from (a) to (c) above according to actual needs. Optionally, other devices besides the host chip can also obtain the full-link topology information, so as to select from (a) to (c) above according to actual needs.
[0328] Next, see [the following text] Figure 32 Taking the host chip 1 in the first device as an example, the in-band and out-of-band methods will be further illustrated.
[0329] (1) When the host chip 1 knows the topology information of the entire link and the first identifier indicating the second device, it selects the in-band, out-of-band or a combination of in-band and out-of-band modes according to the position of the second device in the link and the type of the second device.
[0330] (2) Corresponding to (b) above, if the second device is the optical module 1 in the first device, the host chip 1 or the CPU in the first device and other control systems (or the two can work together, such as the host chip 1 reporting an interrupt to the CPU and the CPU responding to the interrupt) establish a message path with the optical module 1 through the out-of-band CMIS and other control interfaces, and implement the LT process (e.g., configure link parameters and obtain response information).
[0331] For example, the host chip 1 or CPU may have X control interfaces for interfacing with Y optical modules (each optical module needs to have an independent control interface). When the values of X and Y are different, there is a map from X to Y. When the second device is one of the Y optical modules, the ModSelL signal of the second device can be controlled to select the second device according to the map from X to Y. The ModSelL signal is, for example, the chip select signal of the CMIS control interface of the optical module defined by the QSFPDD-800 protocol.
[0332] (3) Corresponding to (c) above, if the second device is optical module 2 (standard LPO optical module) within the second device, then the host chip 1 fills the first identifier of optical module 2 in the first transmission direction, i.e., local segment pointer = 3, embeds the unified AN / LT extended frame for transmission, and transmits it to the host chip 2 via the repeater, optical module 1, and optical module 2. Specifically, for the repeater (whose own local segment pointer = 1), since the local segment pointer carried by the unified AN / LT extended frame is different from its own local segment pointer, it transmits the unified AN / LT extended frame to optical module 1 without parsing. For optical module 1 (whose own local segment pointer = 2), since the local segment pointer carried by the unified AN / LT extended frame is different from its own local segment pointer, it transmits the unified AN / LT extended frame to optical module 2 without parsing. For optical module 2, since it is a standard LPO optical module and does not have the ability to resolve unified AN / LT extended frames in-band (i.e., it does not support DME encoding and decoding), it transmits unified AN / LT extended frames to host chip 2.
[0333] (4) The host chip 2 receives the unified AN / LT extended frame and parses the local segment pointer field in the unified AN / LT extended frame to obtain the first identifier, i.e., local segment pointer = 3. The host chip 2 determines that the second device is the optical module 2 in the second device, i.e. the standard LPO optical module, which does not have the ability to parse the unified AN / LT extended frame in-band.
[0334] (5) The control system such as the CPU in the host chip 2 or the second device (or both can be used together, see the description in (2)) establishes a message path connection with the optical module 2 through the control interface such as CMIS, configures the link parameters corresponding to the optical module 2 according to the control information carried in the control field and other fields in the Unified AN / LT extension received by the host chip 2, and reads the status information of the optical module 2.
[0335] (6) Host chip 2 fills the segment pointer echo field in the unified AN / LT extended frame with the value of the local segment pointer field, resulting in segment pointer echo = 3. Host chip 2 also fills the status field in the unified AN / LT extended frame with the read status information, resulting in a response frame (also a unified AN / LT extended frame). After host chip 2 sends the response frame, the response frame is sequentially transmitted to host chip 1 through optical module 2, optical module 1, and repeater. The reason for the transmission of optical module 2, optical module 1, and repeater is explained in (3), and will not be repeated here.
[0336] (7) After receiving the response frame, the host chip 1 parses the segment pointer echo field and status field in the response frame to obtain the response information carried by segment pointer echo=3 and status field. Then the host chip 1 can determine that the optical module 2 implements this LT process. Then the host chip 1 can enter the next LT process according to the actual needs. For example, the host chip 1 can jump to (1).
[0337] Through the technical solution of this application, the host chip 1 of the first device communicates with the optical module of the second device via AN or LT in a specified manner, thereby enabling the host chip 1 of the first device to control or adjust the optical module of the second device.
[0338] When the optical module of the second device lacks in-band capability (e.g., an LPO optical module), the host chip of the first device establishes an AN or LT procedure with the optical module of the second device by specifying the optical module. However, since the optical module of the second device lacks in-band capability, the specification request frame sent by the host chip of the first device is received by the host chip of the second device. The host chip of the second device parses the specification request frame and adjusts the TX parameters of the optical module of the second device based on CMIS through a management interface. This management interface is, for example, an I2C interface. In this way, the optical module of the second device is treated as a "dumb terminal" device during the AN or LT procedure, and the host chip of the second device becomes a proxy device for the host chip of the first device, performing the adjustment of the TX parameters of the optical module of the second device, thereby realizing the control of the TX of the optical module of the second device by the host chip of the first device.
[0339] For example, when the optical module of the second device is a standard LPO optical module, when the host chip 1 specifies AN or LT with the standard LPO optical module, the host chip 2 of the second device can perform AN or LT on behalf of the standard LPO optical module as described above. The host chip 2 can also return a response to the host chip 1 on behalf of the standard LPO optical module, thereby realizing that the host chip 1 of the first device controls or adjusts the standard LPO optical module of the second device.
[0340] When the optical module of the second device has in-band capability (e.g., oDSP optical module), the host chip of the first device can directly establish AN or LT process with the optical module of the second device by specifying the optical module of the second device, thereby completing the TX parameters of the optical module of the second device.
[0341] For example, if the optical module of the second device is an ODSP optical module, then the host chip 2 of the second device does not need to perform the work. The optical module of the second device can complete the AN or LT on its own and return a response to the host chip 1, thereby realizing that the host chip 1 of the first device can directly control or adjust the optical module of the second device.
[0342] In the above implementation, in-band capability refers to the ability to parse DME frames. Having in-band capability refers to a retiming operating mode; conversely, lacking in-band capability refers to linear operating mode. Some optical modules determine their in-band capability based on the transmission direction of the optical signal, such as linear receive optics (LRO) modules. Optionally, in-band capability can also refer to the ability to parse online frames. Online frames can be similar to the first or second frame. It should be noted that the DME-related content mentioned in this application, such as parsing DME frames or supporting DME decoding, refers to the in-band capability of parsing DME frames as an example, but is not intended to limit in-band capability. In-band capability can also refer to whether online frame decoding is supported. For example... Figure 4 , Figure 40 , Figure 41 The content involving DME is for illustrative purposes only and may also refer to online frames.
[0343] In the above implementation, the in-band capability of the optical module of the second device is configurable. That is, the optical module of the second device can be configured to have in-band capability or not. In this case, the host chip of the first device is unaware of the current operating mode of the optical module of the second device. In this scenario, the host chip of the first device requests (or desires) to establish an AN or LT procedure with the optical module of the second device by specifying it. If the optical module of the second device currently has in-band capability, then, according to the aforementioned implementation, the host chip of the first device and the optical module of the second device directly implement the AN or LT procedure. If the optical module of the second device currently does not have in-band capability, then, according to the aforementioned implementation, the host chip of the first device controls the TX parameters of the optical module of the second device through a proxy of the host chip of the second device.
[0344] In the above implementation, the host chip of the first device does not need to know the operating mode of the optical module of the second device. The host chip of the first device requests to establish an AN or LT procedure with the optical module of the second device by specifying the optical module of the second device. Furthermore, the specified request frame (such as the second frame) sent by the host chip of the first device also includes request proxy information, which requests the host chip of the second device to act as an agent for the host chip of the first device in controlling the optical module of the second device. Based on the specified request frame, the host chip of the second device determines the operating mode of the optical module of the second device, and then performs TX parameter control of the optical module of the second device according to the operating mode of the optical module.
[0345] In related technologies, the TX of the optical module of the second device is optimized by performing LT or AN between the host chip of the second device and the optical module of the second device. However, the transmission quality of the TX of the optical module of the second device may be affected by the host chip of the first device. Therefore, simply performing LT or AN between the host chip of the second device and the optical module of the second device can only achieve limited performance optimization for the TX of the optical module of the second device.
[0346] In this embodiment, the host chip of the first device establishes a message path with the optical module of the second device in a specified manner and implements the LT or AN process. In this way, the TX parameters of the specified optical module of the second device are adjusted through the message path, thereby realizing the control of the TX of the optical module of the second device by the host chip of the first device. This control process takes into account the influence of the host chip of the first device on the TX parameters of the optical module of the second device, ensures the accuracy of the TX parameters of the optical module of the second device, improves the transmission quality of the TX of the optical module of the second device, and achieves a large degree of performance optimization.
[0347] like Figure 33 The diagram shows the TWI interface topology of the device's host chip and optical module. It illustrates the completion of segment topology negotiation and segment pointer enumeration. The local host chip selects either in-band or out-of-band Msgbus message path establishment based on the location and type of the parameter tuning object. For example, if the parameter tuning object is LocalOpt, the host chip or the CPU within the first device (or both can work together, such as the host chip reporting an interrupt to the CPU, which then handles the interrupt) establishes a message path with LocalOpt through an out-of-band CMIS or other control interface, completing parameter configuration and status reading. Alternatively, only status reading may be performed without parameter configuration, such as during broadcast reading where only the status is read, without parameter configuration.
[0348] Furthermore, it's important to note that the host chip of a device may have multiple interfaces, each capable of connecting to different optical modules. These different optical modules may be mounted on the same TWI bus, and their TWI bus device addresses may be identical. In such cases, the corresponding optical module's ModSelL (QSFPDD-800 e.g.) signal can be controlled to select the appropriate optical module based on the pointer and the mapping relationship between the host chip and the optical module interface within the device. Alternatively, the OSFP optical module can be dynamically assigned an address based on the I3C protocol (this dynamic address can also be used to generate the optical module's Segment Pointer). The I3C dynamically assigned addresses of the optical modules on the local and remote ends may be the same, but the segment pointers will differ. The pointer represents the device in the optoelectronic link, supports dynamic allocation during link establishment, and is used to control the frame to point to a specific device. The I3C address is the optical module device address defined by CMIS, used by the device's internal controllers, such as the CPU, to access the optical module through the CMIS interface.
[0349] Furthermore, in the method provided in this application embodiment, the mapping relationship between the CMIS address and interface number of the optical module of each interface in the device can be stored in advance in devices such as CPU and FLASH, improving the addressing efficiency of control frame communication. If the parameter tuning object is RemoteOpt, the localhost chip fills the RemoteOpt pointer information (Local Segment Pointer=3) and embeds the extended control frame for transmission. After passing through Local Retimer / LocalOpt / RemoteOpt (if the control frame Segment Pointer does not point to itself, it is passed through without processing, or it does not support control frame parsing and is directly passed through).
[0350] The remote hostchip receives the second frame and parses the segment pointer information (local segment pointer = 3) in the second frame. Based on the pointer information, the remote hostchip determines that its parameter tuning interface is located within the local device, the topology location is RemoteOpt, and the device does not support in-band control frame processing. Subsequently, the remote host chip or the CPU or other control devices in the second device (or both can work together, as above) look up the table to obtain the CMIS address of the optical module corresponding to the interface, and establish a message path connection with RemoteOpt through the CMIS or other out-of-band interfaces. According to the REQUEST parameter tuning and other control commands in the controlfield field of the second frame received by the hostchip, the remote hostchip completes the specified control procedures such as parameter configuration and status reading of RemoteOpt.
[0351] Next, the remotehost chip fills in the Preset / Segment Status and pointer response (segmentpointer echo=3) information and embeds it into the control extended frame for transmission. After passing through the local retimer / LocalOpt / RemoteOpt (which either parses the control frame Segment Pointer and passes it through without processing, or does not support control frame parsing and passes it through directly), the local host chip receives the control frame and parses the Segment Pointer information (segmentpointer echo=3) in the extended frame. It recognizes that the RemoteOpt has completed the current command and responded, and can start the next parameter tuning and other control processes (jump to step 1).
[0352] The foregoing section mentioned the message path MsgBus. This application embodiment can obtain the MsgBus based on the first identifier described above to transmit the aforementioned unified AN / LT extended frame, thereby implementing unicast, broadcast, or multicast mechanisms. These mechanisms are applicable to lane-symmetric scenarios (see...). Figure 34 It is also applicable to lane asymmetric scenarios (see...). Figure 35 For example, when the repeater is a gearbox, the lanes on both sides of the gearbox are asymmetrical. Similarly, optical modules (including but not limited to oDSP optical modules) may also have asymmetrical lanes on both sides. In asymmetrical lane scenarios, the total number of lanes on both sides of a device differs; one side of a device may be closer to host chip 1, and the other closer to host chip 2. In asymmetrical lane scenarios, the number of lanes changes throughout the entire link. The upstream and downstream lanes in a certain transmission direction are not a one-to-one mapping, and there may be multiple mutual influence relationships between upstream and downstream lanes in a certain transmission direction under different types of devices and link topologies.
[0353] In a lane-symmetrical scenario, there is a MsgBus between corresponding lanes. For example, see... Figure 34 There is a MsgBus connection between lane0 of the first device (interface A) and lane0 of the second device (interface B), and there is also a MsgBus connection between lane1 of the first device (interface A) and lane1 of the second device (interface B). See also Figure 36In a lane-symmetrical scenario, all lanes are treated as MsgBus (message path, also known as message bus). The system receives and checks whether the extended frame satisfies the following conditions: the segment identifier selection (semgent pointer select field) is equivalent to (==) the remote segment pointer or (||) the local segment point. If the condition is not met, the system can continue to receive and check. If the condition is met, the system matches the lane receive channel number (RXID) M, queries the channel mapping relationship (laneswap), and finds the lane transmit channel number (TXID) N corresponding to M. This enables the formation of MsgBus between the lane (e.g., the lane that receives the extended frame, the receive channel number M, and the transmit channel number N) and the host chip, and allows communication using MsgBus, including but not limited to transparent transmission of extended frames.
[0354] In scenarios where lanes are asymmetrical, the lane correspondence is not one-to-one. See also... Figure 37 The system selects a channel as the MsgBus for the lane group. The MsgBus receives and checks whether the extended frame satisfies the following conditions: the segment identifier selection (e.g., carrying the 1st device identifier) is equivalent to the remote segment pointer or the local segment point. If the condition is not met, it can continue to receive and check. If the condition is met, it obtains the 2nd lane identifier from the extended frame, matches the lane receive channel number (RXID) M, queries the laneswap relationship, and finds the lane transmit channel number (TXID) N corresponding to M. This enables the formation of an MsgBus between the lane (e.g., the lane indicated by the 2nd lane identifier, with the receive channel number M and the transmit channel number N) and the host chip, and allows communication via the MsgBus, including but not limited to extended frame termination and regeneration.
[0355] For example, embodiments of this application may obtain MsgBus based on a first identifier. For example, the methods for obtaining MsgBus include, but are not limited to, the following three.
[0356] The first acquisition method is the banding scheme. For devices with asymmetrical lanes (including but not limited to gearboxes), all lanes within the device's interface are grouped together. One lane in the lane group is selected as the MsgBus. The MsgBus (which lane is used to transmit the unified AN / LT extended frame) and the control mechanism (which lane the AN / LT procedure is implemented on, or in other words, the control object targeted by the unified AN / LT extended frame) are separated and independent. Therefore, devices with asymmetrical lanes can be simplified to single-lane devices, and the AN or LT procedure can be implemented directly as described above.
[0357] For example, such as Figure 35 As shown, in a 2:1 mapping (2 lanes become 1 lane), two lanes can be grouped into one lane group, which appears as one lane group from the system's perspective. Any lane in the lane group (e.g., lane0) can be used as the MsgBus, while the other lane (e.g., lane1) is not represented by the MsgBus and is not used as such. From the system's perspective, the MsgBus on both sides of the interface still maintain a one-to-one mapping relationship. The MsgBus and control mechanism are separated. Any lane in the lane group is used to transmit unified AN / LT extended frames, while each lane within the lane group (which can be either lane0 or lane1, separate and independent from lane0 used as the MsgBus) can use the unified AN / LT extended frames to implement AN or LT procedures.
[0358] For example, each lane within a lane group can meet certain design requirements (such as equal-length design, where the AN and LT processes of all lanes within the lane group can be bound together for control), effectively improving the training efficiency of initial parameters (coarse tuning). For instance, all lanes within a lane group can use the same parameter tuning results (such as the same link parameters).
[0359] For example, if the link loss relationship of each lane within a lane group is fixed, then each lane within the lane group can be differentiated by adjusting its parameters based on this link loss relationship. This link loss relationship can be pre-stored in the device according to the hardware design or configured by the CPU. For instance, after performing the AN or LT process on lane0, the parameter adjustment result of lane1 (such as the link parameters corresponding to lane0) can be calculated based on the parameter adjustment result of lane0 (such as the link parameters corresponding to lane0) according to the link loss relationship.
[0360] The first device selects one lane from the lanegroup within its interface as the MsgBus for transmitting unified AN / LT extended frames. The MsgBus selection can be based on a static principle, such as fixing it to lane 0 (both the first and second devices can be configured to determine which lane is used). In this case, a MsgBus exists between the first and second devices by default, eliminating the need for a separate MsgBus establishment. Alternatively, the MsgBus selection can be based on a dynamic principle, such as selecting lane X with a better link signal. In this case, a separate MsgBus needs to be established between the first and second devices before transmitting the first frame. Another option is to first design the MsgBus selection based on a static principle and then on a dynamic principle. For example, first designing based on a static principle, selecting lane 0 as the MsgBus, and then designing based on a dynamic principle, selecting lane X with a better link signal as the MsgBus. When laneX is different from lane0, it is equivalent to updating MsgBus from lane0 to laneX. When laneX is the same as lane0, it is equivalent to verifying that the MsgBus link signal selected based on the static principle is better.
[0361] For example, before the first device sends the first frame to the second device, the method further includes: the first device acquiring the second frame, the second frame carrying a first identifier, the first identifier indicating the first channel of the second device and the second device, the frame type of the second frame being different from the frame type of the first frame; the first device sending the second frame to the second device, the second frame being used to request the first device to establish a message path with the first channel of the second device, the message path being used to transmit the first frame.
[0362] In this design, the second frame is used to request the establishment of a message path and to specify the second device. Therefore, the frame type of the second frame differs from that of the first frame; for example, the value of the frame type in the second frame differs from that in the first frame. Furthermore, after receiving the second frame, the second device, since the first identifier indicates itself and its first channel, determines to establish a message path with the first device using its first channel to transmit the first frame. For example, the second frame may also carry an identifier indicating the second channel of the first device, such that the message path is located between the second channel and the first channel of the first device. The frame structure of the second frame is similar to that of the first frame described above, and the method of carrying the identifier in the second frame is also similar to that described above, and will not be repeated here.
[0363] The second acquisition method is the code division scheme. According to the code division multiplexing principle, one lane is regarded as two sublanes. Different sublanes can be indicated by different identifiers. For example, the 2nd lane identifier included in the first identifier in the above description can further indicate the sublane. Thus, the first identifier indicates the sublane in the first channel of the second device and the second device, thereby enabling the establishment of MsgBus between the lane and the sublane based on the first identifier.
[0364] For example, such as Figure 35 As shown, in the 2:1 mapping, lane0 of the second device (interface B) is regarded as sublane0 and sublane1. The first identifier carried in the second frame indicates the device and interface B.lane0.sublane0 where interface B is located. The second frame can establish MsgBus between interface A.lane0 and interface B.lane0.sublane0 of the first device (interface A), and between interface A.lane1 and interface B.lane0.sublane1 of the first device. From the system perspective, two independent MsgBus based on sublane are established on one lane, and the MsgBus of both sides (interface A and interface B) still maintain a one-to-one mapping relationship.
[0365] For example, code division schemes and clustering schemes can be used in combination. For instance, a lane can be designated as the MsgBus using a lanegroup. The first device identifier in the first identifier indicates the second device, and the second lane identifier indicates different sublanes within the same lanegroup. This allows the MsgBus to be established between any lane and sublane (belonging to the same lane) of different devices based on the MsgBus and the first identifier (including the first device identifier and the second lane identifier). Furthermore, the MsgBus and the control mechanism are separate and independent.
[0366] The third acquisition method is a time-division multiplexing scheme. Following the time-division multiplexing principle, a MsgBus is established in time-division between interface A.lane0 and interface B.lane0, and between interface A.lane1 and interface B.lane0. From a system perspective, this allows for two time-division MsgBus on a single lane, maintaining a one-to-one mapping between the MsgBus on both sides of the interface. Furthermore, the MsgBus and control mechanism are separate and independent.
[0367] The AN protocol itself is based on a single lane. Therefore, in lane asymmetry scenarios, simplifying multiple lanes into one lane has no impact on the implementation of the AN process. However, in lane symmetry scenarios, the LT process can be implemented in parallel and independently across multiple lanes. In lane asymmetry scenarios, however, the LT process can only be implemented on a single lane (i.e., the lane serving as the MsgBus), reducing efficiency. Therefore, embodiments of this application provide a broadcast / multicast mechanism to achieve the effect of parallel and independent implementation across multiple lanes even when the LT process is implemented on a single lane, thus avoiding the impact of lane asymmetry on efficiency.
[0368] In lane asymmetry scenarios, a single interface of a device can contain multiple lanes, which are called physical lanes. For example, using... Figure 38 Taking optical module 1 as an example, the HostSide has 2 lanes and the MediaSide has 1 lane. The number of lanes on both sides of optical module 1 is not equal (optical module 1 performs 2:1 rate and lane conversion). The link may include multiple asymmetric devices for multiple lanes. In addition, repeater 1 performs 4:2 rate and lane conversion, optical module 2 performs 1:2 rate and lane conversion, and repeater 2 performs 2:1 rate and lane conversion.
[0369] For example, in a unified AN or unified LT process, the lane rates on both sides of the device differ in a lane asymmetry scenario. In one example, when the device terminates and regenerates a unified AN extended frame or a unified LT extended frame, if the frame format defined by the AN or LT protocol is the same, both sides of the device can still follow the same frame format parsing and padding rules and are unaware of the lane rate change. In another example, the link between the first and second devices includes at least one third device, and the lanes on both sides of the third device are asymmetric. The method provided in this application embodiment further includes: the third device receiving a first frame; the third device converting the first frame into a fourth frame; the fourth frame being used to request the first device and the second device to implement an AN or LT process; and the third device sending the fourth frame to the second device.
[0370] In one example, the first frame is in non-return-to-zero (NRZ) format, and the fourth frame is in pulse amplitude modulation (PAM) format, such as PAM4. In another example, the first frame is in PAM format, and the fourth frame is in NRZ format. During the transmission of the unified LT extended frame, when the NRZ and PAM4 rates change on both sides of the device (e.g., from 2x25G to 1x50G), because the LT frame formats defined by NRZ and PAM are different, the device needs to parse and fill the unified LT extended frame according to both NRZ and PAM formats respectively.
[0371] For MsgBus, see Figure 39 Based on a single lane (e.g., lane0), MsgBus can be numbered according to each segment of the link (e.g., MsgBus1 to MsgBus5). On the host chip side, MsgBus transmit / receive markers are Yt (receive) and Xt (transmit). On the middle device (including optical modules) side, MsgBus transmit / receive markers are Xi (receive) and Yi (transmit), while on the other side, they are Zj (transmit) and Kj (receive). The {Xi, Yi, Zj, Kj} of the MsgBus are bound together. For example, based on the laneswap and frame (e.g., unified LT extended frame) transmission direction described above, determining one of Xi, Yi, Zj, or Kj yields the other three. The host chip performs frame termination, while the middle device either transmits frames transparently (if DME encoding / decoding is not supported) or terminates and regenerates frames (if DME encoding / decoding is supported). Middle devices can be categorized as upstream and downstream based on the frame transmission direction. For example, taking Xi of optical module 1 as an example, for the first transmission direction, the upstream can be Zj and Xi of repeater 1, or Xt of host chip 1, and the downstream can be Xi and Zj of optical module 2, etc.
[0372] After receiving an extended frame, Xi of optical module 1 sends an extended frame to Zj, which can be considered a forward pass. A forward pass means that the transmission direction of sending the extended frame is the same as the transmission direction of receiving the extended frame. After receiving an extended frame, Xi of optical module 1 sends an extended frame to Yi, which can be considered a backward pass. A backward pass means that the transmission direction of sending the extended frame is opposite to the transmission direction of receiving the extended frame.
[0373] For the host chip side, the MsgBus communication method can be found in [link to documentation]. Figure 40Based on the end-to-end topology information, the host chip can use different MsgBus acquisition methods to establish MsgBus connections with specified objects (second devices, second device lanes, or second device units, etc.) in the end-to-end connection, according to actual needs. As mentioned earlier, MsgBus can be used to transmit the first frame, which can be unicast (unicast frame or unicast request), broadcast (broadcast frame or broadcast request), or multicast (multicast frame or multicast request), and these connections are independent between different interfaces. A unicast request refers to the host chip communicating with a single specified object via MsgBus, while a broadcast request refers to the host chip communicating with multiple specified objects via MsgBus.
[0374] The host chip can select different types of requests based on actual needs. For example, it can first use broadcast requests to coarsely adjust and improve the efficiency of initial parameter configuration (the parameters of multiple objects can be configured at once during the coarse adjustment phase, saving time), and then use unicast requests to fine-tune and improve link performance (the parameters of a single object can be adjusted at a time during the fine adjustment phase, avoiding link oscillations). Alternatively, it can use broadcast requests to quickly recover when a fault occurs. When there are devices with asymmetric lane numbers in the link topology of this interface, the entire link can be uniformly built based on a single lane to construct a single MsgBus, simplifying the entire link message path topology. When there are no devices with asymmetric lane numbers in the link topology of the interface, the entire link can be built based on multiple lanes to obtain multiple MsgBus, which can communicate independently and in parallel at the lane granularity.
[0375] For example, see Figure 40 The host chip can determine, based on the segment topology discovery process described above, whether a specified object (such as a device) supports DME decoding, whether a gearbox exists in the entire link (in non-lane symmetrical scenarios), and whether a broadcast request should be sent. If the device supports DME decoding, MsgBus is established in-band; if the device does not support DME decoding, MsgBus can be established out-of-band via control interfaces such as CMIS. If a gearbox does not exist in the entire link, refer to... Figure 36 The method shown establishes MsgBus (different lanes running side-by-side). If a gearbox exists throughout the entire link, you can refer to [the following]. Figure 37The MsgBus is established as shown (a single lane in a lanegroup is designated as the MsgBus). If a broadcast request is sent, the broadcast request carries a broadcast pointer (and may also carry a broadcast mask) to indicate multiple devices (or lanes, parameter spaces, etc.) to facilitate obtaining responses from multiple devices. If no broadcast request is sent (i.e., a unicast request is sent), the unicast request carries a segment pointer to indicate a single device (or lane, parameter space, etc.) to facilitate obtaining a response from a single device.
[0376] For the intermediate device side, the MsgBus communication method can be found in [reference needed]. Figure 41 The intermediate device can determine whether it supports DME decoding. If it does not support DME decoding, it transmits the request (e.g., in the second frame). If it supports DME decoding, it establishes the MsgBus using in-band methods. If the gearbox does not exist, refer to... Figure 36 The method shown establishes MsgBus. If a gearbox exists, you can refer to [the relevant documentation]. Figure 37 The MsgBus is constructed as shown. Intermediate devices can select different MsgBus construction methods (in-band / out-of-band, single MsgBus / multiple MsgBus) depending on the device type.
[0377] Intermediate devices can perform frame detection to facilitate frame termination and regeneration. Specifically, the intermediate device determines the initiator (either the first device or a device within the second device) and the designated object for different types of second frames based on its own first identifier. For example, if the first identifier carried by the second frame is an identifier in the first transmission direction, the initiator is a device within the first device (e.g., host chip 1); if the requested first identifier is an identifier in the second transmission direction, the initiator is a device within the second device (e.g., host chip 2).
[0378] If the initiator is a device within the first device, the intermediate device determines the current MsgBus RX to be Xi based on the initiator. If the initiator is a device within the second device, the intermediate device determines the current MsgBus RX to be Kj based on the initiator. The intermediate device can obtain the following information based on the RX of the lane corresponding to the current MsgBus RX and the laneswap relationship.
[0379] The TX of the lane on the same side (backhaul) as the initiator. If the initiator is a device within the first device, the TX corresponding to MsgBus is Yi; if the initiator is a device within the second device, the TX corresponding to MsgBus is Zj.
[0380] The TX of the lane on the opposite side (fronthaul) of the initiator. If the initiator is a device in the first device, the TX corresponding to MsgBus is Zj; if the initiator is a device in the second device, the TX corresponding to MsgBus is Yi.
[0381] The RX of the lane opposite the initiator. If the initiator is a device within the first device, the corresponding RX of the MsgBus is Kj; if the initiator is a device within the second device, the corresponding RX of the MsgBus is Xi. A lane includes TX and RX, as described above. Figure 31 In the diagram, N1 and N2 refer to the TXID of the lane whose RX is on the same side (backhaul) as the current MsgBus's RX, and M1 and M2 refer to the RXID of the lane whose RX is on the opposite side (forwardhaul) as the current MsgBus's RX.
[0382] M (M1 and M2) and N (N1 and N2) can represent the RXID and TXID of different lanes on both sides of the intermediate device, respectively. The link parameters of RXID and TXID both affect the signal quality received by the host chip's RX. In one example, M and N are scalars representing the RXID and TXID of a single lane. In another example, M and N can be multi-element arrays, where each element indicates at least one lane or unit. After the intermediate device performs the AN / LT procedure for the specified object, it can fill the status information into the second frame according to the first identifier of the intermediate device to obtain a response frame, and then transmit or forward the response frame. The transmission and forward transmission are full-duplex and do not affect each other. For example, when it is necessary to fill the status information and then transmit the response frame, it will not affect the forward transmission process. Similarly, when it is necessary to fill the status information and then transmit the response frame, it will not affect the transmission process.
[0383] The response frame is designated as the third frame. If the first device sends the second frame and requests the second device to send it back, the first device receives the third frame sent by the second device. The third frame carries a first identifier and response information. Alternatively, if the first device sends the second frame and requests the second device to forward, the third frame sent by the second device is received by a device opposite to the first device (e.g., a device located in a different device than the first device). The first identifier is used to indicate the second device (or its lane, unit, etc.) and is used by the first device to determine that the response information corresponds to the second device (or its lane, unit, etc.). The response information includes, but is not limited to: negotiation results (such as the results obtained from implementing the AN process), status information (such as frame locking status or LT training complete status), or segment diagnostic information (such as the segment's SNR or BER).
[0384] Regarding this response information, embodiments of this application can distinguish the response information either by using a first identifier (e.g., different second devices also fill in the first identifier of the second device when filling the response information in the third frame), or by using the following methods:
[0385] The response information is distinguished by the page order of different next pages, such as different second devices filling response information into different next pages;
[0386] The response information is distinguished by the domain segment order of different domain segments, such as different second devices filling response information into different domain segments in the same next page;
[0387] The response information is distinguished by the bit order of different bits in the same domain segment, such as different second devices filling different bits in the same domain segment with response information.
[0388] For example, embodiments of this application can achieve segmented diagnosis.
[0389] In related technologies, the notification during the LT or AN process is implemented segment by segment. For example, host chip 1 in the first device notifies optical module 1 in the first device, optical module 1 notifies optical module 2 in the second device, and optical module 2 then notifies host chip 2 in the second device. If any segment fails in LT or AN, host chip 2 can only determine that there is an LT or AN fault in the entire link, but cannot determine which specific segment of the entire link has the LT or AN fault.
[0390] In this embodiment of the application, since different second devices can fill in response information (such as status information, segment diagnostic information, etc.), the first device can understand the LT or AN status of each segment in the entire link in real time. Thus, when a segment has an LT or AN fault, the first device can locate the fault in a timely manner.
[0391] Furthermore, in related technologies, the notification during the LT or AN process is implemented using only one bit. The response information in this application embodiment can include multiple bits (such as multiple domain segments, multiple next pages, etc.), thereby expanding the carried response information and enabling the carrying of LT or AN response information from multiple segments throughout the entire link.
[0392] As described above, this application provides a broadcast / multicast mechanism to enable parallel and independent operation across multiple lanes even when implementing the LT process on a single lane, thus avoiding the impact of lane asymmetry on efficiency. In the broadcast mechanism, the first frame is a broadcast frame (or broadcast request), and the broadcast frame may include extended subframes. Taking an extended subframe including an unformatted type next page as an example, combined with... Figures 42 to 45 Provide an explanation of the broadcast frame.
[0393] See Figure 42 Device-level broadcast configuration (1st broadcast configure). The host chip uses the broadcast pointer select field (similar to the segment pointer select field mentioned above) in the broadcast frame to carry the local broadcast pointer or remote broadcast pointer, thereby configuring multiple devices at once. The host chip also uses the broadcast mask in the broadcast frame to indicate the devices to be masked. The masked devices can be those that do not support DME encoding / decoding, or those that support DME encoding / decoding but do not require configuration during the unified AN / LT process. The broadcast mask can be used to mask any specified device in the entire link according to actual needs. For example, it can support masking devices whose local segment pointer or remote segment pointer is greater than or less than the broadcast mask. The broadcast mask of different broadcast frames can be the same or different.
[0394] After a blocked device identifies the broadcast mask in a broadcast frame, it indicates that it will not respond to the broadcast frame. The host chip ignores the response of the blocked device. The broadcast mask supports indicating the blocked device using a one-hot value, meaning that each device corresponds to an independent bit in the broadcast mask. For example, if there are 5 devices in the link, the broadcast mask consists of 5 bits, and each of the 5 bits corresponds one-to-one with one of the 5 devices.
[0395] The broadcast pointer select field and broadcast mask support multi-level extensions, such as 2nd lane level or 3rd unit level broadcast pointer select field and broadcast mask. The settings for each level of broadcast pointer select field and broadcast mask can follow the above rules and are independent of each other, supporting flexible specification of objects at each level (device level, lane level, or unit level). Each device can independently fill in response information based on its own local segment pointer or remote segment pointer and the type of broadcast request (such as type 3 broadcast request below). Device-level broadcast configuration can be applied to the unified AN / LT process to achieve rapid initial parameter configuration or rapid fault recovery, improving configuration efficiency.
[0396] In one example Figure 42 The broadcast frame shown includes a frame type field, a broadcast pointer select field (indicating multiple devices), a broadcast mask field (masking at least one device), a segment request control field (carrying an extended broadcast mask (masking a lane or unit), command, or rsv, etc.), and a segment response status field (carrying segment device echo, status, or rsv, etc., for device to fill in response information).
[0397] See Figure 43 Lane-level / unit-level broadcast configuration (2nd / 3rd broadcast configure). The host chip specifies an individual device in the link topology through the segment pointer select field (sender-side padding for broadcast frames) and the segment pointer echo field (receiver-side padding for broadcast frames). Broadcast frames can carry extended broadcast pointer select and extended broadcast mask fields, thereby configuring multiple objects (lanes or units) within a single device at once.
[0398] A single device identifies multiple objects by recognizing the extended broadcast pointer select field and identifies objects masked by the extended broadcast mask field. Masked objects do not respond to broadcast frames, and the host chip ignores their responses. Each device can independently populate response information based on the type of broadcast frame (such as broadcast requests of type 2 below). Lane-level / unit-level broadcast configuration can be applied to the unified AN / LT process to flexibly specify the initial parameters of multiple objects on a single device for rapid configuration or rapid fault recovery, improving configuration efficiency while avoiding impact on other devices.
[0399] In one example Figure 43 The broadcast frame shown includes a frame type field, a segment pointer select field (indicating a single device), a segment pointer echo field (for filling a single device), a segment request control field (carrying extended broadcast pointer select (indicating lane or unit), extended broadcast mask (masking lane or unit), command or rsv, etc.), and a segment response status field (carrying segment device echo, status, or rsv, etc., for device filling response information).
[0400] See Figure 44 Device-level broadcast query (1st broadcast query). The host chip uses the broadcast pointer select field (similar to the segment pointer select field mentioned above) in the broadcast frame to carry the local broadcast pointer or remote broadcast pointer, thereby querying multiple devices at once. The host chip also uses the broadcast mask in the broadcast frame to indicate the blocked devices. After recognizing the broadcast mask in the broadcast frame, the blocked devices indicate that they will not respond to the broadcast frame, and the host chip ignores the response of the blocked devices.
[0401] Unlike device-level, lane-level, or unit-level broadcast configurations, broadcast queries require devices to fill in more response information. Therefore, each device can fill response information into a group of next pages consisting of one next page (or multiple next pages).
[0402] The broadcast pointer select field and broadcast mask support multi-level extensions, such as 2nd lane level or 3rd unit level broadcast pointer select field and broadcast mask. The settings for each level of broadcast pointer select field and broadcast mask can follow the above rules and are independent of each other, supporting flexible specification of objects at each level (device level, lane level, or unit level). Each device can independently fill in response information based on its own local segment pointer or remote segment pointer and the type of broadcast request (such as type 5 broadcast request below). Device-level broadcast queries can be applied to the unified AN / LT process for quick querying of status information of multiple devices. The host chip can determine subsequent control strategies based on the response information returned by each device (such as SNR, BER, or equalizer parameters), such as the purpose of the next broadcast frame to be sent (e.g., parameter adjustment, mode switching, or DFX fault diagnosis).
[0403] In one example Figure 44 The broadcast frame shown includes a frame type field, a broadcast pointer select field (indicating multiple devices), a broadcast mask field (masking at least one device), a segment request control field (carrying an extended broadcast mask (masking a lane or unit), command, or rsv, etc.), and a segment response status field (carrying segment device echo, status, or rsv, etc., for device to fill in response information).
[0404] See Figure 45Lane-level / unit-level broadcast queries (2nd / 3rd broadcast queries). The host chip specifies a single device in the link topology using the segment pointer select field (sender-side padding for broadcast frames) and the segment pointer echo field (receiver-side padding for broadcast frames). Broadcast frames can carry extended broadcast pointer select and extended broadcast mask fields, allowing queries to be performed on multiple objects (lanes or units) within a single device at once.
[0405] A single device identifies multiple objects by recognizing the extended broadcast pointer select field and identifies objects masked by the extended broadcast mask field. Masked objects do not respond to broadcast frames, and the host chip ignores their responses. Each device can independently fill in response information based on the type of broadcast frame (such as a broadcast request of type 4 below). Therefore, each device can fill in response information into one next page (or a group of next pages).
[0406] Different devices may use the same or different next pages. For example, in Figure 39 In the process, when host chip 2 queries the status information of the repeater, the repeater can fill the four next pages with the status information corresponding to lanes 0 to 3 of the repeater. When host chip 2 queries the status information of optical module 1, optical module 1 can fill the two next pages with the status information corresponding to lanes 0 and 1 of optical module 1. When filling the status information, the device can also fill in the object identifier (such as lane-level identifier or unit-level identifier) to distinguish the status information corresponding to different objects. Lane-level / unit-level broadcast queries can be applied to the unified AN / LT process to flexibly specify the status information of multiple objects of a single device for fast querying, improve query efficiency, and query the status information of different objects for different devices.
[0407] In one example Figure 45The broadcast frame shown includes a frame type field, a segment pointer select field (indicating a single device), a segment pointer echo field (for filling a single device), a segment request control field (carrying extended broadcast pointer select (indicating lane or unit), extended broadcast mask (masking lane or unit), command or rsv, etc.), and a segment response status field (carrying segment device echo, status, or rsv, etc., for device filling response information).
[0408] In exemplary embodiments, the types of request frames (e.g., broadcast requests) include, but are not limited to, the following nine types, and different types of request frames may have different requirements for the device response. For example, a request frame can be a broadcast frame or a non-broadcast frame. Exemplarily, there are multiple response messages. Multiple response messages are located in the same field segment of the same extended subframe included in the third frame. Alternatively, multiple response messages are located in different field segments of the same extended subframe included in the third frame. Alternatively, multiple response messages are located in different extended subframes included in the third frame.
[0409] The first type, TYPE1 Requests, specifies that the designated object does not postback or transmit forward status information. After processing a TYPE1 Request, the designated object (such as a device, physical channel lane, or parameter space unit, which will not be elaborated upon below) does not need to postback (or transmit forward) response information. The host chip initiating the TYPE1 Request (or the remote host chip initiating the TYPE1 Request) does not need to recognize the response information posted back (or transmitted forward) by the designated object, as in some DFX test commands.
[0410] The second type, TYPE2 Requests, includes status-updated information in the same common field (same page) postback. After a specified object completes the TYPE2 Request processing, it posts back the updated status information in the agreed-upon common field. This is possible if each device supports updating the status information in the same common field using unified logical operations such as "wired-AND," "wired-OR," or "read + 1 write-back." For example, if one device updates status to 0, the common status bit field equals 0; if one device updates status to 1, the common status bit field equals 1. Alternatively, devices at each level can sequentially perform read + 1 write-back operations on the common field according to the data flow. The host chip of the TYPE2 Request initiator identifies the final returned common status field information.
[0411] The third type, TYPE3 Requests, includes status-updated information returned in different fields (same page) postbacks. After a specified object completes the TYPE3 Requests processing, it returns updated status information in different fields. For example, after each device determines the initiator of the TYPE3 Request (such as a device in the first device or a device in the second device, or a host chip), it fills its own status information in different fields corresponding to the extended frame and returns it back using its own local segment pointer (for devices initiating from the first device) or remote segment pointer (for devices initiating from the second device). The TYPE3 Request initiator identifies different fields and obtains the status information returned by each device.
[0412] The fourth type, TYPE4 Requests, includes updated status information returned on different next pages (single device). Multiple objects (lanes or units) within a single device complete TYPE4 Request processing and then return updated status information on different next pages (or next page groups). The TYPE4 Request initiator distinguishes the updated status information returned by each object by identifying the page order or identifier within the next page.
[0413] The fifth type, TYPE5 Requests, includes status-updated information returned on different next pages (multiple devices). After processing TYPE5 Requests, multiple devices return updated status information on different next pages (or groups of next pages). The TYPE5 Request initiator distinguishes the updated status information returned by each device by identifying the page order or identifier within the next page.
[0414] The sixth type, TYPE6 Requests, includes forwarded status updates within the same common field (same page). After a specified object completes TYPE6 Request processing, it forwards updated status information within the agreed-upon common field. For example, each device can support updating the status information of the same common field using unified logical operation rules such as "wired-AND," "wired-OR," or "read + 1 write-back." If one device updates status to 0, the common status bit field equals 0; if one device updates status to 1, the common status bit field equals 1. Alternatively, devices at each level can sequentially perform read + 1 write-back operations on the common field according to the data flow. The remote end (e.g., the host chip) of the TYPE6 Request initiator identifies the final forwarded common field information.
[0415] For example, each device can parse and fill the segment pointer common domain in a "read + 1 write back" manner. The remote host chip of the TYPE6Requests initiator identifies the final forward common domain information to determine the number of device levels in the link topology.
[0416] The seventh type, TYPE7 Requests, includes forwarded status updates in different fields (same page). After a specified object completes the TYPE7 Requests processing, it forwards the updated status information in different fields. For example, after each device determines the initiator of the TYPE7 Requests (such as a device of the first device or a device of the second device, the device is, for example, a host chip), it forwards its own status information by filling in the different fields corresponding to the extended frame through its own local segment pointer (for devices initiating the first device) or remote segments pointer (for devices initiating the second device). The remote end of the TYPE7 Requests initiator identifies the different fields and obtains the forwarded updated status information of each device.
[0417] For example, each level of device updates its own frame locking status and other status information, and fills this status information into different domains of the extended frame according to its own local segment pointer or remote segment pointer for forward transmission level by level. The remote end of the TYPE7Requests initiator identifies the different domains of the forward transmission to obtain the frame locking status of each level of device in the link topology, or the diagnostic information of each segment in the link topology. For example, the diagnostic information of different segments can be distinguished by different identifiers (such as local segment pointer or remote segment pointer).
[0418] The eighth type, TYPE8 Requests, involves transmitting updated status information (with status updated information in the different next pages (multiple devices)) forward. After multiple devices complete the TYPE8 Request processing, they transmit updated status information forward on different next pages (or next page groups). The remote end (such as the host chip) that initiated the TYPE8 Request distinguishes the transmitted updated status information by identifying the page order or identifiers within the next page. For example, host chip 1 can push status information from multiple intermediate devices (or intermediate devices) to host chip 2.
[0419] Of course, the eighth type also applies to the forward transmission of status updated information across different next pages (single devices). This specifies that after multiple objects (lanes or units) within a single device complete TYPE8 Requests processing, their status updated information is transmitted forward across different next pages (or groups of next pages). The remote end that initiated the TYPE8 Requests distinguishes the status updated information returned by each object by identifying the page order or identifier within the next page.
[0420] The ninth type is group communication. See also... Figure 46 It includes the following four subtypes.
[0421] Subtype 1, Broadcast, involves a data sender to multiple data receivers, and can be used to broadcast and replicate information from one device to other devices. For example, a host chip can broadcast end-to-end topology information, AN process negotiation results, or LT process negotiation results to devices at each level, enabling each device to obtain end-to-end information and thus improving the efficiency of parameter training for each device. For instance, host chip 1 sends a broadcast frame, and repeater 1, optical module 1, optical module 2, repeater 2, and host chip 2 receive the broadcast frame.
[0422] Subtype two, scattering, involves a data sender to multiple data receivers. This can be used to slice information from one device and distribute it to other devices. For example, a host chip issues identifiers to devices at various levels to allocate identifiers. For instance, host chip 1 sends "domain segment or NP1" to "domain segment or NP5", repeater 1 receives "domain segment or NP1", optical module 1 receives "domain segment or NP2", optical module 2 receives "domain segment or NP3", repeater 2 receives "domain segment or NP4", and host chip 2 receives "domain segment or NP5".
[0423] Subtype 3, Gather, involves multiple data senders to a single data receiver. This can be used to collect information from multiple devices into a single device, and is the inverse of scattering. For example, devices at different levels return different status information to the host chip, which then performs segmented diagnostics on each device. For instance, host chip 1 receives data from "domain segment or NP1" to "domain segment or NP5," where "domain segment or NP1" is sent by repeater 1, "domain segment or NP2" by optical module 1, "domain segment or NP3" by optical module 2, "domain segment or NP4" by repeater 2, and "domain segment or NP5" by host chip 2.
[0424] Subtype four, reduction, involves multiple data senders to a single data receiver. It can be used to process information from multiple devices and aggregate it into a single reduction protocol for a single device. The processing supports arithmetic, logical, statistical, and combinational operations. For example, devices at each level send the information after reduction processing in the common domain segment or next page to the host chip, which then uses this information to determine the link or device status. For instance, host chip 2, repeater 2, optical module 2, optical module 1, and repeater 1 perform reduction processing, fill in and update the common domain segment or NP, and then send the information. Host chip 1 receives the common domain segment or NP (next page) and obtains the information after reduction processing.
[0425] In the unified AN / LT process, Local and Remote HostChip can independently use TYPE1 to 9 Requests, and different types of Requests can be flexibly combined as needed. For example, unicast requests support indications of types 1 to 3, and broadcast requests support types 1 to 9.
[0426] Different Request types support independent object granularity. For example, unicast or multicast requests allow the host chip to independently select different Request types (TYPE 1 to 9) when communicating with various objects (devices, physical channels, or parameter space units, etc.), thus independently controlling different operating modes for different objects. The Respond mode for each device level supports selecting one or more combinations of the above based on commands and processing needs.
[0427] For example, the broadcast requests of the second to ninth types above can be a null command (or idle command). The next page in the broadcast request can be a null-message so that the device receiving the broadcast request can fill the null frame, for example, by filling the null frame with the update status information mentioned above.
[0428] Next, with Figure 39 Using the scenario shown as an example, the communication process corresponding to the above 9 types of requests will be explained.
[0429] The first type, as mentioned before, is relatively simple and does not require forward or backward transmission, so it will not be elaborated further.
[0430] The second type, see Figure 47 ,by Figure 47Taking steps B0 to B4 as an example, host chip 2 initiates a Type2Request, intermediate devices transmit the request forward, and the process terminates at host chip 1. The specified object (e.g., device) completes the processing flow corresponding to the Type2 Request and fills in the information according to the processing rules (functions) corresponding to the common status field (also called the general domain). The processing rules corresponding to different common domains are independent of each other (they can be different or the same). Blocked objects transmit the request but do not respond to the Type2 Request. For example, repeater 2, optical module 1, repeater 1, and host chip 1 update the general domain respectively. Optical module 2 is a blocked device, so it transmits the request forward but does not update the general domain. Host chip 2 detects the finally returned common domain information.
[0431] The third type, with Figure 47 Taking steps A0 to A4 as an example, host chip 1 initiates a Type 3 Request, intermediate devices transmit forward, and the process terminates at host chip 2. The specified object (e.g., a device) completes the processing flow corresponding to the Type 3 Request and independently fills in information in different domain segments based on its own local segment pointer, transmitting back information. Blocked objects transmit forward but do not respond to the Type 3 Request. For example, repeater 1 updates domain segment 1, optical module 2 updates domain segment 3, repeater 2 updates domain segment 4, host chip 2 updates domain segment 5, and optical module 1, being a blocked device, transmits forward but does not update domain segment 2. Host chip 1 detects the returned information in different domain segments, identifies the domain segment location or identifier within the domain segment (e.g., local segment pointer), and distinguishes the returned information from different devices.
[0432] The sixth type, with Figure 48 Taking steps B0 to B4 as an example, host chip 1 initiates a Type 6 Request, intermediate devices transmit the request forward, and the process terminates at host chip 2. The specified object (e.g., a device) completes the processing flow corresponding to the Type 6 Request and forwards information according to the processing rules corresponding to the common domain segment (e.g., common status field). The processing rules for different common domain segments are independent of each other (they can be different or the same). Blocked objects transmit the request forward but do not respond to the Type 6 Request. For example, repeater 1, optical module 1, and repeater 2 update the common domain segment respectively. Optical module 2 is a blocked device; it transmits the request forward but does not update the common domain segment. Host chip 2 detects the final forwarded common domain segment information.
[0433] The seventh type, with Figure 48Taking steps A0 to A4 as an example, host chip 2 initiates a Type 7 Request, intermediate devices transmit forward, and the process terminates at host chip 1. The specified object (e.g., a device) completes the processing flow corresponding to the Type 7 Request and independently transmits information to different domain segments based on its own local segment pointer or remote segment pointer. The blocked object (e.g., optical module 1) transmits forward but does not respond to the Type 7 Request. Host chip 1 detects the forwarded information from different domain segments, identifies the domain segment location or identifier within the domain segment (e.g., local segment pointer or remote segment pointer), and distinguishes the forwarded information from different devices.
[0434] The fourth type, with Figure 49 Taking steps B0 to B4 as an example, host chip 2 initiates a Type 4 Request, intermediate devices transmit the request forward, and the process terminates at host chip 1. The specified object (such as a lane within the device) completes the processing flow corresponding to the Type 4 Request and independently fills in information and sends it back to different next pages (or next page groups) based on its own remote segment pointer. Objects that are blocked transmit the request forward but do not respond to the Type 4 Request. Host chip 2 detects the different returned next pages (or next page groups) and identifies the next page order or identifier within the next page (such as the remote segment pointer) to distinguish the returned information of different objects. For example, host chip 2 sends next page 1 to next page 4 to repeater 1. Repeater 1 fills in lane 1 information to next page 1, lane 2 information to next page 2, lane 3 information to next page 3, and lane 4 information to next page 4.
[0435] For example, the host chip (such as host chip 1 or host chip 2) knows the status of each device (such as the number of lanes included in the device) based on the topology negotiation results, and can query the status information of multiple lanes of any specified single device in the link topology through TYPE4 Request.
[0436] In one example, the host chip can send multiple next pages to a designated device as needed. (The host chip can determine the number of response frames returned by the designated device. The number of next pages sent by the host chip can be equal to the total number of lanes in the device minus the number of masked lanes, or the number of next pages sent can be equal to the total number of lanes in the device, but the return information of masked lanes is ignored.) The host chip can implement page turning through the NP and Toggle bit fields. The designated device can distinguish the information return of different lanes through different next page order or embedded identifiers (such as the 2nd lane identifier). The host chip can distinguish the information return of different lanes through different next page order or embedded identifiers (such as the 2nd lane identifier).
[0437] In another example, after sending the first frame, the host chip fills in null-message frames according to the protocol and sends them to the designated device (the host chip does not need to determine the number of response frames returned by the designated device). If the host chip receives a response frame from the designated device, and the NP or Toggle bit field in the response frame indicates that a next page is still needed, the host chip continues to fill in null-message frames according to the protocol and send them to the designated device until the host chip receives a response frame from the designated device, and the NP or Toggle bit field in the response frame indicates that a next page is no longer needed. At this point, the host chip stops filling in null-message frames according to the protocol and sending them to the designated device.
[0438] The way the host chip determines the number of response frames, or whether it doesn't need to determine the number of response frames, is not limited to a single type. Instead, it can be applied to all types of page-turning applications based on actual needs. For example, in... Figure 50 In the context of (not limited to a specific type), when the host chip does not need to determine the number of response frames returned by the device, the host chip determines whether there is still a next page according to the above description. If not, it completes the broadcast request; if so, it continues to send next pages (next pages other than the base page can be filled with empty frames according to the protocol) until all next pages have been sent. For example, in... Figure 51In the process, downstream devices check if they are blocked. If blocked, they do not respond (e.g., no padding, pass-through). If not blocked, they check if they are intermediate devices. If not, they latch information and send an updated next page until no new next page is available. If they are intermediate devices, they initialize and clear the return buffer. The return buffer stores updated response information for devices that need to be returned. This embodiment does not limit the cache depth of the return buffer. A cache depth of 1 represents a single next page, and a cache depth of W (greater than 1) represents multiple next pages (nextpage group). If all pages in the return buffer have been sent, the response to the broadcast request is completed. If not, new broadcast request next pages from upstream are received, and a return broadcast request next page is sent downstream (pass-through). The updated device X information next page in the return buffer is sent upstream (only the response field is updated, other fields are unaffected). The updated device X information next page from downstream is received and latched into the return buffer until all pages in the return buffer have been sent.
[0439] The fifth type, with Figure 52 Taking steps B0 to B4 as an example, host chip 2 initiates a Type 5 Request, intermediate devices transmit forward requests, and the process terminates at host chip 1. The specified object (such as a device) completes the processing flow corresponding to the Type 5 Request and independently fills in information and sends it back in different next pages (or next page groups) according to its own remote segment pointer. The blocked object transmits forward but does not respond to the Type 5 Request. Host chip 2 detects the information in the different next pages (or next page groups) returned and identifies the next page order or the identifier within the next page (such as the remote segment pointer) to distinguish the returned information of different objects.
[0440] For example, the host chip knows the status of each device based on the topology negotiation result. It can obtain (e.g., pull) the status information of any specified multiple devices in the link topology through Type 5 Request. The host chip can send multiple next pages to downstream devices as needed. (The host chip can determine the number of response frames returned by the specified device. The number of next pages sent by the host chip can be equal to the total number of lanes in the device minus the number of masked lanes, or the number of next pages sent can be equal to the total number of lanes in the device, but ignore the return information of masked lanes.) The host chip can implement page turning through NP and Toggle bit fields. The control and status fields of the extended frame can support independent selection of the extension method (e.g., extension of different fields or extension of different next pages). Each specified device embeds information back in different next pages (or next page groups) according to its own local segment pointer or remote segment pointer. The host chip distinguishes the back information of different devices through different next page order or identifiers (e.g., local segment pointer or remote segment pointer).
[0441] Figure 53 and Figure 54 Taking a Type 5 Request as an example, this illustrates the communication process between the initiating host chip and its downstream devices based on next page extension. This embodiment does not limit the order in which each device sequentially sends back its next page (or next page group). Upon receiving a broadcast request, a device may first send its own next page (or next page group) information, and then determine the page turning information and sequentially send the cached next page (or next page group) information of its downstream devices. Alternatively, it may first send the cached next page (or next page group) information of its downstream devices, and then send its own next page (or next page group) information.
[0442] See Figure 53When the host chip sends a Type 5 Request, it can calculate the total number of next pages, N. N equals the number of pages corresponding to downstream devices (the number of pages that downstream devices need to fill) minus the number of pages corresponding to the blocked devices (the number of pages that the blocked devices need to fill). The host chip records the number of next pages already sent, M. If M is equal to N, the Type 5 Request is sent. If M is not equal to N, the host chip sends a next page, receives and latches the next page of the upstream device X, and increments the number of next pages already sent, M, until M is equal to N.
[0443] See Figure 54 For Type 5 Requests, downstream devices check if they are blocked. If blocked, they do not respond (e.g., no padding, pass-through). If not blocked, they check if they are intermediate devices. If not, they latch information and send an updated next page. If they are intermediate devices, they check if it is a local broadcast request and determine the transmission direction (first transmission direction: local, second transmission direction: remote). Intermediate devices parse the mask field of the Type 5 Request, obtain the level of blocked downstream devices in the transmission direction, calculate the number of pages for the transparent broadcast request as PR (PR is the level of downstream devices minus the level of blocked downstream devices), and record the number of pages sent, PRN. The return buffer is initialized and cleared. The return buffer stores updated response information from devices that need to be returned. This embodiment does not limit the cache depth of the return buffer; a cache depth of 1 represents a single next page, and a cache depth of W (greater than 1) represents multiple next pages (next page groups). If PRN is equal to PR, the broadcast request response is completed. If PRN is not equal to PR, then continue to receive new broadcast requests next page from upstream, send back broadcast requests next page (transparent transmission) to downstream, send the updated device X information next page in the backhaul buffer to upstream (only update the response field segment, other fields are not affected), receive and latch the updated device X information next page from downstream to the backhaul buffer, increment the number of pages sent PRN by one, until PRN is equal to PR.
[0444] The eighth type, with Figure 55 Taking steps B0 to B5 as an example, host chip 1 initiates a Type 8 Request ( Figure 55In B2), the intermediate device transmits the request forward, terminating at the host chip 2. The specified object (such as a device) completes the processing flow corresponding to the Type 8 Request and independently fills in the information in different next pages (or next page groups) according to its own local segment pointer or remote segment pointer. The blocked object transmits the request forward and does not respond to the Type 8 Request. The host chip 2 detects the forwarded information of different next pages (or next page groups) and identifies the next page order or the identifier within the next page (such as local segment pointer or remote segment pointer) to distinguish the forwarded information of different objects.
[0445] For example, the host chip (e.g., host chip 1) knows the status of each device based on the topology negotiation result. It can push the status information of any number of devices in the link topology to the remote host chip (e.g., host chip 2) through TYPE8Request. The host chip can send multiple next pages to downstream devices as needed. The host chip can realize page turning through NP and Toggle bit fields. The control and status fields of the extended frame can support independent selection of the extension method (e.g., extension of different fields or extension of different next pages). Each designated device embeds information forwarding in different next pages (or next page groups) according to its own local segment pointer or remote segment pointer. There is no restriction on the order in which each device forwards the next page (or next page group) level by level. The host chip distinguishes the forwarding information of different devices through different next page order or identifiers (e.g., local segment pointer or remote segment pointer). Figure 55 The steps B0 to B5 shown are just examples. The Type 8 Request can be initiated by the host chip 1 (B2), or the host chip 2 can send a Type 8 Request pull (tow) first, and the intermediate device will transmit the Type 8 Request pull to the host chip 1 (B0 to B1), thereby triggering the host chip 1 to initiate the Type 8 Request.
[0446] in addition, Figure 56 and Figure 57 Taking Type 8 Request as an example, this illustrates the communication process between the initiating host chip and its downstream devices based on the next page extension.
[0447] See Figure 56 When the host chip sends a Type 8 Request, it can initialize and clear the forward buffer, which stores the update response information of the devices that need to forward the request. This embodiment does not limit the cache depth of the forward buffer; a cache depth of 1 represents a single next page, and a cache depth of W (greater than 1) represents multiple next pages (a group of next pages). If the host chip has sent all pages of the forward buffer, the Type 8 Request is completed. If the host chip has not sent all pages of the forward buffer, it continues to send the remaining pages in the forward buffer to downstream devices (i.e., continues sending Type 8 Requests).
[0448] See Figure 57 For Type 8 Requests, downstream devices check if they are blocked. If blocked, they do not respond (e.g., no padding, pass-through). If not blocked, they check if they are intermediate devices. If not, they receive and latch the updated next page until no new next page is available. If they are intermediate devices, they initialize and clear the forward buffer. The forward buffer stores the update response information of devices that need to be forwarded. This application embodiment does not limit the cache depth of the forward buffer. A cache depth of 1 represents a single next page, and a cache depth of W (greater than 1) represents multiple next pages (next page group). If an intermediate device receives a new next page, it sends a forward broadcast request to the downstream, carrying the updated device X information next page (NP bit field = 1) in the forward buffer, and receives and latches the updated device X information next page from the upstream into the forward buffer. If the intermediate device does not receive the new next page, it completes the response to the broadcast request after sending all pages of the forward buffer. If it does not send all pages of the forward buffer, it continues to send forward broadcast requests downstream, carrying the updated device X information next page in the forward buffer, until all pages of the forward buffer have been sent.
[0449] The ninth type is aggregated communication. Each device is treated as an independent network element, allowing aggregated communication. Here, Gather is equivalent to TYPE 3 or TYPE 7, Scatter and Gather are inverse processes, and Reduce is equivalent to TYPE 2 or TYPE 6, which will not be elaborated further here. In Broadcast, the host chip can carry the identifiers described above to replicate information to each device in the link.
[0450] In an exemplary embodiment, the method provided in this application further includes: a first device sending first status information to a second device, the first status information indicating the completion status of the LT process or the AN process.
[0451] For example, a first device sends a command (such as a second frame) to a second device. After the second device performs an AN (Answer-Alternate) or LT (Long-Terminal) procedure based on the second frame, it returns status information to the first device using the method described above. Then, the first device performs the AN or LT procedure locally based on the status information returned by the second device, obtaining first status information indicating the completion status of the LT or AN procedure. The first device can then send the first status information to the second device, allowing the second device to determine that the first device has completed the LT or AN procedure. In one example, the second device can return status information to the first device multiple times. Each time the second device returns status information, the first device performs the AN or LT procedure locally based on the returned status information and sends the first status information to the second device. In another example, the second device returns status information to the first device, and the first device performs one or more AN or LT procedures locally based on the returned status information. Each time the first device performs the AN or LT procedure locally, it sends the first status information to the second device.
[0452] In an exemplary embodiment, the method provided in this application further includes: a first device sending second status information to a second device, the second status information indicating the frame-locking state of the first device.
[0453] For example, when the LT process is implemented between the first device and the second device, if the first device completes frame locking, it can send second status information to the second device. Since the second status information indicates the frame locking status of the first device, the second device can determine that the first device has locked the frame.
[0454] This application also provides a method for processing information. In this method, a first device sends two frames to a second device. The second frame is an AN frame or an LT frame. The second frame includes a first domain segment corresponding to the first device. The first domain segment includes status information, which indicates whether the first device is performing an AN or LT state. Exemplarily, the status information includes at least one of the first or second status information described above, which will not be elaborated here.
[0455] In one example, the first field segment also includes identification information that identifies the first device, such as the identifier of the first device described above. The second device determines, based on the identification information, that the status information included in the first field segment is the status information of the first device, and thus determines the state of the first device executing the AN process or the LT process based on the status information.
[0456] In another example, the second frame includes multiple domain segments, each corresponding to a specific device. These devices include the first device and other devices between the first and second devices. The second device determines the correspondence between the domain segments and the devices, identifies the first domain segment corresponding to the first device based on this correspondence, and determines that the status information included in the first domain segment is the status information of the first device. Based on this status information, the state of the first device executing the AN or LT process is determined. For example, the second frame includes control fields and status fields for each device. The status fields may include status information (or can be expanded to include negotiation results, diagnostic information, etc.). The corresponding device is determined based on the positions of the control fields and status fields, with each device corresponding to one control field and one status field. For example, the second device identifies the first device through control field 1 and status field 1.
[0457] In another example, the first domain segment includes multiple bits, with multiple devices each corresponding to at least one bit from these multiple bits. Different devices correspond to different bits. The multiple devices include the first device and other devices between the first and second devices. The second device determines the correspondence between the bits and devices, and based on this correspondence, determines the corresponding bit of the first device in the first domain segment. The bit corresponding to the first device carries status information (indicating the state of the first device performing AN or LT, which can also be extended to negotiation results, diagnostic information, etc.). The second device determines the state of the first device performing the AN or LT process based on the status information carried by the bit corresponding to the first device. For example, the second frame includes a control field and a status field shared by all devices. The position of the bits in the status field is used to indicate the corresponding device. For example, the second device identifies the first device by a bit 1 in the status field.
[0458] In one possible implementation, this application embodiment also provides an independent message sequence and training sequence. The first frame provided by this application embodiment supports online and offline modes and is flexibly grouped and constructed through messages and training sequences. Based on the first frame, a method for online management of optoelectronic interfaces is designed to support online status monitoring, fault diagnosis, retraining, and recovery of the interface.
[0459] Among them, the message sequence in online mode uses the standard defined PCS controlBlock (such as O code) / AM word / Ethernet message to extend the online real-time transmission of device, link and parameter configuration information, supports reading and writing optical module status and configuration information through CMIS interface, and can achieve lossless service perception by controlling the message sequence insertion period.
[0460] In offline mode, message sequences can be used to communicate between fault-isolated lanes in the interface using AN or LT frames defined by the protocol, or online mode message sequences can be used to transmit control and status messages for offline lanes (fault isolation) based on normally operating lanes.
[0461] The online training sequence uses standard-defined PCS control blocks (such as O codes) / AM words / Ethernet messages for extended carrying. It supports embedding PRBS or custom test codes, or directly using normal service messages and PCS data blocks as training sequences. Based on the training sequence, optoelectronic devices measure link status information such as OMA, SNR, and BER online in real time and continuously monitor hardware environment information such as voltage, temperature, and power consumption. It supports reading optical module status information through the CMIS interface. By controlling the insertion period of the training sequence, lossless service perception can be achieved.
[0462] The offline training sequence supports parameter training using LT frames defined by the current protocol standard, such as high-speed code patterns, supporting N RZ / PAM4 / PreCoding; it also supports embedding PRBS (which can reduce or increase the transmission and reception speed by x times) or specific custom code patterns to evaluate end-to-end link bit error rate, insertion loss, return loss, impedance discontinuity location and other indicators, and supports link fault diagnosis; it supports embedding LF / RF or other PCS control code blocks to evaluate end-to-end link bit error rate before and after FEC correction (Burst Error Distribution, FEC Gain) and other indicators.
[0463] Furthermore, the method provided in this application embodiment is based on training sequences. The optoelectronic device can measure link status information such as OMA, SNR, and BER online in real time and continuously monitor hardware environment information such as voltage, temperature, and energy consumption. It supports reading optical module status information through the CMIS interface, and offline lanes can also use online mode to train sequences.
[0464] Furthermore, the aforementioned message sequence and online sequence are independent, supporting NextPage expansion. The interface supports online and offline modes, flexibly grouping control frames (x*message sequence + y*training sequence) to achieve a flexible online interface management process (real-time online detection and control of specified objects across the entire optoelectronic link). In this embodiment, the values of x and y are not limited and can be flexibly set based on the scenario.
[0465] This application also provides a method for online management of optoelectronic interfaces based on the first frame, such as... Figure 58The diagram illustrates a communication system where the first device (local) is connected to the second device (remote) via a local optical module and a remote optical module via optical fiber. The wavelength can be λ1, λ2, λ3, or λ4. The local host chip of the first device is connected to the local optical module via lane0-lane3, and the remote optical module is connected to the remote host chip via lane0-lane3. Figure 59 As shown, it supports online interface status monitoring, fault isolation and diagnosis, retraining, and recovery. It not only supports online real-time full-link and segmented status detection of optoelectronics, but also supports obtaining optical module information based on the Segment Pointer in-band and out-of-band coordination mechanism. Furthermore, after fault lane isolation, the impact on services is reduced through flow control and retransmission mechanisms. Based on the Segment Pointer mechanism, it can control the offline lane transmit and receive training sequences (or switch to loopback or other working modes) through in-band and out-of-band message sequences (using the aforementioned online or offline message sequences), and record fault lane information, achieving online fault hierarchical and segmented diagnosis.
[0466] In this embodiment of the application, after fault diagnosis, the Segment Pointer mechanism can be used to control the offline lane to re-execute link training (photoelectric parameter ReTraining) through in-band and out-of-band message sequences. For example, the above-mentioned online or offline message sequences can be used. By setting the retraining completion conditions, the online fault lane can be retrained in a hierarchical and segmented manner and resources can be recycled, which can effectively improve the lane fault recovery efficiency and photoelectric interface reliability.
[0467] In one possible implementation, it supports flexible combination of online and offline training sequences and message sequences, and achieves flexible process control based on compatibility with existing protocols; it supports active resource management based on energy efficiency (dynamic lane online / offline energy saving), and also supports passive triggering based on faults (status monitoring, fault lane isolation diagnosis, retraining and fault recovery), to achieve online lane resource pooling management of optoelectronic interfaces.
[0468] The frame and communication method based on the Segment Pointer mechanism provided in this application can be used for online management of high-speed optoelectronic interfaces. It enables online real-time detection and control of the entire optoelectronic link status information and parameter configuration of the interface through pointers, thereby improving the operation and maintenance efficiency and network-level reliability of high-speed optoelectronic interfaces.
[0469] like Figure 60The diagram shows the dynamic allocation and management process of the Segment Pointer for the optoelectronic interface. The Segment Pointer for each interface of the device is dynamically allocated through topology negotiation during link establishment. The pointers for each interface are independent, and the device supports the dynamic allocation of pointers for each device within each interface in a globally (or within a set area) unique manner. For example, the pointer can be made unique within a specified domain by associating the interface MAC or IP address. The CPU or HostChip can use this pointer to distinguish different devices and communication objects within different interfaces.
[0470] In principle, the pointers of each device within the interface should not be equal. The HostChip can detect whether there is a conflict in the pointer allocation within the interface through the control frame. For example, during the link initialization, after topology negotiation and pointer allocation, the device information and the mapping relationship of the allocated pointers are checked. If multiple devices have the same pointer, the conflict is identified and can be restored by renegotiation and pointer allocation.
[0471] In addition, such as Figure 60 As shown, for scenarios where multiple interfaces are bound to one interface, or multiple physical lanes are within one interface, it supports the isolation of faulty interfaces or physical lanes, or the proactive energy efficiency management to shut down some interfaces or physical lanes. In this case, after the interface or physical lane is taken offline, the corresponding Segment Pointer can be reclaimed, or the pointer can be retained to prevent the interface or physical lane from coming back online. For bound interfaces using a single MAC address, different sub-interfaces and devices within the sub-interfaces can be specified through pointers.
[0472] In one possible implementation, segment pointers can be allocated by lane, for example, in interface breakout application scenarios, such as... Figure 60 The first device's local optical module 2 is shown. Its physical channel lane0 is connected to the second device's remote optical module 2, and its physical channel lane1 is connected to the third device's remote optical module 3. Then, the lane0 remote segment pointer of the first device's local optical module 2 is 2, and the lane1 remote segment pointer of the first device's local optical module 2 is 3.
[0473] Therefore, Segment Pointer supports dynamic allocation through control frames, making it suitable for scenarios such as dynamic changes in the topology of optoelectronic interface links.
[0474] This application also provides a link state adjustment device, which is applied to a first device in the topology. The first device and a second device in the topology are connected via a link. See [link to previous document]. Figure 61 The device includes:
[0475] The acquisition module 6101 is used to acquire the first frame during the data transmission phase. The first frame carries AN information or LT information.
[0476] The transmitting module 6102 is used to transmit a first frame to the second device, and the first frame is used by the second device to optimize the working state of the link according to AN information or LT information.
[0477] In one possible implementation, the first device includes a PCS layer, and the first frame at the PCS layer is an Ethernet frame. The control code in the Ethernet frame carries AN information or LT information. For example, the control code is an O code.
[0478] In one possible implementation, the first device includes an FEC layer, and the first frame at the FEC layer is an Ethernet frame, the control code of which carries AN information or LT information. For example, the control code is an AM codeword.
[0479] In one possible implementation, the first device includes a MAC layer and a PCS layer. The first device generates Ethernet packets at the MAC layer. The Ethernet packets carry AN information or LT information. The first frame is the Ethernet frame obtained when the Ethernet packets enter the PCS layer.
[0480] In one possible implementation, the Ethernet packet is an LLDP packet or a PTP packet.
[0481] In one possible implementation, AN information or LT information is used by a second device to optimize the performance of the link. The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
[0482] In one possible implementation, the AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the power-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the power-saving state.
[0483] In one possible implementation, the AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the status information of the link.
[0484] This application also provides a link state adjustment device, which is applied to a second device in the topology. The second device is connected to the first device in the topology via a link. See [link to previous document]. Figure 62 The device includes:
[0485] The receiving module 6201 is used to receive a first frame sent by the first device during the data transmission phase. The first frame carries AN information or LT information.
[0486] The acquisition module 6202 is used to acquire AN information or LT information from the first frame. The AN information or LT information is used by the second device to optimize the working status of the link.
[0487] In one possible implementation, the first device includes a PCS layer, and the first frame is an Ethernet frame at the PCS layer. The control code in the Ethernet frame carries AN information or LT information. The second device obtains the AN information or LT information from the first frame, including: the second device obtains the AN information or LT information from the control code in the Ethernet frame. For example, the control code is an O code.
[0488] In one possible implementation, the first device includes an FEC layer, and the first frame is an Ethernet frame at the FEC layer. The control code of the Ethernet frame carries AN information or LT information. The second device obtains the AN information or LT information from the first frame, including: the second device obtains the AN information or LT information from the control code in the Ethernet frame. For example, the control code is an AM codeword.
[0489] In one possible implementation, the first device includes a MAC layer and a PCS layer. The first device generates Ethernet packets at the MAC layer. The Ethernet packets carry AN information or LT information. The first frame is an Ethernet frame obtained by the Ethernet packets entering the PCS layer. The second device obtains AN information or LT information from the first frame, including: the second device obtains AN information or LT information from the Ethernet packets.
[0490] In one possible implementation, the Ethernet packet is an LLDP packet or a PTP packet.
[0491] In one possible implementation, AN information or LT information is used by a second device to optimize the performance of the link. The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
[0492] In one possible implementation, the AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the power-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the power-saving state.
[0493] In one possible implementation, the AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the status information of the link, or the first frame is used to announce the status information of the link based on an event trigger.
[0494] This application embodiment also provides a link state adjustment system, which includes a first device and a second device. The first device is used to execute any of the exemplary link state adjustment methods executed by the first device above, and the second device is used to execute any of the exemplary link state adjustment methods executed by the second device above.
[0495] This application also provides a communication device, which includes a transceiver and a processor. The transceiver is used to perform transmission and reception functions, and the processor is used to perform other functions besides transmission and reception functions, so that the communication device can implement any of the exemplary link state adjustment methods described above.
[0496] This application embodiment also provides a chip, which includes an interface circuit and a control circuit. The interface circuit is used to transmit and receive data, and the control circuit is used to process the data so that a first device with the chip installed can implement the link state adjustment method performed by the first device in any of the above-described examples, or so that a second device with the chip installed can implement the link state adjustment method performed by the second device in any of the above-described examples.
[0497] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to this application are generated, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk).
[0498] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items that have essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another.
[0499] In this application, the term "at least one" means one or more, and the term "multiple" means two or more; for example, multiple devices means two or more devices. The terms "system" and "network" are often used interchangeably herein.
[0500] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing the particular examples only and is not intended to be limiting. As used in the description of the various examples and in the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0501] The above description is merely an embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A method for adjusting link status, characterized in that, The method is applied to a first device in a topology, the first device being connected to a second device in the topology via a link, the method comprising: During the data transmission phase, the first device acquires the first frame, which carries either auto-negotiation AN information or link training LT information. The first device sends the first frame to the second device, and the first frame is used by the second device to optimize the working state of the link based on the AN information or LT information.
2. The method according to claim 1, characterized in that, The first device includes a Physical Coding Sublayer (PCS), and the first frame is an Ethernet frame in the PCS layer. The control code in the Ethernet frame carries the AN information or LT information.
3. The method according to claim 2, characterized in that, The control code is 0.
4. The method according to claim 1, characterized in that, The first device includes a forward error correction (FEC) layer, and the first frame is an Ethernet frame in the FEC layer. The control code of the Ethernet frame carries the AN information or LT information.
5. The method according to claim 4, characterized in that, The control code is an alignment marker AM codeword.
6. The method according to claim 1, characterized in that, The first device includes a Media Access Control (MAC) layer and a Physical Coding Sublayer (PCS) layer. The first device generates Ethernet packets at the MAC layer. The Ethernet packets carry the AN information or LT information. The first frame is the Ethernet frame obtained when the Ethernet packets enter the PCS layer.
7. The method according to claim 6, characterized in that, The Ethernet message is either a Link Layer Discovery Protocol (LLDP) message or a Precision Time Protocol (PTP) message.
8. The method according to any one of claims 1-7, characterized in that, The AN information or LT information is used by the second device to optimize the performance of the link. The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
9. The method according to any one of claims 1-7, characterized in that, The AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the energy-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the energy-saving state.
10. The method according to any one of claims 1-7, characterized in that, The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the status information of the link, or the first frame is used to announce the status information of the link based on event triggering.
11. A method for adjusting link status, characterized in that, The method is applied to a second device in the topology, the second device being connected to the first device in the topology via a link, the method comprising: During the data transmission phase, the second device receives the first frame sent by the first device, the first frame carrying auto-negotiation AN information or link training LT information. The second device obtains the AN information or the LT information from the first frame, and the AN information or LT information is used by the second device to optimize the working state of the link.
12. The method according to claim 11, characterized in that, The first device includes a Physical Coding Sublayer (PCS) layer, and the first frame is an Ethernet frame in the PCS layer. The control code in the Ethernet frame carries the AN information or LT information. The second device acquires the AN information or the LT information from the first frame, including: The second device obtains the AN information or the LT information from the control code in the Ethernet frame.
13. The method according to claim 12, characterized in that, The control code is 0.
14. The method according to claim 11, characterized in that, The first device includes a forward error correction (FEC) layer, and the first frame is an Ethernet frame in the FEC layer. The control code of the Ethernet frame carries the AN information or LT information. The second device acquires the AN information or the LT information from the first frame, including: The second device obtains the AN information or the LT information from the control code in the Ethernet frame.
15. The method according to claim 14, characterized in that, The control code is an alignment marker AM codeword.
16. The method according to claim 11, characterized in that, The first device includes a Media Access Control (MAC) layer and a Physical Coding Sublayer (PCS) layer. The first device generates Ethernet packets in the MAC layer. The Ethernet packets carry the AN information or LT information. The first frame is the Ethernet frame obtained when the Ethernet packets enter the PCS layer. The second device acquires the AN information or the LT information from the first frame, including: The second device obtains the AN information or the LT information from the Ethernet message.
17. The method according to claim 16, characterized in that, The Ethernet message is either a Link Layer Discovery Protocol (LLDP) message or a Precision Time Protocol (PTP) message.
18. The method according to any one of claims 11-17, characterized in that, The AN information or LT information is used by the second device to optimize the performance of the link. The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate.
19. The method according to any one of claims 11-17, characterized in that, The AN information or LT information includes channel identification information, which is used to trigger the channel corresponding to the channel identification information to enter the energy-saving state from the working state, or the channel identification information is used to trigger the channel corresponding to the channel identification information to enter the working state from the energy-saving state.
20. The method according to any one of claims 11-17, characterized in that, The AN information or LT information includes at least one of the following: delay, packet loss rate, signal-to-noise ratio, bit error rate, energy efficiency ratio, or retransmission rate. The first frame is used to periodically announce the status information of the link, or the first frame is used to announce the status information of the link based on event triggering.
21. A link state adjustment device, characterized in that, The device is applied to a first device in the topology, the first device being connected to a second device in the topology via a link, the device comprising: The acquisition module is used to acquire the first frame during the data transmission phase. The first frame carries auto-negotiation AN information or link training LT information. The transmitting module is used to transmit the first frame to the second device, and the first frame is used by the second device to optimize the working state of the link according to the AN information or LT information.
22. A link state adjustment device, characterized in that, The device is applied to a second device in the topology, the second device being connected to a first device in the topology via a link, the device comprising: The receiving module is used to receive the first frame sent by the first device during the data transmission phase. The first frame carries auto-negotiation AN information or link training LT information. The acquisition module is used to acquire the AN information or the LT information from the first frame, and the AN information or LT information is used by the second device to optimize the working state of the link.
23. A link state adjustment system, characterized in that, The system includes a first device and a second device, wherein the first device is used to perform the link state adjustment method according to any one of claims 1-10, or the second device is used to perform the link state adjustment method according to any one of claims 11-20.
24. A communication device, characterized in that, The communication device includes a transceiver and a processor. The transceiver is used to perform a transmitting and receiving function, and the processor is used to perform other functions besides the transmitting and receiving function, so that the communication device implements the link state adjustment method according to any one of claims 1-20.
25. A chip, characterized in that, The chip includes an interface circuit and a control circuit. The interface circuit is used to transmit and receive data, and the control circuit is used to process the data so that a first device with the chip installed can implement the link state adjustment method according to any one of claims 1-10, or so that a second device with the chip installed can implement the link state adjustment method according to any one of claims 11-20.