Hypervisor-based flash cache space management in a multi-VM environment
First Claim
1. A method for managing space in a flash storage-based cache, the method comprising:
- calculating, by a computer system, ratio of effective cache space (rECS) values for a plurality of VMs, each VM in the plurality of VMs having a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, the rECS value for the VM indicating a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window;
determining, by the computer system, a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values; and
adjusting, by the computer system, a number of cache blocks in the at least one VM'"'"'s cache allocation based on the new cache allocation size.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for managing space in a flash storage-based cache are provided. In one embodiment, a computer system can calculate “ratio of effective cache space” (rECS) values for a plurality of VMs, where each VM has a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, and where the rECS value for the VM indicates a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window. The computer system can further determine a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values. The computer system can then adjust the number of cache blocks in the at least one VM'"'"'s cache allocation based on the new cache allocation size.
12 Citations
21 Claims
-
1. A method for managing space in a flash storage-based cache, the method comprising:
-
calculating, by a computer system, ratio of effective cache space (rECS) values for a plurality of VMs, each VM in the plurality of VMs having a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, the rECS value for the VM indicating a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window; determining, by the computer system, a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values; and adjusting, by the computer system, a number of cache blocks in the at least one VM'"'"'s cache allocation based on the new cache allocation size. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor, the computer software embodying a method for managing space in a flash storage-based cache, the method comprising:
-
calculating ratio of effective cache space (rECS) values for a plurality of VMs, each VM in the plurality of VMs having a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, the rECS value for the VM indicating a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window; determining a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values; and adjusting a number of cache blocks in the at least one VM'"'"'s cache allocation based on the new cache allocation size. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for managing space in a flash storage-based cache, the system comprising:
-
a processor; and a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to; calculate ratio of effective cache space (rECS) values for a plurality of VMs, each VM in the plurality of VMs having a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, the rECS value for the VM indicating a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window; determine a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values; and adjust a number of cache blocks in the at least one VM'"'"'s cache allocation based on the new cache allocation size. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification