Communication interface and method for seamless asymmetric communication over a multi-lane communication link
By introducing a wake-up and sleep channel switching mechanism into the communication interface, the communication interruption problem caused by multi-channel communication link failure in the vehicle network is solved, achieving seamless data transmission and efficient communication.
Patent Information
- Application Number
- CN202180034466.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-07
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2041-09-07
AI Technical Summary
Existing technologies cannot achieve seamless data transmission when multi-channel communication links in vehicular networks fail, leading to communication interruptions and performance degradation.
By employing a communication interface and logical collaboration mechanism, and switching between wake-up and sleep communication channels, seamless data transmission is ensured during link failures. Buffers and gates are used to control data flow, achieving high-bandwidth and low-power communication.
Maintaining seamless data transmission in the event of a communication link failure improves the reliability and efficiency of the communication network and reduces power consumption.
Smart Images

Figure CN116349213B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates generally to the field of data communication, and more specifically, to a communication interface for both ends of a communication link, a communication network comprising the communication interface, and a method for seamless data communication over a multi-lane communication link. BACKGROUND
[0002] Generally, an autonomous vehicle requires a high-speed (e.g., multi-gigabit) data communication link in order to send data from various sensors (e.g., camera 1, camera 2, RADAR, etc.) to a central processing unit (CPU). Typically, an in-vehicle network is used to send data among various sensors (or nodes) and from the sensors to the CPU. Conventionally, a high-speed automotive Ethernet standard is used for multi-gigabit data communication among the sensors and from the sensors to the CPU. The conventional high-speed automotive Ethernet standard uses a single twisted-pair cable. However, the single twisted-pair cable has its own physical limitation in terms of bandwidth. Due to the physical limitation of the single twisted-pair cable, the single twisted-pair cable is not preferred for multi-gigabit data communication. Multi-gigabit data communication deals with high data rates exceeding 25 gigabits per second (Gbit / s). Therefore, a multi-lane technology is required that can handle multi-gigabit as a backbone for communication with an autonomous vehicle. In an autonomous vehicle, the multi-lane technology (or multi-gigabit communication technology) is related to safety. If any one lane of the multi-lane technology is interrupted, then the entire communication link will stop working. Moreover, a lane failure can further cause undesirable consequences. In a typical in-vehicle network, multiple cables are used to connect various sensors to each other and to the CPU. The use of multiple cables causes cable congestion, and moreover, the cables take up a significant portion of the total weight of a typical autonomous vehicle. Therefore, in order to reduce cable congestion, multiple sensors are aggregated in one typical switch. A multi-gigabit communication link is established among various typical switches as a backbone for communication of the typical in-vehicle network. In one scenario, if any one lane of the multi-gigabit communication link fails, then in this scenario, there will be no communication at all.
[0003] Currently, in order to maintain communication between various typical switches in case of lane failure, certain attempts have been made, for example, the conventional approach is based on using a huge buffer at the physical (PHY) layer. However, the conventional approach results in additional delay in overall communication. Further, the conventional approach describes encoding and aligning the received data at the receiver, but the approach does not provide any details on how to complete the encoding without affecting the hardware and performance. Thus, in case of any lane failure, the communication link is broken, resulting in no communication or causing defective and unreliable communication between various typical switches of a typical in-vehicle network. Thus, there is a technical problem of how to seamlessly transmit data between various typical switches of a typical in-vehicle network during link failure without affecting the overall performance of the typical in-vehicle network.
[0004] Thus, in light of the above discussion, there is a need to overcome the above-mentioned drawbacks associated with the conventional communication link. SUMMARY
[0005] The present invention provides a communication interface for both ends of a communication link. The present invention also provides a communication network having the communication interface and a method for seamless data communication over a multi-lane communication link. The present invention provides a solution to the existing problem of how to seamlessly transmit data between various typical switches of a typical in-vehicle network during link failure without affecting the overall performance of the typical in-vehicle network. The object of the present invention is to provide a solution that at least partially overcomes the problems encountered in the prior art and provides an improved communication interface that provides seamless data communication at both ends of a communication link even in case of lane failure. The present invention also provides a communication network having the improved communication interface that exhibits perfect and reliable communication even in case of lane failure and a method for seamless data communication over a multi-lane communication link.
[0006] The one or more objects of the present invention are achieved by the solutions provided in the independent claims. Advantageous implementations of the present invention are further defined in the dependent claims.
[0007] In one aspect, the present invention provides a communication interface for use at a first end of a communication link, the communication link comprising a plurality of communication channels of a number greater than or equal to two. The communication interface further comprises logic for cooperating with another communication interface at a second end of the communication link to send data to the second end through one of the communication channels, a wake-up communication channel. At least one of the communication channels, a sleep communication channel, is in a sleep mode in which the at least one sleep communication channel is unable to send any data, the logic further for storing a communication channel status of the wake-up communication channel and, upon detecting that the communication channel status of the wake-up communication channel has changed to a first determined status, performing the following operations. The logic is further for stopping sending data through the wake-up communication channel; changing the sleep communication channel to a new wake-up communication channel; informing the communication interface at the second end that the new wake-up communication channel is to be used for sending data; and sending data to the second end through the new wake-up communication channel.
[0008] The disclosed communication interface provides seamless data communication between the first end and the second end of the communication link even in case of a channel failure. Further, the logic at the communication interface is for early detection of a first determined status of one of the plurality of communication channels and accordingly communicating to each of the communication interfaces at the first end and the second end of the communication link that the communication channel has the first determined status and seamlessly maintaining the data communication by using the other communication channels. The communication interface at the first end is for sending data to the other communication interface at the second end at full data rate and increased bandwidth by bringing all the communication channels in an operational mode. Further, the other communication interface at the second end is for sending data to the communication interface at the first end at a low data rate, thus, not requiring all the communication channels to be operated simultaneously. Instead, just one communication channel is sufficient to send data from the second end, thereby reducing power consumption and achieving higher energy efficiency. Thus, one communication channel is used as a wake-up communication channel and the remaining communication channels are kept in a sleep mode to save energy. If the wake-up communication channel turns into a failed channel, one of the communication channels set in the sleep mode is changed to a new wake-up communication channel for data communication. Thus, data is seamlessly transferred from the communication interface to the other communication interface. Further, data transfer is seamlessly carried out between the first end and the second end as long as there is at least one wake-up communication channel (i.e., one non-failed communication channel).
[0009] In an implementation, for each given communication channel among all the wake-up communication channels and all the sleep communication channels, further comprising: a buffer for receiving data to be sent through the given communication channel to a corresponding buffer in the other communication interface at the second end; a gate for opening or closing an input in the buffer of data to be sent through the given communication channel to the corresponding buffer in the other communication interface at the second end, the logic being for controlling the gate according to the communication channel state of the given communication channel.
[0010] By means of using a buffer and a gate corresponding to each communication channel, reliable and high-speed data communication is obtained between the two ends of the communication link.
[0011] In another implementation, the buffer is for receiving data sent through the given communication channel from the corresponding buffer in the other communication interface at the second end, the gate is for opening or closing an output of the data received through the given communication channel, and the logic is for controlling the gate according to the communication channel state of the given communication channel.
[0012] In another implementation, the logic is further for splitting a data frame into a plurality of sub-frames corresponding to the plurality of wake-up communication channels, the data to be sent through the wake-up communication channel being one of the sub-frames.
[0013] By means of splitting a data frame into a plurality of sub-frames, high-speed data communication can be obtained.
[0014] In another implementation, the data to be sent through the wake-up communication channel is a control message, the control message including control information for controlling the operation of a device located at the second end and connected to the other communication interface at the second end.
[0015] By means of using a control message, a device located at the second end can be used for maintenance mode or repair mode.
[0016] In another implementation, the logic is further for: when detecting that the communication channel state of the wake-up communication channel has changed to a second determined state, changing the sleep communication channel to a new wake-up communication channel; informing the communication interface at the second end that the new wake-up communication channel will be used to send data; sending data to the second end through the wake-up communication channel and the new wake-up communication channel.
[0017] By means of sending data to the second end through the wake-up communication channel and the new wake-up communication channel, seamless data transmission from the communication interface to the other communication interface will be achieved.
[0018] In another aspect, the application provides a communication network comprising a first node located at a first end of a communication link and a second node located at a second end of the communication link, the communication link comprising a plurality of communication channels having a number greater than or equal to two, the first node and the second node each comprising a communication interface.
[0019] The communication network provides seamless data communication between the first node and the second node, even in case of a channel failure of a plurality of channels of the communication link between the first node and the second node. The seamless data communication is obtained by including the disclosed communication interface at each of the first node and the second node.
[0020] In an implementation, the communication network is a vehicle communication network.
[0021] The vehicle communication network exhibits multi-gigabit communication and seamless data communication in case of a channel failure.
[0022] In yet another aspect, the application provides a method of communicating on a communication link, the communication link comprising a plurality of communication channels having a number greater than or equal to two and having a first end and a second end. The method comprises sending data from the first end to the second end through a wake-up communication channel of the communication channels, at least one sleep communication channel of the communication channels being in a sleep mode in which the at least one sleep communication channel is unable to send any data. The method further comprises storing, at the first end, a communication channel status of the wake-up communication channel; detecting, at the first end, that the communication channel status of the wake-up communication channel has changed to a first determined status, and when detecting, at the first end, that the communication channel status of the wake-up communication channel has changed to the determined status: stopping sending data through the wake-up communication channel; changing the sleep communication channel to a new wake-up communication channel; informing the communication interface at the second end that the new wake-up communication channel is to be used for sending data; sending data to the second end through the new wake-up communication channel.
[0023] The method achieves all the advantages and technical effects of the communication interface of the application.
[0024] It is understood that all the above implementation modes can be combined.
[0025] It has to be noted that all devices, elements, circuitry, units and means described in the present application can be implemented in software or hardware elements or any type of combination thereof. All steps which are performed by the various entities described in the present application have to be interpreted as means or rules for performing the respective steps. The various entities or means performing the described functions can be implemented as software or hardware elements or any type of combination thereof. It is to be understood that features of the present application are susceptible to being combined in various combinations and are therefore not limited to the specific embodiments described herein. It is further noted that features of the specific embodiments described herein can be further modified or combined to provide other embodiments of the present application.
[0026] Additional aspects, advantages, features and objects of the present application will become apparent to those skilled in the art from the detailed description of illustrative implementations thereof, which is to be taken in conjunction with the accompanying drawings and the appended claims. BRIEF DESCRIPTION OF DRAWINGS
[0027] The above summary, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the application, exemplary constructions of the present application are shown in the drawings. However, the present application is not limited to the specific methods and tools disclosed herein. In addition, one skilled in the art will understand that the drawings are not drawn to scale. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like elements.
[0028] Embodiments of the present application will now be described, by way of example only, with reference to the accompanying drawings in which:
[0029] Figure 1 is a network diagram depicting seamless data communication between a first node placed at a first end of a communication link and a second node placed at a second end of the communication link, provided by embodiments of the present application;
[0030] Figure 2A depicts communication between various sub-blocks associated with the communication interface of the first end and the second end, provided by embodiments of the present application;
[0031] Figure 2B depicts communication between various sub-blocks associated with the communication interface of the second end and the first end, provided by another embodiment of the present application;
[0032] Figure 2C depicts communication between various sub-blocks associated with the communication interface of the first end and the second end, provided by yet another embodiment of the present application;
[0033] Figure 3 is a sequence diagram depicting the process of interaction between two physical health registers, provided by embodiments of the present application;
[0034] Figure 4 is a flowchart of a method of communicating over a communication link comprising a plurality of communication channels provided by embodiments of the present invention.
[0035] In the drawings, underlined numerals are used to designate items in the drawings by the numerals being underlined or items adjacent to the numerals being underlined. Un-underlined numerals are associated with items identified by the lines associated with the un-underlined numerals. When a numeral is un-underlined and has an associated arrow, the un-underlined numeral is used to identify the general item to which the arrow is pointing. DETAILED DESCRIPTION
[0036] The following detailed description illustrates embodiments of the invention and ways in which they can be implemented. Although some modes for carrying out the invention have been disclosed, those skilled in the art will recognize that there are other embodiments which can be used to carry out or practice the invention.
[0037] Figure 1 is a network diagram of seamless data communication between a first node placed at a first end of a communication link and a second node placed at a second end of the communication link provided by embodiments of the present invention. Referring to Figure 1 , a communication network 100 is shown comprising a first node 102A and a second node 104A. The first node 102A is located at a first end 102 of a communication link 106 and the second node 104A is located at a second end 104 of the communication link 106. The communication link 106 comprises a plurality of communication channels 108A-108N, the number of which is greater than or equal to two. The first node 102A comprises a communication interface 110 and the second node 104A comprises another communication interface 112. Also shown are logic 114, a plurality of sensors connected to the first node 102A and the second node 104A, such as a first sensor 116A, a second sensor 116B, a third sensor 116C, and a fourth sensor 116D. In addition, there is a communication link 118 between the second node 104A and an electronic control unit 120.
[0038] The communication network 100 provides seamless data communication between the first node 102A and the second node 104A. The communication network 100 maintains communication between the first node 102A and the second node 104A even in the event of a failure of one of the plurality of communication channels 108A-108N of the communication link 106. Traditionally, there is no communication between typical nodes of a typical communication network if any one of the plurality of channels fails. The communication network 100 of the present invention provides communication between the first node 102A and the second node 104A with increased bandwidth even in the event of a failure of a channel. In one implementation, the communication network 100 is an in-vehicle communication network. The communication network 100 includes a medium (wired or wireless or optical medium) through which various control units or components, such as the first node 102A having a communication interface 110, the second node 104A having another communication interface 112, a plurality of sensors, an electronic control unit 120, communicate with each other. Examples of wired and wireless communication protocols for the communication network 100 can include, but are not limited to, vehicle area network (VAN), CAN bus, domestic digital bus (D2B), time-triggered protocol (TTP), FlexRay, IEEE 1394, inter-integrated circuit (I2C), inter equipment bus (IEBus), Society of Automotive Engineers (SAE) J1708, SAE J1939, international organization for standardization (ISO) 11992, ISO 11783, media oriented systems transport (MOST), MOST25, MOST50, MOST150, plastic optical fiber (POF), power-line communication (PLC), serial peripheral interface (SPI) bus, and / or local interconnect network (LIN).
[0039] Each of the first node 102A and the second node 104A corresponds to a switch. For example, the first node 102A can also be referred to as a first switch (also denoted as SW1) and the second node 104A can also be referred to as a second switch (also denoted as SW2). Other examples of the first node 102A and the second node 104A can include, but are not limited to, a router, a transmitter, a receiver, a transmitting device, a receiving device, a transceiver, and the like.
[0040] Each of the first node 102A and the second node 104A is located at a first end 102 and a second end 104 of the communication link 106, respectively. The communication link 106 is a full-duplex link. This means that each of the first node 102A and the second node 104A can be used to simultaneously transmit and receive data over the communication link 106. Further, the communication link 106 between the first node 102A and the second node 104A can be wired or wireless, or optical in nature, depending on the use case. The communication link 106 between the first node 102A and the second node 104A is a multi-lane communication link, and thus, the communication link 106 can provide a data rate of 25 Giga (G) bits per second, 50 Gbits / s, 100 Gbits / s, or more than 100 Gbits / s. In the communication network 100, the communication link 106 includes N communication lanes 108A-108N. Further, the communication network 100 provides a data rate of 100 Gbits / s over the communication link 106. However, in another implementation, the number of communication lanes 108A-108N can be as many as N lanes. Examples of the communication link 106 can include, but are not limited to, a wireless fidelity (Wi-Fi) communication link, a local area network (LAN) communication link, a wireless personal area network (WPAN) communication link, a wireless local area network (WLAN) communication link, a wireless wide area network (WWAN) communication link, a cloud network communication link, a long-term evolution (LTE) network communication link, a metropolitan area network (MAN) communication link, and / or the Internet.
[0041] The first node 102A and the second node 104A include a communication interface 110 and another communication interface 112, respectively. The communication interface 110 at the first node 102A is used to cooperate with the other communication interface 112 at the second node 104A in order to transmit data frames, such as Figure 2AExamples of each of the communication interface 110 and the other communication interface 112 can include, but are not limited to, an antenna, 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 identity module (SIM) card.
[0042] The communication interface 110 includes logic 114 for cooperating with the other communication interface 112 at the second end 104 of the communication link 106. In one example, the logic 114 corresponds to a combination of a transcoder and a demultiplexer. Examples of the logic 114 can include, but are not limited to, a microcontroller, a microprocessor, a central processing unit (CPU), a complex instruction set computing (CISC) processor, an application-specific integrated circuit (ASIC) processor, a reduced instruction set (RISC) processor, a very long instruction word (VLIW) processor, a data processing unit, and other processors or control circuits.
[0043] In the communication network 100, each of the first sensor 116A, the second sensor 116B, and the fourth sensor 116D is connected to the first node 102A, and the third sensor 116C is connected to the second node 104A. Each of the first sensor 116A, the second sensor 116B, the third sensor 116C, and the fourth sensor 116D is connected at one or more physical layers of the first node 102A and the second node 104A. For example, each of the first sensor 116A, the second sensor 116B, and the fourth sensor 116D is connected at a physical layer (denoted by PI, P2, and P4, respectively) of the first node 102A, and each connection provides a data rate of 25 Gbit / s. Similarly, the third sensor 116C is connected at a physical layer (also denoted by P3) of the second node 104A and provides a data rate of 25 Gbit / s. The first node 102A and the second node 104A are connected by the communication link 106 between the physical layers (P3, PI) of the first node 102A and the second node 104A, respectively. Examples of each of the first sensor 116A, the second sensor 116B, the third sensor 116C, and the fourth sensor 116D can include, but are not limited to, a camera, a radio detection and ranging (RADAR), a light detection, and ranging (LiDAR), a global navigation satellite system (GNSS) receiver, a dashcam, and the like.
[0044] The communication link 118 between the second node 104A and the electronic control unit 120 corresponds to the communication link 106 between the first node 102A and the second node 104A. The electronic control unit 120 includes appropriate logic, circuitry, interfaces, and / or code for monitoring and optimizing performance of the plurality of sensors in accordance with data received from the first node 102A and the second node 104A.
[0045] In one aspect, the present invention provides a communication network 100 including a first node 102A located at a first end 102 of a communication link 106 and a second node 104A located at a second end 104 of the communication link 106. The communication link 106 includes a plurality of communication channels 108A-108N, greater than or equal to two. The first end 102 and the second node 104A each include a communication interface 110. The communication network 100 provides seamless data communication between the first node 102A and the second node 104A. Even in the event of a channel failure in any of the multiple communication channels 108A-108N of the communication link 106, the communication network 100 maintains seamless data communication between the first node 102A and the second node 104A. Even in the event of a channel failure, the communication network 100 provides seamless data communication between the first node 102A and the second node 104A at a partially reduced data rate in an asymmetric communication mode within a multi-channel system.
[0046] According to an embodiment, the communication network 100 is an in-vehicle communication network. Therefore, the communication network 100 is useful for communication between various switches in the in-vehicle network. The in-vehicle communication network exhibits multi-gigabit communication and seamless data communication even in the event of a channel failure.
[0047] Figure 2A This illustrates communication between various sub-blocks associated with the communication interfaces of the first and second ends, as provided in embodiments of the present invention. (In conjunction with...) Figure 1 Component description Figure 2A . refer to Figure 2A The circuit architecture 200A is shown, which illustrates a circuit architecture with ( Figure 1 The communication network 100 shows communication between various sub-blocks associated with the communication interface 110 of the first node 102A and another communication interface 112 of the second node 104A. Circuit architecture 200A shows communication interface 110 used at the first end 102 of communication link 106, while another communication interface 112 is used at the second end 104 of communication link 106. Communication link 106 includes N communication channels 108A-108N. Sensor 206, switch 208, medium access control (MAC) layer 210A, data frame 212, medium independent interface (MII) layer 214A, another medium access control (MAC) layer 210B, and another medium independent interface (MII) layer 214B are also shown.
[0048] Communication interface 110 includes a physical coding sublayer (PCS) 202 and a physical medium attachment (PMA) 204. The PCS 202 at communication interface 110 includes a transcoder 216 and multiple gates 220 (also denoted as G1, G2, G3, ..., G...). n The system includes a demultiplexer 218, multiple buffers 222, and an encoding operation, administration, and management (OAM) block 230A. A physical health register 228A is also shown, which can be accessed by the PCS 202 and PMA 204. The PMA 204 at the communication interface 110 includes multiple forward error correction (FEC) blocks 224, multiple transmitter / receiver analog front ends (TX / RX-AFE) 226, an OAM frame 232A, a decoded OAM block 234A, and a control state machine 236A.
[0049] Similarly, another communication interface 112 also includes a physical coding sublayer ( Figure 2A (not shown in the image) and physical media added ( Figure 2A (Not shown). Another communication interface 112 includes a physical health register 228B, which can be accessed by the PCS and PMA of the other communication interface 112. An encoded OAM block 230A, an OAM frame 232B, a decoded OAM block 234B, and a control state machine 236B are also shown. The other communication interface 112 also includes multiple transmitter / receiver analog front ends (TX / RX-AFE) 238, multiple forward error correction (FEC) blocks 240, multiple buffers 242, multiple gates 244, a multiplexer 246, and a code converter 248.
[0050] Each of the multiple gates 220, the multiple buffers 222 and multiple gates 244 at PCS 202 of communication interface 110, and the multiple buffers 242 at PCS of another communication interface 112 are represented by dashed boxes, which are for illustrative purposes only and do not form part of the circuit. Similarly, each of the multiple FEC blocks 224 and multiple TX / RX-AFEs 226 at PMA 204 of communication interface 110, and the multiple TX / RX-AFEs 238 and multiple FEC blocks 240 at PMA of another communication interface 112 are also represented by dashed boxes, which are for illustrative purposes only and do not form part of the circuit.
[0051] like Figure 2A As shown, sensor 206 is used to send data to switch 208, also known as uplink data communication. Considering the high bandwidth requirements, data communication from sensor 206 to switch 208 requires full data rate. Therefore, each of the multiple communication channels 108A-108N is used as a wake-up communication channel. Furthermore, depending on the use case, each of the multiple TX / RX-AFE 226 of communication interface 110 and the multiple TX / RX-AFE 238 of another communication interface 112 can be used as a transmitter and receiver. Therefore, each of communication interface 110 and the other communication interface 112 can be used to act as a transmitter and receiver, or better yet, as a transceiver. Thus, communication interface 110 (or the transceiver) is capable of sending data frame 212 to another communication interface 112 and receiving data frame 212 (or any other data frame) from the other communication interface 112.
[0052] The present invention provides a communication interface 110 at a first end 102 of a communication link 106, the communication link 106 comprising a number of communication channels 108A-108N greater than or equal to two. The communication interface 110 comprises logic 114 for cooperating with another communication interface 112 at a second end 104 of the communication link 106 to transmit data to the second end 104 through one wake-up communication channel of the communication channels 108A-108N. The communication interface 110 further comprises at least one sleep communication channel of the communication channels 108A-108N in a sleep mode in which the at least one sleep communication channel is unable to transmit any data. In other words, the communication link 106 comprises a first end 102 and a second end 104, e.g. the communication interface 110 is provided at the first end 102 of the communication link 106 and the other communication interface 112 is provided at the second end 104 of the communication link 106. The communication link 106 comprises a plurality of communication channels 108A-108N for transmitting data from the first end 102 to the second end 104 (and vice versa). In one implementation, the first end 102 of the communication link 106 is configured to receive data in the form of data frames 212 from a sensor 206 through a MAC layer 210A. Thereafter, the data frames 212 are received by the logic 114 of the communication interface 110. The logic 114 is configured to cooperate with the other communication interface 112 such that the logic 114 can transmit the data frames 212 to the second end 104 through one wake-up communication channel of the communication channels 108A-108N. For example, if the communication channel 108A is the wake-up communication channel and the communication channels 108B-108N are sleep communication channels, the logic 114 transmits data to the second end 104 through the communication channel 108A. Since the communication link 106 comprises one wake-up communication channel, there will be a seamless data transmission from the communication interface 110 to the other communication interface 112. Furthermore, the communication link 106 is configured to transmit data from the first end 102 to the second end 104 at full data rate and increased bandwidth. In one example, the communication channel 108B is one sleep communication channel. In another example, there is more than one sleep communication channel, e.g. the communication channels 108B, 108C, and the other subsequent communication channels before the communication channel 108N are sleep communication channels. Alternatively, at least one of the communication channels 108B-108N is in a sleep mode (i.e. unable to transmit any data). Thus, in another implementation, the communication link 106 can also transmit data from the second end 104 to the first end 102 at a low data rate since it is not necessary to operate all of the communication channels 108A-108N. Instead, only one communication channel (e.g. the communication channel 108A) is sufficient, which reduces the overall power consumption.In the circuit architecture 200A, data transmission from the sensor 206 to the switch 208 is described, and the corresponding sub-blocks of the physical layer (e.g., PI, P2, and P4) are also enabled to facilitate full data rate.
[0053] The logic 114 is also configured to store a communication channel status of the wake-up communication channel, and when it detects that the communication channel status of the wake-up communication channel has changed to a first determined status, the following operations are performed. The logic 114 is also configured to stop sending data through the wake-up communication channel, and change the sleep communication channel to a new wake-up communication channel. The logic 114 is also configured to notify the other communication interface 112 at the second end 104 that the new wake-up communication channel will be used to send data, and send data to the second end through the new wake-up communication channel. In one implementation, the communication channel 108A acts as the wake-up communication channel (or active), and the communication channels 108B-108N act as the sleep communication channels (or non-active). Further, the logic 114 is configured to store the communication channel status of the wake-up communication channel (e.g., the communication channel 108A). In one example, the communication channel status corresponds to the communication channel health and availability of the wake-up communication channel. Thus, if the communication channel status of the communication channel 108A changes to a first determined status, e.g., Figure 2C The logic 114 will detect this first determined status, as further shown and described in detail in FIG. 6. Thus, the logic 114 of the communication interface 110 facilitates early detection of the first determined status of the communication channel 108A. In one example, the first determined status represents an error in signal-to-noise ratio, an error in bit error rate, and an unknown status of the power supply voltage, an unknown status of the local / remote communication link status, and an unknown status of the loopback mode test. In one example, the first determined status is represented by a “--” symbol in the physical health register 228A. Thereafter, the first determined status (e.g., “--”) of the communication channel 108A is shared with the other communication interface 112 at the second end 104. Further, if both the communication interface 110 and the other communication interface 112 agree to change the communication link status of the communication channel 108A to the first determined status, the logic 114 of the communication interface 110 does not send data through the communication channel 108A. The logic 114 is also configured to change the communication channel 108B from the sleep communication channel to the new wake-up communication channel. Thereafter, the logic 114 notifies the other communication interface 112 that the new wake-up communication channel (i.e., the communication channel 108B) will be used to send data from the first end 102 to the second end 104.
[0054] The logic 114 is also configured to send data from the first end 102 to the second end 104 through the new wake-up communication channel (e.g., through the communication channel 108B). Thus, the logic 114 of the communication interface 110 enables seamless sending of data from the first end 102 to the second end 104 in the event of a channel failure.
[0055] In one implementation, the logic 114 is further configured to store the communication channel status of the communication channel 108B. For example, if the communication channel status of the communication channel 108B changes to the first determined state, the logic 114 of the communication interface 110 does not send data through the communication channel 108B. Further, the logic 114 is configured to change the communication channel 108C from the dormant communication channel to the new wake-up communication channel. Thereafter, the communication channel status of the new wake-up communication channel (i.e., the communication channel 108C) is notified to the other communication interface 112 at the second end 104 that the communication channel 108C will be used to send data from the first end 102 to the second end 104. Finally, the logic 114 is configured to send data from the first end 102 to the second end 104 through the new wake-up communication channel (e.g., through the communication channel 108C). Thus, as soon as the first determined state of the wake-up communication channel is detected, the logic 114 of the communication interface 110 will detect the first determined state and take action accordingly. Advantageously, as long as there is at least one wake-up communication channel (i.e., one non-faulty communication channel), the data transmission proceeds seamlessly between the first node 102A of the first end 102 and the second node 104A of the second end 104.
[0056] According to an embodiment, the logic 114 is further configured to split the data frame 212 into a plurality of sub-frames corresponding to the plurality of wake-up communication channels, the data to be sent through the wake-up communication channels being one of the plurality of sub-frames. In one example, the logic 114 comprises a transcoder 216 and a demultiplexer 218. Further, the transcoder 216 is configured to receive the data frame 212 from the sensor 206. The transcoder 216 is configured to receive the data frame 212 through the MAC layer 210A and the media independent interface layer 214A. Thereafter, the transcoder 216 passes the data frame 212 to the demultiplexer 218 which is configured to split the data frame 212 into a plurality of sub-frames corresponding to the plurality of wake-up communication channels of the communication channels. For example, in the circuit architecture 200A, each of the plurality of communication channels 108A-108N is used, and thus, the data frame 212 is split into N sub-frames (e.g., Fl to Fn). Thereafter, each of the plurality of communication channels 108A-108N is configured to send the N sub-frames (i.e., Fl to Fn) from the first end 102 to the second end 104. By virtue of using the plurality of sub-frames, high speed communication can be achieved.
[0057] According to embodiments, for each given communication channel among all wake-up communication channels and all sleep communication channels, the communication interface 110 further comprises a buffer for receiving data to be sent through the given communication channel into a corresponding buffer in the other communication interface 112 at the second end 104. The communication interface 110 further comprises a gate for opening or closing an input in the buffer of the data to be sent through the given communication channel into the corresponding buffer in the other communication interface 112 at the second end 104. The logic 114 is for controlling the gate according to the communication channel status of the given communication channel. In one implementation, the transcoder 216 receives a data frame 212 from the MAC layer 210A, wherein the data frame 212 comprises a fixed size of data. Thereafter, the transcoder 216 adds a few first bits in the data frame 212 for control purposes and according to the communication channel status of the given communication channel (i.e. availability and functionality of the plurality of communication channels). Thereafter, the demultiplexer 218 of the logic 114 is for splitting the data frame 212 into a plurality of sub-frames, which are further received by a plurality of buffers 222 through a plurality of gates 220. In one example, the number of sub-frames is equal to the number of gates 220, e.g. for N gates (i.e. G1 to Gn), there are N sub-frames (i.e. F1 to Fn). The plurality of gates 220 is further controlled by the logic 114 based on the communication channel status of each communication channel 108A-108N. For example, if the communication channel status shows that all communication channels 108A-108N are wake-up communication channels, the logic 114 is for opening the plurality of gates 220 corresponding to each communication channel 108A-108N, such that the corresponding buffer in the plurality of buffers 222 can receive the plurality of sub-frames. However, in another implementation, if the communication channel status shows that only communication channel 108A is a wake-up communication channel, and communication channel 108B is a sleep communication channel, the logic 114 is for opening the gate corresponding to communication channel 108A (i.e. G1), and closing the gate corresponding to communication channel 108B (i.e. G2). Thus, the buffer corresponding to communication channel 108A can receive the plurality of sub-frames F1 to Fn, while the buffer corresponding to communication channel 108B will not receive any sub-frame.
[0058] In one implementation, each sub-frame entering into each buffer in the plurality of buffers 222 will be encoded by an index T kn wherein k refers to the gate identification (ID) of the sub-frame entering into each buffer in the plurality of buffers 222, n refers to the data frame 212 identification (ID), and the data frame 212 is an integer that can be reset and repeated after overflow. For example, frame F1 corresponding to communication channel 108A is encoded by index T11, frame F1 corresponding to communication channel 108B is encoded by index T21, and similarly for subsequent communication channels.
[0059] In another implementation, the plurality of subframes are represented by pipe data through each of the communication channels 108A-108N, where the size of the pipe data is equivalent to the frame input of the plurality of FEC blocks 224 used to encode the received input. For example, if there are N frame inputs, then the size of the pipe data will also be N. Further, if the pipe data corresponding to one of the communication channels 108A-108N is filled, then the subframe is received by the corresponding FEC block. For example, if the pipe data corresponding to the communication channel 108A is filled, then the corresponding subframe is sent from the plurality of FEC blocks 224 to the corresponding FEC block, and similarly for the subsequent communication channels. In one implementation, each of the plurality of FEC blocks 224 also receives OAM messages from the OAM frames 232A, where the OAM messages are received from the physical health register 228A through the encoding OAM block 230A. Thus, the plurality of FEC blocks 224 are used to encode the plurality of subframes along with the OAM messages into its frames. Thereafter, as part of the line encoding, the plurality of bits are mapped into symbols. Further, the output of each of the plurality of FEC blocks 224 is also sent to the decoding OAM block 234A, and from the plurality of TX / RX-AFE 226 to the corresponding transmitter / receiver analog front end.
[0060] The output of the decoding OAM block 234A is also received by the physical health register 228A. The physical health register 228A is used to store the status of the local and remote physical layers (e.g., the physical layers of the first end 102 and the second end 104 of the communication link 106), the communication link 106 (e.g., signal-to-noise-ratio (SNR), bit error rate (BER)), the health of the communication link 106 (or cable health, such as open or short), FEC errors and scramblers, and the identification of the plurality of communication channels 108 that are working simultaneously. As shown, the physical health register 228A represents the communication channel status of a given communication channel through different symbols. For example, the first symbol “+” of the physical health register 228A represents that the given communication channel is in a good health status, the second symbol “-” (also referred to herein as a second determined state) of the physical health register 228A represents that the given communication channel is in a non-good health status due to an error in the signal-to-noise ratio. Further, the third symbol “--” (also referred to herein as a first determined state) of the physical health register 228A represents that the given communication channel is in a non-good health status due to an error in the signal-to-noise ratio, bit error rate, unknown local / remote link status, and unknown loopback mode. Similarly, the fourth symbol “---” of the physical health register 228A represents that the given communication channel is disconnected (or the channel becomes a failed state). Figure 2A
[0061] Thereafter, the output of the physical health register 228A is sent to an encode OAM block 230A, which is used to encode OAM messages with the help of signals received from a control state machine 236A. In one example, the encode OAM block 230A is composed of two types of OAM messages, namely OAM common messages and lane specific OAM messages. In one example, the ratio of OAM common messages is 2:0, and the OAM common messages include eight (8) different common message combinations to inform multiple communication lanes 108A-108N. Similarly, the ratio of lane specific OAM messages is 8:3, and the lane specific OAM messages include sixty-four (64) different message combinations to inform a single communication lane. Moreover, the OAM common messages are common to all communication lanes, while the lane specific OAM messages are directed to one communication lane only.
[0062] Further, the output of the encode OAM block 230A (i.e., OAM common messages or lane specific OAM messages) is also sent to the plurality of FEC blocks 224. In other words, during the encoding of the FEC frames at the plurality of TX / RX-AFE 226, the OAM messages are also attached to the FEC frames of the plurality of FEC blocks 224, and the process is repeated continuously based on the communication lane status of each of the plurality of communication lanes 108A-108N. Thereafter, the plurality of TX / RX-AFE 226 sends the output of the OAM messages and each of the plurality of FEC blocks 224 from the first end 102 to the second end 104 through the communication lanes 108A-108N.
[0063] Thereafter, the plurality of sub-frames (or symbols) are received and processed by the plurality of TX / RX-AFE 238 of the second end 104. The received sub-frames are also passed from the plurality of FEC blocks 240 to the corresponding FEC blocks, which are used to decode each of the plurality of sub-frames. As a result, the FEC data and the OAM messages (i.e., OAM common messages or lane specific OAM messages) are separated. In other words, the OAM messages are recovered from the FEC frames, which facilitates determining the communication lane status. The OAM messages (including common messages or lane specific messages) also enter a decode OAM block 234B. The output of the decode OAM block 234B is also connected to a physical health register 228B, wherein the bits of the OAM messages are stored in the corresponding space within the physical health register 228B (or memory). In other words, the OAM messages (or relevant OAM messages) are interpreted locally after decoding and stored in the physical health register 228B. Moreover, if necessary, the necessary actions are taken based on the OAM messages. The physical health registers 228A and 228B facilitate regular communication with each other about the availability of the communication lanes 108A-108N through the OAM messages.
[0064] Further, the output of each of the plurality of FEC blocks 240 also enters each pipe data of the corresponding buffer. Thus, each of the plurality of buffers 222 sends the plurality of sub-frames at a high data rate from the communication interface 110 of the first end 102 to the corresponding buffer of the plurality of buffers 242 of the other communication interface 112 of the second end 104. The output of each of the plurality of buffers 242 is further passed through the corresponding gate of the plurality of gates 244, through the multiplexer 246, and finally received by the code converter 248. The code converter 248 is used to remove the added control signals from the received data. Thus, the valid data (or data frames 212) can be correctly decoded by the code converter 248 at the second end 104. The received data is passed to the MAC layer 210B through the media independent interface layer 214B. In one example, the order of opening the gates 244 at the plurality of TX / RX-AFE 226 and the plurality of TX / RX-AFE 238 is the same as the order done at the first end 102 (i.e. the transmitter end).
[0065] According to another embodiment, the data to be sent through the wake-up communication channel is a control message comprising control information, which is to be used to control the operation of a device located at the second end 104 and connected to the other communication interface 112 at the second end 104. Alternatively, the logic 114 initially obtains data of a fixed size from the MAC layer 210A. Thereafter, the logic 114 adds the first few bits of a control message comprising control information for control purposes. The control message is used to control a device located at the second end 104, such as the switch 208. Since the device is connected to the other communication interface 112, the other communication interface 112 is used to put the device into a maintenance or repair mode, and also to change configuration parameters of the device.
[0066] According to one embodiment, logic 114 is further configured when it detects that the communication channel status of the wake-up communication channel has changed to the second determined state. Logic 114 is further configured to change the dormant communication channel to the new wake-up communication channel and to inform the other communication interface 112 at the second end 104 that the new wake-up communication channel will be used for sending data. Logic 114 is further configured to send data to the second end 104 through the wake-up communication channel and the new wake-up communication channel. In one example, if communication channel 108A is the wake-up communication channel and communication channel 108B is the dormant communication channel. Further, if logic 114 detects that the communication channel status of communication channel 108A changes to the second determined state (i.e., the signal-to-noise ratio error). Then, as long as the communication channel status does not deteriorate below the second determined state, logic 114 uses communication channel 108A. Further, logic 114 changes communication channel 108B to the new wake-up communication channel. Thus, there is the wake-up communication channel (i.e., communication channel 108A with the second determined state) and the new wake-up communication channel (i.e., communication channel 108B in the healthy state). Thereafter, logic 114 informs the other communication interface 112 at the second end 104 that communication channel 108B will also be used for sending data along with communication channel 108A. Further, logic 114 sends data to the second end 104 through communication channel 108B and communication channel 108A. With the help of sending data from communication interface 110 to the other communication interface 112 using the wake-up communication channel as well as the new wake-up communication channel, this will be a seamless data transmission. In one example, logic 114 is further configured to monitor and update the communication channel status of the wake-up communication channel to the other communication interface 112.
[0067] Thus, the disclosed communication interface 110 provides seamless data communication between the first end 102 and the second end 104 of the communication link 106, even in case of a lane failure. Further, the logic at the communication interface is used to detect the first determined state of one of the communication lanes 108A-108N early and accordingly communicate to each of the communication interfaces 110 and 112 at the first end 102 and the second end 104 of the communication link 106 about the communication lane having the first determined state and maintain data communication seamlessly by using the other communication lanes. The communication interface 110 at the first end 102 is used to transmit data to the other communication interface 112 at the second end 104 at full data rate and increased bandwidth by bringing all the communication lanes 108A-108N in operational mode. Further, the other communication interface 112 at the second end 104 is used to transmit data to the communication interface 110 at the first end at low data rate, thus, there is no need to operate all the communication lanes 108A-108N simultaneously. Rather, just one communication lane is sufficient to transmit data from the second end 104, thereby reducing power consumption and achieving higher energy efficiency. Thus, one communication lane is used as a wake-up communication lane and the rest of the communication lanes are used to remain in sleep mode to save energy. If the wake-up communication lane becomes a failed lane, then one of the communication lanes in sleep mode is changed to a new wake-up communication lane for data communication. Thus, data will be transmitted seamlessly and asymmetrically from the communication interface 110 to the other communication interface 112 or vice versa. Further, data transmission is carried out seamlessly between the first end 102 and the second end 104 as long as there is at least one wake-up communication lane (i.e., one non-failed communication lane). By virtue of providing variable data rate, each of the communication interface 110 and the other communication interface 112 can be used for Institute of Electrical and Electronics Engineers (IEEE) standard, i.e., IEEE 802.3cy, for providing 25 / 50 / 100 Gbit / s.
[0068] Figure 2B Another embodiment of the present application is shown to provide communication between various sub-blocks associated with the communication interface of the second end and the first end. The elements of Figure 1 and Figure 2A are described Figure 2B . Referring to Figure 2B , a circuit architecture 200B is shown to illustrate communication between various sub-blocks associated with the communication interface 110 of the first node 102A and the other communication interface 112 of the second node 104A of the communication network 100. Figure 1
[0069] like Figure 2B As shown, switch 208 is used to send data to sensor 206, also known as downlink data communication. Communication channel 108A is shown as the wake-up communication channel, while communication channels 108B-108N are sleep communication channels. Therefore, communication link 106 is used to send data from the second end 104 to the first end 102 at a low data rate because it is not necessary to operate all communication channels 108A-108N. Instead, only one communication channel (e.g., communication channel 108A) is sufficient for data communication, which reduces power consumption and achieves higher energy efficiency.
[0070] According to another embodiment, a buffer is used to receive data sent from a corresponding buffer in another communication interface 112 at the second end 104 via a given communication channel, and a gate is used to open or close the output of data received via the given communication channel, with logic 114 controlling the gate according to the communication channel status of the given communication channel. In one implementation, a code converter 248 (acting as a transcoder) receives data from the MAC layer 210B of the other communication interface 112. Subsequently, a demultiplexer 260 splits the data frame 212 into multiple subframes, which are also received by multiple buffers 242 through multiple gates 244. The multiple subframes are also received by multiple FEC blocks 240, which also receive OAM messages from the physical health register 228B via an encoded OAM block 230B and an OAM frame 232B. Furthermore, the output of each FEC encoder is also sent to a decoded OAM block 234A, and from multiple TX / RX-AFEs 226 to the corresponding TX / RX-AFE. Subsequently, multiple TX / RX-AFE 256s send OAM messages and the outputs of multiple FEC blocks 224 from the second end 104 to the first end 102 via communication channels 108A-108N.
[0071] Subsequently, multiple subframes (or symbols) are received and processed by multiple TX / RX-AFE 226s at the first end 102. Furthermore, the received subframes are also passed from multiple FEC blocks 224 to their respective FEC blocks, which are used to decode each of the multiple subframes. Therefore, the FEC data and OAM message are separated (or the OAM message is recovered from the FEC frame). Additionally, the OAM message also enters the decoding OAM block 234A, the output of which is connected to the physical health register 228A, where the bits of the OAM message are stored in the corresponding space within the physical health register 228A (or memory).
[0072] Further, the output of each of the plurality of FEC blocks 224 also enters each pipe data of the corresponding buffer of the plurality of buffers 222. The output of each buffer also passes through the plurality of gates 220, wherein the plurality of gates 220 are also controlled by the logic 114 based on the communication channel status of each communication channel 108A-108N. For example, if the communication channel status shows that only the communication channel 108A is a wake-up communication channel and the communication channels 108B-108N are sleep communication channels, then the logic 114 is configured to open the gate corresponding to the communication channel 108A (i.e., Gl) and close the gates corresponding to the communication channels 108B-108N (i.e., G2). Thus, only the buffer corresponding to the communication channel 108A can send the plurality of sub-frames to the demultiplexer 218, while the buffers corresponding to the communication channels 108B-108N will not be able to send the plurality of sub-frames to the demultiplexer 218. Thereafter, the plurality of sub-frames are finally received by the transcoder 216 (acting as a transcoder) which is configured to remove the added control signals from the received plurality of sub-frames (or data). Further, the received data in the form of the plurality of sub-frames passes through the media independent interface layer 214A to the MAC layer 210A.
[0073] Figure 2C Another embodiment of the present application is shown to provide communication between various sub-blocks associated with the communication interface of the first and second ends. The elements of Figure 1 , Figure 2A and Figure 2B are described Figure 2C . Referring to Figure 2C , a circuit architecture 200C is shown which illustrates the communication between various sub-blocks associated with the communication interface 110 of the first node 102A and another communication interface 112 of the second node 104A of the communication network 100 (of Figure 1 .
[0074] In the circuit architecture 200C, initially, the plurality of communication channels 108B-108N are in a healthy state, thus the sensor 206 can send data to the switch 208 at a high (or full) data rate. Thereafter, the logic 114 detects that the communication channel status of the communication channel 108A changes from the healthy state (i.e., from “+”) to the first determined state (i.e., “--”), which indicates that the communication channel 108A is in a non-good health state. After a period of time, the communication channel status of the communication channel 108A changes from the first determined state (i.e., “--”) to the communication channel 108A failure (i.e., “---”), thus the communication channel 108A will not be able to send data, as shown in Figure 2CThe cross mark on the communication channel 108A is shown. Then, the message is first shared and acknowledged between the communication link 106 partners. For example, the "common message" field of the OAM message is first shared and acknowledged between the communication interface 110 and the other communication interface 112. Moreover, when the communication interface 110 and the other communication interface 112 attack the presence of the first determined state in the communication channel 108A, and need to close the corresponding gate (e.g., Gl) at the communication interface 110 and the other communication interface 112. Immediately, the MAC layer 210A and 210B are informed by the corresponding media independent interface layer 214A and 214B that the capacity of the communication link 106 will be reduced from the sensor 206 to the switch 208.
[0075] Thereafter, the data received from the MAC layer 210A starts to fill the plurality of buffers 222 (or pipe data) from the second gate (i.e., G2) to the Nth gate (i.e., Gn) and repeats again. Since only the communication channel 108A has the first determined state, the transcoder 216 provides a plurality of sub-frames suitable for the remaining buffers (e.g., buffers corresponding to the communication channels 108B-108N) that are still in operation. In the transcoder 216, the space corresponding to the gate (i.e., Gl) of the communication channel 108A that is not currently in operation is filled with dummy data and this dummy data is ignored later. This further enables the correct decoding at the receiver (or the other communication interface 112). In other words, the valid data can be correctly decoded at the other communication interface 112 of the second end 104. In this way, as long as there is a failure in one communication channel, the free communication seamlessly proceeds between the two ends (i.e., the first end 102 and the second end 104) of the communication link 106 at a partially reduced speed. In one example, during the data transmission from the second end 104 to the first end 102, all the control and OAM messages are sent through the communication channel 108B.
[0076] In another implementation, the logic 114 periodically checks the health of the communication channel 108A (e.g., through the control state machine 236A) despite the failure of the communication channel 108A. In this case, the health of the communication channel 108A is transitioned from the first determined state (i.e., from ("—") or from channel failure) to the healthy state (i.e., +). Then, the logic 114 is used to open the wake-up communication channel (e.g., the communication channel 108A) and the corresponding gate (e.g., Gl). Thus, there is seamless communication from the sensor 206 to the switch 208.
[0077] Figure 3 is a sequence diagram provided by embodiments of the present invention describing the interaction process between two physical health registers. In conjunction with Figure 1 , Figure 2A , Figure 2B and Figure 2CElement Description Figure 3 Reference Figure 3 A sequence diagram 300 describing an interaction process between two physical health registers (e.g., a physical health register 228A of the communication interface 110 and a physical health register 228B of another communication interface 112) is shown. The sequence diagram 300 includes operations 302-316.
[0078] In operation 302, the physical health register 228A detects that the communication channel status of the wake-up communication channel at the first end 102 has changed to a first determined state. For example, the physical health register 228A of the first end 102 detects that the communication channel status of the communication channel 108A has changed to a first determined state. Thereafter, the physical health register 228A informs the MAC layer 210A of the first end 102 and closes the wake-up communication channel (i.e., the communication channel 108A) and the corresponding gate (e.g., G1). The physical health register 228A also informs and requests the physical health register 228B to close the wake-up communication channel (i.e., the communication channel 108A) at the second end 104 and the corresponding gate (i.e., G1). In one example, the physical health register 228A of the first end 102 informs and requests the physical health register 228B of the second end 104 through a common message field (CMF) of an OAM message and through an OAM frame 232A, wherein the plurality of communication channels 108A-108N sends the same common message field (CMF). In one example, the physical health register 228B also determines a new speed and a new functional communication channel.
[0079] In operation 304, the physical health register 228B receives and decodes the received common message field (CMF) of the OAM message through the OAM frame 232B.
[0080] In operation 306, the physical health register 228B receives and reads the common message field (CMF) of the OAM message through the OAM frame 232B. Thereafter, the physical health register 228B performs the received message. The physical health register 228B also informs the MAC layer 210B and closes the wake-up communication channel (i.e., the communication channel 108A) with the first determined state and the corresponding gate (i.e., G1). Thereafter, the physical health register 228B shares an acknowledgement message to the physical health register 228A through the common message field of the OAM message. In addition, the physical health register 228B starts decoding data accordingly.
[0081] In operation 308, the physical health register 228A receives an acknowledgement message from the physical health register 228B, wherein the acknowledgement message acknowledges that the physical health register 228B closed the wake-up communication lane (e.g., communication lane 108A) with the first determined state and the corresponding gate (e.g., Gl).
[0082] In operation 310, the logic 114 periodically checks the health of the communication lane 108A (e.g., by controlling the state machine 236A) despite the failure of the communication lane 108A. Further, the physical health register 228A determines that the communication lane state of the wake-up communication lane (e.g., communication lane 108A) is now in the healthy state. In other words, the health of the communication lane 108A is transitioned from the first determined state (i.e., “- -” in the physical health register 228A) to the healthy state (i.e., “+” in the physical health register 228A). Then, the physical health register 228A requests the physical health register 228B to open the wake-up communication lane (e.g., communication lane 108A) and the corresponding gate (e.g., Gl). In one example, the physical health register 228A notifies and requests the physical health register 228B through the lane specific field (LSF) message of the OAM message and through the OAM frame 232A.
[0083] In operation 312, the physical health register 228B receives and decodes the received lane specific field message of the OAM message through the OAM frame 232B.
[0084] In operation 314, the physical health register 228B receives and reads the lane specific field message of the OAM message through the OAM frame 232B. Thereafter, the physical health register 228B executes the received lane specific field message. The physical health register 228B also notifies the MAC layer 210B and opens the wake-up communication lane (i.e., communication lane 108A) and the corresponding gate (i.e., Gl). Thereafter, the physical health register 228B shares another acknowledgement message to the physical health register 228A through the common message field of the OAM message.
[0085] In operation 316, the physical health register 228A receives another acknowledgement message from the physical health register 228B, wherein the another acknowledgement message acknowledges that the physical health register 228B opened the wake-up communication lane (e.g., communication lane 108A) and the corresponding gate (e.g., Gl). The physical health register 228A also notifies the MAC layer 210A and opens the wake-up communication lane (i.e., communication lane 108A) and the corresponding gate (i.e., Gl). Thus, there is seamless data communication through all the communication lanes 108A-108N.
[0086] Figure 4 is a flowchart of a method of communicating over a communication link comprising a plurality of communication channels. The method is provided by an embodiment of the present invention. The method is described in connection with Figure 1 , Figure 2A , Figure 2B , Figure 2C and Figure 3 element descriptions Figure 4 . Referring to Figure 4 , a method 400 of communicating over a communication link 106 comprising a plurality of communication channels 108A-108N is shown. The method 400 comprises steps 402 to 412. The method 400 is performed by a communication interface 110 at a first end 102 of the communication link 106 and another communication interface 112 at a second end 104 of the communication link 106.
[0087] In another aspect, the present invention provides a method 400 of communicating over a communication link 106, the communication link 106 comprising a plurality of communication channels 108A-108N having a number greater than or equal to two and having a first end 102 and a second end 104, the method 400 comprising sending data from the first end 102 to the second end 104 through one wake-up communication channel of the plurality of communication channels 108A-108N, at least one dormant communication channel of the plurality of communication channels being in a sleep mode in which the at least one dormant communication channel is unable to send any data. In other words, the method 400 comprises sending data from the first end 102 to the second end 104 through one wake-up communication channel of the plurality of communication channels 108A-108N, and vice versa. In one implementation, the first end 102 of the communication link 106 is configured to receive data from a plurality of sensors. Thereafter, the data is received by a logic 114 of the communication interface 110 at the first end 102 of the communication link 106. The logic 114 is configured to cooperate with the other communication interface 112 such that the logic 114 can send the data to the second end 104 through one wake-up communication channel of the plurality of communication channels 108A-108N. Since the communication link 106 comprises one wake-up communication channel. Therefore, there will be seamless data transmission from the communication interface 110 to the other communication interface 112. The communication link 106 facilitates sending data from the first end 102 to the second end 104 at full data rate and with increased bandwidth. Since at least one dormant communication channel is in a sleep mode (i.e. unable to send any data). Therefore, the communication link 106 can also send data from the second end 104 to the first end 102 at a low data rate since it is not necessary to operate all the communication channels 108A-108N. Instead, only one communication channel is sufficient, which further reduces power consumption.
[0088] At step 402, the method 400 includes storing, at the first end 102, a communication channel status of the wake-up communication channel. In one example, the communication channel 108A is used to act as the wake-up communication channel (or active), and the communication channels 108B-108N are used to act as the sleep communication channels (or non-active). Further, the method 400 includes the logic 114 storing the communication channel status of the wake-up communication channel (e.g., the communication channel 108A). In one example, the communication channel status corresponds to a communication channel health and availability of the wake-up communication channel. The communication channel status is beneficial for detecting changes in the wake-up communication channel.
[0089] At step 404, the method 400 includes detecting, at the first end 102, that the communication channel status of the wake-up communication channel has changed to a first determined status, and in other words, the logic 114 will detect the first determined status if the communication channel status of the wake-up communication channel (e.g., the communication channel 108A) changes to the first determined status when the communication channel status of the wake-up communication channel is detected to have changed to the first determined status at the first end 102. Thus, the logic 114 of the communication interface 110 is beneficial for early detection of the first determined status (or channel failure).
[0090] At step 406, the method 400 includes stopping sending data through the wake-up communication channel. In other words, the logic 114 of the communication interface 110 does not send data through the communication channel 108A if the communication channel status of the wake-up communication channel (e.g., the communication channel 108A) changes to the first determined status.
[0091] At step 408, the method 400 includes changing a sleep communication channel to a new wake-up communication channel. For example, the logic 114 is used to change the communication channel 108B from a sleep communication channel to a new wake-up communication channel. The new wake-up communication channel is used to provide seamless data transmission from the communication interface 110 to the other communication interface 112.
[0092] At step 410, the method 400 includes notifying the other communication interface 112 at the second end 104 that the new wake-up communication channel will be used to send data. In other words, the logic 114 is used to notify the other communication interface 112 that the communication channel 108B will be used to send data from the communication interface 110 to the other communication interface 112.
[0093] In step 412, the method 400 comprises sending data to the second end 104 through the new wake-up communication channel. In other words, if both the communication interface 110 and the other communication interface 112 agree that the communication channel status of the wake-up communication channel has changed to the first determined state (i.e. there is a fault in the communication channel 108A), the logic 114 is configured to send data to the second end 104 through the new wake-up communication channel, e.g. through the communication channel 108B.
[0094] According to yet another embodiment, the method 400 further comprises splitting, at the first end 102, a data frame 212 into a plurality of sub-frames corresponding to a plurality of wake-up communication channels, the data to be sent through the wake-up communication channel being one of the sub-frames. In one implementation, the method 400 comprises receiving data in the form of a data frame 212 from a sensor arranged in the vicinity of the first end 102 of the communication link 106. Thereafter, the method 400 comprises splitting, at the first end 102, the data frame 212 into a plurality of sub-frames corresponding to a plurality of wake-up communication channels. In one implementation, the logic 114 is configured to split the data frame 212 into a plurality of sub-frames. Thereafter, the wake-up communication channel is configured to send the plurality of sub-frames, e.g. from the communication interface 110 to the other communication interface 112, through the communication link 106. By means of using a plurality of sub-frames, the total bandwidth required by the communication link 106 is improved.
[0095] According to embodiments, the method 400 further includes, for each given communication channel of all wake-up communication channels and all sleep communication channels, inputting, at the buffer at the first end 102, data to be sent through the given communication channel to a corresponding buffer at the second end. The method 400 further includes controlling the gates at the first end to open or close the input in the buffer of data to be sent through the given communication channel to the corresponding buffer at the second end 104 according to the communication channel state of the given communication channel. In one implementation, the transcoder 216 at the first end 102 receives data frames 212 from the MAC layer 210A, where the data frames 212 include fixed size data. Thereafter, the demultiplexer 218 of the logic 114 is used to split the data frames into a plurality of sub-frames, which are further received by a plurality of buffers 222 through a plurality of gates 220. The plurality of gates 220 are further controlled by the logic 114 based on the communication channel state of each communication channel 108A-108N. For example, if the communication channel state shows that only the communication channel 108A is a wake-up communication channel and the communication channel 108B is a sleep communication channel, the logic 114 is used to open the gate corresponding to the communication channel 108A (i.e., Gl) and close the gate corresponding to the communication channel 108B (i.e., G2). Thus, the buffer corresponding to the communication channel 108A can receive a plurality of data frames, while the buffer corresponding to the communication channel 108B will not receive any data frames. Thereafter, the buffer corresponding to the communication channel 108A receives frames Fl to Fn, and the subsequent wake-up communication channels similarly.
[0096] Thus, the data in the form of a plurality of sub-frames is sent through the communication channels 108A-108 from the first end 102 to the second end 104 according to the communication channel state of the given communication channel. The plurality of sub-frames (or symbols) are further received and processed at the second end 104. Thus, each buffer of the plurality of buffers 222 sends the plurality of sub-frames from the communication interface 110 at the first end 102 to a corresponding buffer of the plurality of buffers 242 at the other communication interface 112 at the second end 104. Thereafter, the valid data is correctly decoded at the second end 104 (e.g., by the code transcoder 248) and the received data is passed through the media independent interface layer 214B to the MAC layer 210B. In one example, the order of opening the plurality of gates 244 at the plurality of TX / RX-AFE 226 and the plurality of TX / RX-AFE 238 is the same as the order done at the first end 102 (i.e., the transmitter end). Beneficially, the communication of data seamlessly occurs between the communication link 106 (e.g., between the communication interface 110 and the other communication interface 112) at a reduced speed as long as there is one wake-up communication channel (i.e., a non-failed communication channel).
[0097] According to another embodiment, the communication interface 110 further comprises receiving data in the buffer at the first end 102 sent from the corresponding buffer at the second end 104 over a given communication channel and controlling the gates at the first end 102 to open or close the output of the data received over the given communication channel according to the communication channel status of the given communication channel. In one implementation, data in the form of a plurality of sub-frames is sent from the second end 104 to the first end 102 over the communication channels 108A-108N. Thereafter, the plurality of sub-frames (or symbols) is received and processed at the first end 102 and sent to each pipe data of the corresponding buffer in the plurality of buffers 222. The output of each buffer in the plurality of buffers 222 is further passed through the plurality of gates 220, wherein the plurality of gates 220 is controlled by the logic 114 based on the communication channel status of each communication channel 108A-108N. For example, if the communication channel status shows that only the communication channel 108A is a wake-up communication channel and the communication channel 108B is a sleep communication channel, the logic 114 is configured to open the gate corresponding to the communication channel 108A (i.e. Gl) and close the gate corresponding to the communication channel 108B (i.e. G2). Thus, the valid data can be correctly decoded at the first end 102. The received data is further passed to the MAC layer 210A through the media independent interface layer 214A.
[0098] According to another embodiment, the data to be sent over the wake-up communication channel is a control message comprising control information, which is to be used to control the operation of a device located at the second end 104 and connected to another communication interface 112 at the second end 104. Alternatively, the logic 114 (e.g. transcoder) initially obtains data of a fixed size from the MAC layer 210A. Thereafter, the logic 114 adds the first few bits of a control message comprising control information for control purposes. The control message is used to control a device located at the second end 104, such as the switch 208. Since the device is connected to another communication interface 112, the another communication interface 112 is used to put the device into a maintenance or service mode and also to change the configuration parameters of the device.
[0099] According to yet another embodiment, the method 400 further comprises detecting at the first end 102 that the communication channel status of the wake-up communication channel has changed to a second determined status, and when the communication channel status of the wake-up communication channel is detected at the first end 102 to have changed to the second determined status, the method 400 further comprises changing the dormant communication channel to a new wake-up communication channel, and informing the communication interface at the second end that the new wake-up communication channel is to be used for transmitting data. The method 400 further comprises transmitting data to the second end over the wake-up communication channel and over the new wake-up communication channel. In one example, if the communication channel 108A is the wake-up communication channel, and the communication channel 108B is the dormant communication channel. Further, the method 400 comprises detecting that the communication channel status of the communication channel 108A has changed to the second determined status. Then, the method 400 further comprises using the communication channel 108A as long as the communication channel status does not deteriorate below the second determined status. The method 400 further comprises changing the communication channel 108B to a new wake-up communication channel. Thus, there is a wake-up communication channel (i.e., the communication channel 108A having the second determined status) and a new wake-up communication channel (i.e., the communication channel 108B in a healthy status). Thereafter, the method 400 further comprises informing the other communication interface 112 at the second end 104 that the communication channel 108B is to be used for transmitting data together with the communication channel 108A. Further, the method 400 further comprises transmitting data to the second end 104 over the communication channel 108A and the communication channel 108B. Thus, the method 400 facilitates providing seamless data transmission from the communication interface 110 to the other communication interface 112.
[0100] In another aspect, the present disclosure provides a computer program product comprising program code for performing the method 400 when executed by a processor in a computer system. In one example, the program code is implemented on a non-transitory computer-readable storage medium including, but not limited to, an electrically erasable programmable read-only memory (EEPROM), a random access memory (RAM), a read only memory (ROM), a hard disk drive (HDD), a flash memory, a secure digital (SD) card, a solid-state drive (SSD), a computer-readable storage medium, and / or a CPU cache. In one example, the program code is generated by a computer program product that is implemented according to the method 400 and used to implement the method 400 on a computer system.
[0101] Thus, the disclosed method 400 provides seamless data communication between the first end 102 and the second end 104 of the communication link 106, even in the event of a lane failure. Further, the method 400 is used to early detect the first determined state of the communication lane among the communication lanes 108A-108N. The method 400 also communicates to each of the communication interfaces 110 and 112 at the first end 102 and the second end 104 of the communication link 106 that the communication lane has the first determined state and seamlessly maintains data communication by using the other communication lanes. The method 400 is advantageous in transmitting data from the communication interface 110 at the first end 102 to the other communication interface 112 at the second end 104 at full data rate and increased bandwidth by having all the communication lanes 108A-108N in the operational mode. Further, the method 400 is also advantageous in transmitting data from the other communication interface 112 at the second end 104 to the communication interface 110 at the first end 102 at a low data rate, thus, there is no need to operate all the communication lanes 108A-108N simultaneously. Rather, just one communication lane is sufficient to transmit data from the second end 104, thereby reducing power consumption and achieving higher energy efficiency. Thus, one communication lane is used as the wake-up communication lane and the rest of the communication lanes are used to remain in the sleep mode to save energy. If the wake-up communication lane becomes a failed lane, then one of the communication lanes that is in the sleep mode is changed to a new wake-up communication lane for data communication. Thus, data will be seamlessly and asymmetrically transmitted from the communication interface 110 to the other communication interface 112 and vice versa. Further, data transmission is seamlessly carried out between the first end 102 and the second end 104 as long as there is at least one wake-up communication lane (i.e., one non-failed communication lane).
[0102] Steps 402 and 412 are merely illustrative and other alternatives can be provided where one or more steps are added, one or more steps are removed, or one or more steps are provided in a different sequence without departing from the scope of the claims herein.
[0103] Modifications can be made to the embodiments of the application described above without departing from the scope of the application as defined in the appended claims. Expressions such as "including", "containing", "comprising", "having", "including", "involved in", "may have", "may involve", "comprising", and the like are to be construed to be aptly interpreted in a non-exclusive manner, i.e., allowing the presence of items, components or elements not expressly described. References to a single item should also be construed as involving a plurality. The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any implementation described as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations. The word "may" is used herein to mean "can" in some embodiments and "does not" in other embodiments. It will be understood that certain features of the application, which are, for clarity, described in the context of separate embodiments, can also be provided in combination in a single embodiment. Conversely, various features of the application, which are, for brevity, described in the context of a single embodiment, can also be provided separately or in any suitable combination or as part of other described embodiments.
Claims
1. A communication interface (110), characterized by, For a first end (102) of a communication link (106) comprising a number of communication channels (108A-108N) greater than or equal to two, the communication interface (110) comprises logic (114) for cooperating with another communication interface (112) at a second end (104) of the communication link (106) to send data to the second end (104) through a wake-up communication channel among the communication channels, at least one dormant communication channel among the communication channels being in a sleep mode in which the at least one dormant communication channel cannot send any data, the logic (114) being further for: storing a communication channel status of the wake-up communication channel; when detecting that the communication channel status of the wake-up communication channel has changed to a first determined status: stopping sending data through the wake-up communication channel; changing the dormant communication channel to a new wake-up communication channel; informing the communication interface (112) at the second end (104) that the new wake-up communication channel will be used to send data; sending data to the second end (104) through the new wake-up communication channel.
2. The communication interface (110) according to claim 1, characterized in that For each given communication channel among all the wake-up communication channels and all the dormant communication channels, further comprising a buffer for receiving data to be sent to a corresponding buffer in the other communication interface (112) at the second end (104) through the given communication channel, a gate for opening or closing an input in the buffer of data to be sent to the corresponding buffer in the other communication interface (112) at the second end (104) through the given communication channel, the logic (114) being for controlling the gate according to the communication channel status of the given communication channel.
3. The communication interface (110) according to claim 2, characterized in that the buffer being for receiving data sent from the corresponding buffer in the other communication interface (112) at the second end (104) through the given communication channel, the gate being for opening or closing an output of the data received through the given communication channel, the logic (114) being for controlling the gate according to the communication channel status of the given communication channel.
4. The communication interface (110) according to any one of claims 1 to 3, characterized in that, The logic (114) is further for splitting a data frame (212) into a number of sub-frames corresponding to the number of wake-up communication channels, the data to be sent through the wake-up communication channel being one of the number of sub-frames.
5. The communication interface (110) according to any one of claims 1 to 3, characterized in that, The data to be sent through the wake-up communication channel is a control message comprising control information for controlling the operation of a device located at the second end (104) and connected to the other communication interface (112) at the second end (104).
6. The communication interface (110) according to any one of claims 1 to 5, characterized in that The logic (114) is further for, when detecting that the communication channel status of the wake-up communication channel has changed to a second determined status: changing the dormant communication channel to a new wake-up communication channel; - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel is to be used for sending data; - sending data to the second end (104) through the wake-up communication channel and the new wake-up communication channel.
7. A communication network (100), characterized by comprising a first node (102A) located at a first end (102) of a communication link (106) and a second node (104A) located at a second end (104) of the communication link (106), the communication link (106) comprising a number of communication channels (108A-108N) greater than or equal to two, the first node (102A) and the second node (104A) each comprising a communication interface (110) according to any one of claims 1 to 6.
8. The communication network (100) according to claim 7, characterized in that The communication network (100) is a vehicle on-board communication network.
9. A method (400) of communicating over a communication link (106), characterized by, The communication link (106) comprises a number of communication channels (108A-108N) greater than or equal to two and having a first end (102) and a second end (104), the method (400) comprising: a communication interface (110) at the first end (102) cooperating with another communication interface (112) at the second end (104), sending data from the first end (102) to the second end (104) through one wake-up communication channel of the communication channels, at least one dormant communication channel of the communication channels being in a sleep mode in which the at least one dormant communication channel cannot send any data, the method (400) further comprising: the communication interface (110) at the first end (102) storing a communication channel status of the wake-up communication channel; the communication interface (110) at the first end (102) detecting that the communication channel status of the wake-up communication channel has changed to a first determined status: - stopping sending data through the wake-up communication channel; - changing the dormant communication channel to a new wake-up communication channel; - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel is to be used for sending data; - sending data to the second end (104) through the new wake-up communication channel.
10. The method (400) according to claim 9, characterized by For each given communication channel of all the wake-up communication channels and all the dormant communication channels, the method further comprises: inputting, in a buffer at the first end (102), data to be sent to a corresponding buffer at the second end (104) through the given communication channel; controlling a gate at the first end according to the communication channel status of the given communication channel to open or close the input in the buffer of the data to be sent to the corresponding buffer at the second end (104) through the given communication channel. - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel is to be used for sending data; - sending data to the second end (104) through the wake-up communication channel and the new wake-up communication channel. comprising a first node (102A) located at a first end (102) of a communication link (106) and a second node (104A) located at a second end (104) of the communication link (106), the communication link (106) comprising a number of communication channels (108A-108N) greater than or equal to two, the first node (102A) and the second node (104A) each comprising a communication interface (110) according to any one of claims 1 to 6. The communication network (100) is a vehicle on-board communication network. The communication link (106) comprises a number of communication channels (108A-108N) greater than or equal to two and having a first end (102) and a second end (104), the method (400) comprising: a communication interface (110) at the first end (102) cooperating with another communication interface (112) at the second end (104), sending data from the first end (102) to the second end (104) through one wake-up communication channel of the communication channels, at least one dormant communication channel of the communication channels being in a sleep mode in which the at least one dormant communication channel cannot send any data, the method (400) further comprising: the communication interface (110) at the first end (102) storing a communication channel status of the wake-up communication channel; the communication interface (110) at the first end (102) detecting that the communication channel status of the wake-up communication channel has changed to a first determined status: - stopping sending data through the wake-up communication channel; - changing the dormant communication channel to a new wake-up communication channel; - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel is to be used for sending data; - sending data to the second end (104) through the new wake-up communication channel. For each given communication channel of all the wake-up communication channels and all the dormant communication channels, the method further comprises: inputting, in a buffer at the first end (102), data to be sent to a corresponding buffer at the second end (104) through the given communication channel; controlling a gate at the first end according to the communication channel status of the given communication channel to open or close the input in the buffer of the data to be sent to the corresponding buffer at the second end (104) through the given communication channel.
11. The method (400) according to claim 10, characterized by Also included is receiving, in the buffer at the first end (102), data transmitted from the corresponding buffer at the second end (104) through the given communication channel, and controlling a gate at the first end (102) to open or close the output of the data received through the given communication channel, according to the communication channel status of the given communication channel.
12. The method (400) according to any one of claims 9 to 11, wherein, Also included is: At the first end (102), splitting a data frame into a plurality of sub-frames corresponding to the plurality of wake-up communication channels, the data to be transmitted through the wake-up communication channel being one of the sub-frames.
13. The method (400) according to any one of claims 9 to 11, wherein, The data to be transmitted through the wake-up communication channel is a control message, the control message including control information for controlling the operation of a device located at the second end (104) and connected to the other communication interface (112) at the second end (104).
14. The method (400) according to any one of claims 9 to 13, wherein, Also included is: Detecting at the first end (102) that the communication channel status of the wake-up communication channel has changed to a second determined status, and when detecting at the first end (102) that the communication channel status of the wake-up communication channel has changed to the second determined status: - changing the dormant communication channel to a new wake-up communication channel; - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel will be used to transmit data; - transmitting data to the second end (104) through the wake-up communication channel and the new wake-up communication channel.
15. A computer program product comprising a program code, characterized in that, The program code, when executed by a processor in a computer system, is for performing the method (400) according to any one of claims 9 to 14. Also included is receiving, in the buffer at the first end (102), data transmitted from the corresponding buffer at the second end (104) through the given communication channel, and controlling a gate at the first end (102) to open or close the output of the data received through the given communication channel, according to the communication channel status of the given communication channel. Also included is: At the first end (102), splitting a data frame into a plurality of sub-frames corresponding to the plurality of wake-up communication channels, the data to be transmitted through the wake-up communication channel being one of the sub-frames. The data to be transmitted through the wake-up communication channel is a control message, the control message including control information for controlling the operation of a device located at the second end (104) and connected to the other communication interface (112) at the second end (104). Also included is: Detecting at the first end (102) that the communication channel status of the wake-up communication channel has changed to a second determined status, and when detecting at the first end (102) that the communication channel status of the wake-up communication channel has changed to the second determined status: - changing the dormant communication channel to a new wake-up communication channel; - informing the other communication interface (112) at the second end (104) that the new wake-up communication channel will be used to transmit data; - transmitting data to the second end (104) through the wake-up communication channel and the new wake-up communication channel. The program code, when executed by a processor in a computer system, is for performing the method (400) according to any one of claims 9 to 14.