Processor-Core Decompression API for Low-Latency Cacheline Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor cores face performance bottlenecks due to Dynamic Random Access Memory (DRAM) and interconnect bandwidth limitations, which are exacerbated by high latency in compression and decompression processes, even when using accelerators.

Innovation Solution

An Application Programming Interface (API) for fine-grained low-latency decompression is introduced within a processor core, utilizing a decompression engine and a hardware-software synergistic solution that includes a dedicated decompression accelerator located near the Level 2 cache, enabling speculative decompression and signaling of cacheline completion to reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compression and decompression are performed using traditional accelerators, then data transfer bandwidth is improved, but latency increases due to high decompression time

Engineering Contradiction:
Improvedata transfer bandwidthVSAvoiddecompression latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The decompression operation is divided into fine-grained cacheline-sized segments (64 bytes) rather than processing large pages at once. This allows the processor to decompress and utilize data in smaller, more manageable units, reducing the perceived latency by allowing earlier access to decompressed data while maintaining high bandwidth utilization through parallel processing of multiple cachelines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs speculative decompression by pre-decompressing cachelines before they are actually needed by the processor. The decompression engine anticipates future memory access patterns and prepares data in advance, allowing the processor to access already-decompressed data without waiting for the decompression to complete, thus hiding the latency.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If decompression is performed at page level granularity, then bandwidth utilization is improved, but access latency increases due to coarse-grained processing

Engineering Contradiction:
Improvebandwidth utilizationVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the decompression operation into fine-grained cacheline-sized units (64 bytes) rather than processing entire pages at once. This allows the system to maintain high bandwidth utilization by processing multiple cachelines in parallel while enabling faster access latency because individual cachelines can be decompressed and accessed independently without waiting for entire page decompression to complete.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the granularity of decompression operations based on actual processor needs. Rather than fixed page-level or cache-line-level granularity, the decompression engine can adaptively process data at the appropriate granularity, switching between fine-grained cacheline processing for low-latency needs and coarser processing for bandwidth optimization, making the system responsive to varying workload requirements.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If decompression accelerator is placed far from processor core, then device complexity is reduced, but interconnect bandwidth limitations worsen performance

Engineering Contradiction:
Improvesystem architecture complexityVSAvoidinterconnect bandwidth
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The decompression engine is merged with the cache hierarchy, specifically integrated into the Last Level Cache (LLC) structure. This combines the decompression functionality with an existing high-bandwidth component already close to the processor core, eliminating the need for separate decompression accelerators and their associated interconnects. The integration provides both low latency (by being physically close to the core) and high bandwidth (by utilizing the cache interconnect), while avoiding the complexity of managing separate decompression hardware.

Inventive Principle:
Principle #5Merging (Combining)

4Device complexity

If traditional memory hierarchy is used without decompression integration, then device complexity is minimized, but memory bandwidth bottlenecks reduce processor performance

Engineering Contradiction:
Improvememory hierarchy complexityVSAvoidprocessor performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The decompression engine is merged with the cache hierarchy, specifically integrated into the Last Level Cache (LLC) structure. This combination allows compressed data to be stored in the cache and automatically decompressed when accessed, eliminating the need for separate decompression hardware and complex memory management software. The integration maintains a relatively simple memory hierarchy while dramatically improving processor performance by eliminating memory bandwidth bottlenecks through on-demand decompression of cached data.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4020230B1Application programming interface for fine grained low latency decompression within processor core
Publication Date: 2025.01.08 INTEL CORP
  • EP4020230B1 patent drawingFigure 1
  • EP4020230B1 patent drawingFigure 2~3
  • EP4020230B1 patent drawingFigure 4

AI summary

Methods and apparatus relating to an Application Programming Interface (API) for fine grained low latency decompression within a processor core are described. In an embodiment, a decompression Application Programming Interface (API) receives an input handle to a data object. The data object includes compressed data and metadata. Decompression Engine (DE) circuitry decompresses the compressed data to generate uncompressed data. The DE circuitry decompress the compressed data in response to invocation of a decompression instruction by the decompression API. The metadata comprises a first operand to indicate a location of the compressed data, a second operand to indicate a size of the compressed data, a third operand to indicate a location to which decompressed data by the DE circuitry is to be stored, and a fourth operand to indicate a size of the decompressed data. Other embodiments are also disclosed and claimed.