Cache Controller Page Locality Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache operations, particularly set-associative cache operations, break address locality, leading to increased delays and reduced performance due to additional open and close events, which reverses the advantage of using cache for fast access memory storage.

Innovation Solution

Implementing cache controllers that create page locality by selecting a preferred Way within a Set for allocating new entries based on upper address bits of memory transactions and metadata analysis, ensuring sequential memory entries are allocated to the same Way across cache controllers, reducing page open/close penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If set-associative cache operations are used to store and retrieve data faster, then cache access speed is improved, but address locality is broken causing additional open and close events that increase delays and reduce performance

Engineering Contradiction:
Improvecache access speedVSAvoidcache response time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The cache controller performs preliminary analysis of upper address bits and metadata before allocating cache entries, determining the optimal Way assignment in advance. This preliminary action ensures that sequential memory entries are pre-configured to map to the same Way, preventing subsequent page open/close events and maintaining fast access without the penalty of address locality breakdown.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses metadata analysis and upper address bit patterns as feedback mechanisms to dynamically adjust cache entry allocation. By monitoring access patterns and using this feedback to guide Way selection, the cache controller maintains optimal performance while preserving address locality, thus reducing the time penalty associated with traditional set-associative operations.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If cache controllers allocate entries without considering page locality, then allocation simplicity is maintained, but page open/close events increase causing performance reduction

Engineering Contradiction:
Improvecache entry allocation simplicityVSAvoidcache performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The cache controller applies local quality by making allocation decisions specific to each cache Set and Way based on local address bit patterns and metadata characteristics. Rather than using a uniform allocation strategy across the entire cache, the system tailors Way selection to local access patterns, thereby maintaining simplicity in the overall allocation mechanism while improving performance through localized optimization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the allocation parameter from simple round-robin or random assignment to a parameter-driven approach that considers upper address bits and metadata analysis. This parameter change enables the cache controller to adaptively select Ways based on access patterns, improving productivity without significantly complicating the allocation operation through the use of additional selection criteria.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If sequential memory entries are allocated to different Ways, then cache utilization is maximized, but page locality is broken leading to increased page open/close penalties

Engineering Contradiction:
Improvecache entry utilizationVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The cache controller performs preliminary analysis of sequential memory entry addresses and their upper address bits before allocation, determining the optimal Way assignment in advance. This preliminary action ensures that sequential entries are pre-configured to map to the same Way, maintaining high cache utilization while avoiding the energy-consuming page open/close operations that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system converts what would normally be a harmful effect (the tendency of set-associative caches to break address locality) into a benefit by deliberately using upper address bit analysis to preserve locality. By analyzing address patterns and using this information to guide allocation, the system turns the potential harm of random Way assignment into the benefit of optimized page locality, reducing power consumption while maintaining utilization.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS10635593B2Create page locality in cache controller cache allocation
Publication Date: 2020.04.28 INTEL CORP
  • US10635593B2 patent drawing
  • US10635593B2 patent drawing
  • US10635593B2 patent drawing

AI summary

A cache controller is to allocate memory within set-associative cache that includes a plurality of sets of ways. The cache controller is to request to assign an entry for a system address in the set-associative cache and execute a function to determine a set, from a series of sets within the plurality of sets of ways, to which to allocate the entry in the set-associative cache. The cache controller is further to identify an available number of ways in the set and identify a way that is available in response to execution of a way bias algorithm. The cache controller is also to determine whether the way is among the ways available within the set and select the way for allocation of the entry in response to the way being among the ways available within the set.