Dirty Bit Granularity in Virtualized Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, the inefficiency of memory management processes such as backup and migration is compromised due to the lack of granularity in dirty bit information, leading to unnecessary transfer of entire memory pages even for small modifications, which affects performance and bandwidth usage.

Innovation Solution

Allocating unused bits in the guest physical address range for aliasing allows multiple page table entries to map to a common memory page, providing finer granularity for dirty bit information, enabling sub-page level tracking and efficient transfer of only modified sections during backup and migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If dirty bit information is tracked at the page level, then memory management is simplified, but the granularity is insufficient leading to unnecessary transfer of entire memory pages

Engineering Contradiction:
Improvegranularity of dirty bit informationVSAvoidmemory management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the dirty bit tracking granularity from the page level down to sub-page sections. By dividing a memory page into multiple sections (e.g., 4 sections of 1KB each in a 4KB page), the system can track dirty status independently for each section. This segmentation allows precise identification of only the modified portions within a page, enabling transfer of minimal data during backup and migration operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If entire memory pages are transferred during backup and migration, then data integrity is ensured, but bandwidth consumption increases and performance decreases

Engineering Contradiction:
Improvedata integrityVSAvoidbackup and migration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the dirty sections from a memory page for transfer, rather than moving the entire page. By utilizing the section-level dirty bits, the system identifies and extracts merely the modified portions (e.g., transferring 1KB instead of 4KB). This extraction approach maintains data integrity for the modified portions while significantly reducing the volume of data transmitted during backup and migration operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of substance

If section-level dirty tracking is implemented, then data transfer volume is reduced, but the memory management structure becomes more complex

Engineering Contradiction:
Improvedata transfer volumeVSAvoidpage table structure complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent implements a nested hierarchical structure where section-level dirty bit information is embedded within the existing page table framework. Each page table entry contains both page-level and section-level dirty bits, creating a nested information structure. This nesting allows the system to maintain the standard page table organization while incorporating finer-grained tracking capabilities, thereby reducing data transfer volume without fundamentally redesigning the memory management architecture.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11093407B2Increasing granularity of dirty bit information in hardware assisted memory management systems
Publication Date: 2021.08.17 VMWARE INC
  • US11093407B2 patent drawing
  • US11093407B2 patent drawing
  • US11093407B2 patent drawing

AI summary

In a computer system having virtual machines, one or more unused bits of a guest physical address range are allocated for aliasing so that multiple virtually addressed sub-pages can be mapped to a common memory page. When one bit is allocated for aliasing, dirty bit information can be provided at a granularity that is one-half of a memory page. When M bits are allocated for aliasing, dirty bit information can be provided at a granularity that is 1/(2M)-th of a memory page.