Memory Management Circuitry Stall Fault Deadlock Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing circuitry systems face deadlocks due to stall faults during memory address translation, which prevents general-purpose operating systems like Linux from enabling stall faulting, and the separate enablement of ATS and PRI features limits their combined usage.

Innovation Solution

The proposed circuitry includes a transaction interface, translation circuitry, and control circuitry that handle data handling transactions by initiating handling based on address mappings and providing fault responses, and selectively reissues transactions upon successful memory region requests, allowing for the management of translation faults without deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If stall faulting is enabled in memory management unit, then translation faults can be handled by software, but deadlock occurs in some scenarios

Engineering Contradiction:
Improvefault handling capabilityVSAvoiddeadlock
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a new message type (memory region request message) as an intermediary between the upstream device and downstream device. This intermediary message type enables coordination and communication about memory region availability, allowing the system to resolve translation faults without stalling, thereby avoiding deadlock while maintaining software-controlled fault handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by having the upstream device send memory region requests before initiating data handling transactions. The downstream device processes these requests in advance and notifies the upstream device when memory regions become available. This preliminary notification mechanism allows transactions to proceed without stall faults, preventing deadlock while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If ATS and PRI facilities are used for address translation, then translation faults can be resolved, but the features cannot be enabled simultaneously

Engineering Contradiction:
Improveaddress translation fault resolutionVSAvoidfeature combination flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal message passing mechanism that can handle both ATS and PRI functionality through a single unified interface. The memory region request and response messages serve multiple purposes: they enable address translation fault resolution (PRI function) while also supporting pre-fetching and buffering of address translations (ATS function). This multi-functional approach allows both features to operate simultaneously through the same message passing infrastructure.

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

Data Source

PatentUS11204879B2Memory management circuitry managing data transactions and address translations between an upstream device and a downstream device
Publication Date: 2021.12.21 ARM LTD
  • US11204879B2 patent drawing
  • US11204879B2 patent drawing
  • US11204879B2 patent drawing

AI summary

Circuitry comprises a transaction interface to receive a data handling transaction from an upstream device, the data handling transaction defining a target virtual memory address in a virtual memory address space; translation circuitry to access a set of address mappings between virtual memory addresses and physical memory addresses in a physical memory address space; the translation circuitry being configured to initiate handling of the data handling transaction by a downstream device according to a target physical memory address mapped from the target virtual memory address when the set of address mappings includes an address mapping for the target virtual memory address, and to provide a transaction response to the transaction interface indicating a fault condition when the set of address mappings fails to provide an address mapping for the target virtual memory address; and control circuitry to receive a memory region request from the upstream device, requesting that a memory region in the virtual memory address space including the target virtual memory address be made available, to initiate handling of the memory region request and to provide a response to the upstream device in dependence upon the handling of the memory region request.