Zero-Copy Block Virtualization for NVMe Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Prior data storage virtualization techniques, based on older hardware technologies like magnetic hard disk drives and slow NAND solid state drives, are inadequate for newer, faster storage devices, leading to performance limitations and increased latency in virtualized processing environments.
Innovation Solution
The implementation of zero-copy block virtualization—mediated passthrough (ZCBV-MPT) and zero-copy block virtualization—paravirtualization I/O (ZCBV-PVIO) techniques, which allow direct memory access (DMA) operations between NVMe memory and guest memory, eliminating the need for data copies on the VMM backend and optimizing data access performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If prior storage I/O virtualization solutions are used, then virtualization functionality is provided, but performance is limited and latency increases due to outdated hardware technology bases
Solution Approach 1:
The patent changes the hardware technology parameters by transitioning from legacy storage virtualization architectures designed for magnetic HDDs and slow NAND SSDs to new architectures optimized for NVMe devices. This involves updating the virtualization layer to support NVMe-specific features like queues, namespaces, and direct memory access, thereby resolving the performance and latency limitations imposed by outdated hardware bases
Solution Approach 2:
The patent replaces the mechanical copying and data movement operations characteristic of legacy storage virtualization with NVMe's optimized data paths and zero-copy techniques. The new system substitutes traditional block-based I/O mechanisms with NVMe's command set and queue management, eliminating unnecessary data copies and reducing CPU intervention, thus improving productivity while reducing latency
2Speed
If traditional storage virtualization methods are employed, then data access is enabled, but data transfer speed is constrained by legacy hardware capabilities
Solution Approach 1:
The patent segments the virtualization architecture into distinct functional layers: an NVMe-specific virtualization layer that handles high-speed data paths, a traditional virtualization layer for legacy compatibility, and a presentation layer for VMs. This segmentation allows the system to route data through optimized NVMe paths for speed-critical operations while maintaining support for legacy devices, thereby increasing data transfer speed without overwhelming complexity
Solution Approach 2:
The patent creates a universal virtualization architecture that can handle multiple types of storage devices (NVMe, SSDs, HDDs) through a unified interface. The system provides multi-functionality by supporting both legacy storage virtualization requirements and new NVMe-optimized paths, allowing data transfer speed improvements without requiring complete architectural replacement, thus balancing speed gains with manageable complexity
Data Source
AI summary
A disclosed example includes accessing, by a backend block service driver in an input/output virtual machine executing on one or more processors, a first command submitted to a buffer by a paravirtualized input/output frontend block driver executing in a guest virtual machine; generating, by the backend block service driver, a translated command based on the first command by translating a virtual parameter of the first command to a physical parameter associated with a physical resource; submitting, by the backend block service driver, the translated command to an input/output queue to be processed by the physical resource based on the physical parameter; and submitting, by the backend block service driver, a completion status entry to the buffer, the completion status entry indicative of completion of a direct memory access operation that copies data between the physical resource and a guest memory buffer corresponding to the guest virtual machine.


