Configurable Combined Private and Shared Cache Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for configuring cache resources in processor-based systems are limited in their ability to efficiently manage shared cache resources across multiple cores, leading to unequal performance among clients and increased potential for side-channel attacks due to reduced cache associativity and increased interconnect traffic.

Innovation Solution

A processor-based system with a configurable combined private and shared cache, where each processing core has a shared cache portion that can be independently assigned to clients, providing greater granularity in cache partitioning and reducing the risk of performance imbalances and side-channel attacks by allowing dynamic allocation and flexible configuration of cache sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If specific ways of shared cache are allocated to individual clients, then resource equalization is improved, but cache associativity is reduced

Engineering Contradiction:
Improveresource equalizationVSAvoidcache associativity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The shared cache is segmented into multiple independently-assignable portions, where each portion can be allocated to different clients dynamically. This segmentation allows resource equalization without permanently binding specific cache ways to specific clients, thereby maintaining cache associativity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache allocation is made dynamic rather than static. Clients can be assigned different portions of the shared cache based on their needs, and these assignments can change over time. This dynamic allocation achieves resource equalization while preserving the associative nature of the cache through flexible reconfiguration.

Inventive Principle:
Principle #15Dynamics

2Reliability

If specific ways of shared cache are allocated to individual clients, then resource equalization is improved, but performance is reduced

Engineering Contradiction:
Improveresource equalizationVSAvoidcache performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting the shared cache into independently-assignable portions, the system can allocate cache resources to multiple clients simultaneously without forcing them to share the same cache ways. This segmentation maintains cache performance by avoiding conflict evictions while still achieving resource equalization through controlled allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Dynamic allocation of cache portions to clients allows the system to optimize performance by assigning cache resources based on actual client needs and workload characteristics. This dynamic approach prevents performance degradation while maintaining resource equalization through flexible resource management.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If shared cache is partitioned with increased interconnect traffic, then resource allocation control is improved, but security is worsened

Engineering Contradiction:
Improveresource allocation controlVSAvoidside-channel attack risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The shared cache is divided into independently-assignable portions that can be allocated to different clients. This segmentation provides fine-grained resource allocation control while reducing side-channel attack risks by isolating client data in separate cache portions, thereby limiting the information available for potential attacks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a cache management intermediary that controls the allocation of cache portions to clients. This intermediary manages resource allocation without requiring increased interconnect traffic, and it provides security by enforcing isolation between clients and preventing unauthorized access to other clients' cache data.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20220398196A1Apparatuses, systems, and methods for configuring combined private and shared cache levels in a processor-based system
Publication Date: 2022.12.15 AMPERE COMPUTING LLC
  • US20220398196A1 patent drawing
  • US20220398196A1 patent drawing
  • US20220398196A1 patent drawing

AI summary

Apparatuses, systems, and methods for configuring combined private and shared cache levels in a processor-based system. The processor-based system includes a processor that includes a plurality of processing cores each including execution circuits which are coupled to respective cache(s) and a configurable combined private and shared cache, and which may receive instructions and data on which to perform operations from the cache(s) and the combined private and shared cache. A shared cache portion of each configurable combined private and shared cache can be treated as an independently-assignable portion of the overall shared cache, which is effectively the shared cache portions of all of the processing cores. Each independently-assignable portion of the overall shared cache can be associated with a particular client running on the processor as an example. This approach can provide greater granularity of cache partitioning of a shared cache between particular clients running on a processor.