Cache Address Alias Resolution Using an Address Maintenance List

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The issue of Cache address aliasing occurs when the sum of bits of the Cache Index and Cache block offset exceeds the number of bits of the page offset, leading to different virtual addresses mapping to the same physical address, causing wasted space and information reading errors due to inconsistent data in the Cache.

Innovation Solution

A method and apparatus utilizing an address maintenance list to determine and resolve Cache address alias by identifying a target item corresponding to a virtual address, setting information in a second virtual address to be invalid, and writing back the accessed information, maintaining consistency between virtual and physical addresses using a small and efficient data structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If virtual address is used as Cache index, then Cache access speed is improved, but address aliasing occurs causing Cache space waste and information reading errors

Engineering Contradiction:
ImproveCache access speedVSAvoidaddress consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces an address maintenance list as an intermediary structure between the virtual address and Cache. This list tracks address alias relationships and enables the system to detect and resolve aliasing conflicts while maintaining virtual address indexing, thus preserving both access speed and address consistency

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-establishing the address maintenance list that records potential alias relationships before they cause errors. When an access occurs, the system checks this pre-prepared information to quickly identify and resolve aliasing issues, preventing information reading errors before they happen

Inventive Principle:
Principle #10Preliminary action

2Reliability

If address alias is resolved by software solutions, then address consistency is maintained, but processing efficiency decreases

Engineering Contradiction:
Improveaddress consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based address alias resolution with a hardware-based solution. The address maintenance list and its management logic are implemented in hardware, allowing the system to maintain address consistency through hardware-level operations that are significantly faster than software solutions, thus improving processing efficiency while preserving reliability

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If L2 Cache inclusion is used to solve address alias, then address consistency is improved, but Cache space utilization decreases

Engineering Contradiction:
Improveaddress consistencyVSAvoidCache space utilization
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent extracts the address alias management function from the L2 Cache structure. Instead of using L2 Cache inclusion to solve aliasing, the system separates this function into a dedicated address maintenance list, allowing L2 Cache to be used for its primary purpose of storing data, thus improving Cache space utilization while maintaining address consistency through the specialized alias management structure

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP4227814B1Method and apparatus for solving address ambiguity problem of cache
Publication Date: 2026.04.22 BEIJING VCORE TECH CO LTD
  • EP4227814B1 patent drawingFigure 1~2
  • EP4227814B1 patent drawingFigure 3
  • EP4227814B1 patent drawingFigure 4

AI summary

A method for solving a Cache address alias and an apparatus for solving a Cache address alias are provided. The method includes determining a corresponding first virtual address based on a received access instruction; querying an address maintenance list to determine a target item corresponding to the first virtual address when an access based on the first virtual address is not hit, information recorded in the target item including a target Tag, a target address alias bit, and a target Cache; determining a second virtual address based on the first virtual address and the target item, and setting information in the second virtual address to be invalid, in which the second virtual address and the first virtual address are mapped to the same physical address; and acquiring information corresponding to the access instruction and writing it back to the first virtual address.