Cache Block Bounding Mechanism for Latency and Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face inefficiencies in reducing latency and conflict misses due to the lack of a finer limit on cache blocks associated with specific properties, which hinders power management and data allocation strategies.

Innovation Solution

Implementing a cache system with multiple partitions where a cache controller determines a bypass condition based on criteria such as write request fractions and memory access traffic to invalidate or store data accordingly, allowing for efficient allocation and power management by partitioning data types across active and inactive banks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the cache uses standard capacity or associativity limits, then the cache structure is simple, but the latency for searching and moving cache blocks with specific properties is large

Engineering Contradiction:
Improvelatency for searching and moving cache blocksVSAvoidcache structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache is divided into multiple sets, with each set containing multiple ways. Within each way, there are multiple cache blocks that can be independently managed. This segmentation allows the cache controller to operate on individual blocks with specific properties (coherence state, dirty state, ownership state) without affecting the entire cache, thereby reducing search and movement latency while maintaining a manageable structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of control by adding block-level state attributes (coherence state, dirty state, ownership state) beyond the traditional set-way hierarchy. This enables selective manipulation of cache blocks based on these additional dimensions, allowing the system to quickly identify and move specific blocks without searching the entire cache, thus reducing latency without proportionally increasing structural complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If the cache allows more blocks with specific properties, then storage capacity is充分利用, but the latency to transition to low-power mode increases

Engineering Contradiction:
Improvenumber of cache blocksVSAvoidtransition latency to low-power mode
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The cache controller continuously monitors and tracks the state of individual cache blocks, maintaining metadata about coherence state, dirty state, and ownership state for each block. This preliminary organization of block information allows the system to quickly identify blocks that need to be evicted when transitioning to low-power mode, eliminating the need for time-consuming searches during the transition process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache structure dynamically adapts to power management requirements by enabling selective eviction of blocks with specific properties. The controller can identify and move only the necessary blocks (e.g., dirty blocks, blocks with specific coherence states) rather than evacuating entire sets or ways, allowing the cache to maintain high utilization while achieving fast transitions to low-power modes when needed.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the cache does not distinguish requests associated with specific properties, then the cache allocation is simple, but conflict misses increase significantly

Engineering Contradiction:
Improvecache hit rateVSAvoidallocation strategy complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache allocation strategy applies different handling rules to cache blocks based on their local properties (coherence state, dirty state, ownership state). Instead of treating all blocks uniformly, the controller can selectively replace blocks with specific properties, such as preferring to evict clean blocks over dirty blocks, or blocks without ownership over blocks with ownership. This localized differentiation improves hit rates by keeping important blocks in the cache while adding only modest complexity to the allocation logic.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9251069B2Mechanisms to bound the presence of cache blocks with specific properties in caches
Publication Date: 2016.02.02 ADVANCED MICRO DEVICES INC
  • US9251069B2 patent drawing
  • US9251069B2 patent drawing
  • US9251069B2 patent drawing

AI summary

A system and method for efficiently limiting storage space for data with particular properties in a cache memory. A computing system includes a cache array and a corresponding cache controller. The cache array includes multiple banks, wherein a first bank is powered down. In response a write request to a second bank for data indicated to be stored in the powered down first bank, the cache controller determines a respective bypass condition for the data. If the bypass condition exceeds a threshold, then the cache controller invalidates any copy of the data stored in the second bank. If the bypass condition does not exceed the threshold, then the cache controller stores the data with a clean state in the second bank. The cache controller writes the data in a lower-level memory for both cases.