Page Fault Handling via Predefined Bit Patterns in Page Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems lack efficient and process-specific handling of page faults, which are common events indicating the need for increased virtual memory, as they often rely on generic operating system handling mechanisms.

Innovation Solution

A data processing apparatus and method that utilize a processor with a page fault handler to detect predefined bit patterns in the page table, allowing for thread-specific page fault operations, including termination, scheduling, and prioritization, and enabling rapid processing by storing indicators in processor registers, such as the Exception Syndrome Register.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If generic operating system handling mechanisms are used for page faults, then system simplicity is maintained, but page fault handling efficiency and process-specific optimization are reduced

Engineering Contradiction:
Improvepage fault handling efficiencyVSAvoidpage fault handling mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments page fault handling into multiple categories by using different bit patterns in page table entries. Each bit pattern corresponds to a specific page fault operation, allowing the system to differentiate between various types of page faults (e.g., soft page faults, hard page faults, process-specific faults) and handle them appropriately, thereby improving handling efficiency without requiring a completely new generic mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making page fault handling process-specific and thread-specific through the use of bit patterns in page table entries. Different processes or threads can have different bit patterns assigned to their page table entries, enabling customized handling strategies for different workloads or priority levels, thus optimizing performance for specific local conditions rather than using a uniform approach.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If predefined bit patterns are used in page tables for process-specific handling, then page fault handling flexibility is improved, but page table structure complexity increases

Engineering Contradiction:
Improvepage fault handling adaptabilityVSAvoidpage table structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses preliminary action by pre-defining bit patterns in page table entries before page faults occur. These bit patterns are set in advance to indicate the desired page fault operation, so when a page fault occurs, the system can immediately recognize the predefined pattern and execute the corresponding operation without needing to analyze the fault context, thereby improving adaptability while keeping the mechanism straightforward.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes parameters by utilizing specific bits or bit combinations in page table entries as indicators for different page fault operations. By modifying the state of these bits (e.g., setting bit 0 to 1 for a soft page fault, or using different bit combinations for different operations), the system encodes multiple handling instructions within the existing page table structure, enhancing versatility without fundamentally altering the page table architecture.

Inventive Principle:
Principle #35Parameter changes

3Speed

If rapid processing by storing indicators in processor registers is implemented, then page fault processing speed is improved, but processor register usage complexity increases

Engineering Contradiction:
Improvepage fault processing speedVSAvoidprocessor register management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the page fault operation indicator from the page table and stores it directly in a processor register when a page fault occurs. This extraction allows the page fault handler to immediately access the required operation information from the register without needing to re-examine the page table or perform additional lookups, significantly speeding up processing while isolating the complexity to a single register storage operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The processor register acts as an intermediary between the page table and the page fault handler. Instead of the handler directly parsing page table entries or the handler being tightly coupled with page table structures, the register serves as a buffer that holds the essential operation indicator, simplifying the interaction and enabling rapid processing by decoupling the components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10970227B2Data processing apparatus for handling page fault using predefind bit patterns and a method thereof
Publication Date: 2021.04.06 HUAWEI TECH CO LTD
  • US10970227B2 patent drawing
  • US10970227B2 patent drawing
  • US10970227B2 patent drawing

AI summary

A data processing apparatus is provided, comprising a processor configured to execute a process, in particular with at least one thread, a memory management unit component configured to access a page table, and a page fault handler configured to handle page faults by triggering a page fault in response to detecting one of a plurality of predefined bit patterns in the page table, and by assigning a different page fault operation for the process, in particular with the at least one thread, to each of the plurality of predefined bit patterns.