Fixed-Height Page Tables for Constant-Time Fault Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Handling page faults in operating systems is computationally demanding and requires efficient methods to reduce processing time for improved performance.

Innovation Solution

Implementing a data structure of fixed height for page tables allows for constant-time lookups, eliminating the need for additional searches by using metadata to locate and load instruction data efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional data structures are used to store page tables, then the system can handle virtual memory mapping, but the lookup time for page tables increases with the number of pages

Engineering Contradiction:
Improvepage fault handling timeVSAvoiddata structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the page table data structure into multiple levels (e.g., page directory and page tables) organized in a hierarchical manner. This segmentation allows the system to break down a large, complex lookup operation into smaller, more manageable steps, where each level of the hierarchy handles a portion of the virtual address space. This reduces the time complexity of page fault handling from linear to logarithmic or constant time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the page table data structure by organizing page tables in multiple levels rather than a single flat structure. This dimensional change allows the system to navigate through the virtual address space more efficiently by using the hierarchy levels as additional dimensions for lookup, thereby reducing the time required to locate the appropriate page table entries.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If additional data structures are used to locate instruction data, then complete information can be retrieved, but the computational demand and processing time increase

Engineering Contradiction:
Improveinstruction execution speedVSAvoidcomputational energy for page fault handling
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-organizing the page table data in a hierarchical structure that is optimized for quick retrieval. The page directory and page tables are arranged in advance to enable efficient navigation based on virtual address bits. This preliminary organization eliminates the need for additional computational searches during page fault handling, as the structure itself guides the lookup process directly to the required instruction data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the essential lookup information directly from the hierarchical page table structure without requiring additional data structures. By organizing the page tables hierarchically, the system can extract the necessary page table entries and instruction data location information directly from this structure, eliminating the need for separate indexing or searching mechanisms that would increase computational energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11341058B2Handling software page faults using data from hierarchical data structures
Publication Date: 2022.05.24 VMWARE INC
  • US11341058B2 patent drawing
  • US11341058B2 patent drawing
  • US11341058B2 patent drawing

AI summary

The present disclosure relates to handling page faults in a constant time. In particular, a data structure of a fixed height is used to store the page tables, allowing for a constant look up time for a particular page. Further, a virtual address descriptor corresponding to the page is used to obtain and load the data into the corresponding instruction data into the page. The virtual address descriptor is directly accessible from the page obtained from walking the page table. This allows page faults to be handled more efficiently in constant time.