Peripheral Storage Virtualization for Non-Volatile Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization techniques do not optimally leverage the faster access capabilities of non-volatile storage devices, such as solid state drives, and require modifications to host systems to accommodate improved interface specifications like NVMe, which can be costly and disruptive.
Innovation Solution
Implementing storage virtualization at a peripheral device that provides a common interface for virtual machines to access non-volatile storage devices, using techniques like SR-IOV and NVMe, allowing for transparent encryption and throttling, and enabling independent updates without modifying the host system's virtualization techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If host systems are modified to accommodate improved interface specifications like NVMe, then storage access speed is improved, but system complexity and cost increase
Solution Approach 1:
A peripheral device is introduced as an intermediary between the host system and non-volatile storage devices. The peripheral device implements the NVMe interface specification and handles high-speed storage operations, while the host system continues to use traditional virtualization techniques through a virtual interface. This mediator approach allows the host to access fast storage without directly implementing complex NVMe protocols.
Solution Approach 2:
The system is segmented into three distinct layers: the host system with traditional virtualization, the peripheral device with NVMe interface implementation, and the non-volatile storage devices. This segmentation allows each component to operate at its optimal level without requiring modifications to the host system's virtualization architecture.
2Adaptability or versatility
If peripheral devices are added to expand computing resources, then functionality is improved, but device complexity increases
Solution Approach 1:
The peripheral device is designed with multi-functionality, implementing both the NVMe interface for high-speed storage access and a virtual interface for traditional virtualization compatibility. This universal design allows a single peripheral device to provide both legacy support and advanced storage capabilities, reducing the need for multiple specialized devices.
3Productivity
If virtualization techniques are updated to leverage non-volatile storage capabilities, then storage performance is improved, but compatibility with existing systems deteriorates
Solution Approach 1:
Instead of updating virtualization techniques in the host system to access non-volatile storage directly, the approach is inverted: the peripheral device implements the NVMe interface and handles high-performance storage operations, while presenting a traditional virtual interface to the host. This inversion allows existing virtualization techniques to remain compatible while still achieving improved storage performance.
Data Source
AI summary
A peripheral device may implement storage virtualization for non-volatile storage devices connected to the peripheral device. A host system connected to the peripheral device may host one or multiple virtual machines. The peripheral device may implement different virtual interfaces for the virtual machines or the host system that present a storage partition at a non-volatile storage device to the virtual machine or host system for storage. Access requests from the virtual machines or host system are directed to the respective virtual interface at the peripheral device. The peripheral device may perform data encryption or decryption, or may perform throttling of access requests. The peripheral device may generate and send physical access requests to perform the access requests received via the virtual interfaces to the non-volatile storage devices. Completion of the access requests may be indicated to the virtual machines via the virtual interfaces.


