Compressed Cache Dictionary Sharing for Low-Latency Capacity Gains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face challenges in maximizing cache capacity while minimizing access latency and power consumption, as they often require larger caches that incur higher latency and energy costs, and traditional compression techniques struggle to effectively exploit data value locality for efficient compression.

Innovation Solution

The implementation of a flexible dictionary sharing mechanism in compressed caches, where each cache line is mapped to a set with a dictionary that achieves the best compression ratio, using a dictionary selector unit to evaluate multiple candidate dictionaries and store the selected dictionary's ID in the tag array, allowing for dynamic remapping of cache lines to optimize compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If larger caches are used to increase cache capacity, then more data can be stored, but access latency increases and power consumption increases

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

Solution Approach 1:

The cache is divided into multiple sets, each with its own dictionary for compression. This segmentation allows parallel access to different cache sets, maintaining low latency while increasing overall capacity through compression in each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the compression parameters by allowing different compression ratios and dictionary sizes for different cache sets based on workload characteristics. This enables optimal balance between capacity, latency, and power consumption for different data patterns.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If larger caches are used to increase cache capacity, then more data can be stored, but power consumption increases

Engineering Contradiction:
Improvecache capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by stationary object

Solution Approach 1:

The cache is divided into multiple sets, each with its own dictionary for compression. This segmentation allows parallel access to different cache sets, maintaining low latency while increasing overall capacity through compression in each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the compression parameters by allowing different compression ratios and dictionary sizes for different cache sets based on workload characteristics. This enables optimal balance between capacity, latency, and power consumption for different data patterns.

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If traditional compression techniques are used, then some space savings are achieved, but data value locality is not effectively exploited for efficient compression

Engineering Contradiction:
Improvecache space usageVSAvoidcompression efficiency
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the compression performance is continuously monitored and used to dynamically adjust dictionary selection and remap cache lines to optimize compression ratios. This feedback loop ensures that data value locality is effectively exploited for efficient compression.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic dictionary selection and cache line remapping based on workload characteristics and compression performance. This dynamic approach allows the system to adapt to changing data patterns and effectively exploit data value locality for efficient compression.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12135653B2Flexible dictionary sharing for compressed caches
Publication Date: 2024.11.05 ADVANCED MICRO DEVICES INC
  • US12135653B2 patent drawing
  • US12135653B2 patent drawing
  • US12135653B2 patent drawing

AI summary

Systems, apparatuses, and methods for implementing flexible dictionary sharing techniques for caches are disclosed. A set-associative cache includes a dictionary for each data array set. When a cache line is to be allocated in the cache, a cache controller determines to which set a base index of the cache line address maps. Then, a selector unit determines which dictionary of a group of dictionaries stored by those sets neighboring this set would achieve the most compression for the cache line. This dictionary is then selected to compress the cache line. An offset is added to the base index of the cache line to generate a full index in order to map the cache line to the set corresponding to this chosen dictionary. The compressed cache line is stored in this set with the chosen dictionary, and the offset is stored in the corresponding tag array entry.