Sleep signaling handshake for ethernet

By delaying the transmission of LPS requests to silence the transmitter until the link partner has finished processing or the timer expires, the competition between communication devices when switching to low-power mode is resolved, resulting in more efficient energy management and stable communication links.

CN116671070BActive Publication Date: 2026-04-21MARVELL ASIA PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MARVELL ASIA PTE LTD
Filing Date
2021-09-30
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In existing technologies, communication devices face a race condition when switching to low-power mode, resulting in unnecessary power consumption and communication link failures.

Method used

By delaying the sending of LPS requests to silence the transmitter until the link partner has finished processing the LPS request or the timer expires, the handshake process is ensured to proceed smoothly, avoiding unnecessary transmitter silence.

Benefits of technology

It significantly reduces the power consumption of communication devices when switching to low-power mode, reduces the probability of communication link failure, and improves the energy efficiency of the devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116671070B_ABST
    Figure CN116671070B_ABST
Patent Text Reader

Abstract

A first communication device performs a handshake procedure with a second communication device, the handshake procedure being associated with a transition from an active mode to a low power mode. The first communication device transmits data and / or idle symbols to the second communication device i) after the handshake procedure is completed, and ii) at least until the earlier of a) an expiration of a time period and b) a determination that the second communication device has quieted a transmitter of the second communication device. The first communication device transitions to the low power mode in connection with the handshake procedure.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 085,692, filed on September 30, 2020, entitled “Sleep Handshaking Race Resolution,” the disclosure of which is incorporated herein by reference in its entirety. Technical Field

[0003] This disclosure generally relates to communication technologies, and more specifically to energy-saving technologies for devices that communicate via communication links. Background Technology

[0004] Technical Committee 10 (TC10) of the OPEN Alliance has proposed a mechanism for a device to instruct another device to enter a low-power mode (sleep mode) and, via the same automotive communication link, to enter an active mode. For example, when one device wants another device to enter sleep mode, it sends a Low Power Sleep (LPS) request via the communication link. As another example, when one device wants another device to enter active mode and the communication link is active, it sends a Wake-Up Request (WUR) via the communication link. If the communication link is inactive, the device sends a Wake-Up Pulse (WUP) to the other device to prompt it to enter active mode. Regarding LPS requests, TC10 also proposes a handshake process involving a device sending a first LPS request to a link partner and receiving a second LPS request from the link partner, which signals to the link partner that it intends to enter sleep mode.

[0005] Figure 1State diagram 100, previously proposed by TC10, is associated with a communication device transitioning between active and sleep modes. State diagram 100 is implemented by a state machine of the communication device, such as the state machine of the physical layer (PHY) processor. State 104 (“Normal State 104”) corresponds to the active operating mode. In Normal State 104, the PHY processor typically sends data and / or idle symbols to and receives data and / or idle symbols from the link partner via the communication link. In Normal State 104, various parameters are set to the logical values ​​“TRUE” or “FALSE”. For example, the sleep_fail parameter is set to “FALSE”, indicating that the handshake process with the link partner (discussed above) has failed when it is “True”. The “Inhibit” parameter is set to “True”, indicating that power-off is disabled when it is “True”. When “Inhibit” is true, the communication device is not allowed to transition to sleep mode. The "sleep" parameter is set to "false," and when it is "true," it notifies the PHY processor that transmissions via the communication link are disabled. The "tx_lps" parameter is set to "false," and when it is "true," it indicates that the PHY processor has sent (or has begun sending) an LPS request to its link partner.

[0006] In response to receiving an LPS request from a link partner (and when the PHY processor's sleep capability is enabled), the communication device's state machine transitions from normal state 104 to state 108 ("Sleep Confirmation State 108"), which is associated with confirming whether the communication device wants to transition to sleep mode. In Sleep Confirmation State 108, the communication device determines whether the transition to sleep mode should be aborted. For example, if the PHY processor is receiving an incoming data message to be sent to the link partner, the communication device determines that the transition to sleep mode should be aborted and the state machine transitions back to normal state 104. On the other hand, if the communication device determines in Sleep Confirmation State 108 that the transition to sleep mode should proceed, the communication device sets the parameter loc_sleep_req to "true".

[0007] In sleep confirmation state 108 (or at least when the communication device does not immediately determine whether to abort the transition to sleep mode), the communication device starts a timer (“sleep_ack_timer”) that measures a time period during which the communication device determines whether to abort the transition to sleep mode. In one embodiment, the sleep_ack_timer is set to measure a time period of 8 milliseconds. In other embodiments, the sleep_ack_timer is set to measure another suitable time period different from 8 milliseconds.

[0008] In sleep confirmation state 108, if the parameter loc_sleep_req is "true" when sleep_ack_timer expires, the state machine transitions to state 112 ("sleep request state 112"), which corresponds to determining whether the handshake process described above has been completed.

[0009] Referring again to normal state 104, if the communication device determines, according to its own will (i.e., not responding to the LPS request from the link partner) that the communication device should transition to sleep mode ("local sleep request") when the communication link with the link partner is started ("link normal") (and when the sleep capability of the PHY processor is enabled), the state machine transitions from normal state 104 to sleep request state 112.

[0010] In sleep request state 112, the communication device starts a timer (“sleep_req timer”) to measure a time period during which the sleep handshake process discussed above will be completed. The sleep_req timer is set to measure a time period of 16 milliseconds.

[0011] Similarly, during sleep request state 112, the communication device sends an LPS request to its link partner. If the state machine enters sleep request state 112 via sleep confirmation state 108, the LPS request sent during sleep request state 112 responds to a previous LPS request sent by the link partner, and thus the sleep handshake process is completed after the LPS request is transmitted during sleep request state 112. On the other hand, if the state machine enters sleep request state 112 directly from normal state 104 (i.e., without via sleep confirmation state 108), the LPS request sent during sleep request state 112 is the first LPS request, and the link partner must send a second LPS request to complete the sleep handshake process. Furthermore, in some scenarios, the link partner begins sending LPS requests almost simultaneously and independently of the communication device during sleep request state 112; that is, after the communication device has entered sleep request state 112, the link partner sending the LPS request is not strictly part of the handshake process. Determining whether the sleep handshake process has been completed in sleep request state 112 includes: i) determining whether an LPS request has been received from the link partner while the communication device's state machine is in sleep request state 112, or ii) in conjunction with the communication device's state machine transitioning from normal state 104 to sleep confirmation state 108. Therefore, if the link partner independently begins sending an LPS request after the communication device has already started sending one during sleep request state 112, the communication device can determine that the handshake process is complete by incorporating the receipt of an LPS request from the link partner.

[0012] In conjunction with sending an LPS request in sleep request state 112, the tx_lps parameter is set to "true" to indicate that the communication device has sent an LPS request (or has started sending an LPS request).

[0013] If the communication device determines that the sleep handshake process has not been completed by the timer `sleep_req` expires, the state machine transitions to state 116 ("Sleep Failure State 116"), which corresponds to the communication device determining that the transition to sleep mode has failed. In Sleep Failure State 116, the communication device sets the parameter (sleep_fail) to "true" to indicate that the transition to sleep mode has failed. Furthermore, the state machine transitions to normal state 104.

[0014] On the other hand, if the communication device determines in sleep request state 112 that the sleep handshake process has been completed before the sleep_req timer expires, the state machine transitions from sleep request state 112 to state 120 ("sleep silence state 120"), which corresponds to the communication device silencing the transmission of the communication device on the communication link.

[0015] In sleep-silent state 120, the communication device sets the parameter (“sleep”) to “true” to indicate that the communication device is in sleep mode and silences transmissions on the communication link. If the communication device determines that the link partner is transmitting on the communication link before the sleep_req timer expires, the state machine transitions to sleep failure state 116. For example, if the link partner does not recognize the LPS request sent by the communication device (e.g., due to noise on the communication link or some other reason), the link partner can transition back to normal state 104 and transmit idle symbols and / or data symbols. On the other hand, if the communication device determines that the link partner has silenced its transmitter when the sleep_silent_timer expires, the state machine transitions to sleep state 124.

[0016] During sleep state 124, the "disable" parameter is set to "false" to indicate that power-off is not disabled, and the communication device enters a low-power mode. For example, according to one embodiment, the PHY processor can enter a low-power mode where power consumption is significantly reduced (e.g., at least 90%) compared to normal operating state 104. According to one embodiment, the PHY processor cannot transmit (and optionally cannot receive data and / or idle symbols) in sleep state.

[0017] During sleep state 124, if the communication device determines that it should transition to active mode based on its own will (i.e., not responding to a wake-up command (e.g., WUP) from a link partner) or in response to receiving a wake-up command (e.g., WUP) from a link partner, the state machine transitions from sleep state 124 to normal state 104. In conjunction with the transition from sleep state 124 to normal state 104, the communication device exits low-power mode. For example, according to one embodiment, power to the PHY processor is restored. Summary of the Invention

[0018] In one embodiment, the first communication device includes: a physical layer (PHY) processor including a transceiver, the PHY processor being configured to perform PHY functions associated with a communication link, the PHY functions including sending information to and receiving information from the second communication device via a communication medium corresponding to the communication link, wherein the PHY processor is configured to switch between an active mode and a low-power mode; and a controller configured to: control the PHY processor to perform a handshake process with the second communication device to switch to a low-power mode; i) after the handshake process is completed, and ii) at least until the earlier of a) the expiration of a time period and b) determining that the second communication device has silenced its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device; and control the PHY processor to switch to a low-power mode in conjunction with the handshake process.

[0019] In another embodiment, a method for switching a first communication device between an active mode and a low-power mode includes: the first communication device performing a handshake process with a second communication device to switch to a low-power mode; i) after the handshake process is completed, and ii) at least until a) the expiration of a time period and b) determining the earlier of the second communication device silencing its transmitter, the first communication device sending data and / or an idle symbol to the second communication device; and combining the handshake process with switching the first communication device to a low-power mode. Attached Figure Description

[0020] Figure 1 It is a state diagram of the prior art associated with communication devices that switch between active operation mode and sleep mode.

[0021] Figure 2 The diagram shows the first and second communication devices according to... Figure 1 A diagram illustrating a scenario where a race condition occurs when operating on the existing technology state diagram.

[0022] Figure 3 This is a state diagram associated with a communication device that transitions between an active operating mode and a sleep mode, according to one embodiment.

[0023] Figure 4 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 A diagram of an example scenario for operating on a state diagram.

[0024] Figure 5 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 This is another example scenario where a state diagram is used for operations.

[0025] Figure 6 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 This is another example scenario where operations are performed using a state diagram.

[0026] Figure 7 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 This is another example scenario where operations are performed using a state diagram.

[0027] Figure 8 This is a state diagram associated with a communication device that transitions between an active operating mode and a sleep mode, according to another embodiment.

[0028] Figure 9 It is configured according to one embodiment to avoid Figure 2 A block diagram of an example network interface device that switches between active and power-saving modes in a way that reflects the competitive situation.

[0029] Figure 10 According to one embodiment, it is used to avoid Figure 2 The flowchart shows an example method for switching between active mode and power-saving mode in a competitive manner.

[0030] Figure 11 According to another embodiment, it is used to avoid Figure 2 The flowchart shows another example of how the competitive situation switches between active mode and power-saving mode. Detailed Implementation

[0031] exist Figure 1In state diagram 100, there exists a potential race condition regarding the transition from sleep request state 112 to sleep silence state 120. As discussed above, when the first communication device has received a first LPS request from the second communication device, as part of the sleep handshake process, the first communication device will (in sleep request state 112) send a second LPS request to the first communication device. The first communication device then transitions to sleep silence state 120 and silences its transmitter. Therefore, after the transmission of the second LPS request, the transmission link from the first communication device to the second communication device immediately becomes silent. The IEEE 802.3bp standard specifies that if a communication device does not detect a transmission symbol transition on the communication link within 2 microseconds (±0.1 microseconds), the communication device determines that the communication link has failed. In response to determining that the communication link has failed, the communication device can abort the processing of received frames, including the second LPS request, and thus determine that the handshake process has failed.

[0032] To resolve the race conditions discussed above, the state machine described below (based on including...) Figure 1 State diagram 100 (which operates on similar elements to other state diagrams) helps ensure that: when the first communication device sends an LPS request to the second communication device (e.g., in a state similar to...) Figure 1 When the sleep request state 112 is in effect, according to some embodiments, the first communication device does not silence the transmitter of the first communication device (e.g., the state machine does not transition to the same state as the sleep silence state 120) until the second communication device has had sufficient time to process the LPS request.

[0033] Figure 2 The diagram shows the data based on... Figure 1 Figure 100 illustrates a scenario where a first communication device and a second communication device are in operation and a competition situation occurs. As will be discussed below, the competition situation causes the first communication device to unintentionally determine that the communication link between the first and second communication devices has failed, which may cause the first communication device to unnecessarily consume power in attempting to re-establish the communication link.

[0034] Initially, the first and second communication devices are in normal state 104 and send idle symbols 204 and 208 respectively. The first communication device transitions to sleep request state 112 and sends a first LPS request 212 to the second communication device. Additionally, the first communication device starts a sleep_req timer. After sending the first LPS request 212, the first communication device sends an idle symbol 216.

[0035] After receiving and processing the first LPS request 212, the second communication device transitions to the sleep acknowledgment state 108, starts the sleep_ack timer, and continues to send idle symbols 208. After the sleep_ack timer expires, the second communication device transitions to the sleep request state 112 and sends the second LPS request 220 to the second communication device.

[0036] Following the transmission of the second LPS request 220, the second communication device immediately transitions to a sleep state 120 and silences its transmitter. The second communication device immediately transitions to sleep state 120 because it determines that the handshake process is complete; that is, the second communication device received the first LPS request 212 and sent the second LPS request 220.

[0037] Before the first communication device can complete processing of the second LPS request 220 from the second communication device, the first communication device determines that the link has failed because the second communication device silences its transmitter. In response to determining that the link has failed, the first communication device aborts processing the second LPS request 220 and silences its transmitter. Therefore, the first communication device does not detect the receipt of the second LPS 220.

[0038] Ultimately, the sleep_req timer of the first communication device expires. Because the first communication device determines that the link has failed and therefore does not detect the reception of the second LPS 220, the first communication device transitions to the sleep failure state 116 when the sleep_req timer expires. Additionally, because the first communication device unintentionally determines that the link between the first and second communication devices has failed, the first communication device could enter a link recovery state, which includes sending an idle symbol to the second communication device. Therefore, the first communication device enters a sleep state, and the first communication device may unnecessarily consume additional power.

[0039] Figure 3 This is a state diagram 300 associated with a communication device switching between an active operating mode and a sleep mode, according to one embodiment. As will be explained below, state diagram 300 resolves the race condition discussed above by helping to ensure the following operation: when the first communication device sends an LPS request to the second communication device (e.g., in a situation similar to...). Figure 1In some embodiments, during the sleep request state 112, the first communication device does not silence its transmitter (e.g., the state machine does not transition to the same or similar state as sleep silence state 120) until the second communication device has had sufficient time to process the LPS request. For example, according to one embodiment, the first communication device does not silence its transmitter (e.g., the state machine does not transition to the same or similar state as sleep silence state 120) until the first communication device determines that the second communication device has silenced its transmitter, indicating that the second communication device has detected an LPS request. As another example, according to one embodiment, the first communication device does not silence its transmitter (e.g., the state machine does not transition to the same or similar state as sleep silence state 120) until a timer expires, wherein the timer measures the maximum time period during which the second communication device receives, processes, and detects the LPS request. As another example, the first communication device does not silence the transmitter of the first communication device (e.g., the state machine does not transition to the same or similar state as sleep silence state 120) until the earlier of the following: i) the first communication device determines that the second communication device silences the transmitter of the second communication device, and ii) the timer expires.

[0040] State diagram 300 has with Figure 1 The states are similar to those in state diagram 100, and for the sake of simplicity, elements with the same number will not be discussed in detail.

[0041] State diagram 300 includes the reference above. Figure 1 The handshake process is discussed in state 312 (sleep request state 312). Referring again to normal state 104, if the communication device determines, according to its own will (i.e., without responding to an LPS request from the link partner), that the communication device should transition to sleep mode ("local sleep request") when the communication link with the link partner is started ("link normal") (and when the sleep capability of the PHY processor is enabled), the state machine transitions from normal state 104 to sleep request state 312.

[0042] In sleep request state 312, the communication device starts a timer (“sleep_req timer”) to measure a time period during which the sleep handshake process discussed above will be completed. In one embodiment, the sleep_req timer is set to measure a time period of 16 milliseconds. In other embodiments, the sleep_req timer is set to measure another suitable time period different from 16 milliseconds. In one embodiment, the sleep_req timer is set to measure approximately 16 milliseconds (i.e., 16 milliseconds ± 0.16 milliseconds). In other embodiments, the sleep_req timer is set to measure another suitable time period different from 16 milliseconds.

[0043] Similarly, during sleep request state 312, the communication device sends an LPS request to the link partner. If the state machine enters sleep request state 312 via sleep confirmation state 108, the LPS request sent during sleep request state 312 responds to a previous LPS request received from the link partner, and thus the sleep handshake process is completed after the LPS request is transmitted during sleep request state 312. On the other hand, if the state machine enters sleep request state 312 directly from normal state 104 (i.e., without via sleep confirmation state 108), the LPS request sent during sleep request state 312 is the first LPS request, and the link partner must send a second LPS request to complete the sleep handshake process. Therefore, determining whether the sleep handshake process has been completed in sleep request state 312 includes: i) during sleep request state 312, or ii) in conjunction with the transition from normal state 104 to sleep confirmation state 108, determining whether an LPS request has been received from the link partner.

[0044] In conjunction with sending an LPS request in sleep request state 312, the tx_lps parameter is set to "true" to indicate that the communication device has sent an LPS request (or has started sending an LPS request).

[0045] Also in state 312, according to one embodiment, the communication device starts another timer (“lps timer”) that measures a time period corresponding to the maximum time period during which the link partner receives, processes, and identifies LPS requests. In one embodiment, the lps timer is set to measure a time period of 94.504 microseconds ± 0.936 microseconds. In other embodiments, the lps timer is set to measure another suitable time period different from 94.504 microseconds ± 0.936 microseconds (e.g., approximately 94.5 microseconds (i.e., 94.5 ± 3 microseconds), approximately 95.5 microseconds (i.e., 95.5 ± 3 microseconds), approximately 90 microseconds (i.e., 90 ± 3 microseconds), approximately 100 microseconds (i.e., 100 ± 3 microseconds), etc.).

[0046] If the communication device determines that the sleep handshake process has not been completed by the time the sleep_req timer expires, the state machine transitions to sleep failure state 116, which corresponds to the communication device determining that the transition to sleep mode has failed.

[0047] On the other hand, if the communication device determines in sleep request state 312 that the sleep handshake process has been completed before the sleep_req timer expires, the communication device's state machine waits for the earlier of the following: i) the lps timer expires, and ii) a link partner is found to have no transmission activity before transitioning to sleep silence state 120 and silencing the communication device's transmitter. According to one embodiment, while waiting for the earlier of i) the lps timer expires and ii) a link partner being found to have no transmission activity, the communication device sends data and / or idle symbols. Because the communication device sends data and / or idle symbols and does not silence the communication device's transmitter until the earlier of i) the lps timer expires and ii) a link partner being found to have no transmission activity, at least in some embodiments, the above reference... Figure 2 The competitive situation discussed was avoided (or in accordance with) Figure 1 Compared to the state machine operating on state diagram 100, the probability of a race condition is significantly reduced, at least by 90%.

[0048] Figure 4 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 Figure 400 shows an example scenario of operating on state diagram 300.

[0049] Initially, the first and second communication devices are each in normal state 104 and respectively send data and / or idle symbols 404 and data and / or idle symbols 408. The first communication device transitions to sleep request state 312 and sends a first LPS request 412 to the second communication device. Additionally, the first communication device starts a first sleep_req timer and a first lps timer. After sending the first LPS request 412, the first communication device sends idle symbols 416 (and / or data, optionally).

[0050] After receiving and processing the first LPS request 412, the second communication device transitions to the sleep acknowledgment state 108, starts the sleep_ack timer, and continues to send data and / or idle symbols 408. Once the sleep_ack timer expires, the second communication device transitions to the sleep request state 312 and sends the second LPS request 420. Additionally, the second communication device starts a second sleep_req timer and a second lps timer.

[0051] Furthermore, after sending the second LPS request 420, the second communication device sends an idle symbol 424 (and / or data, optionally). Therefore, the second communication device immediately transitions to a sleep state 120 after sending the second LPS request 220, silencing the transmitter of the second communication device. Figure 2Different in different scenarios, in Figure 4 In this scenario, the second communication device sends an idle symbol 424 (and / or data, optionally) immediately after sending the second LPS request 420. Specifically, the second communication device sends the idle symbol 424 (and / or data, optionally) until the earlier of the following: i) the second LPS timer expires, or ii) the second communication device determines that the first communication device has silenced the first transmitter of the first communication device (“no local activity detected”), assuming the second communication device determines that the handshake process has been completed.

[0052] When the first communication device is in sleep request state 312, it detects a second LPS request 420 from the second communication device. Because the first communication device sent the first LPS request 412 and received the second LPS request 420, it determines that the handshake process is complete. Figure 4 In the example scenario, the LPS timer expires after the handshake process is determined to be complete and before the first communication device detects the second communication device and silences the transmitter of the second communication device ("No local activity detected"). Therefore, in response to the first communication device determining that the LPS timer has expired, the state machine of the first communication device transitions to sleep silence state 120 and silences the transmitter of the first communication device.

[0053] Because the second communication device received the first LPS request 412 and sent the second LPS request 420, the second communication device determined that the handshake process was complete. Figure 4 In the example scenario, the second communication device detects that the first communication device silenced its transmitter before the lps timer expired ("No local activity detected"). Therefore, in response to the second communication device detecting that the first communication device silenced its transmitter, the second communication device's state machine transitions to sleep silence state 120 and silences its transmitter.

[0054] When in sleep silence state 120, the first communication device does not detect local activity and therefore transitions to sleep state 124. Similarly, when in sleep silence state 120, the second communication device does not detect local activity and therefore also transitions to sleep state 124.

[0055] Figure 5 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 Figure 500 shows another example scenario of the operation of state diagram 300. Except that the first communication device detects the second LPS request 420 after the LPS timer expires and before determining that the second communication device silences its transmitter (“No local activity detected”), Figure 500 is similar to... Figure 4Figure 400. Therefore, in response to the first communication device detecting that a second LPS request 420 has been received, the state machine of the first communication device transitions to a sleep silence state 120 and silences the transmitter of the first communication device.

[0056] Similar to Figure 4 In this scenario, the second communication device detects that the first communication device silenced its transmitter before the lps timer expired ("No local activity detected"). Therefore, in response to the second communication device detecting that the first communication device silenced its transmitter, the state machine of the second communication device transitions to sleep silence state 120 and silences its transmitter.

[0057] When in sleep silence state 120, the first communication device does not detect local activity and therefore transitions to sleep state 124. Similarly, when in sleep silence state 120, the second communication device does not detect local activity and therefore also transitions to sleep state 124.

[0058] Figure 6 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 Figure 600 shows another example scenario of the operation performed in state diagram 300.

[0059] Initially, the first and second communication devices are in normal state 104 and respectively send data and / or idle symbols 604 and 608. The first communication device transitions to sleep request state 312 and sends a first LPS request 612 to the second communication device. Additionally, the first communication device starts a first sleep_req timer and a first lps timer. After sending the first LPS request 612, the first communication device sends idle symbols 616 (and / or data, optionally).

[0060] The second communication device, according to its own will (i.e., without responding to receiving the first LPS request 612), transitions to sleep request state 312 and sends a second LPS request 620. Additionally, the second communication device starts a second sleep_req timer and a second lps timer. After sending the second LPS request 620, the second communication device sends an idle symbol 624 (and / or data, optionally). Thus, the second communication device immediately transitions to sleep silence state 120 after sending the second LPS request 220, silencing the transmitter of the second communication device. Figure 2 Different in different scenarios, in Figure 6In this scenario, the second communication device sends an idle symbol 624 (and / or data, optionally) immediately after sending the second LPS request 620. Specifically, the second communication device sends the idle symbol 624 (and / or data, optionally) until the earlier of the following: i) the second LPS timer expires, or ii) the second communication device determines that the first communication device has silenced the transmitter of the first communication device (“no local activity detected”).

[0061] When the first communication device is in sleep request state 312, it detects a second LPS request 620 from the second communication device. Because the first communication device sent the first LPS request 612 and received the second LPS request 620, it determines that the handshake process is complete. Figure 6 In the example scenario, the first LPS timer expires after the first communication device determines that the handshake process is complete and before the first communication device detects the second communication device and silences the transmitter of the second communication device ("No local activity detected"). Therefore, in response to the first communication device determining that the first LPS timer has expired, the state machine of the first communication device transitions to sleep silence state 120 and silences the transmitter of the first communication device.

[0062] When the second communication device is in sleep request state 312, it detects a first LPS request 612 from the first communication device. Because the second communication device sent a second LPS request 620 and received the first LPS request 612, it determines that the handshake process is complete. Figure 6 In the example scenario, the second communication device detects that the first communication device silenced its transmitter before the second LPS timer expired ("No local activity detected"). Therefore, in response to the second communication device detecting that the first communication device silenced its transmitter, the state machine of the second communication device transitions to sleep silence state 120 and silences its transmitter.

[0063] When in sleep silence state 120, the first communication device does not detect local activity and therefore transitions to sleep state 124. Similarly, when in sleep silence state 120, the second communication device does not detect local activity and therefore also transitions to sleep state 124.

[0064] Figure 7 The diagram illustrates a first communication device and a second communication device according to one embodiment. Figure 3 Figure 700 shows another example scenario of the operation performed in state diagram 300. Except that the second LPS timer of the second communication device expires before the second communication device determines that the first communication device has silenced its transmitter (“No local activity detected”), Figure 700 is similar to... Figure 6 Figure 600. Therefore, in response to the second communication device determining that the first communication device has silenced the transmitter of the first communication device (“no local activity detected”), the state machine of the second communication device transitions to sleep silence state 120 and silences the transmitter of the second communication device.

[0065] When in sleep silence state 120, the first communication device does not detect local activity and therefore transitions to sleep state 124. Similarly, when in sleep silence state 120, the second communication device does not detect local activity and therefore also transitions to sleep state 124.

[0066] Figure 8 This is a state diagram 800 associated with a communication device that switches between an active operating mode and a sleep mode, according to another embodiment. Figure 8 State diagram 800 is similar to Figure 3 The state diagram is 300, and for the sake of simplicity, elements with the same number will not be discussed in detail.

[0067] State diagram 800 includes the reference above. Figure 1 The handshake process is discussed in state 812 (sleep request state 812). Referring again to normal state 104, if the communication device determines, according to its own will (i.e., not responding to the LPS request from the link partner), that the communication device should transition to sleep mode ("local sleep request") when the communication link with the link partner is started ("link normal") (and when the sleep capability of the PHY processor is enabled), the state machine transitions from normal state 104 to sleep request state 812.

[0068] In sleep request state 812, the communication device starts a timer (“sleep_req timer”) to measure a time period during which the sleep handshake process discussed above will be completed. In one embodiment, the sleep_req timer is set to measure a time period of 16 milliseconds. In other embodiments, the sleep_req timer is set to measure another suitable time period different from 16 milliseconds.

[0069] Similarly, during sleep request state 812, the communication device sends an LPS request to the link partner. If the state machine enters sleep request state 812 via sleep confirmation state 108, the LPS request sent during sleep request state 812 responds to a previous LPS request received from the link partner, and thus the sleep handshake process is completed after the LPS request is transmitted during sleep request state 812. On the other hand, if the state machine enters sleep request state 812 directly from normal state 104 (i.e., without via sleep confirmation state 108), the LPS request sent during sleep request state 812 is the first LPS request, and the link partner must send a second LPS request to complete the sleep handshake process. Therefore, determining whether the sleep handshake process has been completed in sleep request state 812 includes: i) during sleep request state 812, or ii) in conjunction with the transition from normal state 104 to sleep confirmation state 108, determining whether an LPS request has been received from the link partner.

[0070] In conjunction with sending an LPS request in sleep request state 812, the tx_lps parameter is set to "true" to indicate that the communication device has sent an LPS request (or has started sending an LPS request).

[0071] Also in state 812, according to one embodiment, the communication device starts another timer (“lps timer”) that measures a time period corresponding to the maximum time period during which the link partner receives, processes, and identifies LPS requests. In one embodiment, the lps timer is set to measure a time period of 94.504 microseconds ± 0.936 microseconds. In other embodiments, the sleep_req timer is set to measure another suitable time period different from 94.504 microseconds ± 0.936 microseconds (e.g., 95.5 microseconds ± 2 microseconds, 95.5 microseconds ± 3 microseconds, 90 microseconds ± 3 microseconds, 100 microseconds ± 3 microseconds, etc.).

[0072] If the communication device determines that the sleep handshake process has not been completed by the time the sleep_req timer expires, the state machine transitions to sleep failure state 116, which corresponds to the communication device determining that the transition to sleep mode has failed.

[0073] On the other hand, if the communication device determines in sleep request state 812 that the sleep handshake process has been completed before the sleep_req timer expires, the communication device's state machine waits for the earlier of the following: i) the lps timer expires, and ii) no transmission activity is detected in the link partner before transitioning to state 820 ("sleep silence state 820"), which corresponds to the communication device silencing the transmission of the communication device on the communication link.

[0074] In sleep silence state 820, the communication device sets the "sleep" parameter to "true" to indicate that the communication device is in sleep mode and silences transmission on the communication link. Furthermore, the communication device sets a timer ("sendz_minwait timer") to a duration corresponding to the minimum time for which the transmitter of the communication device will be silenced. Additionally, according to one embodiment, the communication device sets another timer ("sendz_maxwait timer") to a duration corresponding to the maximum time for which the transmitter of the communication device can be silenced without causing a link partner to detect that the communication link has failed. In one embodiment, the sendz_maxwait timer is set to 1.6 microseconds ± 120 nanoseconds. In other embodiments, the sendz_maxwait timer is set to another suitable value. The sendz_minwait timer is set to a suitable value less than the sendz_maxwait timer.

[0075] In sleep state 820, if the communication device determines that the link partner has silenced its transmitter when the sendz_minwait timer expires, the state machine transitions to sleep state 824. During sleep state 824, the sleep parameter is set to "true" to indicate that the communication device is in sleep mode. Furthermore, if the transmitter has not yet been silenced, the communication device silences its transmitter. Additionally, during sleep state 824, the "disable" parameter is set to "false" to indicate that power-off is not disabled, and the communication device enters a low-power mode. For example, according to one embodiment, the PHY processor can enter a low-power mode where power consumption is significantly reduced (e.g., at least 90%) compared to normal operating state 104. According to one embodiment, the PHY processor cannot transmit (and optionally cannot receive data and / or idle symbols) in sleep state 824.

[0076] During sleep state 824, if the communication device determines that it should transition to active mode based on its own will (i.e., not responding to a wake-up command (e.g., WUP) from a link partner) or in response to receiving a wake-up command (e.g., WUP) from a link partner, the state machine transitions from sleep state 824 to normal state 104. In conjunction with the transition from sleep state 824 to normal state 104, the communication device exits low-power mode. For example, according to one embodiment, power to the PHY processor is restored.

[0077] If the communication device determines in sleep-wait state 820 that the link partner is transmitting on the communication link when the sendz_maxwait timer expires, the state machine transitions to state 828 (“Sleep Wait State 828”), where the communication device further waits for the link partner to silence its transmitter. In sleep-wait state 828, the communication device sets the “sleep” parameter to false to indicate that the communication device is not in a sleep state. Also during sleep-wait state 828, the communication device sets a timer (“sleep_wait timer”) corresponding to the duration the state machine remains in sleep-wait state 828.

[0078] If the link partner fails to silence its transmitter by the time the sleep_wait timer expires, the state machine transitions to sleep failure state 116. In sleep failure state 116, the communication device sets the sleep_fail parameter to "true" to indicate that the transition to sleep mode failed. Furthermore, the state machine transitions to normal state 104.

[0079] On the other hand, if the link partner has already silenced the link partner's transmitter when the sleep_wait timer expires, the state machine transitions to sleep state 824.

[0080] Figure 9 This is a block diagram of an example network interface device 900 configured to switch between an active operating mode and a power-saving mode according to one embodiment. The network interface device 900 includes at least a Media Access Control (MAC) processing device 910 (or "MAC processor 910") and a Physical Layer (PHY) processing device 920 (or "PHY processor 920"). In some embodiments, unless otherwise disclosed below, the MAC processing device 910 and the PHY processing device 920 conform to the IEEE 802.3 Ethernet standard. In other embodiments, the MAC processing device 910 and the PHY processing device 920 conform to another suitable communication protocol.

[0081] MAC processing device 910 is configured to perform MAC layer functions associated with communication protocols such as those defined by the IEEE 802.3 Ethernet standard, future versions of the IEEE 802.3 Ethernet standard, or another suitable communication protocol. Similarly, PHY processing device 920 is configured to perform PHY functions associated with communication protocols such as those defined by the IEEE 802.3 Ethernet standard (unless otherwise disclosed below), future versions of the IEEE 802.3 Ethernet standard, or another suitable communication protocol.

[0082] In one embodiment, the MAC processing device 910 includes a processor (not shown) and a memory (not shown) coupled to the processor, wherein the processor is configured to execute machine-readable instructions stored in the memory. In one embodiment, the memory stores machine-readable instructions that, when executed by the processor, cause the processor to perform MAC layer functions associated with communication protocols such as those defined by the IEEE 802.3 Ethernet standard, future versions of the IEEE 802.3 Ethernet standard, another suitable communication protocol, and so on.

[0083] In another embodiment, the MAC processing device 910 additionally or alternatively includes a hardware state machine (not shown) configured to perform MAC layer functions associated with communication protocols such as those defined by the IEEE 802.3 Ethernet standard, future versions of the IEEE 802.3 Ethernet standard, another suitable communication protocol, and so on.

[0084] MAC processing device 910 is communicatively coupled to PHY processing device 920 via a communication interface 930 such as a 10 Gigabit Media Independent Interface (XGMII). In other embodiments, MAC processing device 910 is communicatively coupled to PHY processing device 920 via another suitable communication interface, such as another suitable media independent interface (e.g., Simplified Media Independent Interface (RMII), Gigabit Media Independent Interface (GMII)), Simplified Gigabit Media Independent Interface (RGMII), Serial Gigabit Media Independent Interface (SGMII), High Serial Gigabit Media Independent Interface (HSGMII), Quad-Channel Serial Gigabit Media Independent Interface (QSGMII), etc.).

[0085] In one embodiment, MAC processing device 910 provides data to PHY processing device 920 via interface 930 for transmission over a suitable communication medium (such as a wired, optical, or wireless communication medium). In response to receiving data from MAC processing device 910, PHY processing device 920 encodes, scrambles, and modulates the data to generate a transmission signal for transmitting the data over the communication medium.

[0086] In one embodiment, the PHY processing device 920 also receives the received signal via a communication medium and demodulates, descrambles, and decodes the data in the received signal to generate received data. Additionally, the PHY processing device 920 provides at least some of the received data to the MAC processing device 910 via interface 930.

[0087] According to one embodiment, the PHY processing device 920 includes one or more encoder devices (not shown), scrambler devices (not shown), and modulators (not shown) for encoding, scrambling, and modulating data as part of generating a transmitted signal. According to one embodiment, the PHY processing device 920 also includes a demodulator (not shown), a descrambler device (not shown), and one or more decoder devices (not shown) for demodulating, descrambling, and decoding received data as part of generating received data. In some embodiments, the PHY processing device 920 further includes an analog-to-digital converter (hereinafter referred to as an "ADC," not shown) that converts analog signals received via a communication medium into digital signals. In some embodiments, the PHY processing device 920 further includes a digital signal processor (hereinafter referred to as a "DSP," not shown) that processes the digital signals to generate signals corresponding to modulation symbols subsequently demodulated by the demodulator (not shown).

[0088] PHY processing device 920 includes transceiver 940 configured to transmit transmission signals and receive reception signals via a communication medium. In one embodiment, transceiver 940 includes a transmitter and a receiver (not shown).

[0089] In one embodiment, the PHY processing device 920 further includes a controller 950 for controlling the operation of the PHY processing device 920. In one embodiment, the controller 950 implements one or more state machines having states that generally correspond to various operating states and / or modes of the PHY processing device 920. In one embodiment, the controller 950 includes one or more processors configured to execute machine-readable instructions stored in or coupled to one or more memory devices of the one or more processors, wherein the machine-readable instructions, when executed, cause the one or more processors to implement one or more state machines. In another embodiment, the controller 950 additionally or alternatively includes one or more hardware state machines configured to implement at least one or more portions of the one or more state machines.

[0090] The controller 950 is configured to generate control signals for controlling the operation of the PHY processing device 920 based on various operating states and / or modes, and to transition between states of the state machine in response to received signals and / or information.

[0091] Controller 950 includes and / or implements power state controller 960, which is configured to implement a state machine, wherein at least some states of the state machine correspond to various operating modes / states of PHY processing device 920. In various embodiments, power state controller 960 includes or is coupled to one or more timers, including timer 970.

[0092] In one embodiment, the power state controller 960 implements... Figure 3 State machine 300 Figure 8 The state machine 800 is the same as or similar to another suitable state machine, according to various embodiments, which causes the PHY processing device 920 to wait for the transmitter of the PHY processor 920 to be quiet until one or both of the following: i) timer 970 expires, and ii) the PHY processor 920 detects that the link partner has no transmission activity.

[0093] In various embodiments, network interface 900 is configured to perform the above reference. Figures 3-8 Any suitable combination of one, two, or more of the methods discussed. In various embodiments, the power state controller 960 is configured to perform (alone or in conjunction with the PHY processing device 920 and / or interface 930) as described above. Figures 3-8 The methods discussed.

[0094] Figure 10 This is a flowchart of an example method 1000 for switching between an active mode and a power-saving mode according to one embodiment. In one embodiment, method 1000 is performed by... Figure 9 The network interface 900 is used for implementation. For ease of explanation, please refer to [reference needed]. Figure 9 To describe Figure 10 In other embodiments, method 1000 is implemented by another suitable communication device.

[0095] In various embodiments, combined Figure 3 State diagram 300 or Figure 8 The state diagram 800 is used to implement method 1000, and for ease of explanation, please refer to [reference needed]. Figure 3 and Figure 8 To describe Figure 10 In other embodiments, method 1000 is combined with Figure 3 and Figure 8 The state diagram is different from another suitable state machine to implement it.

[0096] At block 1004, as part of a handshake process corresponding to the transition to a low-power mode, the first communication device sends a first sleep request to the second communication device. For example, refer to... Figure 3 According to one embodiment, the first communication device sends a first LPS request by transitioning its state machine to sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device sends a first LPS request in conjunction with a state machine transition to a sleep request state 812. (See reference...) Figure 9According to one embodiment, network interface 900 sends (e.g., PHY processor 920 sends, PHY processor 920's transmitter sends, etc.) a first LPS request. Also refer to Figure 9 According to one embodiment, the power state controller 960 controls the PHY processor 920 to send a first LPS request.

[0097] At block 1008, the first communication device starts a timer to measure the time period during which the second communication device is expected to recognize the first sleep request. For example, refer to Figure 3 According to one embodiment, the first communication device initiates the LPS timer by transitioning the state machine to a sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device initiates the LPS timer by transitioning the state machine to a sleep request state 812. (See reference...) Figure 9 According to one embodiment, network interface 900 initiates timer 970 (e.g., PHY processor 920 initiates timer 970, controller 950 initiates timer 970, power state controller 960 initiates timer 970, etc.) a first LPS request.

[0098] In one embodiment, sending a first sleep request at block 1004 is combined with starting a timer at block 1008.

[0099] At block 1012, as part of the handshake process, the first communication device determines whether it has received a second sleep request from the second communication device. For example, refer to... Figure 3 According to one embodiment, the first communication device determines whether it receives a second sleep request from the second communication device while in a sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device determines whether it has received a second sleep request from the second communication device while in a sleep request state 812. (See reference...) Figure 9 According to one embodiment, network interface 900 determines (e.g., PHY processor 920 determines, controller 950 determines, power state controller 960 determines, etc.) whether PHY processor 920 has received a second sleep request from a second communication device.

[0100] In one embodiment, sending the first sleep request at block 1004 is in response to the first communication device receiving the second sleep request.

[0101] At block 1016, i) after determining that a second sleep request has been received, and when ii) a) the timer has not expired and b) the second communication device has not silenced its transmitter, the first communication device sends data and / or an idle symbol to the second communication device. For example, see reference Figure 3 According to one embodiment, i) after determining that a second LPS request has been received, and when ii) a) the LPS timer has not expired and b) the first communication device has determined that the second communication device has not silenced the transmitter of the second communication device, the first communication device sends data and / or idle symbols to the second communication device while in sleep request state 312. As another example, see [reference]. Figure 8 According to one embodiment, i) after determining that a second LPS request has been received and when ii) a) the LPS timer has not expired and b) the first communication device has determined that the second communication device has not silenced the transmitter of the second communication device, the first communication device sends data and / or idle symbols to the second communication device while in sleep request state 812. Reference Figure 9 According to one embodiment, network interface 900 transmits data and / or idle symbols at block 1016 (e.g., PHY processor 920 transmits data and / or idle symbols, controller 950 controls PHY processor 920 to transmit data and / or idle symbols, power state controller 960 controls PHY processor 920 to transmit data and / or idle symbols, etc.).

[0102] At block 1020, in response to at least one of i) the first communication device determining that it has received a second sleep request, and ii) a) a timer expires and b) the second communication device silencing its transmitter, the first communication device combines switching the first communication device to a low-power mode to silence its transmitter. For example, see reference... Figure 3 According to one embodiment, the first communication device silences its transmitter by incorporating a transition from a sleep request state 312 to a sleep silence state 120. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device silences its transmitter by incorporating a transition from a sleep request state 812 to a sleep silence state 820. (See reference...) Figure 9 According to one embodiment, the transmitter of the PHY processor 920 is silenced at block 1020 (e.g., the PHY processor 920 silences the transmitter, the controller 950 controls the PHY processor 920 to silence the transmitter, the power state controller 960 controls the PHY processor 920 to silence the transmitter, etc.).

[0103] In one embodiment, the transmitter of the first communication device is silenced at block 1020 in response to i) the timer expiring and ii) the first communication device determining the earliest of the two communication devices to silence the transmitter of the second communication device.

[0104] In one embodiment, the timer started at block 1008 is a first timer, and the time period measured by the first timer is a first time period; and method 1000 further includes: starting a second timer of the first communication device, the second timer being configured to measure a second time period during which the first communication device is expected to receive a second sleep request from the second communication device as part of a handshake process; and at the first communication device, determining whether the first communication device has received the second sleep request from the second communication device before the second timer expires; and after determining that the first communication device has received the second sleep request from the second communication device before the second timer expires, sending data and / or an idle symbol to the second communication device at block 1016.

[0105] Figure 11 This is a flowchart of another example method 1100 for switching between an active mode and a power-saving mode according to one embodiment. In one embodiment, method 1200 is performed by... Figure 9 The network interface 900 is used for implementation. For ease of explanation, please refer to [reference needed]. Figure 9 To describe Figure 11 In other embodiments, method 1100 is implemented by another suitable communication device.

[0106] In various embodiments, combined Figure 3 State diagram 300 or Figure 8 The state diagram 800 is used to implement method 1100, and for ease of explanation, please refer to [reference needed]. Figure 3 and Figure 8 To describe Figure 11 In other embodiments, method 1100 is combined with Figure 3 and Figure 8 The state diagram is different from another suitable state machine to implement it.

[0107] At block 1104, the first communication device performs a handshake process (e.g., performed by the PHY processor 920, controller 950, power state controller 960, etc.) with the second communication device to transition to a low-power mode. In one embodiment, performing the handshake process at block 1104 includes, as part of the handshake process corresponding to the transition to a low-power mode, the first communication device sending (e.g., sent by the PHY processor 920, sent by the transmitter of the PHY processor 920, etc.) a first sleep request to the second communication device. For example, refer to... Figure 3According to one embodiment, the first communication device sends a first LPS request by transitioning its state machine to sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device sends a first LPS request in conjunction with a state machine transition to a sleep request state 812. (See reference...) Figure 9 According to one embodiment, network interface 900 sends (e.g., PHY processor 920 sends, PHY processor 920's transmitter sends, etc.) a first LPS request. Also refer to Figure 9 According to one embodiment, the power state controller 960 controls the PHY processor 920 to send a first LPS request.

[0108] At block 1108, i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) the second communication device has silenced its transmitter, the first communication device sends data and / or an idle symbol to the second communication device. For example, see reference Figure 3 According to one embodiment, i) after determining that a second LPS request has been received, and ii) at least until a) the LPS timer expires and b) the first communication device determines that the second communication device has silenced its transmitter, the first communication device sends data and / or idle symbols to the second communication device while in sleep request state 312. As another example, see reference to... Figure 8 According to one embodiment, i) after determining that a second LPS request has been received, and ii) at least until a) the LPS timer expires and b) the first communication device determines that the second communication device has silenced the transmitter of the second communication device, the first communication device sends data and / or idle symbols to the second communication device while in sleep request state 812. Reference Figure 9 According to one embodiment, network interface 900 transmits data and / or idle symbols at block 1108 (e.g., PHY processor 920 transmits data and / or idle symbols, controller 950 controls PHY processor 920 to transmit data and / or idle symbols, power state controller 960 controls PHY processor 920 to transmit data and / or idle symbols, etc.).

[0109] At block 1112, the first communication device switches to low-power mode in conjunction with the handshake process performed at block 1104.

[0110] In one embodiment, in conjunction with determining at block 1108 whether the time period has expired, method 1100 further includes the first communication device starting a timer to measure the time period during which the second communication device is expected to recognize the first sleep request. For example, refer to Figure 3According to one embodiment, the first communication device initiates the LPS timer by transitioning the state machine to a sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device initiates the LPS timer by transitioning the state machine to a sleep request state 812. (See reference...) Figure 9 According to one embodiment, network interface 900 initiates timer 970 (e.g., PHY processor 920 initiates timer 970, controller 950 initiates timer 970, power state controller 960 initiates timer 970, etc.) a first LPS request.

[0111] In one embodiment, as part of the handshake process performed at block 1104, a start timer is executed in conjunction with sending a first sleep request.

[0112] In one embodiment, when the handshake process includes sending a first sleep request, and in conjunction with determining at block 1108 whether the handshake process is complete, the method further includes: as part of the handshake process, the first communication device determining whether the first communication device has received a second sleep request from the second communication device. For example, refer to... Figure 3 According to one embodiment, the first communication device determines whether it receives a second sleep request from the second communication device while in a sleep request state 312. As another example, see [reference needed]. Figure 8 According to one embodiment, the first communication device determines whether it has received a second sleep request from the second communication device while in a sleep request state 812. (See reference...) Figure 9 According to one embodiment, network interface 900 determines (e.g., PHY processor 920 determines, controller 950 determines, power state controller 960 determines, etc.) whether PHY processor 920 has received a second sleep request from a second communication device.

[0113] In one embodiment, method 1100 further includes, in conjunction with switching to a low-power mode at block 1112, silencing the transmitter of the first communication device. In an embodiment where the first communication device sends a first sleep request as part of a handshake process, in response to at least one of i) the first communication device determining that a second sleep request has been received, and ii) a) the time period expires and b) the second communication device silencing the transmitter of the second communication device, the first communication device silences the transmitter of the first communication device by switching to a low-power mode. For example, refer to... Figure 3 According to one embodiment, the first communication device silences its transmitter by incorporating a transition from a sleep request state 312 to a sleep silence state 120. As another example, see [reference needed]. Figure 8According to one embodiment, the first communication device silences its transmitter by incorporating a transition from a sleep request state 812 to a sleep silence state 820. (See reference...) Figure 9 According to one embodiment, the transmitter of the PHY processor 920 is silenced at block 1020 (e.g., the PHY processor 920 silences the transmitter, the controller 950 controls the PHY processor 920 to silence the transmitter, the power state controller 960 controls the PHY processor 920 to silence the transmitter, etc.).

[0114] In the embodiment of the first communication device setting a timer discussed above, the transmitter of the first communication device is silenced in response to the earliest of i) the timer expiring and ii) the first communication device determining that the second communication device silences the transmitter of the second communication device.

[0115] In the embodiment discussed above where the first communication device sets a timer and sends a first sleep request, the timer is a first timer, and the time period measured by the first timer is a first time period; and method 1100 further includes: starting a second timer of the first communication device, the second timer being configured to measure a second time period during which, as part of a handshake process, the first communication device is expected to receive a second sleep request from the second communication device; determining at the first communication device whether the first communication device has received the second sleep request from the second communication device before the second timer expires; and after determining that the first communication device has received the second sleep request from the second communication device before the second timer expires, sending data and / or an idle symbol to the second communication device at block 1108.

[0116] Example 1: A first communication device, comprising: a physical layer (PHY) processor including a transceiver, the PHY processor being configured to perform PHY functions associated with a communication link, the PHY functions including sending information to a second communication device via a communication medium corresponding to the communication link and receiving information from the second communication device via the communication medium, wherein the PHY processor is configured to switch between an active mode and a low-power mode; and a controller configured to: control the PHY processor to perform a handshake process with the second communication device to switch to a low-power mode; i) after the handshake process is completed, and ii) at least until the earlier of a) the expiration of a time period and b) determining that the second communication device has silenced its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device; and control the PHY processor to switch to a low-power mode in conjunction with the handshake process.

[0117] Example 2: According to the first communication device of Example 1, wherein the controller is configured to: in response to the earlier of i) the expiration of a time period and ii) determining that the second communication device should silence the transmitter of the second communication device, initiate the silencing of the transmitter as part of switching the PHY processor to a low-power mode.

[0118] Example 3: A first communication device according to any one of Examples 1 or 2, wherein the controller is configured to: i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) the second communication device determines that the transmitter of the second communication device has been silenced, control the PHY processor to continue sending data and / or idle symbols to the second communication device, to ensure that the second communication device does not inadvertently determine that the communication link between the first and second communication devices has failed before the second communication device determines that the handshake process is completed.

[0119] Example 4: A first communication device according to any one of Examples 1-3, wherein the controller includes a timer, and wherein the controller is configured to: control the PHY processor to send a first sleep request to the second communication device as part of a handshake process; start the timer, which is configured to measure a time period during which the second communication is expected to recognize the first sleep request; determine whether the PHY processor receives a second sleep request from the second communication device as part of a handshake process; and i) after determining that the PHY processor has received the second sleep request, and ii) at least until the earlier of a) the timer expires and b) the second communication device silences its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device.

[0120] Example 5: The first communication device according to Example 4, wherein the controller is configured to start a timer in conjunction with sending a first sleep request.

[0121] Example 6: A first communication device according to any one of Examples 4 or 5, wherein the controller is configured to control the PHY processor to send a first sleep request in response to the first communication device receiving a second sleep request.

[0122] Example 7: A first communication device according to any one of Examples 4-6, wherein: the timer is configured to measure approximately 94.5 microseconds.

[0123] Example 8: The first communication device according to Example 7, wherein: the timer is configured to measure 94.504 microseconds, ±0.936 microseconds.

[0124] Example 9: A first communication device according to any one of Examples 4-8, wherein: the timer is a first timer; the time period is a first time period; the controller further includes a second timer configured to measure a second time period during which the first communication device is expected to receive a second sleep request from the second communication device as part of a handshake process; and the controller is further configured to: start the second timer, determine whether the first communication device receives the second sleep request from the second communication device before the second timer expires, and after determining that the first communication device receives the second sleep request from the second communication device before the second timer expires, control the PHY processor to send data and / or idle symbols to the second communication device.

[0125] Example 10: A first communication device according to any one of Examples 1-9, wherein the controller is a component of the PHY processor.

[0126] Example 11: A first communication device according to any one of Examples 1-10, wherein the controller further includes: a processor; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: control the PHY processor to perform a handshake process with the second communication device, and i) after the handshake process is completed, and ii) at least until the earlier of a) the expiration of a time period and b) determining that the second communication device has silenced its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device.

[0127] Example 12: A first communication device according to any one of Examples 1-11, wherein the controller further includes a hardware state machine configured to transition between a plurality of states; and wherein the plurality of states includes a first state corresponding to: controlling the PHY processor to send a sleep request to the second communication device as part of a handshake process; and i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) determining that the second communication device has silenced its transmitter, controlling the PHY processor to continue sending data and / or idle symbols to the second communication device.

[0128] Example 13: A method for switching a first communication device between an active mode and a low-power mode, the method comprising: the first communication device performing a handshake process with a second communication device to switch to a low-power mode; i) after the handshake process is completed, and ii) at least until a) the expiration of a time period and b) determining that the second communication device silences its transmitter, the first communication device sending data and / or an idle symbol to the second communication device; and, in conjunction with the handshake process, switching the first communication device to a low-power mode.

[0129] Example 14: The method according to Example 13 further includes: in response to the earlier of i) the expiration of a time period and ii) determining that the second communication device silences its transmitter, as part of transitioning to a low-power mode.

[0130] Example 15: The method according to any one of Examples 13 or 14, wherein i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) the second communication device is determined to make the transmitter of the second communication device quiet, data and / or idle symbols are sent to the second communication device to ensure that the second communication device does not inadvertently determine that the communication link between the first communication device and the second communication device has failed before the second communication device determines that the handshake process is completed.

[0131] Example 16: The method according to any one of Examples 13-15, wherein: performing the handshake process includes sending a first sleep request from a first communication device to a second communication device and determining whether the first communication device has received a second sleep request from the second communication device; the method further includes: starting a timer of the first communication device, the timer being configured to measure a time period during which the second communication device is expected to recognize the first sleep request; and i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) determining that the second communication device silences its transmitter, sending data and / or idle symbols to the second communication device includes: i) after determining that the first communication device has received the second sleep request, and ii) at least until the earlier of a) the timer expires and b) determining that the second communication device silences its transmitter, sending data and / or idle symbols to the second communication device.

[0132] Example 17: The method described in Example 16, wherein the start timer is executed in conjunction with sending a first sleep request.

[0133] Example 18: The method according to any one of Examples 16 or 17, wherein sending the first sleep request is in response to the first communication device receiving the second sleep request.

[0134] Example 19: The method according to any one of Examples 16-18 further includes: setting a timer to measure approximately 94.5 microseconds.

[0135] Example 20: According to the method described in Example 19, setting the timer includes: setting the timer to measure 94.504 microseconds, ±0.936 microseconds.

[0136] Example 21: The method according to any one of Examples 16-20, wherein: the timer is a first timer; the time period is a first time period; the method further includes: starting a second timer of the first communication device, the second timer being configured to measure a second time period during which the first communication device is expected to receive a second sleep request from the second communication device as part of a handshake process; and determining at the first communication device whether the first communication device has received the second sleep request from the second communication device before the second timer expires; sending data and / or idle symbols to the second communication device includes: sending data and / or idle symbols after determining that the first communication device has received the second sleep request from the second communication device before the second timer expires.

[0137] Example 22: A first communication device, comprising: a physical layer (PHY) processor including a transceiver, the PHY processor being configured to perform PHY functions associated with a communication link, the PHY functions including sending information to a second communication device via a communication medium corresponding to the communication link and receiving information from the second communication device via the communication medium, wherein the PHY processor is configured to switch between an active mode and a low-power mode; and a controller having a timer, the controller being configured to: control the PHY processor to send a first sleep request to the second communication device as part of a handshake process for switching to a low-power mode; start a timer configured to measure a period of time during which the second communication is expected to recognize the first sleep request; and, as part of the handshake process, determine whether the PHY processor has received a second sleep request from the second communication device. The request is as follows: i) After determining that the PHY processor has received a second sleep request from the second communication device, and when ii) a) the timer has not expired and b) the controller has determined that the second communication device has not silenced the transmitter of the second communication device, the PHY processor is controlled to send an idle symbol to the second communication device, wherein sending the idle symbol ensures that the second communication device does not inadvertently determine that the communication link between the first and second communication devices has failed before the second communication device detects the first sleep request, and in response to at least one of i) determining that the PHY processor has received a second sleep request from the second communication device, and ii) a) the timer has expired and b) determining that the second communication device has silenced the transmitter of the second communication device, as part of switching the PHY processor to a low-power mode, the transmitter of the transceiver of the PHY processor is silenced.

[0138] Example 23: The first communication device according to Example 22, wherein the controller is configured to: initiate the silencing of the transmitter in response to i) the expiration of a timer and ii) determining the earliest of the two communication devices to silence the transmitter of the second communication device.

[0139] Example 24: A first communication device according to any one of Examples 22 or 23, wherein the controller is configured to start a timer in conjunction with sending a first sleep request.

[0140] Example 25: A first communication device according to any one of Examples 22-24, wherein the controller is configured to control the PHY processor to send a first sleep request in response to the first communication device receiving a second sleep request.

[0141] Example 26: A first communication device according to any one of Examples 22-25, wherein: a timer is configured to measure approximately 94.5 microseconds.

[0142] Example 27: The first communication device according to Example 26, wherein: the timer is configured to measure 94.504 microseconds, ±0.936 microseconds.

[0143] Example 28: A first communication device according to any one of Examples 22-27, wherein the controller is configured to set a timer to measure approximately 94.5 microseconds.

[0144] Example 29: A first communication device according to any one of Examples 22-28, wherein: the timer is a first timer; the time period is a first time period; the controller further includes a second timer configured to measure a second time period during which, as part of a handshake process, the first communication device is expected to receive a second sleep request from the second communication device; and the controller is further configured to: start the second timer, determine whether the first communication device receives the second sleep request from the second communication device before the second timer expires, and after determining that the first communication device receives the second sleep request from the second communication device before the second timer expires, control the PHY processor to send data and / or idle symbols to the second communication device.

[0145] Example 30: A first communication device according to any one of Examples 22-29, wherein the controller is a component of the PHY processor.

[0146] Example 31: A first communication device according to any one of Examples 22-29, wherein the controller further includes: a processor; a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: control the PHY processor to send a first sleep request to the second communication device as part of a handshake process, and start a timer; as part of the handshake process, determine whether the PHY processor has received a second sleep request from the second communication device; control the PHY processor to send an idle symbol to the second communication device, and in response to at least one of i) determining that the PHY processor has received a second sleep request from the second communication device, and ii) a) the timer expires and b) determining that the second communication device silences the transmitter of the transceiver of the PHY processor.

[0147] Example 32: A first communication device according to any one of Examples 22-31, wherein the controller further includes a hardware state machine configured to transition between a plurality of states; and wherein the plurality of states includes a first state corresponding to: as part of a handshake process, controlling the PHY processor to send a first sleep request to the second communication device; starting a timer; as part of a handshake process, determining whether the PHY processor has received a second sleep request from the second communication device; and controlling the PHY processor to send an idle symbol to the second communication device.

[0148] Example 33: A method for switching a first communication device between an active mode and a low-power mode, the method comprising: as part of a handshake process for switching to a low-power mode, sending a first sleep request from the first communication device to a second communication device; starting a timer on the first communication device configured to measure a period of time during which the second communication device is expected to recognize the first sleep request; as part of the handshake process, determining at the first communication device whether the first communication device has received a second sleep request from the second communication device; i) after determining that the first communication device has received the second sleep request from the second communication device, and when ii) a) the timer has not yet expired and b When the first communication device has determined that the second communication device has not silenced the transmitter of the second communication device, the first communication device sends an idle symbol to the second communication device, wherein sending the idle symbol ensures that the second communication device does not inadvertently determine that the communication link between the first communication device and the second communication device has failed before the second communication device detects the first sleep request; and in response to at least one of i) determining that the first communication device has received a second sleep request from the second communication device, and ii) a) timer expiration and b) determining that the second communication device silences the transmitter of the second communication device, the first communication device silences the transmitter as part of transitioning to a low-power mode.

[0149] Example 34: According to the method of Example 33, wherein in response to the earlier of i) timer expiration and ii) determining that the second communication device silences its transmitter, the first communication device's transmitter is silenced as part of transitioning to a low-power mode.

[0150] Example 35: The method according to any one of Examples 33 or 34, wherein the start timer is executed in conjunction with sending a first sleep request.

[0151] Example 36: The method according to any one of Examples 33-35, wherein sending the first sleep request is in response to the first communication device receiving the second sleep request.

[0152] Example 37: The method according to any one of Examples 33-36 further includes: setting a timer to measure approximately 94.5 microseconds.

[0153] Example 38: According to the method described in Example 37, setting the timer includes: setting the timer to measure 94.504 microseconds, ±0.936 microseconds.

[0154] Example 39: The method according to any one of Examples 33-38, wherein: the timer is a first timer; the time period is a first time period; the method further includes: starting a second timer of the first communication device, the second timer being configured to measure a second time period during which, as part of a handshake process, the first communication device is expected to receive a second sleep request from the second communication device and determining at the first communication device whether the first communication device received the second sleep request from the second communication device before the second timer expires; and sending an idle symbol to the second communication device includes sending an idle symbol after determining that the first communication device received the second sleep request from the second communication device before the second timer expires.

[0155] At least some of the aforementioned blocks, operations, and techniques can be implemented using hardware, a processor executing firmware instructions, a processor executing software instructions, or any combination thereof. When implemented using a processor executing software or firmware instructions, the software or firmware instructions can be stored in any computer-readable storage medium, such as a disk, optical disk, or other storage medium, RAM or ROM or flash memory, a processor, a hard disk drive, an optical disk drive, a tape drive, etc. The software or firmware instructions may include machine-readable instructions that, when executed by one or more processors, cause one or more processors to perform various actions.

[0156] When implemented in hardware, the hardware may include one or more of discrete components, integrated circuits, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), etc.

[0157] Although the invention has been described with reference to specific examples, these examples are for illustrative purposes only and not for limiting the invention. Changes, additions and / or deletions may be made to the disclosed embodiments without departing from the scope of the invention.

Claims

1. A first communication device, comprising: The transceiver includes a physical layer (PHY) processor configured to perform PHY functions associated with a communication link, the PHY functions including: transmitting information to a second communication device via a communication medium corresponding to the communication link, and receiving information from the second communication device via the communication medium, wherein the PHY processor is configured to switch between an active mode and a low-power mode; and The controller is configured to: The PHY processor is controlled to perform a handshake process with the second communication device for transitioning to the low-power mode. The handshake process is completed when i) one of the first and second communication devices sends a first sleep request and ii) the other of the first and second communication devices responds to the first sleep request by sending a second sleep request. i) After the handshake process is completed, and ii) at least until the earlier of a) the expiration of the time period and b) determining that the second communication device silences its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device, the time period beginning in conjunction with one of the following: i) the first communication device sends the first sleep request before the second communication device sends the second sleep request, and ii) the first communication device sends the second sleep request in response to the second communication device sending the first sleep request, and In conjunction with the completion of the handshake process, and after the earlier of a) the expiration of the time period and b) the determination that the second communication device silences the transmitter of the second communication device, the PHY processor is controlled to switch to the low-power mode.

2. The first communication device of claim 1, wherein the controller is configured to: in response to the earlier of i) the expiration of the time period and ii) determining that the second communication device silences the transmitter of the second communication device, as part of switching the PHY processor to the low-power mode.

3. The first communication device of claim 1, wherein the controller is configured to: i) after the handshake process is completed, and ii) at least until the earlier of a) the expiration of the time period and b) determining that the second communication device silences the transmitter of the second communication device, control the PHY processor to continue sending data and / or idle symbols to the second communication device, to ensure that the second communication device does not inadvertently determine that the communication link between the first communication device and the second communication device has failed before the second communication device determines that the handshake process is completed.

4. The first communication device according to claim 1, wherein the controller includes a timer, and wherein the controller is configured to: The PHY processor is controlled to send the first sleep request to the second communication device as part of the handshake process; Start the timer, which is configured to measure the time period during which the second communication is expected to identify the first sleep request; Determine whether the PHY processor receives the second sleep request from the second communication device as part of the handshake process; as well as i) After determining that the PHY processor has received the second sleep request, and ii) at least until the earlier of a) the timer expires and b) the second communication device silences its transmitter, control the PHY processor to continue sending data and / or idle symbols to the second communication device.

5. The first communication device of claim 4, wherein the controller is configured to start the timer in conjunction with sending the first sleep request.

6. The first communication device according to claim 4, wherein the controller is configured to: in response to the first communication device receiving the second sleep request, control the PHY processor to send the first sleep request.

7. The first communication device according to claim 4, wherein: The timer is configured to measure 94.5 microseconds, ±3 microseconds.

8. The first communication device according to claim 7, wherein: The timer is configured to measure 94.504 microseconds, ±0.936 microseconds.

9. The first communication device according to claim 4, wherein: The timer is the first timer; The time period mentioned is the first time period; The controller further includes a second timer configured to measure a second time period during which the first communication device is expected to receive the second sleep request from the second communication device as part of the handshake process; and The controller is also configured to: Start the second timer. Determine whether the first communication device receives the second sleep request from the second communication device before the second timer expires, and After determining that the first communication device receives the second sleep request from the second communication device before the second timer expires, the PHY processor is controlled to send data and / or idle symbols to the second communication device.

10. The first communication device of claim 1, wherein the controller is a component of the PHY processor.

11. The first communication device according to claim 1, wherein the controller further comprises: processor; as well as A memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: Control the PHY processor to execute the handshake process with the second communication device, and i) After the handshake process is completed, and ii) at least until the time period of a) expires and b) the earlier of the second communication device silencing its transmitter is determined, control the PHY processor to continue sending data and / or idle symbols to the second communication device.

12. The first communication device of claim 1, wherein the controller further comprises a hardware state machine configured to transition between a plurality of states; and wherein the plurality of states includes a first state corresponding to: The PHY processor is controlled to send one of the first sleep request and the second sleep request to the second communication device as part of the handshake process; and i) After the handshake process is completed, and ii) at least until the time period of a) expires and b) the earlier of the second communication device silencing its transmitter is determined, control the PHY processor to continue sending data and / or idle symbols to the second communication device.

13. A method for switching a first communication device between an active mode and a low-power mode, the method comprising: The handshake process between the first communication device and the second communication device for transitioning to the low-power mode is completed when i) one of the first communication device and the second communication device sends a first sleep request and ii) the other of the first communication device and the second communication device sends a second sleep request in response to the first sleep request; i) After the handshake process is completed, and ii) at least until the earlier of a) the expiration of the time period and b) the determination that the second communication device silences its transmitter, the first communication device sends data and / or an idle symbol to the second communication device, the time period starting in conjunction with one of the following: i) the first communication device sends the first sleep request before the second communication device sends the second sleep request, and ii) the first communication device sends the second sleep request in response to the second communication device sending the first sleep request; as well as In conjunction with the completion of the handshake process, and after the earlier of a) the expiration of the time period and b) the determination that the second communication device silences the transmitter of the second communication device, the first communication device is switched to the low-power mode.

14. The method of claim 13, further comprising: In response to the earlier of i) the expiration of the time period and ii) determining that the second communication device silences the transmitter of the second communication device, the transmitter of the first communication device is silenced as part of the transition to the low-power mode.

15. The method of claim 13, wherein i) after the handshake process is completed, and ii) at least until the earlier of a) the time period expires and b) the second communication device makes the transmitter of the second communication device quiet, data and / or idle symbols are sent to the second communication device, ensuring that the second communication device does not inadvertently determine that the communication link between the first communication device and the second communication device has failed before the second communication device determines that the handshake process is completed.

16. The method of claim 13, wherein: The handshake process includes: the first communication device sending the first sleep request to the second communication device, and the first communication device determining whether it has received the second sleep request from the second communication device. The method further includes: activating a timer on the first communication device, the timer being configured to measure a time period during which the second communication is expected to identify the first sleep request; and i) Sending data and / or idle symbols to the second communication device after the handshake process is completed, and ii) at least until the time period of a) expires and b) determines that the second communication device silences the transmitter of the second communication device earlier, includes: i) sending data and / or idle symbols to the second communication device after determining that the first communication device has received the second sleep request, and ii) at least until the timer of a) expires and b) determines that the second communication device silences the transmitter of the second communication device earlier.

17. The method of claim 16, wherein the start of the timer is performed in conjunction with sending the first sleep request.

18. The method of claim 16, wherein sending the first sleep request is in response to the first communication device receiving the second sleep request.

19. The method of claim 16, further comprising: The timer is set to measure 94.5 microseconds, ±3 microseconds.

20. The method of claim 19, wherein setting the timer comprises: The timer is set to measure 94.504 microseconds, ±0.936 microseconds.

21. The method of claim 16, wherein: The timer is the first timer; The time period mentioned is the first time period; The method further includes: A second timer of the first communication device is started, the second timer being configured to measure a second time period during which the first communication device is expected to receive the second sleep request from the second communication device as part of the handshake process. Determine at the first communication device whether the first communication device received the second sleep request from the second communication device before the second timer expires; Sending data and / or idle symbols to the second communication device includes: sending data and / or idle symbols after determining that the first communication device has received the second sleep request from the second communication device before the second timer expires.

Citation Information

Patent Citations

  • Dynamic power management system and method in a communications device

    CN102684904A

  • Low power idle signaling for gigabit media independent interfaces operating in legacy modes

    CN104145448A