Conditional Page Fault Control via No-Fault Bit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in distinguishing between non-resident pages that cause page faults and those that do not, leading to inefficient handling of memory accesses and potential data loss during writes to non-resident pages.

Innovation Solution

The introduction of a 'no fault' bit (NF bit) and the use of a dummy page filled with default values allow for the differentiation between resident and non-resident pages, enabling the system to return default values for reads and discontinue writes to non-resident pages without causing page faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system uses traditional page fault handling for non-resident pages, then page faults are generated for all non-resident page accesses, but this causes inefficiency and potential data loss during writes to non-resident pages

Engineering Contradiction:
Improvedata integrityVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the handling of non-resident pages by introducing a special bit in the page table entry that distinguishes between non-resident pages that should generate faults and those that should not. This segmentation allows differentiated treatment: reads return default values without faults, while writes are blocked, preventing data loss. The segmentation resolves the contradiction by allowing efficient read access to non-resident pages while maintaining data integrity through write blocking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a special bit flag in the page table entry that mediates between the MMU and the page fault handler. This intermediary allows the system to distinguish non-resident pages that should not cause faults from traditional non-resident pages. The intermediary enables the MMU to identify these special non-resident pages and handle them differently, returning default values for reads without generating page faults, thus improving memory access efficiency while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system distinguishes between different types of non-resident pages using additional indicators, then handling precision improves, but system complexity increases

Engineering Contradiction:
Improvepage status identification accuracyVSAvoidmemory management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by adding a specific bit property to page table entries that identifies non-resident pages which should not generate faults. This local modification to the page table structure allows precise identification of special non-resident pages without fundamentally changing the entire memory management system. The local quality approach enables accurate page status identification while minimizing overall system complexity by only modifying specific page table entry properties rather than the entire memory management architecture.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9489313B2Conditional page fault control for page residency
Publication Date: 2016.11.08 QUALCOMM INC
  • US9489313B2 patent drawing
  • US9489313B2 patent drawing
  • US9489313B2 patent drawing

AI summary

The present disclosure provides for systems and methods to process a non-resident page that may include attempting to access the non-resident page, an address for the non-resident page pointing to a memory page containing default values, determining that the non-resident page should not cause a page fault based on an indicator indicating that a particular non-resident page should not generate a page fault, returning an indication that a memory read did not translate and returning the default value when the access of the non-resident page is a read and the non-resident page should not cause a page fault. Another example may discontinue a write when the access of the non-resident page is a write and the non-resident page should not cause a page fault.