Communication interface and method for seamless data communication over a multi-lane communication link

The communication interface splits data frames into subframes across multiple lanes and adjusts transmission/reception based on lane status, addressing bandwidth limitations and ensuring seamless data communication in autonomous vehicles.

JP2026053331APending Publication Date: 2026-03-25YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-11-21
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Conventional high-speed automotive Ethernet standards using single twisted-pair cables face bandwidth limitations, leading to communication link failures and unreliable data transmission in autonomous vehicles, which can compromise safety and increase cable density.

Method used

A communication interface that splits data frames into subframes across multiple lanes, monitors lane status, and adjusts transmission/reception based on lane availability, ensuring seamless data communication even in the event of lane failures.

Benefits of technology

Maintains reliable and high-speed data communication between nodes in autonomous vehicles by adapting to lane failures, reducing latency and cable density while ensuring safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026053331000001_ABST
    Figure 2026053331000001_ABST
Patent Text Reader

Abstract

It provides a communication interface for use at the first end of a communication link that includes two or more communication lanes. [Solution] In the circuit architecture 200, the communication interface 110 includes logic 206 that cooperates with another communication interface 112 at the second end 204 of the communication link 106 to transmit data frames 208 to the second end via the communication lane 108. The logic stores the communication lane status for each of the communication lanes and when it detects that the communication lane status of a particular communication lane has changed to a definite status, transmits the changed communication lane status of the particular communication lane to the communication interface at the second end, and splits the data frame accordingly. The communication interface provides seamless data communication between the first end 202 and the second end of the communication link, even in the event of a lane failure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data communication, and more specifically, to communication interfaces used at both ends of a communication link, a communication network including the communication interfaces, and a method for seamless data communication via a multi-lane communication link.

Background Art

[0002] Generally, autonomous vehicles require high-speed (e.g., multi-gigabit) data communication links to transfer data from various sensors (e.g., camera 1, camera 2, RADAR, etc.) to a central processing unit (CPU). Typically, in-vehicle communication networks are used to communicate data between various sensors (or nodes) and from sensors to the CPU. Traditionally, high-speed automotive Ethernet standards have been used for multi-gigabit data communication between sensors and from sensors to the CPU. Conventional high-speed automotive Ethernet standards employ single twisted-pair cables. However, single twisted-pair cables have their own physical limitations in terms of bandwidth. Due to the physical limitations of single twisted-pair cables, single twisted-pair cables are not preferably used for multi-gigabit data communication. Multi-gigabit data communication handles high data rates exceeding 25 gigabits per second (Gbit / s). Therefore, multi-lane technology capable of transmitting a large number of gigabits is required as the backbone for communication with autonomous vehicles. In autonomous vehicles, multi-lane technology (or multi-gigabit communication technology) is related to safety. If any lane in a multi-lane technology fails, the entire communication link will subsequently cease to function. Furthermore, lane failures can lead to even more undesirable consequences. In a typical in-vehicle communication network, multiple cables are used to connect various sensors to each other and to the CPU. The use of multiple cables results in cable density, and cables contribute a significant portion of the total weight of a typical autonomous vehicle. Therefore, to alleviate cable density, multiple sensors are aggregated into typical switches. Multi-gigabit communication links are established between various typical switches and serve as the backbone of a typical in-vehicle network communication. In some cases, if any lane in a multi-gigabit communication link fails, communication may cease entirely.

[0003] Currently, in the event of a lane failure, some attempts have been made to maintain communication between various typical switches. For example, conventional methods are based on using large buffers in the physical (PHY) layer. However, conventional methods introduce extra latency into the overall communication. Furthermore, while conventional methods describe coding and the matching of received data at the receiver, they do not provide details on how coding is performed without affecting hardware and performance. Therefore, in the event of any lane failure, a technical problem arises: communication links are dropped, resulting in either no communication or faulty, unreliable communication between various typical switches in a typical automotive communication network.

[0004] Therefore, in light of the above discussion, it is necessary to overcome the aforementioned drawbacks associated with conventional methods of maintaining communication between various typical switches in the event of lane failures in multi-lane technology. [Overview of the Initiative]

[0005] This disclosure provides a communication interface for use at both ends of a communication link. Furthermore, this disclosure provides a communication network having a communication interface and a method for seamless data communication over a multi-lane communication link. This disclosure provides a solution to the existing problem of communication link drop in the event of a lane failure, resulting in either no communication or faulty, unreliable communication between various typical switches in a typical in-vehicle network. The object of this disclosure is to provide a solution that at least partially overcomes the problems encountered in the prior art and to provide an improved communication interface that provides seamless data communication at both ends of a communication link, even in the event of a lane failure. Furthermore, this disclosure provides a communication network having an improved communication interface that achieves perfect and reliable communication even in the event of a lane failure, and a method for seamless data communication over a multi-lane communication link.

[0006] One or more of the object of this disclosure is achieved by the solutions provided in the attached independent claims. A favorable implementation of this disclosure is further defined in the dependent claims.

[0007] In one aspect, it provides a communication interface for use at the first end of a communication link that includes two or more communication lanes. This communication interface includes logic configured to cooperate with another communication interface at the second end of the communication link to transmit data frames to the second end via the communication lanes, where transmitting a data frame includes splitting the data frame into a number of subframes corresponding to the number of communication lanes, and transmitting each subframe through one separate communication lane among the communication lanes. The logic is further configured to store the communication lane status for each communication lane, and when it detects that the communication lane status for a particular communication lane has changed to determined status, the logic is further configured to stop transmitting subframes through that particular communication lane. The logic is further configured to transmit the changed communication lane status of the particular communication lane to the communication interface at the second end, and to split any data frame into a number of subframes corresponding to the number of communication lanes that have a non-determined status, and transmit each subframe through one separate communication lane among the communication lanes that have a non-determined status.

[0008] The disclosed communication interface provides seamless data communication between the first and second ends of the communication link, even in the event of a lane failure. In addition, the logic in the communication interface is configured to periodically communicate the communication lane status (number of communication lanes) to each of the communication interfaces at the first and second ends of the communication link. If a failure is detected in any one of the multiple communication lanes, the logic immediately communicates the lane failure to each of the communication interfaces at the first and second ends and stops transmitting a number of data frame subframes through the failed lane. Furthermore, the logic is configured to shut down the gates and buffers corresponding to the failed lane and maintain communication between the two ends of the communication link through the remaining active communication lanes. Thus, each of the communication interfaces at the first and second ends exhibits lane failure safety and provides seamless data communication between the two ends of the communication link. However, data is transmitted at a partially reduced speed.

[0009] In one implementation, the logic is further configured to work with the communication interface at the second end of the communication link to receive data frames from the second end via the communication lanes. The received data frame is split into a number of received subframes corresponding to the number of communication lanes, where receiving the data frame includes receiving each of the subframes via one separate communication lane within the communication lane and merging the received subframes into the received data frame, where the logic is further configured to receive a confirmed status from the communication interface at the second end as the communication lane status of a given communication lane and to store the received confirmed status as the status of the given communication lane. The logic is further configured to stop receiving subframes via a given communication lane and to merge subframes received via a communication lane having a communication lane status that is not a confirmed status into the received data frame.

[0010] The communication interface at the first end is configured not only to receive data frames from the other communication interface at the second end, but also to transmit them. Similarly, the other communication interface at the second end is configured not only to transmit data frames to the communication interface at the first end, but also to receive them. Thus, full-duplex communication is maintained between the communication interface at the first end and the other communication interface at the second end.

[0011] In a further implementation, the communication interface further comprises, for each communication lane, a buffer configured to receive subframes transmitted through the communication lane to a corresponding buffer in the second-end communication interface, and a gate configured to open and close the input in the buffer of the subframes transmitted through the communication lane to the corresponding buffer in the second-end communication interface, wherein the logic is configured to control the gate according to the communication lane status of the communication lane.

[0012] By using buffers and gates corresponding to each communication lane, reliable and high-speed data communication can be achieved between the two ends of the communication link.

[0013] In a further implementation, a buffer is configured to receive subframes transmitted via a communication lane from a corresponding buffer in the second end's communication interface, a gate is configured to open and close the output of the subframes received via the communication lane, and logic is configured to control the gate according to the communication lane status of the communication lane.

[0014] In another aspect, the disclosure provides a communication network comprising a first node at the first end of a communication link and a second node at the second end of a communication link. The communication link comprises two or more communication lanes, and each of the first and second nodes comprises a communication interface.

[0015] The communication network provides seamless data communication between the first and second nodes, even in the event of lane failures in multiple lanes of the communication link between the first and second nodes. Seamless data communication is achieved by providing the disclosed communication interface at each of the first and second nodes.

[0016] In one implementation, the communication network is an in-vehicle communication network.

[0017] The in-vehicle communication network, along with multi-gigabit communication, enables seamless data communication even in the event of lane failures.

[0018] In yet another aspect, the Disclosure provides a communication method over a communication link having two or more communication lanes and having a first end and a second end. The method includes the step of transmitting a data frame from the first end to the second end over the communication lanes, wherein the step of transmitting the data frame includes the step of splitting the data frame into a number of subframes corresponding to the number of communication lanes, and the step of transmitting each of the subframes over one separate communication lane among the communication lanes. The method further includes the step of storing a communication lane status for each of the communication lanes at the first end, the step of detecting at the first end that the communication lane status for a particular communication lane has changed to a definite status, and when the first end detects that the communication lane status for a particular communication lane has changed to a definite status. The method further includes the step of stopping the transmission of subframes from the first end to the second end over the particular communication lane, and the step of transmitting the changed communication lane status of the particular communication lane from the first end to the second end. The method further includes the step at the first end of splitting an arbitrary data frame into a number of subframes corresponding to the number of communication lanes, each having a communication lane status that is not definitive, and transmitting each of the subframes to the second end via one separate communication lane from among the communication lanes, each having a communication lane status that is not definitive.

[0019] The disclosed method achieves all of the advantages and technical features of the communication interface of this disclosure.

[0020] It will be understood that all of the above-described implementation forms can be combined. Note that all devices, elements, circuits, units, and means described in this application can be implemented with software or hardware elements, or any combination thereof. All steps performed by the various entities described in this application, and the functionalities described as being performed by the various entities, are intended to mean that each entity is adapted or configured to perform its respective steps and functionalities. Even if, in the following descriptions of specific embodiments, a particular functionality or step performed by an external entity is not reflected in the description of a specific detailed element of that entity performing that particular step or functionality, it should be obvious to those skilled in the art that these methods and functionalities can be implemented with their respective software or hardware elements, or any combination thereof. It will be understood that the features of this disclosure can be combined in various combinations without departing from the scope of this disclosure as defined by the appended claims.

[0021] Further aspects, advantages, features, and objectives of this disclosure will become apparent from the illustrative implementation drawings and detailed description, which will be interpreted in connection with the appended claims below. [Brief explanation of the drawing]

[0022] The above summary and the following detailed description of exemplary embodiments will be better understood in conjunction with the accompanying drawings. For illustrative purposes, exemplary configurations of the disclosure are shown in the drawings. However, the disclosure is not limited to the specific methods and means disclosed herein. Furthermore, those skilled in the art will understand that the drawings are not scaled. Wherever possible, similar elements are shown with the same number.

[0023] Embodiments of the present disclosure are described merely by way of example with reference to the following drawings.

[0024] [Figure 1] A network environment showing seamless data communication between a first node disposed at a first end of a communication link and a second node disposed at a second end of the communication link according to an embodiment of the present disclosure.

[0025] [Figure 2] A diagram showing communication between various sub - blocks associated with the communication interfaces of a first node and a second node according to an embodiment of the present disclosure.

[0026] [Figure 3] A diagram showing communication between a first end and a second end of a communication link in a state where a lane is faulty according to an embodiment of the present disclosure.

[0027] [Figure 4A] A diagram showing the merging of a plurality of communication lanes without a fault scenario according to an embodiment of the present disclosure.

[0028] [Figure 4B] A diagram showing the merging of a plurality of communication lanes without a fault scenario according to another embodiment of the present disclosure.

[0029] [Figure 4C] A diagram showing an internal circuit of a 100 Gbit / s physical layer according to an embodiment of the present disclosure

[0030] [Figure 5A] A flowchart of a method of communication via a communication link including a plurality of communication lanes according to an embodiment of the present disclosure. [Figure 5B] A flowchart of a method of communication via a communication link including a plurality of communication lanes according to an embodiment of the present disclosure.

[0031] In the attached drawings, underlined numbers are used to indicate the item to which the underlined number is located, or the item to which the underlined number is adjacent. Ununderlined numbers are associated with the item identified by the line linking the ununderlined number to the item. If a number is not underlined and has an associated arrow, the ununderlined number is used to identify the general item that the arrow points to. [Modes for carrying out the invention]

[0032] The following detailed description illustrates embodiments of the Disclosure and methods by which they can be implemented. While several modes of implementing the Disclosure are disclosed, those skilled in the art will recognize that other embodiments for implementing or practicing the Disclosure are also possible.

[0033] Figure 1 shows a network environment illustrating seamless data communication between a first node located at the first end of a communication link and a second node located at the second end of the communication link, according to an embodiment of the present disclosure. Referring to Figure 1, a communication network 100 is shown, including a first node 102 and a second node 104. The first node 102 is located at the first end of a communication link 106, and the second node 104 is located at the second end of the communication link 106. The communication link 106 includes two or more communication lanes 108. The first node 102 and the second node 104 each have a communication interface 110 and another communication interface 112, respectively. A number of sensors, such as a first sensor 114A, a second sensor 114B, a third sensor 114C, and a fourth sensor 114D, are further shown, connected to the first node 102 and the second node 104. Furthermore, there is a communication link 116 between the second node 104 and an electronic control unit 118.

[0034] The communication network 100 provides seamless data communication between the first node 102 and the second node 104. The communication network 100 maintains communication between the first node 102 and the second node 104 even in the event of lane failures in multiple communication lanes 108 of the communication link 106. Conventionally, if any lane of multiple lanes failed, communication between typical nodes in a typical communication network would cease. Despite the lane failure, the communication network 100 provides communication between the first node 102 and the second node 104, albeit at a partially reduced data rate. In one implementation, the communication network 100 is an in-vehicle communication network. As an in-vehicle communication network, the communication network 100 includes a first node 102 having a communication interface 110, a second node 104 having another communication interface 112, and a medium (wired, wireless, or optical) for various control units or components, such as multiple sensors and an electronic control unit 118, to communicate with each other. Examples of wired and wireless communication protocols for communication network 100 may include, but are not limited to, Vehicle Area Network (VAN), CAN bus, Domestic Digital Bus (D2B), Time Trigger Protocol (TTP), FlexRay, IEEE 1394, Inter-Integrated Circuit (I2C), Inter-Equipment Bus (IEBus), SAE J1708, SAE J1939, ISO 11992, ISO 11783, Media-Oriented System Transport (MOST), MOST25, MOST50, MOST150, Plastic Optical Fiber (POF), Power Line Communication (PLC), Serial Peripheral Interface (SPI) bus and / or Local Interconnection Network (LIN).

[0035] Each of the first node 102 and the second node 104 corresponds to a switch. For example, the first node 102 may also be called the first switch (also denoted as SW1), and the second node 104 may also be called the second switch (also denoted as SW2). Other examples of the first node 102 and the second node 104, but not limited to these, may include local area network switches (LAN-SWs), routers, transmitters, receivers, transmitting devices, receiving devices, and transceivers.

[0036] The first node 102 and the second node 104 are located at the first and second ends of the communication link 106, respectively. The communication link 106 is a full-duplex link. This means that each of the first node 102 and the second node 104 can be configured to simultaneously send and receive data over the communication link 106. Furthermore, the communication link 106 between the first node 102 and the second node 104 can be wired, wireless, or essentially optical, depending on the use case. The communication link 106 between the first node 102 and the second node 104 is a multi-lane communication link, and therefore the communication link 106 can provide any data rate of 25 Gbit / s, 50 Gbit / s, 100 Gbit / s, or more than 100 Gbit / s. In the communication network 100, the communication link 106 includes four communication lanes 108. Therefore, the communication network 100 provides a data rate of 100 Gbit / s over the communication link 106. However, in other implementations, the number of communication lanes 108 may range up to N lanes. Examples of communication links 106 may include, but are not limited to, wireless fidelity (Wi-Fi) communication links, local area network (LAN) communication links, wireless personal area network (WPAN) communication links, wireless local area network (WLAN) communication links, wireless wide area network (WWAN) communication links, cloud network communication links, long-term evolution (LTE) network communication links, metropolitan area network (MAN) communication links, and / or the Internet.

[0037] The first node 102 and the second node 104 each include a communication interface 110 and another communication interface 112. The communication interface 110 of the first node 102 is configured to cooperate with the other communication interface 112 of the second node 104 to transmit data frames over a communication link 106, as described in detail, for example, in Figure 2. Examples of each of the communication interface 110 and the other communication interface 112 may include, but are not limited to, an antenna, a telematics unit, a radio frequency (RF) transceiver, one or more amplifiers, one or more oscillators, a digital signal processor, a coder / decoder (CODEC) chipset and / or a subscriber identification module (SIM) card.

[0038] In the communication network 100, each of the first sensor 114A, second sensor 114B, and fourth sensor 114D is connected to the first node 102, and the third sensor 114C is connected to the second node 104. Each of the first sensor 114A, second sensor 114B, third sensor 114C, and fourth sensor 114D is connected to the physical layer of the first node 102 and the second node 104. For example, each of the first sensor 114A, second sensor 114B, and fourth sensor 114D is connected to the physical layer of the first node 102 (denoted as P1, P2, and P4, respectively), and each connection provides a data rate of 25 Gbit / s. Similarly, the third sensor 114C is connected to the physical layer of the second node 104 (sometimes denoted as P3), and provides a data rate of 25 Gbit / s. The first node 102 and the second node 104 are connected to each other via a communication link 106 between the physical layers (P3, P1) of the first node 102 and the second node 104. Examples of each of the first sensor 114A, the second sensor 114B, the third sensor 114C, and the fourth sensor 114D, but not limited to these, may include camera 1, camera 2, radio detection and ranging (RADAR), light detection and ranging (LiDAR), global navigation satellite system (GNSS) receiver, dashcam, etc.

[0039] The communication link 116 between the second node 104 and the electronic control unit 118 corresponds to the communication link 106 between the first node 102 and the second node 104. The electronic control unit 118 includes appropriate logic, circuitry, interfaces, and / or code configured to monitor and optimize the performance of multiple sensors in response to data received from the first node 102 and the second node 104.

[0040] Figure 2 illustrates communication between various subblocks associated with the communication interfaces of the first and second nodes according to embodiments of the present disclosure. Figure 2 is described in relation to the elements of Figure 1. Referring to Figure 2, a circuit architecture 200 is shown illustrating communication between various subblocks associated with the communication interface 110 of the first node 102 and another communication interface 112 of the second node 104 of the communication network 100 (in Figure 1). The circuit architecture 200 shows that the communication interface 110 is configured for use at the first end 202 of the communication link 106, and the other communication interface 112 is configured for use at the second end 204 of the communication link 106. The communication interface 110 includes logic 206. A data frame 208 received from the Medium Access Control (MAC) layer is further shown. The first end 202 and the second end 204 of the communication link 106 and the logic 206 of the communication interface 110 are represented by dashed boxes, which are used for illustrative purposes only and do not form part of the circuit.

[0041] Each of the communication interface 110 and the other communication interface 112 includes a physical coding sublayer (PCS) and a physical media attachment (PMA). The PCS in communication interface 110 includes a transcoder 210, a demultiplexer 212 having multiple gates 214, multiple buffers 216, and pipe data representing multiple subframes 218. Similarly, the PCS in the other communication interface 112 includes a transdecoder 220, a multipleplexer 222 having multiple gates 224, multiple buffers 226, and pipe data representing multiple subframes 228. The PMA in communication interface 110 includes forward error correction (FEC), with one FEC encoder (FEC-EN) and one FEC decoder (FEC-DEC) 230 for each communication lane, and a transmitter-receiver analog front end (TX / RX-AFE) 232. Similarly, the PMA in the other communication interface 112 includes forward error correction (FEC), with one FEC encoder (FEC-EN) and one FEC decoder (FEC-DEC) 234 for each communication lane, and a transmitter-receiver analog front end (TX / RX-AFE) 236. A physical health register 238 is further shown, which is accessible to both the PCS and PMA of each of the communication interface 110 and the other communication interface 112. Each of the multiple gates 214, the multiple buffers 216 in the PCS of the communication interface 110, and the multiple gates 224 in the PCS of the other communication interface 110 are represented by dashed boxes, which are used for illustrative purposes only and do not form part of the circuit.

[0042] This disclosure provides a communication interface 110 for use at the first end 202 of a communication link 106 that includes two or more communication lanes 108. The communication interface 110 comprises logic 206 configured to cooperate with another communication interface 112 at the second end 204 of the communication link 106 to transmit data frames 208 to the second end 204 via the communication lanes 108, where transmitting the data frames 208 includes splitting the data frames into a number of subframes 218 corresponding to the number of communication lanes 108, and transmitting each of the subframes 218 via one separate communication lane among the communication lanes 108. The communication interface 110 at the first node 102 (in Figure 1) is configured for use at the first end 202 of the communication link 106. The communication link 106 includes multiple communication lanes 108 ranging from up to N. Thus, the communication link 106 is referred to as a multi-lane communication link. Furthermore, the logic 206 of the communication interface 110 is configured to work with other communication interfaces 112 at the second node 104 (in Figure 1) at the second end 204 of the communication link 106 to transmit the data frame 208 received from the MAC layer to the second end 204 via multiple communication lanes 108. Before transmitting the data frame 208 to the second end 204 of the communication link 106, the data frame 208 is split into a number of subframes 218 corresponding to the number of communication lanes 108. For example, if the number of communication lanes 108 is N, the data frame 208 is split into N subframes, and each subframe is transmitted via one separate communication lane among the multiple communication lanes 108.

[0043] Examples of logic 206 may include, but are not limited to, microcontrollers, microprocessors, central processing units (CPUs), complex instruction set computing (CISC) processors, application-specific integrated circuit (ASIC) processors, reduced instruction set (RISC) processors, very long instruction word (VLIW) processors, data processing units, and other processors or control circuits.

[0044] According to one embodiment, the communication interface 110 further includes, for each communication lane, a buffer configured to receive subframes transmitted through the communication lane to a corresponding buffer in the communication interface 112 of the second end 204, and a gate configured to open and close the input in the buffer of the subframes transmitted through the communication lane to the corresponding buffer in the communication interface 112 of the second end 204, wherein the logic 206 is configured to control the gate according to the communication lane status of the communication lane. After dividing the data frame 208 into a plurality of subframes 218, each subframe is passed to a buffer provided by the communication interface 110. The buffer corresponds to one of a plurality of buffers 216. The number of buffers 216 is proportional to the number of communication lanes 108. Each buffer in the plurality of buffers 216 is configured to transmit the received subframe to a corresponding buffer provided by the communication interface 112 of the second end 204 of the communication link 106 via one communication lane. In addition to the plurality of buffers 216, the communication interface 110 includes a plurality of gates 214. Each of the multiple gates 214 is configured to open or close an input in a subframe buffer, which will be transmitted over one of the multiple communication lanes 108. The subframe is sent to the corresponding buffer in the communication interface 112 of the second end 204 of the communication link 106. The logic 206 of the communication interface 110 is configured to control each of the multiple gates 214 depending on the operational status of the multiple communication lanes 108.

[0045] Logic 206 is further configured to store the communication lane status for each of the communication lanes 108 when it detects that the communication lane status for a particular communication lane has changed to a definite status. Logic 206 is further configured to stop transmitting subframes over the particular communication lane and to transmit the changed communication lane status of the particular communication lane to the communication interface 112 of the second end 204. Logic 206 is further configured to split an arbitrary data frame into a number of subframes corresponding to the number of communication lanes that have a non-definite status, and to transmit each of the subframes over one separate communication lane among the communication lanes that have a non-definite status. Logic 206 is configured to store the communication lane status for each of the multiple communication lanes 108 in the communication link 106. For example, when it is detected that the communication lane status of a particular communication lane (e.g., lane 1) has changed to a definite status (or fault status). In that case, logic 206 is further configured to stop transmitting subframes over that particular communication lane (i.e., lane 1). Logic 206 is further configured to communicate the changed communication lane status (i.e., failure) of a particular communication lane (i.e., lane 1) to other communication interfaces 112 at the second end 204 of communication link 106. Thus, in the event of a failure of a particular communication lane (i.e., lane 1), the number of communication lanes 108 available to send subframes to other communication interfaces 112 decreases, resulting in a reduced data rate. Furthermore, logic 206 is further configured to split the data frame into a number of subframes corresponding to the number of communication lanes 108 that are active at that time. Logic 206 is further configured to send each of the subframes through one separate communication lane among the multiple communication lanes 108 that are active at that time.Thus, despite a failure in a specific communication lane (i.e., lane 1), the logic 206 in communication interface 110 maintains seamless data communication between communication interface 110 at the first end 202 of communication link 106 and the other communication interface 112 at the second end 204. An exemplary scenario of seamless data communication with a failed communication lane is described in detail, for example, in Figure 3.

[0046] During operation, the communication interface 110 is configured such that the transcoder 210 adds the first few bits for control purposes into the data frame 208 received from the MAC layer. The data frame 208 is a fixed-size data frame. Depending on the number of communication lanes 108 that are active at the same time, the output of the transcoder 210 is gated 214 (G1, G2, G3, ..., G) by the use of the demultiplexer 212. n It is divided into an equal number of subframes proportional to the number of gates 214 (also written as ). For example, if the number of gates 214 that are functioning simultaneously is 4, then the number of subframes 218 will also be equal to 4. When one of the subframes 218 enters one of the buffers 216, the index T knEncoded by, where k is the gate ID that allows the subframe to enter the buffer, and n is the frame ID. The data frame 208 is an integer and can be reset and iterated over after an overflow. Logic 206 (e.g., a controller) is configured to open a number of gates 214, starting with a first gate (or G1), then logic 206 moves on to open a second gate (G2), and so on. For example, a first transcoder block (also denoted as T11, T12, T13, ..., T1n, with multiple subframes F1, F2, F3, ..., Fn) passes through the first gate (i.e., G1), a second transcoder block (also denoted as T21, T22, T23, ..., T2n, with multiple subframes F1, F2, F3, ..., Fn) passes through the second gate (i.e., G2), and so on. When each of the multiple buffers 216 is filled with data, the data is then moved to Forward Error Correction (FEC) in the PMA of the communication interface 110 at the first end 202 of the communication link 106. The size of each of the multiple buffers 216 is equal to the FEC frame input. FEC includes both FEC encoding and FEC decoding using an FEC encoder (FEC-EN) and an FEC decoder (FEC-DEC), respectively. An Operation, Administration, and Management (OAM) frame is further shown as input to the FEC-EN 230, meaning that the OAM is attached to the FEC frame while the FEC frame is encoded in the communication interface 110. Thus, the FEC-EN 230 encodes each of the multiple subframes 218 into its frame along with the OAM message. After FEC coding, the coded bits are mapped to symbols as part of line coding and transmitted to the other communication interface 112 of the second end 204 of communication link 106 using the transmitter analog front end (TX-AFE) 232.The communication interface 110 within the PCS block further shows encoded OAM messages, which include two types of messages: common messages common to all lanes and lane-specific messages specific to only a particular lane.

[0047] In circuit architecture 200, communication between communication interface 110 and other communication interface 112 is symmetric and bidirectional data communication, and is therefore also called full-duplex communication. Furthermore, to facilitate high data rates, circuit architecture 200 shows various link partners of communication link 106 in the physical layer and their associated subblocks for communication between the first node 102 and the second node 104 (in Figure 1). Communication between the first node 102 and the second node 104 is symmetric and bidirectional communication, and therefore all links are enabled at both ends of communication link 106. To facilitate symmetric bidirectional data communication, each of communication interface 110 and the other communication interface 112 is configured to function as a transmitter and receiver, or more appropriately, as a transceiver. Therefore, in circuit architecture 200, each of communication interface 110 and the other communication interface 112 is configured to function as a transceiver. Therefore, the communication interface 110 (or transceiver) can transmit the data frame 208 to the other communication interface 112 by splitting the data frame 208 into multiple subframes 218, and can also receive multiple subframes of the data frame from the other communication interface 112 and further merge the multiple subframes itself. In another implementation, the communication interface 110 (or transmitter) may be configured to transmit the data frame to the other communication interface 112 (or receiver), and the other communication interface 112 (or receiver) may be configured to receive multiple subframes of the data frame and merge them in order to acquire the data frame.

[0048] According to one embodiment, logic 206 is further configured to cooperate with a communication interface 112 at a second end 204 of a communication link 106 to receive a data frame from the second end 204 via a communication lane 108. The received data frame is split into a plurality of received subframes corresponding to the number of communication lanes 108, where receiving the data frame includes receiving each of the subframes via one separate communication lane among these communication lanes and merging the received subframes into the received data frame, where logic 206 is further configured to receive a confirmed status from the communication interface 112 of the second end 204 as the communication lane status of a given communication lane, and to store the received confirmed status as the status of the given communication lane. Logic 206 is further configured to stop receiving subframes via a given communication lane and to merge subframes received via a communication lane having a communication lane status that is not a confirmed status into the received data frame. In one implementation, the communication interface 110 on the first end 202 is configured to function as a receiver, and the other communication interface 112 on the second end 204 is configured to function as a transmitter. In such an implementation, the communication interface 110 is configured to receive data frames from the other communication interface 112 on the second end 204 of the communication link 106. The received data frame is split into a number of received subframes (e.g., F1, F2, F3, ..., Fn) proportional to the number of communication lanes 108. The multiple received subframes are processed by the RX-AFE 232 and then FEC decoded using the FEC-DEC 230 of the communication interface 110. After FEC decoding, the FEC data and OAM message are separated, and the OAM message proceeds to the decoded OAM block. The message bits from the decoded OAM block are stored in memory or registers, for example, in the corresponding space in the physical health register 238.The physical health register 238 is configured to store identification of the local and remote physical layers (e.g., the physical layers of the first end 202 and the second end 204 of communication link 106), the status of communication link 106 (e.g., signal-to-noise ratio, SNR, bit error rate, BER), cable health (e.g., open or short), FEC errors and scrambler, and the number of communication lanes 108 operating simultaneously. The FEC decoded data proceeds to each buffer corresponding to a specific communication lane and is then passed to the transcoder 210 (which may also function as a transdecoder) to remove any added control bits. The received data is then passed to the MAC via the MAC interface (e.g., the MII interface). The order in which the multiple gates 214 are opened is the same as the order in which the data frame 208 was transmitted. The associated OAM message is interpreted locally after decoding and stored in the physical health register 238. Furthermore, appropriate actions are taken based on the OAM message as needed. In the process of receiving multiple subframes, each subframe is received in one separate communication lane out of the multiple communication lanes 108. After receiving each subframe from the second terminal 204, the number of received subframes is merged into a received data frame. To receive each subframe, logic 206 is configured to receive the confirmed (i.e., failed) status of a given communication lane, if any, from other communication interfaces 112 on the second terminal 204. In the case of a failed communication lane, logic 206 is further configured to stop receiving subframes through the failed communication lane and merge subframes received through healthy communication lanes in order to ensure that a received data frame is obtained.

[0049] In an alternative implementation, another communication interface 112 on the second end 204 can be configured to receive data frames from the communication interface 110 on the first end 202 of the communication link 106. The received data frame is split into multiple subframes, and the other communication interface 112 is configured to receive each subframe via one separate communication lane among multiple communication lanes 108. The received multiple subframes are processed by the RX-AFE 236 and then FEC-decoded by the use of the FEC-DEC 234 on the other communication interface 112. After FEC decoding, the FEC-decoded data proceeds to each of the multiple buffers 226 corresponding to a specific communication lane, and is later passed to the transdecoder 220 to remove any added control bits. The received data is then passed to the MAC via the MAC interface (e.g., Media Independent Interface, MII). The order in which the multiple gates 224 are opened remains the same as when the data frame 208 was transmitted at the communication interface 110. The associated OAM message is interpreted locally after decoding and stored in the physical health register 238. Thus, each of the communication interface 110 and the other communication interface 112 is configured to function as a transceiver.

[0050] In one embodiment, a buffer is configured to receive subframes transmitted via a communication lane from a corresponding buffer in the communication interface 112 of the second end 204, a gate is configured to open and close the output of the subframes received via the communication lane, and logic 206 is configured to control the gates according to the communication lane status of the communication lane. In one implementation, the communication interface 110 of the first end 202 is configured to function as a receiver, and the other communication interface 112 of the second end 204 is configured to function as a transmitter. In such an implementation, each of the plurality of buffers 216 is configured to receive subframes transmitted by the corresponding buffer in the communication interface 112 of the second end 204 of the communication link 106. As a result, each of the plurality of gates 214 is configured to open and close the output of the subframes received via a communication lane among the plurality of communication lanes 108. Logic 206 is further configured to control each of the plurality of gates 214 according to the status (functional or non-functional) of the plurality of communication lanes 108.

[0051] Therefore, the communication interface 110 provides seamless data communication between the first node 102 and the second node 104 of the communication network 100, even in the event of a lane failure. In addition, the logic 206 of the communication interface 110 is configured to periodically communicate the communication lane status of the multiple communication lanes 108 to each of the other communication interfaces 112 at the first end 202 and the second end 204 of the communication link 106. If a failure is detected in any one of the multiple communication lanes 108, the logic 206 immediately communicates the lane failure to each of the communication interfaces 110 and the other communication interfaces 112 by using a "common message" of OAM messages, and stops the transmission (or reception) of multiple subframes 218 of the data frame 208 through the failed lane. Furthermore, the logic 206 is configured to shut down the gate and buffer corresponding to the failed lane and maintain communication between both ends of the communication link 106 through the remaining communication lanes that are active at that time. Therefore, the communication interface 110 provides safety against lane failures and ensures seamless data communication between both ends of the communication link 106. However, the data is transmitted at a partially reduced speed. Thus, the communication interface 110 could be part of an IEEE standard, currently defined as IEEE 802.3cy, to provide different data speeds such as 25 Gbps, 50 Gbps, or 100 Gbps.

[0052] Figure 3 illustrates seamless communication between a first and second end of a communication link with a faulty lane, according to an embodiment of the present disclosure. Figure 3 is described in relation to elements from Figures 1 and 2. Referring to Figure 3, a circuit architecture 300 is shown illustrating seamless communication between a first end 202 and a second end 204 of a communication link 106, which includes a faulty communication lane among a plurality of communication lanes 108.

[0053] The number of communication lanes 108 includes N communication lanes, such as lane 1, lane 2, lane 3, ..., lane N. Initially, all of the communication lanes 108 (i.e., lane 1, lane 2, lane 3, ..., lane N) are in operation mode, and a data frame (e.g., data frame 208) is transmitted from the communication interface 110 of the first end 202 of the communication link 106 to the other communication interface 112 of the second end 204. Similarly, a data frame may be transmitted from the other communication interface 112 of the second end 204 of the communication link 106 to the communication interface 110 of the first end 202. Along with data communication, the logic 206 of the communication interface 110 is configured to identify when the status of any of the communication lanes 108 has changed to a definite status (or fault status). After detection, lane 1 is detected as a faulty lane. Subsequently, the logic 206 is configured to communicate the changed (i.e., faulty) status of lane 1 to the other communication interface 112 of the second end 204. Information regarding the changed (i.e., failed) status of lane 1 is communicated to the communication interface 110 on the first end 202 of communication link 106, as well as to the other communication interface 112 on the second end 204, by using the "common message" field of the OAM message. Thus, each of the communication interfaces 110 and the other 112 agrees that lane 1 is failed and therefore needs to shut down the corresponding gate (e.g., G1) in each of the communication interfaces 110 and the other 112. In addition, the MAC layer in each of the communication interfaces 110 and the other 112 is notified bidirectionally via the MAC interface (e.g., MII interface) that the link capacity is degraded. In circuit architecture 300, lane 1 is failed, but the remaining lanes such as lane 2, lane 3, ..., lane N are still operational.After communication of the fault lane status of lane 1 between both ends of communication link 106, multiple subframes of the data frame (e.g., data frame 208) received from the MAC layer at communication interface 110 are sent from gate 2 (also denoted as G2) to gate n (G2). n The process begins to enter each of the multiple buffers 216 up to (also written as), and this process is repeated again from gate 2 (i.e., G2). In fact, if lane 1 fails, the transcoder 210 will enter the remaining buffers that are still operating (i.e., T 2n ,...,T kn ) is configured to provide a number of subframes corresponding to the gate 1 (G1). In the transcoder 210, dummy data is embedded in the space corresponding to the currently non-functional gate 1 (G1), and then the dummy data is ignored. This further leads to correct decoding at the receiver (or other communication interface 112). In this way, the physical layer at each of the communication interfaces 110 and the other communication interfaces 112 is configured to maintain the status and availability of the communication lanes through OAM messages. Furthermore, as long as one lane is failing, free communication seamlessly takes place between both ends of the communication link 106 (i.e., the first end 202 and the second end 204) at a partially reduced speed.

[0054] Figure 4A illustrates the merging of multiple communication lanes without a failure scenario according to an embodiment of the present disclosure. Figure 4A is described in relation to elements from Figures 1, 2, and 3. Referring to Figure 4A, an implementation scenario 400A is shown that demonstrates the merging of multiple communication lanes without a failure. Implementation scenario 400A includes a gateway device 402 which includes a local area network switch (LAN SW) 404. The LAN SW 404 is connected to a 100 Gbit / s physical layer 406 (also referred to as 100G PHY) via multiple communication lanes 408. The gateway device 402 is further connected to multiple sensors 410 via twisted-pair cables, providing each sensor with a bandwidth of 25 gigabits / second.

[0055] The gateway device 402 includes appropriate logic, circuitry, interfaces, or code configured to provide variable bandwidth in response to data traffic demands. The gateway device 402 may also be an Ethernet gateway device. Generally, a gateway device can be defined as a “gate” between two nodes in a communication network. The gateway device 402 corresponds to a hardware device, and examples of gateway device 402 include, but are not limited to, routers, firewalls, servers, or any other hardware device that enables the flow of traffic within and outside the communication network (e.g., communication network 100).

[0056] LAN SW404 corresponds to either the first node 102 or the second node 104 of the communication network 100 (in Figure 1). LAN SW404 is sometimes also called an Ethernet switch. Generally, a LAN SW can be defined as an Internet Protocol (IP) based Ethernet switch that flexibly connects transmitters and receivers over a communication network. LAN SWs are used to extend local area networks between different platforms, supporting not only multiple simultaneous transmissions but also reading the destination address of each data and transferring the data to the target device.

[0057] The 100 Gbit / s physical layer 406 can be the physical layer of either the communication interface 110 used on the first end 202 of the communication link 106 or another communication interface 112 used on the second end 204.

[0058] Each of the multiple communication lanes 408 is configured to connect the LAN SW 404 to the 100 Gbit / s physical layer 406 via an MII interface. The multiple communication lanes 408 include four communication lanes that support full-duplex communication. The number of communication lanes 408 corresponds to the number of communication lanes 108 provided by the communication link 106 (in Figure 1). Each of the multiple communication lanes 408 transmits 25 Gbit / s and has an operating mode status. In other words, in implementation scenario 400A, none of the multiple communication lanes 408 are faulty. Therefore, the gateway device 402 can provide multiple sensors 410 with variable bandwidth such as 25 Gbit / s, 50 Gbit / s, 75 Gbit / s, or 100 Gbit / s by merging one or more of the multiple communication lanes 408 with each other. Multiple sensors 410 correspond to one or more of the first sensor 114A, second sensor 114B, third sensor 114C, and fourth sensor 114D (in Figure 1). For example, if only a bandwidth of 75 Gbit / s is required, the user can configure the gateway device 402 accordingly (e.g., merging three of the multiple communication lanes 408), and can disable specific lanes of the multiple communication lanes 408 to reduce power consumption and utilize system performance to meet data traffic demands.

[0059] Figure 4B illustrates the merging of multiple communication lanes without a failure scenario according to another embodiment of the present disclosure. Figure 4B is described in relation to elements from Figures 1, 2, 3 and 4A. Referring to Figure 4B, an implementation scenario 400B is shown illustrating the merging of multiple communication lanes without failure. Implementation scenario 400B includes a gateway device 402, which includes a local area network switch (LAN SW) 404 (from Figure 4A). The LAN SW 404 is connected via multiple communication lanes 414 to two physical layers, such as a 100 Gbit / s first physical layer 412A (also denoted as 100G PHY) and a 100 Gbit / s second physical layer 412B. The gateway device 402 further provides variable bandwidth to the different physical layers via twisted-pair cables. The different physical layers include the first physical layer 416A with 75 Gbit / s, the second physical layer 416B with 50 Gbit / s, and the third physical layer 416C with 75 Gbit / s.

[0060] In implementation scenario 400B, the gateway device 402 uses two physical layers, such as a 100 Gbit / s first physical layer 412A and a 100 Gbit / s second physical layer 412B. The LAN SW 404 is connected to each of the 100 Gbit / s first physical layer 412A and the 100 Gbit / s second physical layer 412B via multiple communication lanes 414, each having a different bandwidth. The multiple communication lanes 414 include three communication lanes, such as a 75 Gbit / s first communication lane, a 50 Gbit / s second communication lane, and a 75 Gbit / s third communication lane.

[0061] In implementation scenario 400B, the 100 Gbit / s first physical layer 412A and the 100 Gbit / s second physical layer 412B can be grouped together to provide more combinations of speed grades at the output of the gateway device 402. In this way, the gateway device 402 can support non-standard speed grades such as 75 Gbps, 125 Gbps, etc. Therefore, by grouping the 100 Gbit / s first physical layer 416A and the 100 Gbit / s second physical layer 416B, the gateway device 402 can provide variable bandwidth for different physical layers such as 75 Gbit / s first physical layer 416A, 50 Gbit / s second physical layer 412B, and 75 Gbit / s third physical layer 412C. For example, three twisted-pair cables connected to a 100 Gbit / s first physical layer 412A, each transmitting 25 Gbit / s, can provide a 75 Gbit / s first physical layer 416A; one twisted-pair cable connected to both a 100 Gbit / s first physical layer 412A and a 100 Gbit / s second physical layer 412B can provide a 50 Gbit / s second physical layer 416B; and three twisted-pair cables connected to a 100 Gbit / s second physical layer 412B, each transmitting 25 Gbit / s, can provide a 75 Gbit / s third physical layer 416C.

[0062] Figure 4C shows the internal circuitry of a 100 Gbit / s physical layer according to an embodiment of the present disclosure. Figure 4C is described in relation to elements from Figures 1, 2, 3, 4A, and 4B. Figure 4C shows the internal circuitry 400C of the physical layer 418. The physical layer 418 has a bandwidth of 100 Gbps (also referred to as 100 G PHY). The physical layer 418 includes a plurality of communication lanes 420, a plurality of physical medium attachments (PMAs) 422, a plurality of pulse amplitude modulators (PAMs) 424, and a plurality of forward error correction (FEC) encoders / decoders 426.

[0063] The internal circuitry 400C of the physical layer 418 is configured to use multiple FEC EN-DEC 426s, each FEC EN-DEC having a bandwidth of 25 Gbps instead of one 100 Gbps FEC EN-DEC. The number of communication lanes 420 corresponds to the number of communication lanes 108 provided by the communication link 106 (in Figure 1). Multiple PMA 422s may include transmitter / receiver-analog front-ends (TX / RX-AFE).

[0064] The internal circuitry 400C of the physical layer 418 indicates that data is received by RX-AFEs provided by multiple PMAs 422 via multiple communication lanes 420. The received data is then modulated using multiple pulse amplitude modulators (PAMs) 424 and subsequently encoded (or decoded) by multiple FEC EN-DEC 426s. The use of multiple FEC EN-DEC 426s provides different speed aggregations to a flexible MII interface configured for use between the physical layer 418 and a medium access control (MAC) layer (not shown here).

[0065] Figures 5A and 5B are flowcharts of a communication method over a communication link including multiple communication lanes, according to embodiments of the present disclosure. Figures 5A and 5B are described in relation to elements from Figures 1, 2 and 3. Referring to Figures 5A and 5B, a method 500 is shown that demonstrates communication over a communication link including two or more communication lanes and having a first end and a second end. Method 500 includes steps 502 to 512 (steps 502 to 506 of Method 500 are shown in Figure 5A, and steps 508 to 512 are shown in Figure 5B). Method 500 is performed by communication interface 110 (in Figure 1) and other communication interfaces 112, which are described in detail in Figures 1 and 2, for example.

[0066] This disclosure provides a communication method 500 over a communication link 106 having two or more communication lanes 108 and a first end 202 and a second end 204, the method 500 comprising the step of transmitting a data frame 208 from the first end 202 to the second end 204 over the communication lanes 108, wherein the step of transmitting the data frame 208 comprises the step of splitting the data frame 208 into a number of subframes 218 corresponding to the number of communication lanes 108, and transmitting each of the subframes 218 over one separate communication lane among the communication lanes 108, the method 500, The first terminal 202 includes the step of storing the communication lane status for each communication lane, The first terminal 202 detects that the communication lane status of a specific communication lane has changed to a confirmed status, and when the first terminal 202 detects that the communication lane status of a specific communication lane has changed to a confirmed status, - The step of stopping the transmission of subframes from the first end 202 to the second end 204 via a specific communication lane, - The step of transmitting the changed communication lane status of a specific communication lane from the first terminal 202 to the second terminal 204, - The first terminal 202 splits an arbitrary data frame into a number of subframes corresponding to the number of communication lanes 108 having a communication lane status that is not definitive, and transmits each of the subframes to the second terminal 204 via one separate communication lane among the communication lanes having a communication lane status that is not definitive. It also includes.

[0067] Method 500 describes communication via a communication link 106 having two or more communication lanes 108 and a first end 202 and a second end 204. In other words, Method 500 describes communication between a first node 102 having a communication interface 110 and a second node 104 having another communication interface 112 in steps 502 to 512.

[0068] Referring to Figure 5A, in step 502, method 500 includes transmitting a data frame 208 from the first end 202 to the second end 204 via communication lane 108, where transmitting the data frame 208 includes splitting the data frame 208 into a number of subframes 218 corresponding to the number of communication lanes 108, and transmitting each of the subframes 218 via one separate communication lane among the communication lanes 108. The data frame 208 is received from the medium access control (MAC) layer by the physical layer of the first end 202 of the communication link 106. The data frame 208 is then split into a number of subframes 218 corresponding to the number of communication lanes 108. Each of the subframes 218 is transmitted to the second end 204 via one separate communication lane among the communication lanes 108.

[0069] In step 504, method 500 further includes storing the communication lane status for each of the communication lanes at the first terminal 202. The logic 206 in the communication interface 110 is configured to store the status of each of the multiple communication lanes 108.

[0070] In step 506, method 500 further includes detecting at the first end 202 that the communication lane status for a particular communication lane has changed to a confirmed status. The logic 206 of the communication interface 110 at the first end 202 is further configured to detect whether the communication lane status (fault or operational) of any of the communication lanes 108 has changed to a confirmed status (i.e., fault status).

[0071] Next, referring to Figure 5B, in step 508, when the first end 202 detects that the communication lane status for a particular communication lane has changed to a confirmed status, the method 500 further includes stopping the transmission of subframes from the first end 202 to the second end 204 over that particular communication lane. After detecting that the communication lane status for a particular communication lane has changed to a confirmed status, the logic 206 is further configured to stop the transmission of subframes from the first end 202 to the second end 204 over that particular communication lane.

[0072] In step 510, method 500 further includes the step of transmitting a changed communication lane status of a particular communication lane from the first end 202 to the second end 204. Logic 206 is further configured to communicate the changed communication lane status (i.e., failure) of a particular communication lane to another communication interface 112 of the second end 204 of the communication link 106.

[0073] In step 512, method 500 further includes splitting an arbitrary data frame at the first end 202 into a number of subframes corresponding to the number of communication lanes 108 having a communication lane status that is not definite, and transmitting each of the subframes to the second end 204 via one separate communication lane among the communication lanes having a communication lane status that is not definite. Logic 206 is further configured to split the data frame into a number of subframes corresponding to the number of communication lanes 108 that are active at that time. Logic 206 is further configured to transmit each of the subframes via one separate communication lane among the multiple communication lanes 108 that are active at that time.

[0074] According to one embodiment, method 500 further includes, for each communication lane, inputting a subframe transmitted via the communication lane into a buffer of the first end 202 to a corresponding buffer of the second end 204, and controlling the gates of the first end 202 to open and close the input in the buffer of the subframe transmitted via the communication lane to the corresponding buffer of the second end 204, depending on the communication lane status of the communication lane. After dividing the data frame 208 into a plurality of subframes 218, each subframe is passed to a buffer configured by the communication interface 110. Each of the plurality of buffers 216 is configured to transmit the received subframe to a corresponding buffer configured by the communication interface 112 of the second end 204 of the communication link 106 via one communication lane. In addition to the plurality of buffers 216, the communication interface 110 includes a plurality of gates 214. Each of the plurality of gates 214 is configured to open and close the input in the buffer of the subframe transmitted via one of the plurality of communication lanes 108.

[0075] According to one embodiment, method 500 further includes receiving a data frame from a second end 204 via a communication lane (or a plurality of communication lanes 108) at a first end 202, wherein the received data frame is split into a plurality of received subframes corresponding to the number of communication lanes 108, where receiving the data frame includes receiving each subframe via one separate communication lane from the communication lanes and merging the received subframes into a received data frame. In one implementation, the communication interface 110 of the first end 202 can be configured to function as a receiver, and the other communication interface 112 of the second end 204 can be configured to function as a transmitter. In such an implementation, the logic 206 of the first end 202 is configured to receive data frames from the second end 204 via the plurality of communication lanes 108. In fact, the received data frame is split into a number of received subframes (e.g., F1, F2, F3, ..., Fn) proportional to the number of communication lanes 108, and logic 206 is configured to receive each of the subframes via one separate communication lane among the communication lanes and to merge the received subframes into the received data frame.

[0076] Method 500 further includes, at the first end 202, receiving a definite status from the second end 204 as the communication lane status of a given communication lane, and storing the received definite status as the status of the given communication lane. Method 500 further includes, at the first end 202, stopping the reception of subframes via a given communication lane from the second end 204, and at the first end 202, merging subframes received via a communication lane having a non-definite status into a received data frame. To receive each subframe, logic 206 is further configured to receive a definite (i.e., fault) status of a given communication lane from another communication interface 112 of the second end 204, if present, and to store the received definite status as the communication lane status of the given communication lane. In the case of a faulty communication lane, logic 206 is further configured to stop the reception of subframes via the faulty communication lane and to merge subframes received via healthy communication lanes in order to obtain a received data frame.

[0077] According to one embodiment, method 500 further includes outputting subframes received via a communication lane from a corresponding buffer on the second end 204 in a buffer on the first end 202, and controlling a gate on the first end 202 to open or close the output of subframes received via a communication lane, depending on the communication lane status of the communication lane. Each buffer in the plurality of buffers 216 is configured to receive subframes transmitted by a corresponding buffer in the communication interface 112 of the second end 204 of the communication link 106. As a result, each gate in the plurality of gates 214 is configured to open or close the output of subframes received via a communication lane in the plurality of communication lanes 108. Logic 206 is further configured to control each of the plurality of gates 214 depending on the status (functional or non-functional) of the plurality of communication lanes 108.

[0078] According to one embodiment, the disclosure provides a computer program product that includes program code for performing method 500 when executed by a processor (or logic 206) in a computer system. The logic 206 of the communication interface 110 is configured to perform method 500.

[0079] Therefore, method 500 provides seamless data communication between the first node 102 and the second node 104 of the communication network 100, even in the event of a lane failure. If a failure is detected in any one of the communication lanes 108, method 500 immediately communicates the lane failure to each of the communication interface 110 and the other communication interface 112, and stops transmitting multiple subframes 218 of the data frame 208 through the failed lane. In this way, method 500 provides safety with respect to lane failures, as well as seamless data communication between both ends of the communication link 106 at a partially reduced speed.

[0080] Steps 502-512 are merely illustrative, and other alternatives can be provided in which one or more steps are added, one or more steps are deleted, or one or more steps are provided in a different order, without departing from the claims of this specification.

[0081] Modifications to the embodiments of the Disclosure described above are possible without departing from the scope of the Disclosure as defined by the appended claims. Expressions such as “includes,” “equipment,” “incorporates,” “has,” and “is” used to describe and claim the Disclosure are intended to be interpreted in a non-exclusive manner, i.e., allowing for the existence of items, components, or elements not expressly described. Singular references should also be interpreted as relating to plurals. Here, the word “exemplary” is used to mean “serving as an example, illustration, or representation.” Embodiments described as “exemplary” should not necessarily be interpreted as being preferable or advantageous to other embodiments, nor should they preclude the incorporation of features from other embodiments. The word “optionally” is used herein to mean “provided in some embodiments and not in other embodiments.” Certain features of the Disclosure are described for clarity in the context of separate embodiments, but it should be understood that they may be provided in combination in a single embodiment. Conversely, for the sake of brevity, various features of the Disclosure described in the context of a single embodiment may be provided separately, in any suitable combination, or as appropriate in any other described embodiment of the Disclosure.

Claims

[Claim 1] A communication interface for use at the first end of a communication link comprising two or more communication lanes, the communication interface comprising logic configured to cooperate with another communication interface at the second end of the communication link to transmit data frames to the second end via the communication lanes, wherein transmitting the data frames comprises splitting the data frames into a number of subframes corresponding to the number of communication lanes, and transmitting each of the subframes via one separate communication lane among the communication lanes, the logic comprising For each of the aforementioned communication lanes, the communication lane status is stored, and when it is detected that the communication lane status of a particular communication lane has changed to a confirmed status, - Stop transmitting subframes through the aforementioned specific communication lane, - The changed communication lane status of the specific communication lane is transmitted to the communication interface at the second end. - Split an arbitrary data frame into a number of subframes corresponding to the number of communication lanes having a communication lane status that is not a confirmed status, and transmit each of the subframes through one separate communication lane among the communication lanes having a communication lane status that is not a confirmed status. A communication interface, further configured as follows.