USB Imaging Buffer Design to Reduce Processor Activity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB camera devices in client platforms consume excessive power due to continuous data writing to memory, leading to heightened power consumption and inefficient power management.
Innovation Solution
Implement a deferred write buffer mechanism to optimize system power consumption by reducing unnecessary processor activity during data transfer from USB cameras.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If continuous data writing to memory is implemented for USB camera operations, then data transfer reliability is improved, but power consumption increases significantly
Solution Approach 1:
A buffer memory is introduced as an intermediary component between the USB controller and system memory. The buffer temporarily stores image data received from the USB camera, allowing the system memory controller to enter low-power states while the buffer holds the data. This mediator enables decoupling of the continuous data stream from periodic memory writes, reducing overall system power consumption while maintaining data integrity.
Solution Approach 2:
Instead of continuous writing to system memory, the patent implements periodic batch transfers from the buffer to system memory. The memory controller writes data in periodic intervals rather than continuously, allowing the processor and memory subsystem to enter C2 low-power states between transfers. This periodic action maintains data transfer reliability while significantly reducing power consumption compared to continuous writing.
2Duration of action of moving object
If processor remains in C2 state for continuous memory writing, then data processing continuity is improved, but power consumption increases due to die-to-die link activity
Solution Approach 1:
The buffer memory acts as an intermediary that absorbs the continuous data stream from the USB controller and releases it periodically to system memory. This allows the die-to-die link between the IO die and hub die to remain inactive during buffer accumulation phases, reducing link power consumption while maintaining processing continuity through the buffer's temporary storage capability.
Solution Approach 2:
Data is preliminarily stored in the buffer before being transferred to system memory. This preliminary action in the buffer allows the system to prepare data for memory writes without requiring active die-to-die links during the entire data transfer process, enabling power savings during the accumulation phase while ensuring data readiness for periodic memory writes.
Data Source
Figure 1
Figure 2
Figure 3(A)
AI summary
Techniques are described for allowing a memory to remain in a low power state for a longer period using a buffer to store data captured from a USB camera. Circuitry prefetches USB DMA descriptors, a write buffer stores and aggregates data from the camera, and a control flow flushes the buffer at the appropriate time to reduce the frequency of memory accesses, while at the same time minimizing the additional system latencies due to the buffer. The prefetch algorithm and buffer size are designed to reduce memory access frequency (e.g., once in 10ms, 16ms, etc), compared to memory accesses every 125uS.