USING A CACHE CLUSTER OF A CLOUD COMPUTING SERVICE AS A VICTIM CACHE
First Claim
1. A computer-implemented method, comprising:
- receiving a set of data from a client computing device at a data storage appliance executing in a distributed computing system;
confirming by the data storage appliance that a storage space in a primary cache associated with the data storage appliance is below a threshold;
identifying data that is marked as clean data in the primary cache, the clean data being a portion of the data in the primary cache that is marked as the clean data if the portion of the data is stored at a persistent storage device associated with the data storage appliance;
evicting the clean data from the primary cache to a cache node of a cache cluster associated with the distributed computing system, the cache cluster acting as a victim cache for the data storage appliance; and
storing the set of data at the primary cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Technology is disclosed for using a cache cluster of a cloud computing service (“cloud”) as a victim cache for a data storage appliance (“appliance”) implemented in the cloud. The cloud includes a cache cluster that acts as a primary cache for caching data of various services implemented in the cloud. By using the cache cluster as a victim cache for the appliance, the read throughput of the appliance is improved. The data blocks evicted from a primary cache of the appliance are stored in the cache cluster. These evicted data blocks are likely to be requested again, so storing them in the cache cluster can increase performance, e.g., input-output (I/O) throughput of the appliance. A read request for data can be serviced by retrieving the data from the cache cluster instead of a persistent storage medium of the appliance, which has higher read latency than the cache cluster.
-
Citations
26 Claims
-
1. A computer-implemented method, comprising:
-
receiving a set of data from a client computing device at a data storage appliance executing in a distributed computing system; confirming by the data storage appliance that a storage space in a primary cache associated with the data storage appliance is below a threshold; identifying data that is marked as clean data in the primary cache, the clean data being a portion of the data in the primary cache that is marked as the clean data if the portion of the data is stored at a persistent storage device associated with the data storage appliance; evicting the clean data from the primary cache to a cache node of a cache cluster associated with the distributed computing system, the cache cluster acting as a victim cache for the data storage appliance; and storing the set of data at the primary cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable storage medium storing computer-executable instructions comprising:
-
instructions for receiving, from a client computing device, a request for retrieving a set of data stored at a data storage appliance in a distributed computing system, the data storage appliance including a primary cache that stores at least a portion of data managed by the data storage appliance, the distributed computing system including a cache cluster that stores at least a portion of data managed by multiple data storage appliances; instructions for determining by the data storage appliance whether the set of data is stored at a primary cache associated with the data storage appliance; instructions for retrieving, responsive to a determination that the set of data is not available at the primary cache, the set of data from the cache cluster of the distributed computing system, the cache cluster acting as a victim cache for the data storage appliance and storing a portion of the data evicted from the primary cache; and instructions for transmitting the set of data to the client computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system comprising:
-
a processor; a first component configured to receive a set of data from a client computing device at a data storage appliance executing in a distributed computing system; a second component configured to confirm that a storage space in a primary cache associated with the data storage appliance is below a threshold; a third component configured to identify data that is marked as clean data in the primary cache, the clean data being a portion of the data in the primary cache that is marked as the clean data if the portion of the data is stored at a persistent storage device associated with the data storage appliance; a fourth component to evict the clean data from the primary cache to a cache node of a cache cluster associated with the distributed computing system, the cache cluster acting as a victim cache for the data storage appliance; and a fifth component to store the set of data at the primary cache. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification