Cache Memory Allocation by Access Type and Program Phase

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache memory systems lack efficiency in allocating storage elements due to their inability to dynamically adapt to changes in program phases, leading to suboptimal performance in memory access patterns.

Innovation Solution

A set associative cache memory system that dynamically updates its mapping based on detected program phases by allocating storage elements in response to specific memory access types, optimizing allocation into subsets of ways associated with each memory access type.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional cache memory systems use static allocation strategies, then device complexity is reduced, but cache memory efficiency and hit rates deteriorate due to inability to adapt to program phase changes

Engineering Contradiction:
Improveadaptability to program phasesVSAvoidallocation control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic allocation by allowing the cache to transition between different allocation modes (first mode for initial program phases, second mode for later phases) based on detected program phase changes. This enables the cache memory system to adapt its allocation strategy dynamically without requiring complete reconfiguration, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes allocation parameters (allocation mode) in response to detected program phase transitions. By monitoring program execution and detecting phase changes, the system adjusts the allocation parameter from first-mode to second-mode allocation, improving adaptability while maintaining manageable complexity through parameter-based control.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache memory uses fixed allocation into ways, then manufacturing precision is simplified, but memory access performance deteriorates due to suboptimal allocation for different access patterns

Engineering Contradiction:
Improvememory access performanceVSAvoidallocation control logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The allocation logic transitions from static to dynamic operation by detecting program phase changes and switching between first-mode and second-mode allocation. This dynamic behavior allows the cache to optimize memory access performance for different program phases while using a unified allocation control structure, avoiding the need for completely separate control logics.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the allocation strategy into two distinct modes: first-mode allocation for initial program phases and second-mode allocation for later phases. Each mode can be optimized for specific access patterns, and the segmentation allows independent optimization without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

3Loss of energy

If cache memory allocates storage elements without considering memory access type, then ease of operation is improved, but power consumption increases due to inefficient cache utilization

Engineering Contradiction:
Improvepower consumptionVSAvoidallocation unit complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system changes the allocation parameter based on memory access type and program phase. By detecting changes in access patterns and program phases, the system adjusts allocation parameters to optimize cache utilization, reducing power consumption through more efficient memory access while using a unified allocation unit that handles both modes.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If cache memory uses dynamic phase detection and mapping updates, then adaptability to program phases is improved, but device complexity increases due to detection and update mechanisms

Engineering Contradiction:
Improveprogram phase adaptabilityVSAvoiddetection and update logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache memory system performs self-service by automatically detecting program phase changes and updating its own allocation mode without external intervention. The allocation unit monitors program execution and autonomously transitions between allocation modes, reducing the need for complex external control logic while maintaining high adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3066571B1Cache memory budgeted by ways on memory access type
Publication Date: 2018.06.13 VIA ALLIANCE SEMICON CO LTD
  • EP3066571B1 patent drawingFigure 1
  • EP3066571B1 patent drawingFigure 2
  • EP3066571B1 patent drawingFigure 3~5

AI summary

A set associative cache memory (102), comprising: an array (104) of storage elements (112) arranged as N ways; an allocation unit (106) that allocates the storage elements of the array in response to memory accesses that miss in the cache memory (102); wherein each of the memory accesses has an associated memory access type (MAT) (101) of a plurality of predetermined MATs, wherein the MAT is received by the cache memory; a mapping (108) that, for each MAT of the plurality of predetermined MATs, associates the MAT with a subset of one or more ways of the N ways; wherein for each memory access of the memory accesses, the allocation unit allocates into a way of the subset of one or more ways that the mapping associates with the MAT of the memory access; and wherein the mapping is dynamically updatable during operation of the cache memory.