Virtual Machine Disk Cache Management for Selective Dirty Memory Flushes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, periodic dirty memory flush events cause significant latency and overhead due to frequent transitions between virtual and host modes, leading to I/O storms and increased demand on persistent memory resources, which can result in data loss, out-of-memory faults, and data inconsistency.

Innovation Solution

A hypervisor manages dirty memory by assigning persistence settings to virtual machines, selectively disabling periodic write-back operations for non-persistent VMs to reduce overhead and risk, while ensuring data integrity for persistent VMs through targeted flush operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If periodic dirty memory flush operations are triggered for all virtual machines, then data integrity is maintained, but system latency increases and computing overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating flush operation policies based on individual VM persistence settings. Persistent VMs receive periodic flush operations to ensure data integrity, while non-persistent VMs are excluded from these operations to reduce latency. This localized differentiation resolves the contradiction by applying data protection only where necessary rather than universally.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the virtual machine population into persistent and non-persistent categories based on persistence settings. This segmentation allows the system to apply different flush policies to different segments, maintaining data integrity for persistent VMs while avoiding unnecessary flush operations for non-persistent VMs, thereby reducing overall system latency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If periodic dirty memory flush operations are triggered for all virtual machines, then data loss is prevented, but computing overhead increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidcomputing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local quality by applying flush operations selectively based on VM persistence characteristics. Only persistent VMs undergo periodic flush operations to prevent data loss, while non-persistent VMs are excluded. This targeted approach prevents data loss for critical VMs while minimizing computing overhead by avoiding unnecessary flush operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent applies partial action by performing flush operations on only a subset of VMs (those with persistent settings) rather than all VMs. This partial application of the flush operation is sufficient to prevent data loss for persistent VMs while significantly reducing the computing overhead associated with flushing all VMs.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If dirty memory is stored in non-persistent memory to reduce I/O operations, then I/O overhead is reduced, but risk of data loss increases

Engineering Contradiction:
ImproveI/O operationsVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by differentiating memory persistence requirements based on VM settings. For persistent VMs, dirty memory is flushed to persistent storage to prevent data loss. For non-persistent VMs, dirty memory remains in non-persistent memory without flush operations, accepting the data loss risk in exchange for reduced I/O overhead. This resolves the contradiction by matching memory persistence to VM requirements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the persistence parameter of dirty memory based on the VM's persistence setting. Persistent VMs have their dirty memory treated with higher persistence (flushed to disk), while non-persistent VMs have their dirty memory treated with lower persistence (remain in RAM). This parameter change allows the system to optimize I/O performance while maintaining appropriate data protection levels.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If frequent flush operations are performed to ensure data consistency, then data consistency is maintained, but system performance decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies local quality by performing flush operations only for persistent VMs where data consistency is critical. Non-persistent VMs are excluded from flush operations, allowing the system to maintain data consistency for important data while preserving overall system performance by avoiding unnecessary flush operations for transient data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12367058B2Efficient disk cache management for virtual machines
Publication Date: 2025.07.22 RED HAT LLC
  • US12367058B2 patent drawing
  • US12367058B2 patent drawing
  • US12367058B2 patent drawing

AI summary

An example system includes a memory, a processor in communication with the memory, and a hypervisor. The hypervisor is configured to store, as dirty memory, data from a virtual machine (VM) at least until the data is written back into a data storage. The hypervisor is also configured to assign a persistence setting for managing write back of the dirty memory of the VM into the data storage. The hypervisor is also configured to periodically trigger writing at least a portion of the dirty memory of the VM into the data storage based on the persistence setting being a first setting. The hypervisor is also configured to disable periodic triggering, by the hypervisor, of the writing of the dirty memory of the VM into the data storage based on the persistence setting being a second setting.