VM Image Backup via Cache Modification Flags
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine (VM) failover methods in computer systems are inefficient due to high resource consumption, risk of disk corruption, and performance penalties from page faults and large data transfer, especially when replicating VM images across hardware failures.
Innovation Solution
A computer system with a processor unit running a hypervisor and a cache with image modification flags allows for selective logging of memory addresses of modified cache lines, reducing unnecessary data transfer by avoiding flushes from the cache and enabling efficient VM image replication without page faults, using a thread mask and thread ID to manage execution threads and identify modified cache lines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the VM memory is periodically marked as read-only to allow replication of changes to VM memory on another host, then failover robustness is improved, but a large number of page faults are generated which deteriorates system performance
Solution Approach 1:
The patent segments the memory replication process by introducing a hierarchy of dirty page tracking: L1 dirty page vectors track dirty pages at the guest page level, while L2 dirty page vectors track dirty pages at the host page level. This segmentation allows the system to identify and replicate only the necessary dirty pages without marking entire memory regions as read-only, thereby avoiding excessive page faults while maintaining failover robustness.
2Difficulty of detecting and measuring
If whole pages are replicated even if only a single bit has been changed on the page, then detection of altered portions is simplified, but data transfer volume increases which reduces overall architecture performance
Solution Approach 1:
The patent applies local quality by introducing granular dirty page tracking at multiple levels. Instead of replicating entire pages or large memory regions, the system tracks dirty status at the individual page level using L1 and L2 dirty page vectors. This allows precise identification of only the specific pages that have been modified, enabling selective replication of minimal data portions while maintaining accurate change detection.
3Loss of energy
If small page sizes are used to avoid excessive data traffic between systems, then data transfer is reduced, but the operating system performance deteriorates as the OS is unable to use large size pages
Solution Approach 1:
The patent resolves this contradiction by operating in another dimension - it maintains the ability to use large page sizes for OS operations while simultaneously enabling fine-grained dirty page tracking. The multi-level dirty page vector mechanism (L1 at guest page level, L2 at host page level) allows the system to track modifications at a granular level regardless of the underlying page size, thus enabling selective replication without being constrained by page size choices and allowing the OS to optimize with large pages.
Data Source
AI summary
A computer system comprises a processor unit arranged to run a hypervisor running one or more virtual machines; a cache connected to the processor unit and comprising a plurality of cache rows, each cache row comprising a memory address, a cache line and an image modification flag; and a memory connected to the cache and arranged to store an image of at least one virtual machine. The processor unit is arranged to define a log in the memory and the cache further comprises a cache controller arranged to set the image modification flag for a cache line modified by a virtual machine being backed up, but not for a cache line modified by the hypervisor operating in privilege mode; periodically check the image modification flags; and write only the memory address of the flagged cache rows in the defined log.


