IP Library Granted Patent US 11,093,402
Granted Patent B2
US 11,093,402 · App. 16/552,895 · Granted Aug 17, 2021

Transparent host-side caching of virtual disks located on shared storage

Inventors: Thomas A Phelan (San Francisco, CA); Mayank Rawat (Sunnyvale, CA); Deng Liu (Mountain View, CA); Kiran Madnani (Santa Clara, CA); Sambasiva Bandarupalli (Sunnyvale, CA)
Assignee: VMware, Inc.
G06F12/0866G06F3/061G06F3/0631G06F3/0685G06F9/455G06F9/45558G06F9/5088G06F12/0871G06F2009/45579G06F2212/1024G06F2212/217
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,093,402
App. No.
16/552,895
Granted
Aug 17, 2021
Kind
B2
Abstract

Techniques for using a cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The host system can then process the I/O request by accessing a cache that resides on one or more cache devices directly attached to the host system, where the accessing of the cache is transparent to the VM.

Claims (30)

1. A method comprising:

receiving an Input/Output (I/O) request from a virtual machine (VM) running on a host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM;

identifying, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and

processing the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing a host-side cache that includes one or more cache devices directly attached to the host system.

2. The method of claim 1 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor.

3. The method of claim 2 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device.

4. The method of claim 1 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk.

5. The method of claim 1 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM.

6. The method of claim 1 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing.

7. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor of a host system, the method comprising:

receiving an Input/Output (I/O) request from a virtual machine (VM) running on the host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM;

identifying, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and

processing the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing a host-side cache that includes one or more cache devices directly attached to the host system.

8. The non-transitory computer readable storage medium of claim 7 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor.

9. The non-transitory computer readable storage medium of claim 8 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device.

10. The non-transitory computer readable storage medium of claim 7 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk.

11. The non-transitory computer readable storage medium of claim 7 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM.

12. The non-transitory computer readable storage medium of claim 7 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing.

13. A host system comprising:

a processor;

a host-side cache comprising one or more directly attached cache devices; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive an Input/Output (I/O) request from a virtual machine (VM) running on the host system, the I/O request being a request for reading data from, or writing data to, a virtual disk of the VM;

identify, from among a plurality of caching modules installed in a hypervisor of the host system, a caching module associated with the virtual disk or the VM, the identifying comprising retrieving a reference to the caching module in a metadata file associated with the virtual disk or VM, the reference indicating that the caching module is designated to handle caching of I/O requests directed to the virtual disk or issued by the VM; and

process the I/O request in accordance with one or more caching algorithms defined within the identified caching module, the processing of the I/O request comprising accessing the host-side cache.

14. The host system of claim 13 wherein the one or more cache devices include a first storage or memory device manufactured by a first vendor and a second storage or memory device manufactured by a second vendor different from the first vendor.

15. The host system of claim 14 wherein the one or more caching algorithms defined within the identified caching module are tailored to the first storage or memory device or the second storage or memory device.

16. The host system of claim 13 wherein the one or more caching algorithms defined within the identified caching module are tailored to a type of the virtual disk.

17. The host system of claim 13 wherein the one or more caching algorithms defined within the identified caching module are tailored to a workload of the VM.

18. The host system of claim 13 wherein a guest operating system of the VM is unaware that the host-side cache is being accessed as part of the processing.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →