Certain embodiments of the invention relate to networking. More specifically, certain embodiments of the invention relate to a method and system for physical-layer handshaking for timing role transition.
Packet based communications networks, such as Ethernet, are becoming an increasingly popular means of communicating data of various types and sizes for a variety of applications. Another area of concern in modern packet based networks is the ability to support various functions that require accurate timing. In this regard, packet based networks are increasingly being utilized to carry traffic such as voice, and multimedia traffic that require accurate timing so as not to degrade user experience. However, conventional timing methods have many shortcomings.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
A system and/or method is provided for physical-layer handshaking for timing role transition, substantially as illustrated by and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
Certain embodiments of the invention may be found in a method and system for physical-layer handshaking for timing role transition. In various embodiments of the invention, prior to changing the timing role of a first Ethernet device, the first Ethernet device may communicate over an Ethernet link to a second Ethernet PHY utilizing a first set of one or more physical coding sublayer (PCS) code-groups. In response to a determination to change the timing role of the first Ethernet device, the first Ethernet device may communicate one or more IDLE symbols over the Ethernet link to the second Ethernet device, where the one or more IDLE symbol may be generated utilizing a second set of one or more PCS code-groups. The first set of one or more PCS code-groups may be mutually exclusive with the second set of one or more PCS code-groups. The timing role of the first Ethernet device may be changed from timing slave to timing master. An Ethernet physical layer connection between the first Ethernet device and the second Ethernet device may remain active during the changing of the first Ethernet device's timing role. Upon completion of the changing of the timing role from timing slave to timing master, the first Ethernet device may resume communication over the Ethernet link utilizing the first set of one or more PCS code-groups. The determination to change the timing role of the first Ethernet device may be made in response to Ethernet Synchronization Message Channel (ESMC) messages communicated to the first Ethernet device.
In various embodiments of the invention, an Ethernet device may receive Ethernet physical layer symbols via an Ethernet physical layer connection. In response to detecting that one or more of the Ethernet physical layer symbols correspond to a particular set of one or more physical coding sublayer (PCS) code-groups, the Ethernet device may make a determination to change its timing role. The Ethernet device may change its timing role from timing master to timing slave. An Ethernet physical layer connection between the Ethernet device and a second Ethernet device may remain active during the changing of the timing role. The Ethernet device may remain IEEE 802.3 master before, during, and after the changing of its timing role.
Each of the PHYs 106A1, 106A2, 106B1, and 106B2 may comprise suitable logic, circuitry, interfaces, and/or code that may enable communications in accordance with one or more Ethernet physical layer protocols such as, for example, 10BASE-X, 100BASE-X, 1GBASE-X, 10GBASE-X, 40GBASE-X, and 100GBASE-X, where ‘X’ is a refers to any of the various physical media types set forth in the IEEE 802.3 standard. Each of the PHYs 106A1, 106A2, 106B1, and 106B2 may comprise a PLL 108, or other clock generator, that may be utilized for transmission and reception of data. For synchronous Ethernet communications, the PLL 108 may be phase and/or frequency locked to the clock signal 105.
The timing source 104A may comprise suitable logic, circuitry, interfaces, and/or code that may be operable to perform various functions for supporting synchronous Ethernet communications. Exemplary functions may comprise clock generation and synchronization. The timing source 104A may generate a clock 105A which may be provided to the PHYs 106A1 and 106A2. The timing source 104A may be operable to synchronize the phase and/or frequency of the clock 105 to a selected reference clock. The selected reference clock may be dynamically selected from a plurality of available reference clocks. The selected reference clock may be selected in a manner that is transparent to the PHYs 106A1 and 106A2. For example, for PHYs 106A1 and 106A2 configured to communicate compliant with 100/1G/10GBASE-T, a change in selected reference clock may be done without the PHYs 106A1 and 106A2 losing their active physical Ethernet layer connection (“losing link-up”) with their respective link partners and having to re-enter autonegotiation. To synchronize clock 105 to a first reference clock, PRC, the timing source 104A may utilize synchronization information received via the PHY 106A1. To synchronize clock 105 to a second reference clock, PRC′, the timing source 104A may utilize synchronization information received via the PHY 106A1. The timing source 104A may be operable to output an indication of the selected reference clock to the PHYs 106A1 and 106A2. The timing source 104B may be substantially similar to the timing source 104A.
In operation of an exemplary embodiment of the invention, referring to
After a Ethernet physical layer connection is established between PHYs 106A1 and 106B2, normal data and/or IDLE symbols generated utilizing a first encoding corresponding to a first set of one or more PCS code-groups may be communicated over the link 110. These communications may include Ethernet Synchronization Message Channel (ESMC) messages, which may similarly be communicated over the link 112A and the link 112B. The timing sources 104A and 104B may each utilize the ESMC messages in selecting a reference clock to which the clocks 105A and 105B, respectively, are synchronized.
In
In
Aspects of the invention enable transitioning from the configuration depicted in
The control module 202 may comprise suitable logic, circuitry, interfaces, and/or code that may be operable to configure and/or control operations of various portions of the PHY 106A1. The control module 202 may, for example, execute instructions stored in the memory 204 and/or implement a state machine.
The memory 204 may comprise, for example, RAM, ROM, flash and/or any other suitable memory elements. The memory 204 may, for example, comprise state registers utilized by the control module 202 and/or may store instruction executed by the control module 202. In an embodiment of the invention, the memory 204 may be utilized to buffer Tx data input to the PHY 106A1 from a media access control (MAC) layer and/or to buffer Rx data received via the PMA sublayer 208 and PCS sublayer 206.
The PCS 206 may comprise suitable logic, circuitry, interfaces, and/or code operable to convert Tx data from the MAC layer to PCS code-groups. For example, for 1GBASE-T, eight data bits are converted four quinary symbols. In an embodiment of the invention, the PCS 206 may utilize a first encoding corresponding to a first set of code-groups when signal 220 is in a first state and may utilize a second encoding corresponding to a second set of code-groups when the signal 220 is in a second state. The first set of code-groups and the second set of code-groups may be mutually exclusive. In an embodiment of the invention, the first set of code-groups may be the code-groups defined in the IEEE 802.3-2008 as of the filing date of this application.
In an exemplary embodiment of the invention, for 1000BASE-T, the two encodings may be achieved by replacing the equations for cextn and cexterrn in § 40.3.1.3.4 of the IEEE 802.3 standard with the following
where, for example, loc_syncE_switch corresponds to the signal 220 of
The PMA 208 may comprise suitable logic, circuitry, interfaces, and/or code operable to convert the symbols output by the PCS 206 into physical layer signals for transmission, and to convert received physical layer signal into code-groups for conveyance to the PCS 206.
In operation of an exemplary embodiment of the invention, prior to time t0 the PHY 106A1 may communicate synchronously with PHY 106B2 over the link 110 in the role of timing slave. During this time, the PCS 206 may use a first set of code-groups for encoding Tx data and recovering Rx data from received code-groups. The data exchanged may include ESMC messages. During this time the clock 105 may synchronized to PRC received via the network device 102B. Based on the ESMC messages, however, the timing source 104A may determine that PRC is more accurate or otherwise preferable. Accordingly, referring to
Referring to
Referring to
The control module 302, the memory 304, the PCS 306, and the PMA 308 may be substantially similar to, respectively, the control module 202, the memory 204, the PCS 206, and the PMA 208 described with respect to
In operation of an exemplary embodiment of the invention, prior to time t2 the PHY 10682 may communicate synchronously over the link 110 in the role of timing master. At time t1, however, a code-group from the second set of one or more code-groups may be received and detected by the PHY 106B2. Receipt of such a code-group may trigger the PHY 106B2 to transition to the role of timing slave. In an exemplary embodiment of the invention, this may be accomplished by asserting a signal 308 to the control module 302. The control module 302 may detect the assertion of signal 302 and may begin reconfiguring various portions of the PHY 106B2.
Referring to
Referring to
In step 404, communications may begin over the established connection. The communications over the Ethernet physical layer connection between devices 102A and 102B may include ESMC messages. Similarly, the device 102A may communicate with another link partner via link 112A and the device 102B may communicate with another link partner via a link 112b. For the communications during this time, the PCS 206 may utilize a first encoding corresponding to a first set of PCS code-groups. The timing source 104B may synchronize to PRC and the device 102B may send ESMC messages to the device 102A to enable the timing source 104A to synchronize to PRC.
In step 406, ESMC messages may continue to be communicated between the devices 102A and 102B and their respective link partners. In step 408, based on the ESMC messages, or based on some other parameter or indication such as request by a network administrator, the network device 102A may determine that the timing roles should be reversed. Accordingly, the PHY 106A1 may begin transitioning to the role of timing master, while remaining in the role of IEEE 802.3 slave. During this transition, the PHY 106A1 may buffer traffic input to it.
In step 410, the network device 102A may trigger the PHY 106A1 to transition to timing master. In step 412, the PHY 106A1 may send a command to the PHY 106B2 to trigger the PHY 106B2 to transition from timing master to timing slave. In an embodiment of the invention, this command may be in the form of one or more IDLE symbols generated utilizing a second PCS encoding corresponding to a second set of one or more PCS code-groups.
In step 414, the PHY 106B2 may receive the IDLE symbols and detect that the one or more IDLE symbols correspond to a code-group from the second set of one or more code-groups. Accordingly, the PHY 106B2 may begin transitioning to the role of timing slave. During the transition, the PHY 106B2 may buffer data input to it.
In step 416, after completing the timing role reversal, both PHYs 106A1 and 106B2 may resume communications on the link 110. The PHY 106A1 may resume utilizing the first PCS encoding corresponding to the first set of PCS code-groups.
Aspects of a method and system for physical-layer handshaking for timing role transition are provided. In an embodiment of the invention, prior to changing the timing role of a first Ethernet device 102A1, the first Ethernet device 102A1 may communicate over an Ethernet link 110 to a second Ethernet PHY 10282 utilizing a first set of one or more physical coding sublayer (PCS) code-groups. In response to a determination to change the timing role of the first Ethernet device 102A1, the first Ethernet device 102A1 may communicate one or more IDLE symbols over the Ethernet link 110 to the second Ethernet device 102B2, where the one or more IDLE symbol may be generated utilizing a second set of one or more PCS code-groups. The first set of one or more PCS code-groups may be mutually exclusive with the second set of one or more PCS code-groups. The timing role of the first Ethernet device 102A1 may be changed from timing slave to timing master. An Ethernet physical layer connection between the first Ethernet device 102A1 and the second Ethernet device 102B2 may remain active during the changing of the first Ethernet device's timing role. Upon completion of the changing of the timing role from timing slave to timing master, the first Ethernet device 102A1 may resume communication over the Ethernet link 110 utilizing the first set of one or more PCS code-groups. The determination to change the timing role of the first Ethernet device 102A1 may be made in response to Ethernet Synchronization Message Channel (ESMC) messages communicated to the first Ethernet device.
In an exemplary embodiment of the invention, an Ethernet device 102B2 may receive Ethernet physical layer symbols via an Ethernet physical layer connection. In response to detecting that one or more of the Ethernet physical layer symbols correspond to a particular set of one or more physical coding sublayer (PCS) code-groups, the Ethernet device 102B2 may make a determination to change its timing role. The Ethernet device 102B2 may change its timing role from timing master to timing slave. An Ethernet physical layer connection between the Ethernet device 102B2 and a second Ethernet device 102A1 may remain active during the changing of the timing role. The Ethernet device may remain IEEE 802.3 master before, during, and after the changing of its timing role.
Other embodiments of the invention may provide a non-transitory computer readable medium and/or storage medium, and/or a non-transitory machine readable medium and/or storage medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for physical-layer handshaking for timing role transition.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.
This patent application makes reference to, claims priority to and claims benefit from U.S. Provisional Patent Application Ser. No. 61/388,106 filed on Sep. 30, 2010 and U.S. Provisional Patent Application Ser. No. 61/353,261 filed on Jun. 20, 2010. Each of the above stated applications is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61388106 | Sep 2010 | US | |
61353261 | Jun 2010 | US |