Mapping Entry Invalidation Tracking Memory Access Completions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, premature invalidation of mapping entries in memory address translators can lead to errors due to uncompleted memory access requests, as the second memory access translator may invalidate virtual addresses before all requests have been completed.

Innovation Solution

Implementing a memory access system with a mapping entry invalidator that tracks the completion of memory access requests at the first memory address translator and delays the invalidation of corresponding entries in the second memory address translator until all requests are completed, using a counter to monitor the status of outstanding requests and issuing requests to invalidate only when all have been finished.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the second memory access translator invalidates mapping entries immediately when requested, then the system responds quickly to invalidation requests, but mapping entries may be invalidated before all in-transit memory access requests are completed, causing errors

Engineering Contradiction:
ImproveInvalidation response speedVSAvoidMapping entry validity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary tracking of in-transit memory access requests before invalidating mapping entries. The second memory access translator monitors and counts outstanding requests, ensuring all are completed before invalidation occurs, thus preventing premature invalidation errors

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the second memory access translator receives status information about in-transit requests from the first translator and adjusts invalidation timing accordingly. The counter feedback ensures invalidation only occurs when the counter reaches zero, indicating all requests are complete

Inventive Principle:
Principle #23Feedback

2Reliability

If the system tracks completion of all memory access requests before invalidation, then mapping entry validity is maintained, but the system complexity increases due to additional tracking mechanisms

Engineering Contradiction:
ImproveMapping entry validityVSAvoidTracking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The counter mechanism serves multiple functions: it tracks in-transit requests, signals when tracking is complete, and controls invalidation timing. This multi-functionality reduces the need for separate dedicated components for each function, thereby reducing overall system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The counter acts as an intermediary between the first and second memory access translators, coordinating the invalidation process without requiring complex direct communication protocols. This simple intermediary mechanism manages the complexity of coordinating between two translators

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11249918B2Mapping entry invalidation
Publication Date: 2022.02.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11249918B2 patent drawing
  • US11249918B2 patent drawing
  • US11249918B2 patent drawing

AI summary

A memory access system may include a first memory address translator, a second memory address translator and a mapping entry invalidator. The first memory address translator translates a first virtual address in a first protocol of a memory access request to a second virtual address in a second protocol and tracks memory access request completions. The second memory address translator is to translate the second virtual address to a physical address of a memory. The mapping entry invalidator requests invalidation of a first mapping entry of the first mapping address translator requests invalidation of a second mapping entry of the second memory address translator corresponding to the first mapping entry following invalidation of the first mapping entry and based upon the tracked memory access request completions.