Memory Management Circuitry for In-Progress Operation Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in managing in-progress operations during virtual memory address invalidations, which can lead to complex deadlock situations and increased system complexity due to unpredictable latency in handling invalidation instructions.

Innovation Solution

The implementation of memory management circuitry with a first cache for page table mappings and a second cache for virtual addresses, allowing for selective ordering of in-progress operations based on which module initiated them and whether they provide results to the caches, ensuring deterministic latency and atomicity of operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If in-progress operations are allowed to complete before address invalidation, then system reliability is improved, but latency becomes unpredictable and system complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by initiating invalidation operations before allowing in-progress operations to complete. The memory management circuitry receives invalidation instructions and begins the invalidation process while tracking in-progress operations, ensuring that invalidation is handled within a predetermined number of cycles rather than waiting for operations to naturally complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by tracking the status of in-progress operations and using this information to determine ordering. The memory management circuitry monitors whether operations provide results to caches and uses this feedback to selectively order operations, ensuring deterministic latency while maintaining system reliability.

Inventive Principle:
Principle #23Feedback

2Loss of time

If in-progress operations are selectively ordered based on module initiation and cache results, then deterministic latency is achieved, but device complexity increases

Engineering Contradiction:
Improvedeterministic latencyVSAvoidmemory management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system segments the memory management function into distinct components: a first cache for page table mappings and a second cache for virtual addresses. This segmentation allows independent management of different operation types and enables selective ordering based on which module initiated operations and whether they provide results to specific caches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic operation ordering where the position of in-progress operations is determined at runtime based on which module initiated them and whether they provide results to caches. This dynamic approach allows deterministic latency without requiring a fixed, complex ordering structure.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If backpressure techniques are used to manage invalidation, then system stability is improved, but productivity decreases

Engineering Contradiction:
Improvesystem stabilityVSAvoidforward progress
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system extracts the invalidation handling logic from the general operation flow and implements it as a separate, dedicated process in the memory management circuitry. This extraction allows invalidation instructions to be handled deterministically within a predetermined number of cycles without requiring backpressure techniques that would slow down overall system productivity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10339054B2Instruction ordering for in-progress operations
Publication Date: 2019.07.02 MARVELL ASIA PTE LTD
  • US10339054B2 patent drawing
  • US10339054B2 patent drawing
  • US10339054B2 patent drawing

AI summary

Execution of the memory instructions is managed using memory management circuitry including a first cache that stores a plurality of the mappings in the page table, and a second cache that stores entries based on virtual addresses. The memory management circuitry executes operations from the one or more modules, including, in response to a first operation that invalidates at least a first virtual address, selectively ordering each of a plurality of in progress operations that were in progress when the first operation was received by the memory management circuitry, wherein a position in the ordering of a particular in progress operation depends on either or both of: (1) which of one or more modules initiated the particular in progress operation, or (2) whether or not the particular in progress operation provides results to the first cache or second cache.