Memory Compression API for Cross-Latency Data Movement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face performance bottlenecks due to the inefficiencies in data transfer between memory elements, particularly when handling large data sets, as existing memory management is platform-specific and lacks effective data compression and decompression mechanisms.

Innovation Solution

A data processor with an application programming interface (API) that provides operations and parameters for data compression and decompression, enabling efficient data movement between memory elements with varying access latencies, using algorithms specialized for different data types and compression modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between memory elements without compression, then data transfer speed is maintained, but memory bandwidth is wasted and storage capacity is underutilized

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcompression latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs data compression in advance during data movement operations between memory elements, rather than compressing data when it is needed by the processor. This preliminary compression allows the compressed data to be stored and transferred efficiently, with decompression occurring only when the data reaches its destination or is needed, thus reducing the impact on processor performance while improving overall memory system efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces compression and decompression functionality as an intermediary layer in the memory hierarchy, specifically between L2 cache and off-chip memory. This intermediary compression engine acts as a mediator that transparently compresses data during transfer from L2 cache to off-chip memory and decompresses data during transfer back, without requiring processor intervention or affecting processor execution flow

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If platform-specific memory management is used, then control over data flow is achieved, but portability and adaptability across different systems are reduced

Engineering Contradiction:
Improveplatform independenceVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The compression API is designed with a universal interface that can be implemented across different processor platforms and memory configurations. The API provides a standardized set of functions for data compression and decompression that work consistently regardless of the underlying hardware platform, allowing the same software code to operate efficiently on various systems without modification. This universality is achieved through abstracting the compression functionality behind a platform-independent interface while allowing platform-specific optimizations in the underlying implementation

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If compression is performed during data access by processor core, then memory bandwidth utilization improves, but access latency increases

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoiddata access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system performs data compression in advance during data movement operations between memory elements, rather than compressing data when it is needed by the processor. This preliminary compression allows the compressed data to be stored and transferred efficiently, with decompression occurring only when the data reaches its destination or is needed, thus reducing the impact on processor performance while improving overall memory system efficiency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9158686B2Processing system and method including data compression API
Publication Date: 2015.10.13 ALTERA CORP
  • US9158686B2 patent drawing
  • US9158686B2 patent drawing
  • US9158686B2 patent drawing

AI summary

Memory system operations are extended for a data processor by an application programming interface API, including a set of operations and parameters for the operations, which provides for data compression and decompression during or in conjunction with processes for moving data between memory elements of the memory system. The set of operations can be configured to use the parameters and perform the operations of the API. The API can support moves between memory having a first access latency, such as memory integrated on the same chip as a processor core, and memory having a second access latency that is longer than the first access latency, such as memory on a different integrated circuit than the processor core.