DRAM Cache with Compressed Data and Tag Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large caches require significant tag storage, which is challenging due to the latency penalty of storing tags in DRAM, and maintaining all required address tags in on-chip SRAM is difficult or expensive, especially for storage class memory (SCM) caching, where latency is high and tag storage exceeds practical SRAM capacity.

Innovation Solution

Implementing a system where each DRAM memory module has an extra chip for storing tags and status information, allowing data and associated address tags to be accessed in a single DRAM access, and using compression techniques to store cache lines efficiently within DRAM, with overflow areas for metadata when necessary, to balance access latency with storage capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If tags are stored in DRAM with data, then storage capacity is improved, but access latency increases due to slower DRAM compared to SRAM

Engineering Contradiction:
Improvetag storage capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the cache into data storage and tag storage components, using a compression circuit to compress cache lines before storage. This segmentation allows tags to be stored efficiently in DRAM alongside data, resolving the contradiction between storage capacity and access latency by organizing storage hierarchically with compression.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies compression algorithms that change the parameter of data representation, reducing the size of cache lines and tags. By transforming data into a compressed format, the system can store more tags in DRAM without proportionally increasing access time, as the compression overhead is managed through efficient algorithms.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If compression is applied to cache lines, then storage efficiency is improved, but access time increases due to decompression overhead

Engineering Contradiction:
Improvecache line storage efficiencyVSAvoiddecompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs compression in advance when cache lines are written to DRAM, so that during read operations, the compressed data is already in storage and only needs decompression. This preliminary compression action reduces the overall time penalty by preparing data in an optimized state before access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a compression circuit as an intermediary component between the cache controller and DRAM storage. This intermediary handles the compression and decompression operations, isolating the time overhead from the main data access path and enabling efficient storage without directly impacting critical access timing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9996471B2Cache with compressed data and tag
Publication Date: 2018.06.12 ARM LTD
  • US9996471B2 patent drawing
  • US9996471B2 patent drawing
  • US9996471B2 patent drawing

AI summary

Cache line data and metadata are compressed and stored in first and, optionally, second memory regions, the metadata including an address tag When the compressed data fit entirely within a primary block in the first memory region, both data and metadata are retrieved in a single memory access. Otherwise, overflow data is stored in an overflow block in the second memory region. The first and second memory regions may be located in the same row of a DRAM, for example, or in different regions of a DRAM and may be configured to enable standard DRAM components to be used. Compression and decompression logic circuits may be included in a memory controller.