Virtualizing NVDIMM Flush Hint Addresses for Minimal Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine (VM) implementations face inefficiencies in performing write pending queue (WPQ) flushing across heterogeneous host systems with varying NVDIMM platforms, as some NVDIMM variants do not support WPQ flushing, leading to unnecessary overhead and context switches during power failures or system crashes.

Innovation Solution

A hypervisor dynamically allocates and manages virtual flush hint addresses, enabling or disabling write protection based on the NVDIMM's WPQ flushing capabilities, allowing efficient propagation of WPQ flush commands to physical NVDIMMs, thereby minimizing overhead and ensuring data persistence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write protection is always enabled for virtual FHA mappings to ensure WPQ flushing, then data persistence is guaranteed, but performance overhead increases due to unnecessary context switches on systems without WPQ flushing support

Engineering Contradiction:
Improvedata persistenceVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic configuration of write protection status for virtual FHA mappings based on the host system's NVDIMM capabilities. The hypervisor detects whether the physical NVDIMM supports WPQ flushing and accordingly enables or disables write protection on the corresponding virtual FHA mappings. This dynamic approach ensures data persistence when needed while avoiding unnecessary context switches when WPQ flushing is not supported, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the hypervisor traps all writes to virtual FHA to propagate flush commands, then data integrity is maintained across heterogeneous platforms, but context switch overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidcontext switch overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies different handling strategies for virtual FHA mappings based on the local characteristics of the host system's NVDIMM platform. For systems with WPQ flushing support, write protection is enabled to trap and propagate flush commands, ensuring data integrity. For systems without WPQ flushing support, write protection is disabled to avoid unnecessary context switches. This localized adaptation to platform capabilities resolves the contradiction between data integrity and time loss.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If virtual FHA mappings are configured for all VMs, then compatibility with WPQ flushing is ensured, but system complexity increases due to heterogeneous platform support

Engineering Contradiction:
ImprovecompatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the configuration parameter of virtual FHA mappings (specifically the write protection status) based on the detected NVDIMM capabilities of the host system. By dynamically adjusting this parameter, the system maintains compatibility with WPQ flushing on supported platforms while simplifying the configuration on platforms that do not support it, thus reducing overall system complexity while preserving adaptability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10592425B2Virtualizing NVDIMM WPQ flushing with minimal overhead
Publication Date: 2020.03.17 VMWARE INC
  • US10592425B2 patent drawing
  • US10592425B2 patent drawing
  • US10592425B2 patent drawing

AI summary

Techniques for virtualizing NVDIMM WPQ flushing with minimal overhead are provided. In one set of embodiments, a hypervisor of a computer system can allocate a virtual flush hint address (FHA) for a virtual machine (VM), where the virtual flush hint address is associated with one or more physical FHAs corresponding to one or more physical memory controllers of the computer system. The hypervisor can further determine whether one or more physical NVDIMMs of the computer system support WPQ flushing. If so, the hypervisor can write protect a guest physical address (GPA) to host physical address (HPA) mapping for the virtual FHA in the page tables of the computer system, thereby enabling the hypervisor to trap VM writes to the virtual FHA and propagate those write to the physical FHAs of the system.