Cache Memory Controller Compression Off-Chip Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, particularly multicore processor systems, data transfer bottlenecks occur between on-chip and off-chip memory components, limiting system performance due to the bandwidth constraints and platform-specific memory management, which hinders efficient data flow management.

Innovation Solution

A cache memory controller that compresses data for writes to off-chip memory and decompresses data upon read, utilizing an encoder and decoder respectively, with configuration modules in the accelerator driver software to manage compression and decompression independently of user applications and operating systems, thereby optimizing memory bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between on-chip cache and off-chip DRAM without compression, then data transfer speed is maintained at original rate, but memory bandwidth is insufficient and transfer time increases

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

Solution Approach 1:

The patent changes the data representation parameters by applying compression algorithms to reduce the number of bits used to represent data during transfer between cache and DRAM. This transforms the data from uncompressed to compressed format, effectively increasing the data transfer efficiency and reducing the time required for memory operations.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If compression is applied to data before writing to memory, then data size is reduced and memory bandwidth usage is optimized, but additional processing time is required for compression and decompression operations

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The compression operation is performed as a preliminary action before data is written to memory. The encoder compresses the data in advance, and the decompressor automatically decompresses it when data is read from memory. This preliminary compression reduces the data size stored in memory and optimizes bandwidth usage without requiring manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compression and decompression operations are automatically handled by the memory controller without requiring application-level intervention. The system self-manages the compression process by detecting when data needs to be transferred, automatically compressing it before write operations, and decompressing it during read operations, thus serving itself without external processing overhead.

Inventive Principle:
Principle #25Self-service

3Productivity

If platform-specific memory management is used, then memory control is optimized for specific hardware, but adaptability to different memory configurations is reduced and system portability is limited

Engineering Contradiction:
Improvememory access performanceVSAvoidmemory configuration flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal memory management approach where the compression and decompression mechanisms can be applied across different memory configurations and platforms. The memory controller integrates compression functionality that works with various memory types and architectures, making the system adaptable to different hardware configurations while maintaining optimized memory access performance.

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

Data Source

PatentUS9274951B2Cache memory controller for accelerated data transfer
Publication Date: 2016.03.01 ALTERA CORP
  • US9274951B2 patent drawing
  • US9274951B2 patent drawing
  • US9274951B2 patent drawing

AI summary

A cache memory controller in a computer system, such as a multicore processing system, provides compression for writes to memory, such as an off-chip memory, and decompression after reads from memory. Application accelerator processors in the system generate application data and requests to read/write the data from/to memory. The cache memory controller uses information relating location parameters of buffers allocated for application data and sets parameters to configure compression and decompression operations. The cache memory controller monitors memory addresses specified in read requests and write requests from/to the first memory. The requested memory address is compared to the location parameters for the allocated buffers to select the set of parameters for the particular application data. Compression or decompression is applied to the application data in accordance with the selected set of parameters. The data size of the data transferred to/from memory is reduced.