Systems, methods and apparatus for cache transfers
First Claim
Patent Images
1. An apparatus, comprising:
- a first cache storage device coupled to a first computing device, the first computing device comprising a processor and a memory; and
a virtual machine cache configured for operation on the first computing device, the virtual machine cache further configured to;
transfer a cache tag of a virtual machine to the first computing device from a second computing device, wherein the cache tag is stored outside of a memory space of the virtual machine;
determine that the transferred cache tag corresponds to cache data of the virtual machine retained at the second computing device and unavailable in the first cache storage device, the retained cache data comprising data cached at the second computing device during operation of the virtual machine at the second computing device; and
transfer the cache data of the virtual machine referred to by the transferred cache tag from the second computing device into the first cache storage device.
9 Assignments
0 Petitions
Accused Products
Abstract
A virtual machine cache provides for maintaining a working set of the cache during a transfer between virtual machine hosts. In response to a virtual machine transfer, the previous host of the virtual machine is configured to retain cache data of the virtual machine, which may include both cache metadata and data that has been admitted into the cache. The cache data may be transferred to the destination host via a network (or other communication mechanism). The destination host populates a virtual machine cache with the transferred cache data to thereby reconstruct the working state of the cache.
498 Citations
31 Claims
-
1. An apparatus, comprising:
-
a first cache storage device coupled to a first computing device, the first computing device comprising a processor and a memory; and a virtual machine cache configured for operation on the first computing device, the virtual machine cache further configured to; transfer a cache tag of a virtual machine to the first computing device from a second computing device, wherein the cache tag is stored outside of a memory space of the virtual machine; determine that the transferred cache tag corresponds to cache data of the virtual machine retained at the second computing device and unavailable in the first cache storage device, the retained cache data comprising data cached at the second computing device during operation of the virtual machine at the second computing device; and transfer the cache data of the virtual machine referred to by the transferred cache tag from the second computing device into the first cache storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
determining that cache tags of a virtual machine relocating to a first computing system are retained at a second computing system, wherein the cache tags are stored outside of a memory space of the virtual machine; transferring the cache tags of the virtual machine to the first computing system from the second computing system; using the transferred cache tags to identify cache data of the virtual machine stored at the second computing system, the identified cache data unavailable in a cache storage device of the first computing system, the identified cache data stored at the second computing system during operation of the virtual machine at the second computing system; accessing a first portion of the identified cache data of the virtual machine stored at the second computing system at the first computing system by use of the transferred cache tags; and transferring the cache data of the virtual machine referred to by the transferred cache tags from the second computing system into local cache storage of the first computing system. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. An apparatus, comprising:
-
a cache management system for operation on a first host computing device comprising a processor and memory, wherein the cache management system is implemented outside of a memory space of one or more virtual machines, the cache management system comprising; means for determining that cache entries pertaining to a virtual machine in the one or more virtual machines configured for operation on the first host computing device are being retained at a second host computing device; means for transferring the cache entries pertaining to the virtual machine to the first host computing device from the second host computing device, the transferred cache entries comprising a cache entry corresponding to a particular input/output (I/O) address; means for using the cache entries to determine that the particular I/O address is associated with cache data of the virtual machine stored at the second host computing device; and means for transferring the cache data associated with the particular I/O address from the second host computing device into the local cache storage of the first host computing device; and an input/output (I/O) driver comprising; means for directing an I/O request pertaining to a particular identifier of the virtual machine to the second host computing device in response to the transferring of the cache entries and the cache data. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
a first host computing device, comprising; a first cache manager configured to; cache data of a particular virtual machine in cache storage of the first host computing device in association with respective cache tags allocated to the particular virtual machine, wherein the respective cache tags are stored outside of a memory space of the particular virtual machine; and retain the cache data of the particular virtual machine within the cache storage of the first host computing device in response to the particular virtual machine being migrated from the first host computing device; and a second host computing device, comprising; a cache provisioner configured to allocate cache storage capacity within a cache storage device of the second host computing device to the particular virtual machine in response to the particular virtual machine being migrated to operate on the second host computing device; and a second cache manager configured to; receive the cache tags of the particular virtual machine from the first host computing device; use the received cache tags to determine that the cache data of the particular virtual machine is being retained at the first host computing device; access a portion of the cache data of the particular virtual machine retained at the first host computing device by use of the received cache tags; and populate the cache storage capacity allocated to the particular virtual machine at the second host computing device by transferring the portion of the cache data of the particular virtual machine accessed from the first host computing device to the cache storage capacity of the second host computing device. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
Specification