Adaptive Polling State Machine for Data Bus Power Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data network protocols, such as USB, suffer from high power consumption and unnecessary bus activity due to frequent polling of client devices, which wastes bandwidth and reduces battery life in battery-powered devices, and are primarily host-driven without considering client device conditions.
Innovation Solution
Implementing a state machine that adapts polling frequencies based on client device activity, allowing the client to signal the host to reduce polling frequency during periods of non-productivity, and utilizing a hybrid approach that involves client-driven communication to optimize power usage and bandwidth allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the host continuously or periodically polls each client device to determine if data is available for transfer, then the host can detect data transfer opportunities, but significant system resources and power are diverted for non-productive polling when no data is available
Solution Approach 1:
Instead of the host continuously polling the client to detect data availability, the invention inverts the approach by allowing the client to initiate communication when data is ready. The client can send data to the host without waiting for a poll, fundamentally reversing who initiates the data transfer interaction.
Solution Approach 2:
The invention implements periodic polling only when necessary, rather than continuous polling. The host can enter sleep modes between polling intervals, and polling is activated based on specific conditions or events, reducing overall power consumption while maintaining data detection capability.
2Speed
If the host polls a client device frequently, then data transfer can be initiated quickly when available, but bus bandwidth is consumed by extraneous signaling when no data is ready
Solution Approach 1:
The invention extracts the data readiness determination function from the host's polling process and places it at the client device. The client independently determines when data is ready and initiates transfer, removing the need for host polling and eliminating the associated bus bandwidth waste from extraneous signaling.
Solution Approach 2:
The client device serves itself by autonomously determining data readiness and initiating transfers without host intervention. This self-service approach eliminates the need for host polling and allows the client to control its own data transfer timing, optimizing bus utilization.
3Loss of information
If the host accesses memory descriptors for each polling request, then polling information can be retrieved, but processor pipeline bandwidth and power are significantly consumed
Solution Approach 1:
The invention inverts the information flow by allowing the client to provide information about data readiness rather than the host retrieving polling information through memory descriptor access. This eliminates the need for repeated host memory accesses and associated power consumption.
4Reliability
If the client responds to constant polling signals with negative responses when no data is available, then the host maintains awareness of the client state, but the client consumes power generating unnecessary response streams
Solution Approach 1:
The invention extracts the state communication function from the polling-response mechanism. Instead of the client continuously responding to host polls with negative acknowledgments, the client only communicates state information when data is ready for transfer, eliminating power-wasting negative response streams.
Solution Approach 2:
The client maintains awareness of its own state continuously but only communicates with the host when useful action is possible (i.e., when data is ready). This avoids continuous communication that would waste power while maintaining the ability to transfer data immediately when ready.
5Speed
If battery-powered client devices operate with frequent polling, then data transfers can be quickly initiated, but battery life is significantly shortened
Solution Approach 1:
The invention inverts the initiator role from host to client, allowing battery-powered devices to sleep through polling intervals and only wake to initiate transfers when data is ready. This reverses the power-wasting pattern where the client had to respond to every host poll, instead allowing the client to control its own wake/sleep cycles.
Data Source
AI summary
Methods and apparatus for enhancing efficiency (e.g., reducing power consumption and bus activity) in a data bus. In an exemplary embodiment, a client-driven host device state machine switches among various states, each comprising a different polling frequency. A client device on the data bus (e.g., serial bus) checks for non-productive periods of polling activity, and upon discovering such a period, informs the host. The state machine then alters its polling scheme; e.g., switches to a lower state comprising a reduced polling frequency, and polling continues at this reduced frequency. In one variant, the client device continuously monitors itself to determine whether it has any data to transmit to a host device and if so, the host is informed, and the state machine restarts (e.g., to its highest polling state). By eliminating extraneous polling, power consumption and serial bus activity is optimized, potentially on both the host and the client.


