Hybrid Memory Segmentation for Power Gated Accelerators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hardware accelerators with local memory face inefficiencies in power management, as powering down both the accelerator and memory to conserve energy results in the need to reload reusable data each time it is used, increasing idle time and reducing performance.
Innovation Solution
Implementing a local memory with both volatile and non-volatile portions, where reusable data is stored in the non-volatile portion and varies from iteration to iteration in the volatile portion, allowing both to be powered down between iterations, reducing the time the hardware accelerators and memory need to be powered up.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the hardware accelerator and local memory are power gated to reduce power consumption, then power consumption is reduced, but the reusable data must be reloaded each time data arrives for processing, lengthening the operating time
Solution Approach 1:
The local memory is divided into two distinct portions: a volatile portion for storing iteration-specific data and a non-volatile portion for storing reusable data. This segmentation allows the system to power gate the entire local memory while the non-volatile portion retains reusable data, eliminating the need to reload such data and reducing the operating time penalty associated with power gating.
Solution Approach 2:
Reusable data is pre-loaded into the non-volatile portion of the local memory before power gating occurs. This preliminary action ensures that when the accelerator and memory are powered down and subsequently restarted, the reusable data is already available, eliminating the time-consuming reload operation and reducing the net operating time.
2Loss of energy
If the local memory stores reusable data and is powered down between iterations, then power consumption is reduced, but the data reload time increases the total processing time
Solution Approach 1:
The local memory is segmented into volatile and non-volatile portions, enabling selective retention of reusable data in the non-volatile portion during power-down intervals. This segmentation resolves the contradiction by allowing power consumption to be reduced while maintaining productivity, as the non-volatile portion prevents the need for time-consuming data reload operations.
Solution Approach 2:
The patent changes the volatility parameter of the memory portion used for storing reusable data from volatile to non-volatile. This parameter change allows the memory to retain data without power, enabling power gating without the productivity penalty of data reload, thus resolving the contradiction between energy loss and processing throughput.
3Loss of time
If the hardware accelerator operates continuously to maintain data in memory, then data reload time is reduced, but power consumption increases
Solution Approach 1:
The local memory is segmented into volatile and non-volatile portions, with the non-volatile portion dedicated to storing reusable data. This segmentation allows the accelerator to be powered down without incurring data reload penalties, as the non-volatile portion preserves reusable data. Thus, the contradiction is resolved by enabling power savings without extending data reload time.
Solution Approach 2:
The patent effectively uses the non-volatile memory portion as a persistent storage medium that replaces the need for continuous power to maintain reusable data. Instead of expending energy to keep data alive in volatile memory, the system uses the non-volatile portion to permanently retain reusable data, eliminating the energy-time tradeoff.
Data Source
AI summary
In an embodiment, a local memory dedicated to one or more hardware accelerators in a system may include at least two portions: a volatile portion and a non-volatile portion. Data that is reused from iteration to iteration of the hardware accelerator (e.g. constants, instruction words, etc.) may be stored in the non-volatile portion. Data that varies from iteration to iteration may be stored in the volatile portion. Both the local memory and the hardware accelerators may be powered down between iterations, saving power. The non-volatile portion need only be initialized at a first iteration, allowing the amount of time that the hardware accelerators and the local memory are powered up to be lessened for subsequent iterations since the reused data need not be reloaded in the subsequent iterations.


