Cache Synonym Management via Bit Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache memory systems face inefficiencies in managing synonyms, leading to high overhead and performance degradation due to the need for individual management of each virtual address, which complicates cache coherency and scalability.

Innovation Solution

A method for tracking and invalidating memory address synonyms in a cache memory system by using synonym generation bits to group synonyms, allowing for efficient management and minimization of overhead through a synonym table and management module that updates and invalidates synonyms as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual management of each virtual address is implemented to maintain cache coherency, then cache coherency is maintained, but overhead increases and performance degrades

Engineering Contradiction:
Improvecache coherencyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple synonym management operations into a single unified invalidation process. By grouping synonyms that share common differing bits and invalidating them together rather than individually, the system maintains cache coherency while reducing the overhead of managing each virtual address separately, thus improving performance.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If individual management of each virtual address is implemented, then cache coherency is maintained, but device complexity increases

Engineering Contradiction:
Improvecache coherencyVSAvoidmanagement complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent reduces management complexity by merging the tracking and invalidation of multiple synonyms into a single operation. The synonym management module identifies groups of synonyms with common differing bits and handles them collectively, simplifying the overall management structure while maintaining coherency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The synonym management module performs multiple functions: it tracks synonyms, identifies groups with common differing bits, and invalidates them collectively. This multi-functional approach reduces the need for separate management mechanisms for each virtual address, thereby reducing device complexity.

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

3Adaptability or versatility

If more synonyms are supported, then address space randomization flexibility increases, but overhead increases

Engineering Contradiction:
Improveaddress space randomization flexibilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent enables support for multiple synonyms while controlling overhead by merging invalidation operations. When address space randomization requires support for many synonyms, the system groups them by common differing bits and invalidates entire groups in single operations, maintaining flexibility without proportional performance degradation.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10324847B2Bits register for synonyms in a memory system
Publication Date: 2019.06.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10324847B2 patent drawing
  • US10324847B2 patent drawing
  • US10324847B2 patent drawing

AI summary

A method for tracking and invalidating memory address synonyms in a cache memory system includes receiving a request to associate a second memory address with a first memory address in a cache memory system that supports synonyms, wherein the second memory address and the first memory address each comprise a synonym identifier. The method also includes determining a set of differing bits within the synonym identifier of the first memory address and the second memory address, and including the set of differing bits within a set of synonym generation bits for the cache memory system. A corresponding apparatus, computer program product, and system are also disclosed herein.