VIPT Cache Synonym Management via Directory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for managing synonyms in VIPT caches result in burdensome data storage and cache searching operations, leading to data inconsistencies and inefficiencies due to the need for additional storage bits and time-consuming searches to invalidate all related virtual address synonyms during updates.

Innovation Solution

A directory-based methodology is introduced, where the cache lines are tracked using a directory divided into separate parts based on a specified virtual address bit, allowing for efficient updating and invalidation of cache lines corresponding to synonyms in a single clock cycle without exhaustive cache searches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional methods are used to manage synonyms in VIPT caches, then data consistency can be maintained through exhaustive cache searches, but the system suffers from burdensome data storage requirements and time-consuming search operations

Engineering Contradiction:
Improvedata consistencyVSAvoidcache search time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the synonym management process by dividing cache lines into two categories: those with synonyms and those without. A synthesis storage structure is selectively applied only to cache lines that have synonyms, while cache lines without synonyms are managed conventionally. This segmentation eliminates the need for exhaustive searches across the entire cache, reducing search time while maintaining data consistency for the relevant subset of cache lines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of synonym relationships before cache operations are needed. By pre-establishing the synthesis storage structure for cache lines with synonyms and organizing the synonym information in advance, the system avoids time-consuming searches during actual cache operations. The preliminary organization of synonym data enables rapid access and validation during cache hits and misses.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conventional methods are used to manage synonyms in VIPT caches, then all virtual address synonyms can be tracked, but additional storage bits are required for every L2 tag index and synonym identifier

Engineering Contradiction:
Improvesynonym tracking accuracyVSAvoidstorage bits
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making the storage structure adaptive to the specific characteristics of each cache line. Instead of uniformly allocating storage bits for all cache lines, the synthesis storage structure is selectively implemented only for cache lines that actually have synonyms. This local application of enhanced tracking capabilities reduces the overall storage bit requirement while maintaining accurate synonym tracking for the necessary cache lines.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the storage parameter from a fixed, uniform allocation of synonym tracking bits to a dynamic, selective allocation. The synthesis storage structure modifies how synonym information is stored by using conditional logic to determine which cache lines require synonym tracking. This parameter change from static to dynamic storage allocation reduces the quantity of storage bits needed while preserving synonym tracking accuracy for relevant entries.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If exhaustive cache searches are performed to invalidate all virtual address synonyms during updates, then data inconsistencies are prevented, but the operation becomes time-consuming and reduces system productivity

Engineering Contradiction:
Improvedata consistencyVSAvoidcache update speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the synonym identification and validation functionality from the general cache search process. By separating the synthesis storage structure from the main cache data and organizing synonym information independently, the system can validate and invalidate synonyms without performing exhaustive searches through the entire cache. This extraction of synonym management into a dedicated structure enables rapid updates while maintaining data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The synthesis storage structure acts as an intermediary between the cache control logic and the actual cache data. During update operations, this intermediary structure enables rapid identification of affected synonym cache lines without requiring direct, time-consuming searches of the entire cache. The intermediary organization of synonym information mediates between the need for data consistency and the requirement for fast update operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11314647B2Methods and systems for managing synonyms in virtually indexed physically tagged caches
Publication Date: 2022.04.26 INTEL CORP
  • US11314647B2 patent drawing
  • US11314647B2 patent drawing
  • US11314647B2 patent drawing

AI summary

Methods and systems for managing synonyms in VIPT caches are disclosed. A method includes tracking lines of a copied cache using a directory, examining a specified bit of a virtual address that is associated with a load request and determining its status and making an entry in one of a plurality of parts of the directory based on the status of the specified bit of the virtual address that is examined. The method further includes updating one of, and invalidating the other of, a cache line that is associated with the virtual address that is stored in a first index of the copied cache, and a cache line that is associated with a synonym of the virtual address that is stored at a second index of the copied cache, upon receiving a request to update a physical address associated with the virtual address.