Microcontroller for Local Page Fault Remediation in Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current unified virtual memory architectures face inefficiencies in handling page faults, particularly due to high interrupt response times and resource competition between CPUs and GPUs, leading to reduced system performance and increased execution times.

Innovation Solution

A microcontroller is integrated within the parallel processing unit (PPU) to locally manage and remedy page faults, offloading tasks from the CPU and reducing interactions between CPU and PPU, thereby enhancing fault handling latency and overall system efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the CPU handles page faults generated by the GPU through interrupts, then the page fault can be remedied, but the interrupt response time causes long stalls and reduces system efficiency

Engineering Contradiction:
Improvepage fault remediationVSAvoidfault handling latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the page fault handling function from the CPU and assigns it to a dedicated microcontroller within the GPU. This segmentation allows the CPU to focus on high-priority tasks while the microcontroller handles GPU-specific page faults, reducing interrupt response time and fault handling latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a microcontroller as an intermediary between the GPU and CPU. This intermediary handles page fault remediation locally within the GPU, acting as a mediator that resolves faults without requiring immediate CPU intervention, thereby reducing stalls and improving system efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If the CPU polls for page faults generated by the GPU, then the response time is reduced, but the CPU resources are consumed and other operations are delayed

Engineering Contradiction:
Improvefault response timeVSAvoidCPU operational efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the GPU's microcontroller to autonomously handle its own page faults without requiring CPU polling or intervention. The microcontroller independently remediates faults by managing page tables and memory mappings, allowing the CPU to maintain full productivity on other operations.

Inventive Principle:
Principle #25Self-service

3Reliability

If the CPU handles page faults with interrupt response, then page faults are remedied, but CPU resources are reduced for other operations

Engineering Contradiction:
Improvepage fault handlingVSAvoidoverall system efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments page fault handling responsibilities by assigning GPU-specific fault remediation to a dedicated microcontroller within the GPU. This segmentation ensures reliable page fault handling while preserving CPU resources for other operations, thereby maintaining high overall system efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The microcontroller serves as an intermediary that handles page fault remediation between the GPU and CPU. This intermediary ensures reliable fault handling locally within the GPU without consuming CPU resources, thus maintaining both reliability and overall system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10409730B2Microcontroller for memory management unit
Publication Date: 2019.09.10 NVIDIA CORP
  • US10409730B2 patent drawing
  • US10409730B2 patent drawing
  • US10409730B2 patent drawing

AI summary

One embodiment of the present invention includes a microcontroller coupled to a memory management unit (MMU). The MMU is coupled to a page table included in a physical memory, and the microcontroller is configured to perform one or more virtual memory operations associated with the physical memory and the page table. In operation, the microcontroller receives a page fault generated by the MMU in response to an invalid memory access via a virtual memory address. To remedy such a page fault, the microcontroller performs actions to map the virtual memory address to an appropriate location in the physical memory. By contrast, in prior-art systems, a fault handler would typically remedy the page fault. Advantageously, because the microcontroller executes these tasks locally with respect to the MMU and the physical memory, latency associated with remedying page faults may be decreased. Consequently, overall system performance may be increased.