Copy Engine Page Fault Handling via Command Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional copy engines in computer processing systems face limitations in handling page faults, particularly when operating on non-pinned memory, leading to increased memory overhead and complexity in managing in-flight copy operations.

Innovation Solution

A method for handling page faults in copy engines involves storing only the necessary copy commands in memory, allowing the copy engine to execute operations with reduced memory demand and complexity, enabling it to handle faults with low overhead and flexibility by storing approximately 8 kilobytes of data instead of the entire state, which could require up to 2 gigabytes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire copy engine state is saved to memory when a page fault occurs, then the copy engine can resume operations after the fault is resolved, but the memory overhead increases significantly (80 kB to 500 kB per page fault, totaling 1-2 GB or more)

Engineering Contradiction:
Improvepage fault handling capabilityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential copy commands from the complete copy engine state for storage in memory during page faults. Instead of saving the entire engine state (which would require 80 kB to 500 kB per fault), the system selectively stores only the command buffer data (approximately 8 kilobytes), separating the critical resumption information from the full operational state.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The copy engine state is segmented into different components, with only the necessary copy commands being extracted and stored in a dedicated command buffer in system memory. This segmentation allows the system to store minimal data (8 KB) rather than the complete state, enabling efficient page fault recovery without excessive memory overhead.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire copy engine state is saved to memory, then copy operations can be resumed after page faults, but the complexity of managing and restoring the state increases

Engineering Contradiction:
Improvecopy operation continuityVSAvoidstate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential copy commands from the complete copy engine state for storage in memory during page faults. Instead of saving the entire engine state (which would require 80 kB to 500 kB per fault), the system selectively stores only the command buffer data (approximately 8 kilobytes), separating the critical resumption information from the full operational state.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates a simplified copy of just the command buffer data in system memory rather than copying the entire complex engine state. This lightweight copy (8 KB versus potentially 1-2 GB total for all engine state) contains only the essential information needed to resume copy operations, dramatically reducing both storage requirements and restoration complexity.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If copy engines operate on non-pinned memory pages, then the virtual memory system can swap and migrate memory pages flexibly, but page faults may occur during copy operations causing delays

Engineering Contradiction:
Improvememory management flexibilityVSAvoidpage fault resolution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-storing the copy commands in a dedicated buffer in system memory before page faults occur. When a page fault happens during copy operations, the commands are already prepared and readily available, eliminating the need to reconstruct or retrieve them during fault resolution, thus reducing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the copy engine monitors for page faults during operation. When a fault is detected, the engine automatically triggers the page fault handling process using the pre-stored commands, and upon resolution, automatically resumes execution from the saved point, creating a closed-loop system that minimizes interruption time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10430356B2Low overhead copy engine fault and switch mechanism
Publication Date: 2019.10.01 NVIDIA CORP
  • US10430356B2 patent drawing
  • US10430356B2 patent drawing
  • US10430356B2 patent drawing

AI summary

Embodiments of the present invention set forth techniques for resolving page faults associated with a copy engine. A copy engine within a parallel processor receives a copy operation that includes a set of copy commands. The copy engine executes a first copy command included in the set of copy commands that results in a page fault. The copy engine stores the set of copy commands to the memory. At least one advantage of the disclosed techniques is that the copy engine can perform copy operations that involve source and destination memory pages that are not pinned, leading to reduced memory demand and greater flexibility.