Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
    • Idle Detection
    • Link Power States
    • Break-Even Time
    • Low-Power Handshakes
    • Quiescing and Draining
    • Wake Signalling
    • Protocols Compared: Power
    • Drills: Power
  • Part 13: Shared State and Coherence9
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
  • Part 16: Protocols Dissected17
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 12: Power
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 12: Power
  4. Wake Signalling

Part 12 · Power · Working (W)

Wake Signalling

A sleeping link cannot carry the message that says "wake up". In-band and sideband wake, who may wake whom, and how the wake latency is budgeted against what each device can tolerate.

On this page

    Note

    Level: Working (W) · Answers: How do we save power without losing data?

    Before this: Link Power States

    A network card's link is in its deepest low-power state: transmitters off, receivers off, reference clock stopped. A packet arrives from the network. The card must tell the host it has work, but the link it would normally use to say so is asleep, and nobody is listening on it. Waking needs a path that works while the main path does not.

    How does a sleeping side get woken, and how fast does it need to be?

    The obvious answer, and why it breaks

    The obvious answer is to send a wake message over the link. In a light state, with the receiver still listening, that works. In a deep state, there is no receiver to hear it. Either part of the receiver must stay alive just to detect a simple signal, or a separate wire must carry the wake. And whichever path is used, the time to wake must fit within what the waiting traffic can tolerate.

    The idea: a wake path that works while asleep

    Method

    How

    Cost

    In-band, receiver listening

    Send a special pattern on the link; the partner's receiver detects it

    Receiver stays powered: suits light states

    In-band, low-power detector

    A simple, low-frequency signal (a beacon or electrical idle exit) that a tiny detector can sense

    A small always-on detector

    Sideband wire

    A dedicated wake signal outside the link

    An extra pin; works in the deepest states

    Out of band through a controller

    A power controller wakes both ends (for example on a timer or interrupt)

    Needs a controller that stays on

    The device cannot use the sleeping link, so it signals on a sideband wire; the host restores clocks and power, the link retrains, and only then does the real request flow.

    Budgeting wake latency

    • Each device has a latency tolerance: how long it can wait for service before something goes wrong (a buffer overflows, audio crackles, a deadline passes).

    • Each state has an exit latency: the time from wake to traffic flowing, including any retraining.

    • The platform must match them: only enable states whose exit latency fits within every affected device's tolerance; deeper states are allowed when devices say they can wait.

    • Either side may need to wake: the host to send work, the device to report it; both directions need a path.

    How real protocols chose

    Protocol

    Wake

    PCI Express

    From deep states, the sideband WAKE# signal or an in-band beacon; endpoints report their tolerable latency with Latency Tolerance Reporting so the platform can choose states (facts P34 and P36).

    USB

    A suspended device may signal remote wake-up if the host has enabled it (fact S19).

    Energy-Efficient Ethernet

    The transmitter leaves Low Power Idle on demand; the PHY's specified wake time bounds the delay (fact S18).

    DCLink

    The controller wakes the device by dropping slp_req (step 11).

    What breaks

    A board (illustrative) routed the device's sideband wake signal to a pin that was only monitored while the platform was awake. In the deepest sleep, the network card's wake requests went unheard and remote wake never worked. The fix was to route the signal to the always-on power controller, and to test wake from every sleep state, not only the lightest.

    Why this matters

    Senior lens. For each low-power state, write down who can wake whom, by which path, what must stay powered to hear it, and the total exit latency, then check it against each device's latency tolerance. Test wake from every state in both directions; wake paths that work only from light states are a classic late discovery.

    Interview

    Asked: "How is a device woken from a deep link power state?"

    Weak answer: The host sends it a packet.

    Strong answer: Not over the normal link, because in a deep state the receivers and clocks are off and nothing would hear it. Either a tiny always-on detector senses a simple in-band signal such as a beacon, or a sideband wire such as PCIe's WAKE# carries the request to something that stays powered. The host then restores clocks and power, the link retrains, and only then does traffic flow. The total exit latency has to fit within what the device tolerates, which in PCIe it reports through Latency Tolerance Reporting.

    Follow-ups: (1) Why can a light state use in-band wake? (2) What must stay powered for wake to work?

    Check yourself Why can't a deep-sleeping link be woken by an ordinary packet?

    Its receivers and clocks are off, so nothing is decoding the link; an ordinary packet would not be heard.

    Check yourself A device tolerates 20 µs of latency. A state's exit latency is 50 µs. May the platform use it?

    Not while that device needs service; the exit latency exceeds its tolerance.

    Key takeaways

    • A sleeping link cannot carry its own wake-up; a listening receiver, a small detector or a sideband wire must.

    • Both directions may need to wake, and whatever hears the wake must stay powered.

    • Enable a state only if its exit latency fits every affected device's latency tolerance.

    Keep going

    Next: Protocols Compared: Power. Part 12 side by side: how real protocols idle, sleep, drain and wake.

    Related topics

    • Part 12 overview: Power

    Previous

    177 / 234

    Next: Protocols Compared: Power

    Up next

    Up nextProtocols Compared: Power

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Idle Detection
    • Link Power States
    • Break-Even Time