Persistent Memory Virtualization via Extended Page Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for virtualizing storage using persistent memory within virtual machines result in performance overhead due to the need for guest OS requests to be routed through the host OS, leading to higher latencies and reduced benefits from using persistent memory as direct access storage.

Innovation Solution

Implementing a system where the host OS and virtual machine monitor collaborate to directly allocate persistent memory, using extended page tables to enable the guest OS to access physical blocks of persistent memory without involving the host OS, thereby reducing latency and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If guest OS requests are routed through host OS for persistent memory access, then storage virtualization is achieved, but access latency increases and performance deteriorates

Engineering Contradiction:
Improvestorage virtualizationVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mechanism (extended page table and mapping structure) that enables direct guest OS access to persistent memory while maintaining virtualization. The extended page table acts as a mediator that translates guest virtual addresses to host physical addresses without requiring host OS intervention for each access, thus resolving the contradiction between virtualization and low latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the memory management functions by separating persistent memory access handling from general host OS mediation. By creating dedicated mapping structures (extended page tables) for persistent memory, the system enables direct access paths for persistent memory operations while maintaining virtualization, reducing the latency caused by routing all requests through the host OS.

Inventive Principle:
Principle #1Segmentation

2Reliability

If host OS is involved in every persistent memory access, then memory management control is maintained, but device complexity and processing overhead increase

Engineering Contradiction:
Improvememory management controlVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-establishing extended page table mappings during virtual machine initialization or memory allocation. This pre-configuration enables direct guest OS access to persistent memory without requiring host OS involvement for each subsequent access, maintaining control while reducing processing overhead and complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service by allowing the guest OS to directly access and manage persistent memory through the pre-configured extended page table mappings. The guest OS can perform memory operations independently without host OS mediation, reducing processing overhead while maintaining system control through the virtualization layer's initial setup.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10802984B2Techniques for persistent memory virtualization
Publication Date: 2020.10.13 INTEL CORP
  • US10802984B2 patent drawing
  • US10802984B2 patent drawing
  • US10802984B2 patent drawing

AI summary

Examples may include techniques for persistent memory virtualization. Persistent memory maintained at one or more memory devices coupled with a host computing device may be allocated and assigned to a virtual machine (VM) hosted by the host computing device. The allocated persistent memory based on a file based virtual memory to be used by the VM. An extended page table (EPT) may be generated to map physical memory pages of the one or more memory devices to virtual logical blocks of the file based virtual memory. Elements of the VM then enumerate a presence of the assigned allocated persistent memory, create a virtual disk abstraction for the file based virtual memory and use the EPT to directly access the assigned allocated persistent memory.