Circular Counter Queue Layout for Ordered Low-Power SoC Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches for managing large quantities of independent timers or counters in memory sub-systems and Systems on Chip (SoC) face inefficiencies due to unordered processing and high power consumption, particularly when employing heap queue techniques.
Innovation Solution
A memory array is configured to store counter identifiers, with a pointer cycling through the array to read and write counters in a controlled order, reducing power consumption by only activating read and write pointers during operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If heap queue techniques are used to manage large quantities of independent timers or counters, then the system can handle many counters, but the processing becomes unordered and power consumption increases
Solution Approach 1:
The patent segments the counter management into a circular buffer structure with sequential read and write pointers. Instead of managing all counters simultaneously through heap queue techniques, the system processes counters in a segmented, sequential manner through the circular buffer, reducing the active state space and thereby lowering power consumption while maintaining the ability to handle large quantities of counters.
Solution Approach 2:
The patent implements periodic action through the circular buffer mechanism where read and write pointers cycle through the buffer in a periodic manner. This periodic processing allows the system to manage counters in batches rather than continuously, reducing the cumulative power consumption associated with maintaining heap queue structures while still processing all counters in order.
2Quantity of substance
If heap queue techniques are used to manage counters, then many counters can be handled, but processing order becomes unordered
Solution Approach 1:
The patent segments counter processing into sequential segments through the circular buffer structure. Each segment corresponds to a position in the circular buffer, and the sequential access pattern through the buffer ensures that counters are processed in the order they were added, maintaining temporal ordering while still supporting large quantities of counters through the cyclic segmentation mechanism.
Solution Approach 2:
The patent ensures continuity of useful action through the circular buffer's sequential processing mechanism. The read and write pointers continuously cycle through the buffer in a deterministic manner, maintaining continuous progress through the counter list while preserving processing order. This continuous sequential action eliminates the unordered processing inherent in heap queue approaches.
3Productivity
If all counters are processed simultaneously, then processing can be done in parallel, but power consumption increases significantly
Solution Approach 1:
The patent applies dynamics by making the counter processing state changeable and adaptive. The circular buffer mechanism allows the system to dynamically transition between different processing states (reading, writing, cycling through buffer positions) rather than maintaining a static active state for all counters. This dynamic state management enables parallel processing capability while significantly reducing power consumption by activating only the necessary processing logic at each moment.
Solution Approach 2:
The patent uses periodic action to process counters in cyclic batches through the circular buffer. Instead of all counters being simultaneously active, the system periodically cycles through the buffer positions, activating processing logic only for the current buffer position being read or written. This periodic activation maintains productivity through continuous cycling while dramatically reducing power consumption compared to simultaneous processing of all counters.
Data Source
AI summary
A method includes reading, from a memory array, a first counter identifier (ID) based on a pointer corresponding to an address location in the memory array in which the first counter ID is stored. The method includes incrementing the pointer to correspond to an address location in the memory array in which a second counter ID is stored and reading, from the memory array the second counter ID based on the pointer corresponding to the address location in the memory array in which the second counter ID is stored.


