Location and relocation of data within a cache
AssigneeDell Products L.P.
InventorsWilliam Price Dawkins, Jason Philip Gross, Noelan Ray Olson
Life of this patent
Estimating the term…
Abstract
In one embodiment, a computer system includes a cache having one or more memories and a metadata service. The metadata service is able to receive requests for data stored in the cache from a first client and from a second client. The metadata service is further able to determine whether the performance of the cache would be improved by relocating the data stored in the cache. The metadata service is further operable to relocate the data stored in the cache when such relocation would improve the performance of the cache.
Claims17
A method for relocating data in a cache, comprising:
- receiving, from a first client, a request to access a first portion of the cache;
- receiving, from a second client, a request to access the first portion of the cache;
- initiating, in response to the second client request, a determination of a first amount of time elapsed since receiving the first client request;
- determining the first amount of time elapsed since receiving the first client request;
- determining whether the first amount of time exceeds a first pre-determined threshold value;
- tracking one or more usage patterns of the first client and the second client;
- requesting migration of data associated with the first portion of the cache to a second portion of the cache, wherein the request comprises determining if any active client references are associated with data associated with the first portion of the cache;
- maintaining a back reference to the data associated with the first portion of the cache;
- and
- migrating data associated with the first portion of the cache to the second portion of the cache if the first amount of time exceeds the first pre-determined threshold value, wherein the migration is based, at least in part, on the one or more usage patterns;
- and
- after migrating data associated with the first portion of the cache to the second portion of the cache, removing data associated with the first portion of the cache from a replica data store associated with the first portion of the cache.
A computing system, comprising:
- a cache comprising one or more memories;
- and
- a metadata service,
- wherein the metadata service is operable to:
- receive, from a first client, a request to access a first portion of the cache;
- receive, from a second client, a request to access the first portion of the cache;
- initiate, in response to the second client request, a determination of a first amount of time elapsed since receiving the client request;
- determine the first amount of time elapsed since receiving the first client request;
- determine whether the first amount of time exceeds a first pre-determined threshold value;
- track one or more usage patterns of the first client and the second client;
- request migration of data associated with the first portion of the cache to a second portion of the cache, wherein the request comprises determining if any active client references are associated with data associated with the first portion of the cache;
- maintain a back reference to the data associated with the first portion of the cache;
- migrate data associated with the first portion of the cache to the second portion of the cache if the first amount of time exceeds the first pre-determined threshold value wherein the migration is based, at least in part, on the one or more usage patterns;
- and
- after migrating data associated with the first portion of the cache to the second portion of the cache, remove data associated with the first portion of the cache from a replica data store associated with the first portion of the cache.
Dependencies are inferred from the claim text.