Address Translation Invalidation Epochs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems face inefficiencies in handling invalidation of translation information, particularly due to the costly process of checking in-progress translation transactions against invalidation transactions, which can lead to high processing overhead and latency.

Innovation Solution

The implementation of an opportunistic invalidation technique using an invalidation processor that assigns epochs to transactions, allowing for early forwarding of invalidation transactions once measures ensure no memory access transactions are affected, thereby reducing the need for extensive checking and minimizing processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system checks all in-progress translation transactions against invalidation transactions, then reliability of invalidation is improved, but processing overhead and latency increase

Engineering Contradiction:
Improveinvalidation reliabilityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by assigning epoch identifiers to translation transactions before they complete, and by providing invalidation transactions with epoch information in advance. This allows the system to pre-establish the validation framework without performing complete checks on all in-progress transactions, reducing processing latency while maintaining invalidation reliability through epoch-based validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts the essential validation information (epoch identifiers) from the complete transaction validation process. Instead of checking all details of in-progress translation transactions against invalidation transactions, the system only needs to extract and compare epoch identifiers, significantly reducing the checking overhead while maintaining the core validation function.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If the system performs extensive checking of translation transactions against invalidation transactions, then accuracy of invalidation processing is improved, but processing overhead increases

Engineering Contradiction:
Improveinvalidation processing accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system changes the validation parameter from comprehensive transaction checking to simple epoch identifier comparison. By transforming the validation criterion into a single parameter (epoch identifier) that can be easily assigned and compared, the system maintains high accuracy in invalidation processing while significantly reducing processing overhead and complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The invention uses epoch identifiers as simplified copies or representations of the full translation transaction validation state. Instead of maintaining and checking complete transaction information, the system uses these compact epoch copies to validate transactions, reducing processing complexity while preserving the essential validation functionality.

Inventive Principle:
Principle #26Copying

3Reliability

If the system waits for all translation transactions to complete before forwarding invalidation transactions, then correctness of invalidation is improved, but productivity decreases

Engineering Contradiction:
Improveinvalidation correctnessVSAvoidinvalidation forwarding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary validation by assigning epoch identifiers to translation transactions before they complete. This preliminary action enables the invalidation system to forward invalidation transactions earlier, based on epoch comparison, without waiting for all translation transactions to complete, thus improving productivity while maintaining correctness through the pre-established epoch validation framework.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The epoch identifier system provides continuous feedback about the validation status of translation transactions. This feedback mechanism allows the system to make informed decisions about when to forward invalidation transactions, balancing correctness and productivity by using epoch information to determine appropriate forwarding timing without requiring complete transaction completion.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11288207B2Apparatus and method for processing address translation and invalidation transactions
Publication Date: 2022.03.29 ARM LTD
  • US11288207B2 patent drawing
  • US11288207B2 patent drawing
  • US11288207B2 patent drawing

AI summary

Apparatus comprises address translation circuitry configured to access translation data defining a set of memory address translations; transaction handling circuitry to receive translation transactions and to receive invalidation transactions, each translation transaction defining one or more input memory addresses in an input memory address space to be translated to respective output memory addresses in an output memory address space, in which the transaction handling circuitry is configured to control the address translation circuitry to provide the output memory address as a translation response; in which each invalidation transaction defines at least a partial invalidation of the translation data; transaction tracking circuitry to associate an invalidation epoch, of a set of at least two invalidation epochs, with each translation transaction and with each invalidation transaction; and invalidation circuitry to store data defining a given invalidation transaction and, for translation transactions having the same invalidation epoch as the given invalidation transaction and handled by the address translation circuitry subsequent to the invalidation circuitry storing the data defining the given invalidation transaction, to process those translation transactions to indicate that a translation transaction is invalidated when the invalidation defined by the given invalidation transaction applies to that translation transaction; the invalidation circuitry being configured to forward at least an acknowledgement of the invalidation transaction for further processing by other apparatus in response to storage of the data by the invalidation circuitry.