Virtual Flash Memory Device Allocation for VMs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization platforms do not provide a mechanism to automatically allocate and surface host-side flash storage devices to virtual machines (VMs), preventing VMs from leveraging the low latency characteristics of these devices and failing to optimize flash storage capacity allocation among VMs in response to changing conditions.
Innovation Solution
A method where the host system creates flash storage space allocations in locally attached flash storage devices and surfaces them as virtual flash memory devices to VMs, dynamically managing allocations to ensure only active VMs consume storage capacity, with options to treat the storage as non-volatile or volatile memory, optimizing capacity usage across multiple VMs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If host-side flash storage devices are used to provide low latency storage, then read/write latency is reduced and bandwidth is increased, but existing virtualization platforms cannot automatically allocate and surface these devices to VMs
Solution Approach 1:
The virtualization platform automatically performs flash storage allocation and surfacing without manual intervention. The system self-manages the complex tasks of partitioning flash storage, creating virtual flash memory devices, and dynamically allocating them to VMs based on workload requirements, eliminating the need for manual configuration while maintaining low latency performance
Solution Approach 2:
The patent introduces a virtual flash memory device as an intermediary layer between the physical host-side flash storage device and the VMs. This virtual device abstracts the complex flash storage management tasks from the VMs while preserving the low latency characteristics, allowing VMs to access flash storage performance without needing to know or manage the underlying physical storage allocation
2Adaptability or versatility
If flash storage capacity is allocated to multiple VMs, then storage versatility is improved, but optimization of allocations in response to changing conditions cannot be achieved
Solution Approach 1:
The patent implements dynamic flash storage allocation where the virtualization platform continuously monitors VM workload conditions and automatically adjusts flash storage allocations in real-time. When VMs experience changing conditions such as increased I/O demands or workload type changes, the system dynamically re-allocates flash storage capacity to optimize performance, ensuring that flash storage resources are always allocated to the VMs that need them most
Solution Approach 2:
The system incorporates feedback mechanisms where the virtualization platform monitors the performance and workload characteristics of VMs accessing flash storage. Based on this feedback information, the system automatically adjusts allocation decisions, freeing flash storage capacity from inactive or low-priority VMs and reallocating it to active or high-priority VMs, thereby continuously optimizing storage utilization in response to changing conditions
3Reliability
If flash storage is surfaced to inactive VMs, then storage capacity is reserved, but storage efficiency deteriorates due to wasted capacity
Solution Approach 1:
The patent implements a mechanism where flash storage capacity allocated to inactive or suspended VMs is automatically freed and recovered for use by other active VMs. When a VM is suspended, migrated, or shuts down, the system detects this state change and promptly re-allocates the previously reserved flash storage capacity to other VMs that need storage resources, ensuring that flash storage resources are continuously utilized efficiently without being wasted on inactive VMs
Solution Approach 2:
The system performs periodic checks on VM states and flash storage allocations to identify and reclaim capacity from inactive VMs. This periodic monitoring and re-allocation ensures that flash storage resources are periodically optimized, maintaining high storage efficiency while still providing reliable capacity availability when VMs become active again
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.