Read-with-overridable-invalidate transaction for cache coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in cache management due to the lack of a mechanism to optionally invalidate data, leading to suboptimal cache usage and performance, especially in scenarios where data is unlikely to be reused.

Innovation Solution

The introduction of a 'read-with-overridable-invalidate' transaction that allows a requesting master device to signal the potential invalidation of target data from a cache, with the interconnect and cache having the discretion to override this hint based on coherency protocols and access patterns, thereby managing cache entries more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a read transaction triggers invalidation of target data from cache, then cache coherency is maintained, but cache usage efficiency deteriorates due to unnecessary evictions

Engineering Contradiction:
Improvecache coherencyVSAvoidcache usage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a new transaction type (read-with-overridable-invalidate) that changes the parameter of invalidation from mandatory to optional. This allows the system to dynamically adjust the invalidation behavior based on whether the data is likely to be reused, thereby maintaining coherency when necessary while avoiding unnecessary evictions when not required.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the invalidation process dynamic by allowing the cache to override the invalidation request under certain conditions. Instead of a static mandatory invalidation, the system now adapts its behavior based on runtime conditions such as data reuse likelihood, improving cache efficiency while maintaining coherency guarantees when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If cache data is invalidated to ensure coherency, then data consistency is maintained, but write traffic increases due to repeated cache misses

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

Solution Approach 1:

By changing the invalidation parameter from mandatory to optional, the system can avoid unnecessary cache evictions that would otherwise cause cache misses and subsequent write traffic to memory. This reduces energy loss while maintaining data consistency through selective invalidation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent converts the potential harm of premature invalidation into a benefit by allowing the cache to override invalidation requests when data is likely to be reused. This transforms what would be a harmful eviction into a beneficial retention, reducing write traffic while maintaining consistency.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If mandatory invalidation is used upon read, then cache coherency is ensured, but cache allocation efficiency deteriorates

Engineering Contradiction:
Improvecache coherencyVSAvoidcache allocation efficiency
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the invalidation parameter to be overridable, allowing the cache allocation process to consider data reuse patterns. This improves cache allocation efficiency by retaining useful data while still ensuring coherency when required, without adding significant complexity to the allocation mechanism.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10282297B2Read-with overridable-invalidate transaction
Publication Date: 2019.05.07 ARM LTD
  • US10282297B2 patent drawing
  • US10282297B2 patent drawing
  • US10282297B2 patent drawing

AI summary

A system comprises a number of master devices and an interconnect for managing coherency between the master devices. In response to a read-with-overridable-invalidate transaction received by the interconnect from a requesting master device requesting that target data associated with a target address is provided to the requesting master device, when target data associated with the target address is stored by a cache, the interconnect issues a snoop request to said cache triggering invalidation of the target data from the cache except when the interconnect or cache determines to override the invalidation and retain the target data in the cache. This enables greater efficiency in cache usage since data which the requesting master considers is unlikely to be needed again can be invalidated from caches located outside the master device itself.