DOMAIN PROTECTION AND VIRTUALIZATION FOR SATA
First Claim
1. A system, comprising:
- a memory configured for storing a data structure associated with a guest device;
a coprocessor, communicably coupled to the memory, configured for interfacing between the guest device and a SATA controller; and
a bus fabric configured for redirecting a SATA controller access from the guest device to a corresponding address in the data structure, wherein the coprocessor is further configured for performing an address translation for the access and forwarding the translated access via the bus fabric to the SATA controller.
3 Assignments
0 Petitions
Accused Products
Abstract
Various aspects provide for a hardware SATA virtualization system without the need for backend and frontend drivers and native device drivers. A lightweight SATA virtualization handler can run on a specialized co-processor and manage requests enqueued by individual VMs. The lightweight SATA virtualization handler can also perform the scheduling 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 system processor and has commands from one or more VMs.
-
Citations
20 Claims
-
1. A system, comprising:
-
a memory configured for storing a data structure associated with a guest device; a coprocessor, communicably coupled to the memory, configured for interfacing between the guest device and a SATA controller; and a bus fabric configured for redirecting a SATA controller access from the guest device to a corresponding address in the data structure, wherein the coprocessor is further configured for performing an address translation for the access and forwarding the translated access via the bus fabric to the SATA controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
storing an advanced host controller interface data structure in a memory, wherein the data structure is associated with a guest operating system; redirecting a SATA controller access to the data structure in response to the SATA controller access originating from the guest operating system; translating an address for the access; and forwarding the translated access via a bus fabric to the SATA controller. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system, comprising:
-
means for redirecting accesses from a plurality of guest devices to a SATA controller to a designated on-chip memory address; means for queuing the accesses and determining permissions based on source domain IDs associated with the accesses; and means for translating the accesses from a virtual address to a physical address and forwarding the accesses to the SATA controller.
-
Specification