VM Storage Isolation via Multi-Circular Queues and LBA Offsets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine environments, shared storage devices can lead to data overlap and overwrite issues due to the lack of effective isolation mechanisms, particularly when multiple virtual machines access the same logical block addresses without distinct identifiers.
Innovation Solution
The implementation of a system with a hypervisor and storage host controller utilizing multi-circular queues (MCQs) and logical block address (LBA) offsets to isolate data storage regions for each virtual machine, ensuring that each virtual machine accesses a unique portion of the storage device through distinct identifiers such as initiator IDs, logical unit numbers (LUNs), or tag numbers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple virtual machines access the same storage device without isolation mechanisms, then resource utilization is improved, but data integrity deteriorates due to data overlap and overwrite issues
Solution Approach 1:
The patent divides the storage device into multiple isolated data regions, with each virtual machine assigned to a specific region. The storage host controller maintains separate multi-circular queues for each virtual machine, ensuring that data operations are segmented and isolated by virtual machine identifier, thus preventing data overlap while maintaining high resource utilization
Solution Approach 2:
The storage host controller acts as an intermediary between virtual machines and the storage device. It intercepts I/O requests, identifies the source virtual machine using identifiers such as initiator ID or LUN, and routes requests to the appropriate isolated data region. This mediator mechanism ensures data integrity while enabling multiple VMs to share the same physical storage device
2Reliability
If separate storage devices are allocated to each virtual machine, then data isolation is improved, but resource utilization deteriorates due to duplicate storage resources
Solution Approach 1:
The patent merges multiple virtual machine storage operations into a single shared physical storage device. By implementing virtualization at the storage controller level with separate logical data regions and multi-circular queues for each VM, the system combines the benefits of dedicated storage isolation with the efficiency of shared physical resources, eliminating the need for separate physical devices per VM
3Device complexity
If shared storage access is implemented without identifiers, then system complexity is reduced, but measurement precision deteriorates due to inability to track and isolate virtual machine operations
Solution Approach 1:
The patent assigns unique identifiers (initiator ID, LUN, or tag numbers) to each virtual machine's I/O operations locally at the storage host controller. These identifiers are embedded in the command queues and used to track and isolate operations for each VM. This local quality approach enables precise operation tracking without significantly increasing overall system complexity, as the identification mechanism is integrated into the existing queue structure
Data Source
AI summary
A system includes a host, a storage host controller, and a storage device. The host includes a hypervisor for running a first virtual machine and a second virtual machine. The storage host controller includes a plurality of first multi-circular queues (MCQs) assigned to the first virtual machine and a plurality of second MCQs assigned to the second virtual machine. The plurality of first MCQs assigned to the first virtual machine is used to control operations of the first virtual machine. The plurality of second MCQs assigned to the second virtual machine is used to control operations of the second virtual machine. The storage device has a first portion linked to the first virtual machine for being accessed by the first virtual machine, and a second portion linked to the second virtual machine for being accessed by the second virtual machine wherein the first portion and the second portion are isolated.


