System-Level Cache Way Partitioning for Dynamic Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing system-level caches (SLCs) lack flexibility and efficiency in allocating cache resources to different hardware devices, leading to power-intensive and high-latency memory requests, especially in dynamic execution contexts.

Innovation Solution

Implement a way-partitioning policy in SLCs that allocates primary ways dedicated to specific memory buffers and secondary ways shared among multiple buffers, allowing dynamic adaptation to changing use cases and reducing power consumption by powering down unused pathways.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a system-level cache uses a fixed cache configuration, then the cache structure is simple and stable, but the cache cannot adapt to different execution contexts, leading to increased power consumption and latency

Engineering Contradiction:
Improvecache adaptabilityVSAvoidcache configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache configuration is made dynamic through runtime reconfiguration capabilities. The system can adjust cache parameters such as associativity, cache size, and partitioning based on execution context, transforming a static cache into an adaptive one that responds to changing workload requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes cache parameters dynamically by modifying associativity values, cache line sizes, and partition configurations based on detected execution contexts. This allows the cache to optimize its behavior for different workload types without requiring a completely different hardware design

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the system allocates dedicated cache ways to each partition, then cache performance for specific memory buffers is improved, but cache resource utilization decreases when not all partitions are active

Engineering Contradiction:
Improvecache performanceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The cache is segmented into multiple partitions that can be independently configured and activated. Each partition can be associated with specific memory buffers or client devices, allowing the system to activate only the necessary segments based on current execution context, thereby reducing power consumption while maintaining performance for active partitions

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The partition activation state is dynamic rather than fixed. The system can enable or disable specific partitions based on which memory buffers are currently being accessed, allowing dedicated cache ways to be allocated to active partitions while leaving inactive partitions in a low-power state

Inventive Principle:
Principle #15Dynamics

3Productivity

If the cache uses a static partitioning scheme, then the cache structure is simpler to implement, but it cannot optimize for varying workload patterns across different execution contexts

Engineering Contradiction:
Improvecaching efficiencyVSAvoidpartition management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system incorporates feedback mechanisms that monitor execution context and workload patterns. Based on this feedback, the system dynamically adjusts partition configurations, associativity settings, and cache policies to optimize caching efficiency for the current workload while managing complexity through automated control

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4715612A1System-level cache
Publication Date: 2026.03.25 GOOGLE LLC
  • EP4715612A1 patent drawingFigure 1A
  • EP4715612A1 patent drawingFigure 1B
  • EP4715612A1 patent drawingFigure 2

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for a system-level cache to allocate cache resources by a way-partitioning process. One of the methods includes maintaining a mapping between partitions and priority levels and allocating primary ways to respective enabled partitions in an order corresponding to the respective priority levels assigned to the enabled partitions.