SATA Virtualization Coprocessor for Storage Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvevirtualization functionalityVSAvoidprocessor utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improveprocessor utilizationVSAvoidhardware compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvevirtualization capabilityVSAvoiddriver complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9424205B2System and method for SATA virtualization and domain protection
Publication Date: 2016.08.23 MACOM CONNECTIVITY SOLUTIONS LLC
  • US9424205B2 patent drawing
  • US9424205B2 patent drawing
  • US9424205B2 patent drawing

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.