Memory Page Allocation via Dynamic Pool Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If multiple memory pools with different page sizes are maintained, then memory allocation flexibility improves, but memory management complexity increases
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.
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.
Data Source
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.


