VM Change Block Tracking via Hypervisor Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Incremental backups of virtual machines (VMs) are resource-intensive due to the need for cyclic redundancy checks (CRC) on each sector of the virtual hard disk, leading to performance penalties despite reducing memory consumption.

Innovation Solution

An information management system that includes a driver module intercepting write operations to create a block change bitmap file, allowing only changed sectors to be read during backups, reducing the number of read operations on the virtual hard disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CRC checks are performed on each sector to determine changed data for incremental backups, then data change detection accuracy is improved, but processor usage and latency increase significantly

Engineering Contradiction:
Improvedata change detection accuracyVSAvoidbackup processing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary action by maintaining a change block bitmap that is updated continuously during normal VM operations. This bitmap records which blocks have changed since the last backup, so when backup time arrives, the system only needs to read blocks marked in the bitmap rather than checking all blocks with CRC. This preliminary tracking eliminates the need for exhaustive CRC checks during backup operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The change block bitmap serves as an intermediary data structure between the VM's write operations and the backup process. Instead of directly performing CRC checks on all sectors, the system uses the bitmap as a mediator to identify only the sectors that have changed, thereby reducing processor usage during backup while maintaining accurate change detection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire virtual hard disk is accessed to determine changed sectors for incremental backup, then complete data change detection is achieved, but read operations and processor usage increase

Engineering Contradiction:
Improvedata change detection completenessVSAvoidprocessor usage during backup
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system segments the virtual hard disk into individual blocks and maintains a bitmap structure where each bit corresponds to a block's change status. This segmentation allows the backup system to focus only on specific blocks marked as changed in the bitmap, rather than scanning the entire disk. The bitmap itself is a compact representation that uses minimal space while providing complete information about block changes.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If incremental backups are implemented to reduce memory consumption, then storage requirements are reduced, but the VM suffers performance penalty due to resource intensive operations

Engineering Contradiction:
Improvememory consumption for backupsVSAvoidVM performance during backup
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system implements self-service by having the VM's own write operations automatically update the change block bitmap. When the VM writes data to a block, the driver intercepts this write operation and sets the corresponding bit in the bitmap without requiring separate tracking operations. This self-updating mechanism eliminates the need for additional monitoring processes and minimizes overhead on the VM.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240402916A1Virtual machine change block tracking
Publication Date: 2024.12.05 COMMVAULT SYSTEMS INC
  • US20240402916A1 patent drawing
  • US20240402916A1 patent drawing
  • US20240402916A1 patent drawing

AI summary

According to certain aspects, a system includes a client device that includes a virtual machine (VM) executed by a hypervisor, a driver located within the hypervisor, and a data agent. The VM may include a virtual hard disk file and a change block bitmap file. According to some embodiments the driver intercepts write operations generated by the VM to store data in a sector, determines an identity of the sector based on the intercepted write operation, determines an entry in the change block file that corresponds with the first sector, and modifies the entry in the change block file to indicate that data in that sector has changed. The data agent may generate an incremental backup of the VM based on the change block file in response to an instruction from a storage manager, where the incremental backup includes the data in the sector where data was modified.