Virtual Cache Synonym Detection via Alias Tags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, processes with the same virtual and real addresses but different context tags cannot concurrently access shared data in a virtual cache, leading to performance losses due to cache misses, as the virtual cache design restricts a single physical cache line to exist in only one location, preventing simultaneous access by processes with mismatched context tags.

Innovation Solution

Implementing an alias tag system in the virtual cache directory, in addition to the virtual address and context tag, allows processes with the same virtual address and real address but different context tags to access shared data concurrently by overriding the differing context tags, enabling the virtual cache to hit if they have access to the same alias tag.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the virtual cache uses context tag to distinguish different processes, then process isolation is improved, but concurrent access to shared data by processes with same virtual address but different context tags deteriorates

Engineering Contradiction:
Improveprocess isolationVSAvoidconcurrent access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the cache tag into two independent parts: context tag (for process isolation) and alias tag (for shared data identification). This segmentation allows the cache to simultaneously maintain process isolation through context tag matching while enabling concurrent access to shared data through alias tag matching, resolving the contradiction between reliability and productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The alias tag acts as an intermediary mechanism that mediates between the context tag system (which enforces process isolation) and the need for shared data access. When processes with different context tags need to access the same shared data, the alias tag provides a common identifier that allows both processes to access the cache line concurrently while maintaining the context tag-based isolation for non-shared data

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the virtual cache allows only one process to access a cache line at a time, then data consistency is improved, but cache utilization deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidcache utilization
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements a dynamic access control mechanism where the cache system adaptively determines which processes can access each cache line based on alias tag matching. The system dynamically allows multiple processes to access the same cache line simultaneously when they share the same alias tag, while maintaining exclusive access for cache lines without matching alias tags, thus optimizing both data consistency and cache utilization under different conditions

Inventive Principle:
Principle #15Dynamics

3Reliability

If the virtual cache checks context tag for every access, then security is improved, but access speed deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary action by pre-establishing alias tags for shared data during cache line allocation or first access. This preliminary tagging allows subsequent accesses to quickly determine shared status without extensive context tag verification, as the alias tag serves as a pre-computed indicator of shared data membership, reducing the overhead of security checks while maintaining security

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11650926B2Virtual cache synonym detection using alias tags
Publication Date: 2023.05.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11650926B2 patent drawing
  • US11650926B2 patent drawing
  • US11650926B2 patent drawing

AI summary

A system and method of handling data access demands in a processor virtual cache that includes: determining if a virtual cache data access demand missed because of a difference in the context tag of the data access demand and a corresponding entry in the virtual cache with the same virtual address as the data access demand; in response to the virtual cache missing, determining whether the alias tag valid bit is set in the corresponding entry of the virtual cache; in response to the alias tag valid bit not being set, determining whether the virtual cache data access demand is a synonym of the corresponding entry in the virtual cache; and in response to the virtual access demand being a synonym of the corresponding entry in the virtual cache with the same virtual address but a different context tag, updating information in a tagged entry in an alias table.