USB Host Controller Context Preservation for Fast Wake
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile computing devices face significant delays when waking up from deep sleep due to the need for USB controller re-enumeration, which resets and loses connection information, leading to slow device recovery and potential issues with downstream devices like modems.
Innovation Solution
A method where a USB driver receives sleep and resume commands, stores and restores the USB host controller context, and manages power and clock states to maintain connection information, allowing for seamless wake-up without re-enumeration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the USB controller is reset during deep sleep wake-up, then the processor can be fully activated, but the connection information is lost and re-enumeration is required causing delay
Solution Approach 1:
The USB controller context is saved before the deep sleep state is entered, so that when wake-up occurs, the context is already preserved and can be restored immediately without requiring re-enumeration. This preliminary preservation of context eliminates the need for time-consuming re-detection and re-initialization of USB devices.
2Loss of time
If the USB controller is kept on during sleep mode, then connection information is maintained, but power consumption increases
Solution Approach 1:
The invention extracts only the essential USB controller context (configuration data, connection information, and state parameters) from the full system state and preserves it separately in non-volatile memory. This allows the USB controller to be powered down completely during deep sleep while its critical context remains preserved, enabling fast wake-up without maintaining continuous power consumption.
3Reliability
If complete re-enumeration is performed after deep sleep, then all USB devices are detected, but the process takes 1-2 seconds adding significant delay
Solution Approach 1:
Instead of discarding the USB controller context during deep sleep and recovering it through re-enumeration, the invention preserves the context intact and restores it directly upon wake-up. This recovery approach eliminates the need for time-consuming re-detection and re-initialization of USB devices, significantly improving wake-up speed while maintaining reliable device detection.
Data Source
AI summary
A USB host for wakeup from a sleep state includes a hold memory, a USB host controller, and a USB driver. When going to sleep, the USB driver sends a suspend command to the USB host controller in response to receiving a sleep command. The USB driver also reads a controller context from the USB host controller and saves the controller context in the hold memory. Thereafter, the USB driver turns off one or more supply potentials and one or more clocks in the host controller, and returns a sleep acknowledgement. While in sleep, the interface pins are placed in a hold state and notification to the operating system are disabled.


