Storage Controller Cache Partitioning via Dynamic Weights

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache partitioning techniques fail to provide fine-grained control over cache line replacement for quality of service and non-interference, especially in heterogeneous systems with differing requirements, leading to inefficiencies and interference among threads or applications.

Innovation Solution

A storage controller with a tag array and partition policy units that apply partition-specific policies to determine adjusted weights for victim selection, allowing for flexible partitioning and re-sizing without reducing associativity, and enabling global weight adjustments for optimized cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cache partitioning is done by constraining placement (way partitioning), then the cache can be divided into partitions, but it reduces associativity and cannot provide fine-grained control of partition size

Engineering Contradiction:
Improvepartition flexibilityVSAvoidassociativity reduction
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the control parameter from fixed way partitioning to dynamic replacement policy control. By modifying the replacement policy parameters (weights assigned to different partitions), the system achieves fine-grained control over partition size and behavior without altering the physical cache structure or reducing associativity. Each partition can have independently adjustable weights that dynamically control its size and replacement characteristics.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If traditional cache replacement policies are used, then cache operations are simple, but they cannot partition the cache for quality of service and non-interference purposes

Engineering Contradiction:
Improvequality of service partitioningVSAvoidreplacement policy complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the cache replacement process into multiple independent partition policy units, each responsible for a specific partition. Each policy unit maintains its own replacement policy and weight parameters, allowing independent control and optimization for different quality of service requirements. This segmentation enables multi-tenant cache management while keeping each policy unit relatively simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic weight parameters that can be adjusted at runtime to control partition behavior. The weights are not fixed but can be modified based on system conditions, allowing the cache to adapt to changing quality of service requirements. This dynamic control mechanism enables flexible partitioning without requiring complex static configuration.

Inventive Principle:
Principle #15Dynamics

3Productivity

If cache lines are shared without partitioning, then cache utilization is maximized, but threads interfere with each other and quality of service guarantees cannot be provided

Engineering Contradiction:
Improvecache utilizationVSAvoidthread interference
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by assigning different weight parameters to different partitions, allowing each partition to have customized replacement behavior tailored to its specific quality of service requirements. This local customization enables the cache to simultaneously serve multiple threads with different characteristics without mutual interference, while maintaining high overall utilization by keeping the partitioning logic within the unified replacement process.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3258382B1A storage controller
Publication Date: 2021.08.11 ARM LTD
  • EP3258382B1 patent drawingFigure 1
  • EP3258382B1 patent drawingFigure 2
  • EP3258382B1 patent drawingFigure 3

AI summary

There is described a method and data processing apparatus for a controller, the controller having an array of entries, each entry associated with a partition of one or more partitions, wherein the controller comprises logic configured to identify a partition identifier of an entry and apply a policy to the entry based on or in response to the partition identifier.