Cache Data Encoder for GPU Memory Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in cache operations, particularly in compressing and decompressing data between the graphics processing unit (GPU) and memory, which affects performance and power consumption.

Innovation Solution

Incorporating a data encoder associated with the cache system to compress data before writing it to memory and decompress it upon reading, allowing the cache to manage compression and decompression operations, thereby facilitating efficient data transfer and synchronization between the GPU and memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If data is compressed before writing to memory, then the amount of data transferred to and from memory is reduced, but the complexity of the cache system increases due to the need for compression and decompression operations

Engineering Contradiction:
Improvepower cost of moving dataVSAvoidcache system complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A data encoder is introduced as an intermediary component between the cache and memory systems. This encoder handles compression when data is written to memory and decompression when data is read from memory, allowing the cache to operate with uncompressed data while reducing the actual data volume stored in and transferred to memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If data is compressed in the cache system, then memory transfer volume is reduced, but the data processing time increases due to compression and decompression operations

Engineering Contradiction:
Improveamount of data transferredVSAvoiddata processing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Data compression is performed preliminarily when data is written to the cache, so that when the data is later read from memory, it is already in a compressed state and can be quickly decompressed by the data encoder without blocking subsequent processing operations.

Inventive Principle:
Principle #10Preliminary action

3Speed

If the cache stores uncompressed data, then data processing speed is improved, but the amount of memory required increases

Engineering Contradiction:
Improvedata processing speedVSAvoidmemory storage requirement
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The storage system is segmented into two distinct parts: the cache system that stores uncompressed data for fast processing, and the memory system that stores compressed data for space efficiency. The data encoder manages the transformation between these two segments, allowing each to operate optimally for its intended purpose.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11789867B2Cache arrangement for data processing systems
Publication Date: 2023.10.17 ARM LTD
  • US11789867B2 patent drawing
  • US11789867B2 patent drawing
  • US11789867B2 patent drawing

AI summary

A data processing system includes a cache system configured to transfer data stored in the memory system to a processor and to transfer data from the processor to the memory system. The cache system comprises a cache and a data encoder associated with the cache that is configured to encode uncompressed data from the cache for storing in the memory system in a compressed format, and decode compressed data from the memory system for storing in the cache in an uncompressed format.