Cache Line Compression with Byte Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data compression techniques in memory and interconnect bandwidth are inefficient due to the transfer of unused bytes across links and storage in caches, leading to increased bandwidth consumption and reduced cache capacity.

Innovation Solution

Implementing a byte-granularity prediction mechanism to drop non-useful bytes from cache lines during compression, allowing for reduced data transfer and increased cache capacity without expanding cache size, by determining which bytes will be accessed before a cache line is evicted.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional compression techniques are used to compress cache lines, then compression ratio is improved, but bandwidth consumption increases due to transfer of unused bytes

Engineering Contradiction:
Improvecompression ratioVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The cache line is segmented into individual bytes, and each byte is independently evaluated for usefulness. The system divides the cache line into usable bytes (that will be accessed) and unusable bytes (that will not be accessed), transferring only the usable portion. This segmentation resolves the contradiction by maintaining high compression ratios while eliminating unnecessary byte transfers that consume bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and removes unusable bytes from the cache line before transfer. By identifying bytes that will not be accessed during the cache line's lifetime and extracting them, the system reduces the amount of data transferred across the interconnect, thereby reducing bandwidth consumption while preserving all necessary data for future accesses.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If conventional compression techniques are used to store compressed cache lines, then cache capacity is increased, but cache size must be expanded to store additional compressed lines

Engineering Contradiction:
Improvecache capacityVSAvoidcache size
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

By segmenting cache lines into usable and unusable bytes, the system reduces the storage footprint of each cache line. This allows more cache lines to be stored in the same physical cache capacity, effectively increasing cache capacity without requiring physical expansion of the cache structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of cache line representation from full-byte storage to selective byte storage. By storing only the necessary portion of each cache line (usable bytes) and using metadata to track which bytes are present, the system increases the number of cache lines that can be stored in the same physical space.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If all bytes of a cache line are transferred, then data completeness is ensured, but memory and interconnect bandwidth usage increases

Engineering Contradiction:
Improvedata completenessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis to predict which bytes will be accessed during the cache line's lifetime before the cache line is transferred. By identifying usable bytes in advance and transferring only those bytes along with appropriate metadata, the system ensures data completeness for all bytes that will actually be accessed while minimizing bandwidth usage by excluding bytes that will not be accessed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from access patterns and eviction policies to determine which bytes are useful. By monitoring which bytes are likely to be accessed and adjusting the transfer decision accordingly, the system maintains data completeness for necessary bytes while optimizing bandwidth usage by excluding unnecessary bytes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10838727B2Device and method for cache utilization aware data compression
Publication Date: 2020.11.17 ADVANCED MICRO DEVICES INC
  • US10838727B2 patent drawing
  • US10838727B2 patent drawing
  • US10838727B2 patent drawing

AI summary

A processing device is provided which includes memory and at least one processor. The memory includes main memory and cache memory in communication with the main memory via a link. The at least one processor is configured to receive a request for a cache line and read the cache line from main memory. The at least one processor is also configured to compress the cache line according to a compression algorithm and, when the compressed cache line includes at least one byte predicted not to be accessed, drop the at least one byte from the compressed cache line based on whether the compression algorithm is determined to successfully compress the cache line according to a compression parameter.