Cache Repopulation via Tag Segmentation for Power Restoration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache memory technologies face a trade-off between power consumption and performance after power restoration, as they either sacrifice performance to reduce power consumption or maintain power in a subset of data storage to avoid performance drops, but not both simultaneously.

Innovation Solution

A method and apparatus for repopulating a cache by storing tags in a separate location, generating restore tags based on prior cache accesses, and using these tags to reload data into the cache after power restoration, allowing for power-gating and minimizing performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If power is removed from the cache to reduce power consumption, then power consumption is reduced, but performance deteriorates after power restoration due to cache emptying

Engineering Contradiction:
Improvepower consumptionVSAvoidperformance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The cache is divided into two separate components: tag storage and data storage. The tag storage is maintained in a powered-on state to retain metadata about cached items, while the data storage can be powered off to save energy. This segmentation allows the system to reduce power consumption without completely losing cache state, as the tags guide rapid repopulation of data when power is restored.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before powering off the cache data storage, the system performs preliminary actions by saving the tag information to a persistent location. When power is restored, these pre-saved tags enable immediate repopulation of the cache data storage without requiring a complete refill, thus maintaining performance while achieving power savings.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If power is maintained in a subset of data storage to avoid performance drop, then performance is maintained, but power consumption increases

Engineering Contradiction:
ImproveperformanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the tag storage from the data storage and places it in a separate, persistent location. This extraction allows the data storage to be completely powered off without sacrificing performance, as the tags are readily available for rapid cache repopulation. The tag storage requires minimal power compared to maintaining entire data storage subsets.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of energy

If the cache is completely emptied after power restoration, then power consumption during idle periods is reduced, but access time increases due to cache misses

Engineering Contradiction:
Improvepower consumption during idle periodsVSAvoidaccess time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

Before powering off the cache, the system performs preliminary action by saving tag information to a persistent storage location. When power is restored, these pre-saved tags enable immediate repopulation of frequently accessed data, avoiding the time penalty of complete cache refill and reducing access time despite the power-off period.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2542975B1Cache with reload capability after power restoration
Publication Date: 2018.02.21 ATI TECHNOLOGIES ULC
  • EP2542975B1 patent drawingFigure 1
  • EP2542975B1 patent drawingFigure 2
  • EP2542975B1 patent drawingFigure 3

AI summary

A method and apparatus for repopulating a cache are disclosed. At least a portion of the contents of the cache are stored in a location separate from the cache. Power is removed from the cache and is restored some time later. After power has been restored to the cache, it is repopulated with the portion of the contents of the cache that were stored separately from the cache.