Hypervisor Cache Agent for Virtual Machine Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization acceleration systems are inefficient as they are not designed at the hypervisor level, leading to bottlenecks in storage performance due to rotational and seek latencies in hard disk drives, and lack of synergy in managing diverse workload patterns across multiple virtual machines.

Innovation Solution

Implementing a non-volatile memory-based cache architecture within the hypervisor environment, utilizing a cache agent to intercept commands, a solid-state drive with a non-volatile memory storage device, and a memory device driver to provide a cache primitives API, enabling efficient caching and migration of virtual machines while maintaining cache coherence across host server systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hard disk drives are used for storage in virtualized environments, then capacity and cost-effectiveness are improved, but storage performance deteriorates due to rotational and seek latencies

Engineering Contradiction:
Improvestorage capacityVSAvoidstorage performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The storage system is segmented into two distinct layers: a high-speed non-volatile memory cache layer and a high-capacity magnetic disk storage layer. The cache layer handles performance-critical operations while the disk layer provides bulk storage capacity, allowing each layer to optimize for its specific function without compromise

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A non-volatile memory device serves as an intermediary cache between the virtual machines and the magnetic disk drives. This intermediary layer absorbs the performance differences between fast VM operations and slow disk operations, eliminating rotational and seek latencies from the critical path while maintaining capacity benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If conventional disk-level acceleration systems are implemented, then storage performance is improved, but virtualization awareness and coordination deteriorate

Engineering Contradiction:
Improvestorage performanceVSAvoidvirtualization awareness
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The cache management system is designed to serve multiple virtual machines simultaneously with a single unified cache layer. It provides universal acceleration services to diverse workloads, coordinating cache operations across multiple VMs and disk controllers to maximize overall system efficiency rather than optimizing individual components in isolation

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If non-volatile memory-based storage is used, then storage performance is improved, but cost and data retention capability worsen

Engineering Contradiction:
Improvestorage performanceVSAvoidcost-effectiveness
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Different storage media with different quality characteristics are assigned to different functional requirements. Non-volatile memory provides high-speed local caching for performance-critical data, while magnetic disks provide high-capacity storage for bulk data retention, allowing each technology to operate in its optimal performance range

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9141529B2Methods and apparatus for providing acceleration of virtual machines in virtual environments
Publication Date: 2015.09.22 KIOXIA CORP
  • US9141529B2 patent drawing
  • US9141529B2 patent drawing
  • US9141529B2 patent drawing

AI summary

A host server computer system that includes a hypervisor within a virtual space architecture running at least one virtualization, acceleration and management server and at least one virtual machine, at least one virtual disk that is read from and written to by the virtual machine, a cache agent residing in the virtual machine, wherein the cache agent intercepts read or write commands made by the virtual machine to the virtual disk, and a solid state drive. The solid state drive includes a non-volatile memory storage device, a cache device and a memory device driver providing a cache primitives application programming interface to the cache agent and a control interface to the virtualization, acceleration and management server.