Memory Page Allocation via Dynamic Pool Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inefficient management of memory in computing environments leads to decreased system performance due to limited main memory space, where only recently used pages are maintained, and other pages are stored in auxiliary storage, causing inefficiencies in page allocation.

Innovation Solution

A computer program product that allocates memory by searching multiple memory pools in a predefined order based on requested page size, allowing larger pages to be demoted into smaller pages during memory crises and promoted back when demand decreases, optimizing memory usage across different types and sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If main memory space is limited and only recently used pages are maintained in main memory, then memory space is conserved, but system performance decreases due to increased page faults and auxiliary storage access

Engineering Contradiction:
Improvememory spaceVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments memory into multiple pools with different page sizes (small pages, medium pages, large pages) rather than using a single uniform memory structure. This allows the system to allocate appropriate page sizes based on demand, improving memory utilization and reducing page faults while maintaining limited main memory space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic page promotion and demotion between different page size pools based on usage patterns. Pages can be promoted from small to large pages when they exhibit sequential access patterns, and demoted when random access is detected. This dynamic adaptation optimizes memory usage and system performance without requiring additional memory space.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple memory pools with different page sizes are maintained, then memory allocation flexibility improves, but memory management complexity increases

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of having the allocator directly manage multiple complex pools, the patent inverts the approach by having pages automatically promote and demote between pools based on their access patterns. This reduces allocator complexity while maintaining allocation flexibility, as the system self-regulates rather than requiring complex external management.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The memory pages themselves perform the management work by tracking their own access patterns and automatically promoting or demoting themselves between different page size pools. This self-service mechanism reduces the complexity of external memory management while maintaining high allocation flexibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8799611B2Managing allocation of memory pages
Publication Date: 2014.08.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8799611B2 patent drawing
  • US8799611B2 patent drawing
  • US8799611B2 patent drawing

AI summary

Allocation of pages of memory is managed in computing environments that include multiple sized memory pools. Responsive to a request for a page of memory, one or more memory pools are searched for an available frame of memory to service the request. The search uses a predefined order of search, which includes multiple types of memory pools in a specific order based on the requested size of the page of memory.