SATA Virtualization Coprocessor for Storage Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization systems for storage, particularly those using SCSI and Fiber Channel hardware, require software intervention and are inefficient due to increased processor utilization, and are not adaptable for SATA storage systems.
Innovation Solution
A hardware-based SATA virtualization system that uses a coprocessor to interface between guest devices and a SATA controller, performing address translation and protection without the need for backend and frontend drivers, allowing guest OSes to operate as if they have exclusive access to the SATA controller while intercepting and relaying communications for efficient resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software intervention is used for storage virtualization (para-virtualization techniques with pvSCSI drivers), then virtualization functionality is achieved, but processor utilization increases and efficiency decreases
Solution Approach 1:
The patent introduces a hardware-based virtualization layer (coprocessor with address translation and protection mechanisms) that intermediates between the guest OS and physical storage devices, eliminating the need for software-based para-virtualization drivers and reducing processor involvement in virtualization operations
Solution Approach 2:
The patent replaces the software-based virtualization mechanism (pvSCSI drivers requiring kernel modifications) with a hardware-based mechanism (coprocessor with address translation and protection), substituting mechanical/software operations with hardware-level operations that do not require processor intervention
2Productivity
If Direct I/O hardware is used for address translation and protection, then processor utilization is reduced, but the solution is limited to SCSI and FC hardware only and cannot be adapted for SATA
Solution Approach 1:
The patent creates a universal hardware virtualization solution that can work with multiple storage interface types (SCSI, FC, and SATA) by implementing a coprocessor-based address translation and protection mechanism that is not tied to any specific hardware protocol, making it adaptable across different storage technologies
3Adaptability or versatility
If SCSI front end drivers and backend drivers are used for virtualization, then virtualization is achieved, but device complexity and software requirements increase
Solution Approach 1:
The patent extracts the virtualization functionality from the software driver layer and implements it in hardware (coprocessor), removing the need for complex front end and backend drivers and simplifying the overall system architecture by consolidating virtualization functions in a dedicated hardware component
Data Source
AI summary
A hardware SATA virtualization system without the need for backend and frontend drivers and native device drivers is disclosed. A lightweight SATA virtualization handler can run on a specialized co-processor and manage requests enqueued by individual guest devices or virtual machines (VMs). The lightweight SATA virtualization handler can also perform the scheduling or queuing of the requests based on performance optimizations to reduce seek time as well as based on the priority of the requests. The specialized co-processor can communicate to an integrated SATA controller through an advanced host controller interface (“AHCI”) data structure that is built by the coprocessor and has commands from one or more VMs. Guest devices or guest operating systems can build associated AHCI data structures in memory, which may be on-chip memory or DDR memory.


