Dynamic Cache Index Selection for Compression-Aware Set Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face inefficiencies due to cache thrashing caused by uncompressible data lines being stored in the same cache set as compressible lines, leading to conflict misses and reduced utilization.

Innovation Solution

A cache index is dynamically selected based on the line's compression ratio, using lower-order index bits for uncompressible lines to spread them across different sets and higher-order bits for compressible lines to pack them efficiently in superblocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If cache compression is used to store multiple compressed lines in one cache block, then cache capacity is increased, but conflict misses increase when uncompressible lines are stored in the same set as compressible lines

Engineering Contradiction:
Improvecache capacityVSAvoidcache hit rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The cache is segmented into multiple sets, each dedicated to storing lines with a specific compression factor. This segmentation prevents conflict misses between compressible and uncompressible lines while maintaining the capacity benefits of compression. Lines are routed to appropriate sets based on their compression characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache sets have specialized qualities optimized for specific compression factors. Sets are configured with appropriate line sizes and associativity tailored to their designated compression factor, allowing each set to operate at optimal efficiency for its specific data type.

Inventive Principle:
Principle #3Local quality

2Device complexity

If a single cache index is used for all lines, then cache structure is simple, but conflict misses increase due to thrashing between different compression types

Engineering Contradiction:
Improvecache structureVSAvoidcache utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache system dynamically selects the appropriate index set based on the compression factor of each line. This dynamic selection allows the cache to adapt to different data characteristics, routing compressible lines to compression-optimized sets and uncompressible lines to appropriate sets, thereby reducing thrashing and improving utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache controller implements a universal indexing mechanism that can handle multiple compression factors through a single unified interface. The controller determines the compression factor and routes to appropriate sets, providing multi-functionality without requiring separate cache structures for each compression type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If compressible lines are packed into superblocks, then cache capacity is maximized, but access time increases due to searching through multiple candidate sets

Engineering Contradiction:
Improvecache capacityVSAvoidaccess time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The cache controller performs preliminary determination of the compression factor before cache access operations. By knowing the compression factor in advance, the controller can directly select the appropriate candidate set without searching through multiple sets, thereby maintaining fast access times while still maximizing capacity through superblock packing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compression factor determination acts as an intermediary that bridges the gap between capacity optimization and access speed. This intermediary information allows the system to efficiently route to the correct candidate set, avoiding the need to search through all possible sets while still benefiting from superblock packing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260056887A1Systems and methods for tag-based cache with dynamic index selection
Publication Date: 2026.02.26 SAMSUNG ELECTRONICS CO LTD
  • US20260056887A1 patent drawing
  • US20260056887A1 patent drawing
  • US20260056887A1 patent drawing

AI summary

A system includes: cache memory; and a cache controller to: store a line of data in the cache memory according to an address of the line and a compression ratio of the line; and return a requested line of data based on a search in a first candidate set of the cache memory having a first index at a first index bit position of an address of the requested line, and in a second candidate set of the cache memory having a second index at a second index bit position of the address of the requested line. The first index bit position is different from the second index bit position.