Virtual Memory Page Replacement Using Segmented Lists

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual memory systems face inefficiencies in page replacement, particularly when managing inactive and read ahead pages, as they often require extensive searching and do not prioritize inactive pages over read ahead pages, leading to suboptimal performance.

Innovation Solution

Maintaining separate lists for active, inactive, and read ahead pages allows for prioritizing inactive pages over read ahead pages during replacement, minimizing search requirements by using linked lists and heuristic routines to efficiently identify replacement candidates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate lists for active, inactive, and read ahead pages are maintained, then page replacement efficiency is improved by prioritizing inactive pages, but device complexity increases due to multiple list management structures

Engineering Contradiction:
Improvepage replacement efficiencyVSAvoidlist management structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the page management system into three separate linked lists: an active list for currently used pages, an inactive list for pages that were previously active but are no longer needed, and a read-ahead list for pages pre-loaded from persistent storage. This segmentation allows the system to independently manage and prioritize different page categories, enabling efficient selection of replacement candidates from the inactive list without interfering with active or read-ahead pages.

Inventive Principle:
Principle #1Segmentation

2Reliability

If extensive searching is performed to identify replacement pages, then page replacement accuracy is improved, but loss of time increases due to search overhead

Engineering Contradiction:
Improvepage replacement accuracyVSAvoidsearch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining the inactive list in advance, where pages are moved to this list as they become inactive. This pre-organization ensures that when a replacement page is needed, the system can immediately select from the pre-sorted inactive list without performing extensive searches at the moment of replacement, thus reducing search time while maintaining replacement accuracy.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If read ahead pages are prioritized for replacement, then memory utilization is improved, but productivity decreases due to repeated page faults

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

Solution Approach 1:

The patent applies local quality by assigning different priorities to different regions (lists) of the page management system. The inactive list is given highest priority for replacement, followed by the read-ahead list, and finally the active list. This localized priority assignment ensures that read-ahead pages are protected from premature replacement while still allowing efficient utilization of inactive pages, thereby maintaining both memory utilization and system performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8356141B2Identifying replacement memory pages from three page record lists
Publication Date: 2013.01.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8356141B2 patent drawing
  • US8356141B2 patent drawing
  • US8356141B2 patent drawing

AI summary

A replacement memory page is identified by accessing a first list of page records, and if the first list is not empty, identifying a replacement page from a next page record indicator of the first list. A second list of page records is accessed if the first list is empty, and if the second list is not empty, the replacement page is identified from a next page record indicator of the second list. A third list of page records is accessed if the first and second lists are empty, and the replacement page is identified from a next page record indicator of the third list.