I/O Device Page Fault Notification and Swap Time Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current I/O devices face inefficiencies in handling page faults due to the lack of advance notification and estimation of page swap times, leading to unnecessary delays and resource mismanagement in virtual memory operations.

Innovation Solution

Implementing a method where I/O devices receive notifications and estimates of page swap times from the host computer, allowing them to select and manage data transfer modes based on the expected availability of pages, such as buffering or stalling operations, to optimize data transfer operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If I/O devices wait for page faults to be resolved before proceeding with data transfer operations, then data integrity is maintained, but system productivity decreases due to unnecessary delays

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The host computer performs preliminary actions by proactively notifying I/O devices about upcoming page swaps and providing estimated completion times before the actual page fault occurs. This allows I/O devices to advance their operation schedules rather than passively waiting, resolving the contradiction between maintaining data integrity and preserving system throughput.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If I/O devices stall operations until pages are swapped back into memory, then correct data transfer is ensured, but loss of time increases due to waiting

Engineering Contradiction:
Improvedata transfer accuracyVSAvoidpage fault handling delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The host computer provides feedback to I/O devices about the status of virtual memory pages, including notifications when pages will be swapped and estimated times for completion. This feedback mechanism enables I/O devices to adjust their operations dynamically, avoiding unnecessary stalls while ensuring data transfer accuracy is maintained.

Inventive Principle:
Principle #23Feedback

3Reliability

If I/O devices buffer data locally during page swaps, then data loss is prevented, but device complexity increases due to additional buffering requirements

Engineering Contradiction:
Improvedata loss preventionVSAvoidbuffering infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

I/O devices serve themselves by using the swap notifications and time estimates from the host to autonomously manage their own operation scheduling. Rather than requiring complex buffering infrastructure, devices can simply advance or delay operations based on the host-provided information, preventing data loss while maintaining simpler device architecture.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9632901B2Page resolution status reporting
Publication Date: 2017.04.25 MELLANOX TECHNOLOGIES LTD(IL)
  • US9632901B2 patent drawing
  • US9632901B2 patent drawing
  • US9632901B2 patent drawing

AI summary

A method for data transfer includes receiving in a data transfer operation data to be written by a peripheral device to a specified virtual address in a random access memory (RAM) of a host computer. Upon receiving the data, it is detected that a page that contains the specified virtual address is marked as not present in a page table of the host computer. The peripheral device receives a notification that the page is not present and an estimate of a length of time that will be required to make the page available and selects a mode for handling of the data transfer operation depending upon the estimate.