Base Value Delta Compression for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression techniques in computing devices, such as GPUs, are inefficient, leading to suboptimal use of memory bandwidth and energy consumption, as they fail to adequately compress data during transfer between memory hierarchies, resulting in unnecessary data storage and energy expenditure.

Innovation Solution

Implementing a compressor in the GPU's memory controller that uses base values and delta values to generate compressed data blocks, where base values are stored in a cache and only delta values are transferred when the block size exceeds a threshold, optimizing memory usage and reducing data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current data compression techniques are used in GPU memory transfer, then data transfer between memory hierarchies is performed, but compression efficiency is insufficient leading to wasted memory bandwidth and energy consumption

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments data blocks into base values and delta values, storing base values in a dedicated cache structure. This segmentation allows the system to transfer only delta values over the memory bus, improving bandwidth utilization while reducing energy consumption for data transfer operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compression of data blocks before transfer by calculating delta values relative to base values and storing base values in advance in a cache. This preliminary action enables more efficient compression during actual data transfer operations, improving overall productivity and reducing energy waste.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If base values are stored in compressed data blocks, then complete data is transferred, but storage space is wasted and less data can be stored in memory

Engineering Contradiction:
Improveamount of compressed dataVSAvoidmemory storage structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent separates base values from delta values in the compressed data structure. Base values are stored in a dedicated cache while only delta values are stored in the compressed data block, increasing the quantity of compressible data that can be stored in memory without significantly increasing structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a base value cache as an intermediary structure between the compressed data blocks and the original data. This intermediary allows the system to reference base values without storing them repeatedly in each data block, increasing storage capacity while managing complexity through a centralized cache management system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If all data blocks are transferred over the memory bus, then complete data is available, but memory bandwidth is wasted and transfer time increases

Engineering Contradiction:
Improvedata transfer speedVSAvoiddata transfer time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent extracts base values from the data blocks being transferred over the memory bus and stores them in a cache. Only the smaller delta values are transferred, increasing effective data transfer speed and reducing the time required to move data between memory hierarchies.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary identification and caching of base values before the data transfer operation. This preliminary action allows the transfer to proceed with only delta values, improving speed while minimizing the time spent on data movement operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11740791B2Data compression system using base values and methods thereof
Publication Date: 2023.08.29 ADVANCED MICRO DEVICES INC
  • US11740791B2 patent drawing
  • US11740791B2 patent drawing
  • US11740791B2 patent drawing

AI summary

In some embodiments, a memory controller in a processor includes a base value cache, a compressor, and a metadata cache. The compressor is coupled to the base value cache and the metadata cache. The compressor compresses a data block using at least a base value and delta values. The compressor determines whether the size of the data block exceeds a data block threshold value. Based on the determination of whether the size of the compressed data block generated by the compressor exceeds the data block threshold value, the memory controller transfers only a set of the compressed delta values to memory for storage. A decompressor located in the lower level cache of the processor decompresses the compressed data block using the base value stored in the base value cache, metadata stored in the metadata cache and the delta values stored in memory.