Random Bus Inversion for SoC Fabric Power Peak Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for reducing power consumption in System on a Chip (SoC) networks are costly in terms of chip area and introduce significant latency, and power consumption peaks can cause voltage droops and physical damage due to high toggle rates.
Innovation Solution
Implementing Random Bus Inversion (RBI) devices at selected locations in the SoC network to randomly apply bus inversion operations, which require minimal chip area and introduce no significant latency, effectively mitigating power consumption peaks by controlling toggle rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If conventional Data Bus Inversion (DBI) is used to reduce power consumption, then power consumption is reduced, but chip area increases and latency is introduced
Solution Approach 1:
The patent replaces complex, area-consuming conventional DBI circuits with simple random number generators that produce inversion decisions. These random inversion devices are lightweight, consume minimal chip area, and can be disposed of or replaced without significant cost, while still achieving power consumption reduction through statistical averaging of toggle rates across multiple links.
Solution Approach 2:
The patent changes the fundamental parameter from deterministic inversion decisions (based on data comparison) to random inversion decisions (based on random number generation). This parameter change simplifies the circuitry significantly, reducing chip area while maintaining power consumption benefits through the statistical effect of randomization across multiple data transmissions.
2Use of energy by moving object
If conventional Data Bus Inversion (DBI) is used to reduce power consumption, then power consumption is reduced, but transmission latency increases
Solution Approach 1:
The random inversion decision circuitry requires minimal processing time compared to conventional DBI, which must compare entire data units before deciding on inversion. The random approach eliminates this comparison time, reducing latency while maintaining power consumption benefits through the statistical averaging effect across multiple transmissions.
3Speed
If high toggle rates are allowed to maximize data transmission, then transmission speed is improved, but power consumption peaks occur causing voltage droops and potential damage
Solution Approach 1:
The patent converts the harmful effect of high toggle rates (which cause power consumption peaks) into a beneficial statistical distribution. By randomizing inversion decisions across multiple links, the toggle rates become distributed according to a binomial distribution, transforming concentrated harmful peaks into a manageable statistical pattern that can be controlled through the number of independent random inversion devices.
Solution Approach 2:
The patent changes the toggle rate from a deterministic high-value state (for maximum speed) to a randomly distributed state across multiple links. This parameter change transforms the harmful concentrated power consumption into a distributed statistical pattern, where the probability of exceeding target toggle rates can be controlled by adjusting the number of random inversion devices.
Data Source
Figure 1A
Figure 1B
Figure 2A~2B
AI summary
An electronic device (60, 100, 150, 350) includes circuitry and a plurality of ports. The plurality of ports includes an input port (102A) and an output port (106A), configured to communicate data units (104, 108) with one or more other devices across a fabric (22, 82, 344, 346, 348) of a System on a Chip (SoC) (20, 80, 320, 320A, 320B), the data units include N data bits, N being an integer larger than 1. The circuitry is configured to receive an input data unit via the input port, to make a random decision of whether to invert the N data bits in the input data unit, to produce an output data unit by retaining or inverting the N data bits of the input data unit based on the random decision, and to send the output data unit via the output port.