USB Controller Data Pulling and Delayed Pushing for Power Savings
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High data transfer rates from I/O devices to system memory result in short periods of idleness, preventing system components from entering a sleeping mode and reducing power consumption, as existing techniques fail to maintain long periods of idleness during data capture.
Innovation Solution
Implementing a method where a USB controller receives descriptors for data chunks from an I/O device buffer, pulls data at a high rate, and stores it in a local buffer, delaying transfer to system memory until just before processing by an application, thereby allowing system components to enter a sleeping mode for longer durations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is pulled from I/O device buffer at a high rate to system memory, then data transfer speed is improved, but system components cannot enter sleeping mode and power consumption increases
Solution Approach 1:
The patent segments the data transfer process into two distinct phases: a high-speed pulling phase where data is rapidly transferred from the I/O device buffer to a local buffer, and a delayed pushing phase where data is transferred to system memory only when needed by the application. This segmentation allows the system to decouple the pulling rate from the pushing rate, enabling components to enter sleeping mode during idle periods between pushes while maintaining high data capture speed.
Solution Approach 2:
The patent implements preliminary action by pulling data from the I/O device buffer in advance and storing it in a local buffer before the application actually needs it. This allows the system to complete the time-critical pulling operation at high speed while deferring the memory access operation to a later time, creating an idle period that enables power savings through sleeping mode.
2Loss of time
If data is transferred to system memory at high rate, then data availability for processing is improved, but idle time between transfers is reduced preventing power savings
Solution Approach 1:
The patent introduces a local buffer as an intermediary component between the I/O device buffer and system memory. This local buffer acts as a staging area that decouples the timing of data pulling from data pushing, allowing the system to maintain high data availability by quickly filling the local buffer while delaying system memory access until the application requires the data, thereby creating opportunities for power savings.
Data Source
AI summary
Systems and methods are disclosed for reducing power consumed by capturing data from an I/O device. Techniques disclosed include receiving descriptors, by a controller of an I/O host of a system, including information associated with respective data chunks to be captured from an I/O device buffer of the I/O device. Techniques disclosed further include capturing, based on the descriptors, the data chunks. The capturing comprises pulling the data chunks from the I/O device buffer at a pulling rate, where the data chunks are transferred to a local buffer of the I/O host, and pushing segments of the pulled data chunks from the local buffer, where each segment is transferred to a data buffer of the system after a respective target time that precedes a time at which the data chunks in the segment are to be processed by an application executing on the system.


