Page Index Bitmap Cache for Cold Memory Page Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solutions for identifying and tracking cold memory pages in computer systems are inefficient in terms of storage space and processing time, consuming significant computing resources and negating performance benefits.

Innovation Solution

A page index bitmap cache is used to efficiently store the status of recently accessed memory pages, covering a large address space with fewer cache entries, and an optimized write miss policy minimizes disruptions to memory bandwidth, allowing for proactive movement of cold pages to secondary storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional page table structures are used to track cold pages, then page status can be monitored, but storage space consumption and processing time increase enormously

Engineering Contradiction:
Improvepage status tracking accuracyVSAvoidstorage space for tracking data
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent combines multiple page status bits (accessed, modified, dirty bits) into a single page table entry structure, allowing simultaneous tracking of multiple pages through bitmap arrays. This merging approach reduces the number of separate data structures needed while maintaining comprehensive page status monitoring capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The page table entry is designed to serve multiple functions: traditional address translation, cold page identification, and access pattern tracking. By integrating bitmap arrays that track multiple pages within the same PTE structure, the system achieves multi-functional operation without requiring separate tracking structures, thereby reducing overall storage consumption.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If conventional page table structures are used to track cold pages, then page status can be monitored, but processing time and computing resources increase significantly

Engineering Contradiction:
Improvepage status tracking accuracyVSAvoidprocessing time for identifying cold pages
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary tracking of page access patterns by maintaining bitmap arrays within page table entries that continuously monitor accessed and modified status. This preliminary action allows the system to pre-identify cold pages before migration decisions are made, reducing the processing time required at migration decision points by having tracking information already prepared and organized.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The page table structure itself provides the tracking functionality through integrated bitmap arrays, eliminating the need for separate tracking data structures and associated processing overhead. The PTEs serve their traditional address translation function while simultaneously providing cold page identification capabilities, making the system self-sufficient and reducing overall processing time.

Inventive Principle:
Principle #25Self-service

3Speed

If cold pages are kept in memory, then fast access is available, but valuable memory space is consumed

Engineering Contradiction:
Improvememory access speedVSAvoidavailable memory space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system dynamically identifies and migrates cold pages from main memory to secondary storage based on real-time access pattern monitoring. The bitmap arrays in page table entries continuously track accessed and modified status, enabling the system to adaptively adjust which pages reside in fast memory versus slower secondary storage, optimizing the balance between access speed and available memory space.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the physical location parameter of cold pages from main memory to secondary storage based on identified access patterns. By monitoring accessed and modified status parameters in the bitmap arrays, the system determines when pages should be migrated, effectively changing their storage location parameter to optimize the trade-off between access speed and available memory capacity.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If memory bandwidth is heavily used for tracking operations, then comprehensive page monitoring is achieved, but overall system performance deteriorates

Engineering Contradiction:
Improvepage access tracking accuracyVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent merges page status tracking operations with the existing page table walk operations. By integrating bitmap arrays within the page table entry structure, the system can track multiple pages during a single page table walk, combining monitoring operations with address translation operations. This merging approach reduces redundant memory bandwidth usage while maintaining comprehensive tracking accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3948549B1Apparatus, method, and system for collecting cold pages
Publication Date: 2024.05.08 INTEL CORP
  • EP3948549B1 patent drawingFigure 1
  • EP3948549B1 patent drawingFigure 2A
  • EP3948549B1 patent drawingFigure 2B

AI summary

An apparatus for efficiently identifying and tracking cold memory pages. The apparatus includes a memory to store memory pages, one or more processor cores to access the memory pages stored in the memory by issuing access requests to the memory; and a page index bitmap to track accesses made by the one or more processor cores to the memory pages stored in the memory. The tracked accesses are usable to identify infrequently-accessed memory pages, wherein the infrequently-accessed memory pages are removed from the memory and stored in a secondary storage.