Systems and methods for managing data input/output operations
First Claim
Patent Images
1. A method, comprising:
- identifying a data read operation by use of a storage driver of a virtual machine, the data read operation generated by the virtual machine and sent to a primary storage system, wherein the virtual machine is configured for operation within a hypervisor on a host computing device;
determining, by way of a cache management system operating within the virtual machine, whether data associated with the identified data read operation is available in a cache of the host computing device, wherein the cache is managed by a cache provisioner that is accessible to a plurality of virtual machines operating within the hypervisor; and
redirecting the identified data read operation to the cache provisioner in response to determining that the data is available in the cache.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for managing data input/output operations are described. In one aspect, a device driver identifies a data read operation generated by a virtual machine in a virtual environment. The device driver is located in the virtual machine and the data read operation identifies a physical cache address associated with the data requested in the data read operation. A determination is made regarding whether data associated with the data read operation is available in a cache associated with the virtual machine.
465 Citations
31 Claims
-
1. A method, comprising:
-
identifying a data read operation by use of a storage driver of a virtual machine, the data read operation generated by the virtual machine and sent to a primary storage system, wherein the virtual machine is configured for operation within a hypervisor on a host computing device; determining, by way of a cache management system operating within the virtual machine, whether data associated with the identified data read operation is available in a cache of the host computing device, wherein the cache is managed by a cache provisioner that is accessible to a plurality of virtual machines operating within the hypervisor; and redirecting the identified data read operation to the cache provisioner in response to determining that the data is available in the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a cache manager configured for operation within a virtual machine, wherein the virtual machine is configured for operation within a hypervisor of a host computing device; and an input/output driver configured to operate within the virtual machine, wherein the input/output driver is configured to intercept input/output operations associated with the virtual machine that pertain to a primary storage system, and to send the intercepted input/output operations to the cache manager; wherein the cache manager is configured to request data from a cache provisioner managing a data cache configured for operation within the hypervisor in response to intercepted input/output operations of the virtual machine. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer-readable storage medium comprising instructions for execution by a processor of a computing device, wherein the instructions are configured to cause the computing device to perform operations, comprising:
-
provisioning cache storage resources of a cache storage device to respective virtual machines operating within a virtual computing environment within a virtualization kernel of a host computing device; informing the virtual machines of the cache storage resources provisioned to the respective virtual machines; receiving input/output requests that pertain to a primary storage device from the virtual machines, wherein the received input/output requests are redirected within the respective virtual machines; and servicing the received input/output requests by use of the cache storage device, in accordance with the cache storage resources provisioned to the respective virtual machines.
-
-
28. A method, comprising:
-
maintaining cache tags within a particular virtual machine configured for operation within a virtualization environment of a host computing device, such that the cache tags correspond to cache capacity allocated to the particular virtual machine in a cache storage resource accessible to a plurality of virtual machines operating within the virtualization environment; identifying a storage request generated within the particular virtual machine; and redirecting the identified storage request to the cache storage resource in response to determining that data corresponding to the identified storage request has been admitted to the cache storage resource by use of the cache tags maintained within the particular virtual machine. - View Dependent Claims (29, 30, 31)
-
Specification