USB 3.0: Delivering superspeed with 25% lower power
Configure USB devices for power managementFour steps are involved in configuring a USB 3.0 device for power management.
- Devices must report their level of support for power management within their Endpoint Descriptors. While it's required for all devices to support power management to gain SuperSpeed certification, USB developers may elect to configure devices with this functionality disabled for specific applications.
- Host must send SET_FEATURE to U1/U2_ENABLE during configuration. Alternatively, some peripheral devices that are used intermittently may aggressively direct their own links to the lower power state. Higher layers require a mechanism to enable (or disable) the upstream port's ability to request low-power entry. When asserted, U1/U2_ENABLE allows the upstream port to initiate entry to U1/U2.
- Host must send Link Management Packet (LMP) to define the U1/U2 Inactivity Timeout. The U1/U2 inactivity timers allow the host to define the time interval between the U0 > U1 and the U1 > U2 power-state transitions. These timers provide the flexibility to delay power state transitions for specific applications, such as Blu-Ray disk writers, that could suffer usability problems if response latency is introduced. The U1 and U2 inactivity timeout can be as long as 127 µs and 65 ms respectively. Sending an LMP with the U1 inactivity timeout value between the range 0x01-0xFE also serves to implicitly enable the host port to initiate U1/U2 transitions.
- Host will inform the device of the U1/U2 System Exit Latency using SET_SEL. Reporting System Exit Latency (SEL) allows the host to more intelligently manage power state transitions for periodic endpoints, such as isochronous devices. SEL represents the total latency to transition the entire path of links between the device and host from U1/U2 back to U0. It provides a mechanism for higher layers to reduce or even disable U1/U2 entry if system exit latency exceeds the minimum service intervals reported by the device. Figure 2 shows a host-device exchange of Power Management Configuration data.

Click on image to enlarge.
Transitioning from U0 >U1
Either link partner can initiate a transition from U0 >U1 based on the expiration of the PORT_U1_TIMEOUT timer. Alternatively, some devices may attempt to save power by proactively initiating U1 mode more aggressively by setting their U1_Enable feature selector and reporting their U1 Inactivity Timeout equal to 0.
Initial entry into a low-power state is always negotiated between ports using the LGO_Un followed by LAU (accept) or LXU (reject). The port sending the LAU should wait until it receives a single LPMA (accept response), which serves as a final handshake before transitioning to any of the low-power states. To maximize power savings, ports are required to respond to power-management commands within the PM_LC_TIMER timeout. If the port initiating the state change does not receive an LAU or LXU before the PM_LC_TIMER expires (3 µs), it's considered a link error and should initiate recovery.
Alternatively, if after sending the LAU, the device doesn't receive the LPMA or any other valid traffic (such as TS1, LFPS, Link Command) before the PM_ENTRY_TIMER expires (6 µs), it should proceed to the low-power state anyway. In this event, it's assumed the LPMA was corrupted and the port issuing the LGO_U1 has already entered U1.


Loading comments... Write a comment