Adaptive Polling State Machine for Data Bus Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata detection reliabilityVSAvoidhost power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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.

Inventive Principle:
Principle #19Periodic action

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

Engineering Contradiction:
Improvedata transfer initiation speedVSAvoidbus bandwidth waste
Core Design Contradiction:
SpeedVSLoss of energy

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvepolling information retrievalVSAvoidhost memory access power
Core Design Contradiction:
Loss of informationVSUse of energy by stationary object

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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

Engineering Contradiction:
Improveclient state awarenessVSAvoidclient power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #20Continuity of useful action

5Speed

If battery-powered client devices operate with frequent polling, then data transfers can be quickly initiated, but battery life is significantly shortened

Engineering Contradiction:
Improvedata transfer responsivenessVSAvoidbattery life
Core Design Contradiction:
SpeedVSDuration of action of moving object

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.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS8473647B2Methods and apparatus for decreasing power consumption and bus activity
Publication Date: 2013.06.25 APPLE INC
  • US8473647B2 patent drawing
  • US8473647B2 patent drawing
  • US8473647B2 patent drawing

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.