Range-Based Address Translation for Cache Coherence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In conventional page-based memory systems, when data from a virtual address range is paged into a physical address range previously occupied by another virtual address range, the new data is broadcast through the coherence network, leading to inefficient cache flushes and increased bus traffic, as every core must be flushed of old data values, regardless of whether the data is extant in the caches or not.

Innovation Solution

A range-based address translation mechanism that allows selective coherence flush operations outside the coherence network, reducing the burden on cache tag data structures by only flushing cache lines that are extant within the cache network, and enabling out-of-coherence network devices to signal coherence state modifications only for lines that need updating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If new data is broadcast through the coherence network on a cache line granularity, then data coherence is maintained across all cores, but bus traffic increases and cache flush efficiency decreases

Engineering Contradiction:
Improvedata coherenceVSAvoidbus traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the necessary cache lines that contain extant data from the full page and broadcasts/flushes only those specific cache lines through the coherence network, rather than broadcasting all cache lines in the page. This selective approach maintains data coherence while reducing bus traffic and energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by performing cache flush operations only on the subset of cache lines that actually contain data (extant cache lines) rather than flushing all cache lines in the page. This partial approach is sufficient to maintain coherence while avoiding unnecessary bus traffic.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If cache maintenance instructions are issued for all elements within the target address range at page granularity, then coherence state is updated for all possible cached data, but the number of requests and overhead increases

Engineering Contradiction:
Improvecoherence state updateVSAvoidcache flush efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and identifies only the extant cache lines within the target address range that actually contain cached data, and issues cache maintenance instructions only for those specific cache lines. This extraction approach ensures coherence state updates are applied where needed while reducing the total number of requests and overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If every core is flushed of old data values regardless of whether data is extant in caches, then data coherence is ensured, but system performance and efficiency decrease

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts information about which cache lines actually contain extant data and uses this information to selectively flush only those cache lines from core caches, rather than flushing all cache lines from all cores. This maintains data coherence while improving system efficiency by avoiding unnecessary flush operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses tracking information about extant cache lines to automatically determine which cache lines require flushing, allowing the coherence mechanism to serve itself by making intelligent decisions about which operations are necessary, rather than blindly flushing all data.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10592424B2Range-based memory system
Publication Date: 2020.03.17 ARM LTD
  • US10592424B2 patent drawing
  • US10592424B2 patent drawing
  • US10592424B2 patent drawing

AI summary

A mechanism is provided for efficient coherence state modification of cached data stored in a range of addresses in a coherent data processing system in which data coherency is maintained across multiple caches. A tag search structure is maintained that identifies address tags and coherence states of cached data indexed by address tags. In response to a request from a device internal to or external from the coherence network, the tag search structure is searched to identify address tags of cached data for which the coherence state is to be modified and requests are issued in the data processing system to modify a coherence state of cached lines with the identified address tags. The request from the external device may specify a range of addresses for which a coherence state change is sought. The tag search structure may be implemented as search tree, for example.