Cache Memory Tag Storage Segmentation for Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache memory systems face inefficiencies in balancing data storage granularity and tag value storage overhead, particularly in managing shared and individual-tag data values, which affects access speed and energy consumption.

Innovation Solution

The implementation of a cache memory system with a plurality of blocks of bit storage circuits and control circuitry that allows for selectable modes: one for shared-tag data values and another for individual-tag data values, utilizing a tag memory to store a discriminator value indicative of individual tags, facilitating efficient access and storage through a two-stage lookup process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If individual tags are stored for each data value to improve tag identification precision, then measurement precision is improved, but device complexity increases due to additional tag storage overhead

Engineering Contradiction:
Improvetag identification precisionVSAvoidtag storage overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The cache block is divided into multiple data values, and the tag storage is segmented into a shared tag portion and individual tag portions. Each data value within a cache block shares the common tag portion, while only requiring minimal individual identification bits, thereby reducing overall tag storage overhead while maintaining precise identification capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple data values within a cache block share a common tag structure. The shared tag portion contains the common identification information for all data values in the block, merging the tag storage requirements and eliminating redundant tag copies, thus reducing storage overhead while preserving individual data value identifiability.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If larger cache blocks are used to reduce tag overhead, then device complexity is reduced, but productivity decreases due to reduced storage granularity flexibility

Engineering Contradiction:
Improvetag storage overheadVSAvoidstorage granularity flexibility
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache system dynamically selects between different operational modes: a first mode for processing cache blocks with shared tags (reducing tag overhead) and a second mode for cache blocks requiring individual tags (maintaining storage granularity flexibility). This dynamic mode selection allows the system to adapt to different access patterns and data characteristics, optimizing both complexity and productivity based on runtime conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the tag storage parameter based on the cache block configuration and access patterns. By switching between shared-tag and individual-tag modes, the effective tag storage parameter is adjusted dynamically, allowing the system to optimize the balance between tag overhead reduction and storage granularity flexibility according to specific operational requirements.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If shared tags are used for multiple data values to reduce storage overhead, then device complexity is reduced, but measurement precision decreases in distinguishing individual data values

Engineering Contradiction:
Improvetag storage overheadVSAvoiddata value distinction precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The tag structure is segmented into a shared common portion and a minimal individual portion. The shared portion contains the common tag information that identifies the cache block, while the individual portion contains sufficient bits to distinguish between multiple data values within that block. This segmentation reduces overall tag storage compared to full individual tags while maintaining the precision needed to identify specific data values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a dimensional aspect to tag storage by organizing tags hierarchically: first dimension is the shared tag portion that identifies the cache block, and the second dimension is the individual tag portion that identifies the specific data value within the block. This two-dimensional tag structure allows efficient distinction of individual data values with reduced storage overhead compared to flat individual tag storage.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10423534B2Cache memory
Publication Date: 2019.09.24 ARM LTD
  • US10423534B2 patent drawing
  • US10423534B2 patent drawing
  • US10423534B2 patent drawing

AI summary

A cache memory, such as a translation lookaside buffer cache 16, includes a plurality of blocks of bit storage circuits 26 which can operate in either a first mode to store a plurality of shared-tagged data values having a shared tag, which his stored in a tag memory 24, or in a second mode to store a plurality of individual-tag data values and respective individual tags. The tag entries within the tag memory comprise the shared tag value for a given block operating in the first mode and a composite value for a given block operating in the second mode. The composite value includes a discriminator value indicative of the respective individual tags, such as a hash value or a Bloom filter value calculated in dependence upon the individual tags, using which potential matches with the individual tags may be identified from the discriminator value.