Cache Hierarchy Compression for Capacity and Latency Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression techniques for cache memories fail to balance size reduction and latency considerations across different levels of cache hierarchy, leading to inefficient use of limited cache capacity and increased response times.

Innovation Solution

A method using a combination of lighter-weight and heavier-weight compression techniques tailored for each level of cache memory, where lighter-weight compression is used for higher hierarchy caches to minimize latency and heavier-weight compression is used for lower hierarchy caches to achieve greater size reduction, allowing for efficient data storage and retrieval without significant delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If heavier-weight compression is used to compress data for storage in cache memories, then the data size reduction is improved, but the compression and decompression time increases

Engineering Contradiction:
Improvedata sizeVSAvoidcompression and decompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the cache memory hierarchy into different levels (L1, L2, L3 caches) and applies different compression techniques to each level. Lighter-weight compression is applied to higher levels where latency is critical, while heavier-weight compression is applied to lower levels where capacity is the primary constraint. This segmentation resolves the contradiction by allowing each cache level to optimize for its specific requirements rather than using a single compression approach for all levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by tailoring the compression technique to each specific cache memory level's characteristics. Higher-level caches (closer to the processor) use lighter compression with faster access times, while lower-level caches (further from the processor) use heavier compression for maximum space utilization. This localized approach allows each cache level to have the optimal compression characteristics for its position in the hierarchy, resolving the universal contradiction between compression ratio and speed.

Inventive Principle:
Principle #3Local quality

2Loss of time

If lighter-weight compression is used to reduce compression latency, then the response time is improved, but the data size reduction is limited

Engineering Contradiction:
Improvecompression latencyVSAvoiddata size reduction
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent divides the cache storage system into multiple hierarchical levels and assigns different compression strategies to each segment. Lighter-weight compression is deployed in upper levels where speed is paramount, accepting limited size reduction, while heavier-weight compression is deployed in lower levels where capacity matters more. This segmentation allows the system to achieve both fast response times (in upper levels) and significant size reduction (in lower levels), resolving the contradiction between latency and compression ratio.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent resolves the contradiction by adding a hierarchical dimension to the cache memory system. Instead of choosing a single compression approach, the system creates multiple layers of caching with progressive compression techniques. This dimensional approach allows data to be stored with appropriate compression at each level, enabling the system to achieve both fast access (through lightly compressed data in upper levels) and high capacity utilization (through heavily compressed data in lower levels).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If cache memory capacity is increased to store more data copies, then the storage capacity is improved, but the response latency increases

Engineering Contradiction:
Improvecache storage capacityVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the cache system into a hierarchy of smaller, faster caches (L1, L2) and larger, slower caches (L3 and beyond). Each segment is optimized for its specific role: upper levels provide fast access to frequently used data, while lower levels provide bulk storage capacity. This segmentation resolves the contradiction by allowing the system to have both high-speed access (through small, fast upper caches) and large storage capacity (through larger lower caches) simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested cache hierarchy where smaller, faster caches are nested within or alongside larger, slower caches. The L1 cache is nested within the processor core, L2 cache surrounds L1, and L3 cache provides additional capacity. This nested structure allows data to be accessed at multiple levels of speed and capacity, resolving the contradiction between storage capacity and access speed by providing a continuum of cache options rather than a single monolithic cache.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentEP3903193B1Compressing data for storage in cache memories in a hierarchy of cache memories
Publication Date: 2024.07.31 ADVANCED MICRO DEVICES INC
  • EP3903193B1 patent drawingFigure 1
  • EP3903193B1 patent drawingFigure 2
  • EP3903193B1 patent drawingFigure 3

AI summary

An electronic device includes at least one compression-decompression functional block and a hierarchy of cache memories with a first cache memory and a second cache memory. The at least one compression-decompression functional block receives data in an uncompressed state, compresses the data using one of a first compression or a second compression, and, after compressing the data, provides the data to the first cache memory for storage therein. When the data is retrieved from the first cache memory to be stored in the second cache memory, when the data is compressed using the first compression, the compression-decompression functional block decompresses the data to reverse effects of the first compression on the data, thereby restoring the data to the uncompressed state and provides the data compressed using the second compression or in the uncompressed state to the second cache memory for storage therein.