Tiered Memory Page Scanning Offload for Hot-Cold Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management systems, particularly in x86 systems, inefficiently handle tiered memories by relying on CPU cores to periodically scan page tables for hot and cold memory pages, which diverts resources away from running software codes and does not scale well with larger capacity tiered memory systems.
Innovation Solution
Implementing a memory controller, such as a DMA engine, to offload the task of scanning page tables and generating memory profiles, automatically identifying hot and cold pages across tiered memories, and migrating them to optimize memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CPU cores are used to periodically scan page tables to identify hot and cold memory pages, then memory management can be performed, but CPU resources are diverted away from running software codes and performance degrades
Solution Approach 1:
The patent extracts the memory management function from the CPU by implementing a dedicated memory management unit (MMU) that independently scans page tables and identifies hot/cold memory pages. This separation allows the CPU to focus on executing software codes while the MMU handles memory management tasks, resolving the contradiction between reliable memory management and software execution performance.
Solution Approach 2:
The patent introduces an intermediary memory management unit (MMU) that acts as a mediator between the CPU and the memory system. The MMU scans page tables, generates memory profiles, and manages memory page migration without requiring CPU intervention, thus enabling reliable memory management while preventing CPU resource diversion and maintaining high software execution performance.
2Reliability
If OS paging algorithms scan the entire page table to evaluate memory pages, then memory can be managed, but the scanning process is slow and does not scale with larger capacity tiered memory systems
Solution Approach 1:
The patent segments the memory management process by implementing a dedicated MMU that independently handles page table scanning and memory profile generation. This segmentation allows the scanning operation to be performed in parallel with CPU operations, significantly improving scanning speed and enabling the system to scale with larger capacity tiered memory systems without compromising memory page evaluation reliability.
Solution Approach 2:
The patent replaces the software-based OS paging algorithm with a hardware-based MMU that performs memory management operations. This substitution of mechanical/software system with a dedicated hardware unit dramatically increases scanning speed and enables efficient handling of large capacity tiered memory systems while maintaining accurate memory page evaluation.
3Reliability
If CPU resources are allocated to memory management tasks, then memory can be managed, but fewer resources remain available for running software codes
Solution Approach 1:
The patent extracts the memory management function from the CPU resource pool and implements it in a dedicated MMU. This extraction ensures that memory management capability is maintained through the MMU's independent operation while preserving maximum CPU resources for software execution, resolving the contradiction between memory management capability and available CPU resources.
Solution Approach 2:
The patent introduces an intermediary MMU that handles memory management tasks independently of the CPU. This intermediary unit ensures reliable memory management through dedicated hardware while preventing CPU resource consumption, thus maintaining full CPU availability for running software codes.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods and apparatus offload tiered memories management. The method includes obtaining a pointer to a stored memory management structure associated with tiered memories, where the memory management structure includes a plurality of memory management entries and each memory management entry of the plurality of memory management entries includes information for a memory section in one of the tiered memories. In some instances, the method includes scanning at least a part of the plurality of memory management entries. In certain instances, the method includes generating a memory profile list, where the memory profile list includes a plurality of profile entries and each profile entry of the plurality of profile entries corresponding to a scanned memory management entry in the memory management structure.