Guest FTL for Virtual Machine SSD Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional host systems with flash translation layers (FTL) do not allow virtual machines to exclusively operate memory blocks of solid state drives (SSDs), limiting direct access and security for virtual machine operations.
Innovation Solution
Implementing a guest FTL instance on a virtual machine and a host FTL driver on the host operating system to convert logical block addresses to physical addresses, enabling direct access and secure operations on SSDs by translating requests into hardware commands executable by the SSD.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the FTL is implemented on the host system, then the host system can manage the SSD, but virtual machines cannot exclusively operate memory blocks of the SSD
Solution Approach 1:
The FTL functionality is segmented into two parts: a guest FTL driver running within the virtual machine and a host FTL driver running on the host system. The guest FTL driver handles virtual machine-specific address translation and access control, while the host FTL driver manages overall SSD control. This segmentation allows virtual machines to exclusively operate their designated memory blocks while maintaining data security through hierarchical management.
Solution Approach 2:
The guest FTL driver acts as an intermediary between the virtual machine and the host FTL driver. It receives access requests from the virtual machine, translates logical block addresses to physical addresses, and forwards them to the host FTL driver. This intermediary layer enables direct virtual machine access to SSD memory blocks while maintaining security through address translation and access control mechanisms.
2Productivity
If virtual machines can directly access SSD physical addresses, then performance improves, but access control and security become more complex
Solution Approach 1:
The guest FTL driver performs preliminary address translation by converting logical block addresses to physical addresses before requests reach the host system. It also pre-establishes access control rules for each virtual machine's designated memory blocks. This preliminary action enables direct high-performance access while simplifying host-side control, as the complex address translation and access control are handled in advance by the guest FTL driver.
3Reliability
If the host system manages all SSD operations, then centralized control is maintained, but virtual machine isolation and exclusive operation are limited
Solution Approach 1:
Each virtual machine is assigned a specific guest FTL driver instance with local control over its designated SSD memory blocks. The guest FTL driver provides localized address translation and access control tailored to each virtual machine's needs. This local quality approach maintains virtual machine isolation while enabling direct operation, as each virtual machine manages its own access to assigned memory blocks through its dedicated guest FTL driver.
Data Source
AI summary
Embodiments of the disclosure provide systems and methods accessing a storage device of a host machine. The method can include: receiving, via a first guest flash translation layer (FTL) instance, a first request for accessing the storage device from a first virtual machine running on a host machine, wherein the first request comprises a first physical address of the storage device; transmitting, via the first FTL instance, the first request to a host FTL driver; converting, via the host FTL driver, the first request into a first hardware command; transmitting, via the host FTL driver, the first hardware command to the storage device; and executing, via the solid state drive, the first hardware command.


