Multi-Level Page Data Structure Sub-Page Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computer systems increasingly utilize large amounts of memory, the management of memory pages becomes inefficient due to the growing size of page entry data structures, which can lead to increased memory usage and access times.

Innovation Solution

The implementation of a method that allows memory pages to be split into sub-pages, with page entries stored within the sub-pages themselves, enabling efficient allocation and access by determining page frame numbers and offsets based on virtual memory addresses, thereby optimizing memory usage and access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the amount of memory in a computer system increases, then the memory capacity is improved, but the size of page entry data structures increases

Engineering Contradiction:
Improvememory capacityVSAvoidpage entry data structure size
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides a memory page into multiple sub-pages (e.g., 4KB sub-pages within a 2MB page). Each sub-page is independently managed with its own page frame number and offset calculations, allowing the system to handle large memory capacities while maintaining manageable page entry structures through hierarchical segmentation.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the number of pages utilized by the kernel increases, then the memory management coverage is improved, but the size of page entry data structures increases

Engineering Contradiction:
Improvenumber of pagesVSAvoidpage entry data structure size
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a hierarchical dimension to page management by organizing memory into pages containing multiple sub-pages. This multi-level structure allows the kernel to manage a large number of pages efficiently by operating at the page level for coarse-grained management while using sub-page level details only when necessary, reducing the overall page entry data structure footprint.

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

3Adaptability or versatility

If memory pages are split into sub-pages, then memory allocation flexibility is improved, but access time may increase due to additional calculations

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidmemory access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores the page frame number and offset relationships in the page entry data structures during page creation and sub-page splitting operations. When memory access is required, the system retrieves these pre-computed values directly without performing complex calculations at access time, thus maintaining fast access speeds while benefiting from flexible sub-page allocation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10162525B2Translating access requests for a multi-level page data structure
Publication Date: 2018.12.25 RED HAT ISRAEL
  • US10162525B2 patent drawing
  • US10162525B2 patent drawing
  • US10162525B2 patent drawing

AI summary

Methods, systems, and computer program products for receiving a memory access request, the memory access request including a virtual memory address; locating a page entry in a page entry structure, the page entry corresponding to the virtual memory address; identifying that a page corresponding to the page entry includes a sub-page, the sub-page included within a subset of a memory space allocated to the page; determining a page frame number corresponding to the sub-page and an offset corresponding to the sub-page; and accessing the offset within the sub-page.