Synchronizing USB Host Controllers for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

USB host controllers frequently wake the system from a low-power or sleep state to perform memory reads, leading to increased power consumption, especially in battery-powered devices, due to random and frequent memory access requests.

Innovation Solution

Temporal clustering of memory reads is achieved by synchronizing the frame timing used by multiple host controller interfaces, allowing the CPU to process multiple requests during aligned frames and remain in a low-power state for longer periods, with some embodiments skipping memory accesses during specific frames.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If multiple USB host controllers operate independently with random memory read requests, then device functionality is maintained, but system power consumption increases due to frequent wake-ups from low-power state

Engineering Contradiction:
Improvesystem power consumptionVSAvoiddevice functionality
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent merges multiple independent USB host controller operations into a synchronized framework where all controllers align their frame timing. This causes memory read requests to be clustered together rather than distributed randomly, allowing the system to wake from low-power state fewer times while still servicing all USB devices, thus reducing power consumption without sacrificing functionality

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements periodic synchronization of USB host controller frames to a common timing reference. By making the frame timing periodic and aligned across all controllers, memory reads occur at predictable intervals rather than randomly, enabling the system to enter and remain in low-power states longer, thereby reducing overall power consumption

Inventive Principle:
Principle #19Periodic action

2Speed

If the CPU processes memory read requests immediately when they occur, then data access speed is maintained, but the CPU cannot remain in low-power state, increasing energy usage

Engineering Contradiction:
Improvedata access speedVSAvoidCPU energy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary synchronization of frame timing across all USB host controllers before memory read requests are generated. By pre-aligning the timing of all controllers to a common reference, the system ensures that memory reads are clustered and can be processed efficiently in batches, allowing the CPU to remain in low-power state longer while maintaining data access capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous USB device functionality while reducing the frequency of CPU wake-ups. By synchronizing controllers continuously to a common frame timing, the system ensures that all USB devices remain serviceable without requiring the CPU to wake for every individual memory read, thus maintaining continuous useful action at reduced energy consumption

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8806100B1Synchronizing multiple USB controllers to reduce power
Publication Date: 2014.08.12 NVIDIA CORP
  • US8806100B1 patent drawing
  • US8806100B1 patent drawing
  • US8806100B1 patent drawing

AI summary

Circuits, methods, and apparatus that reduce the power consumed by transactions initiated by a number of USB host controllers. Peripheral devices on a number of USB networks are accessed in a coordinated manner in order to reduce power dissipated by a CPU and other circuits when reading data needed by the host controllers. The resulting memory reads are temporally clustered. This allows the CPU to process a greater number of requests each time it leaves a low-power state. As a result, the CPU may possibly remain in a sleep state for a longer period of time, thus saving power. This is accomplished at the host controller level by synchronizing the time frames used by each host controller in a system. The synchronizing signal may be one or more bits of a frame count provided by one host controller to a number of other frame controllers.