MEMORY-EFFICIENT CACHING METHODS AND SYSTEMS
First Claim
1. A method for managing a cache comprising:
- determining whether a cache eviction condition is satisfied;
in response to determining that the cache eviction condition is satisfied, referencing at least one Bloom filter registering keys denoting objects in the cache to identify a particular object in the cache to evict; and
evicting the particular object from the cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Caching systems and methods for managing a cache are disclosed. One method includes determining whether a cache eviction condition is satisfied. In response to determining that the cache eviction condition is satisfied, at least one Bloom filter registering keys denoting objects in the cache is referenced to identify a particular object in the cache to evict. Further, the identified object is evicted from the cache. In accordance with an alternative scheme, a bit array is employed to store recency information in a memory element that is configured to store metadata for data objects stored in a separate cache memory element. This separate cache memory element stores keys denoting the data objects in the cache and further includes bit offset information for each of the keys denoting different slots in the bit array to enable access to the recency information.
-
Citations
20 Claims
-
1. A method for managing a cache comprising:
-
determining whether a cache eviction condition is satisfied; in response to determining that the cache eviction condition is satisfied, referencing at least one Bloom filter registering keys denoting objects in the cache to identify a particular object in the cache to evict; and evicting the particular object from the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A caching system comprising:
-
a main storage element configured to store data; a cache configured to store data objects and metadata for the data objects that includes at least one Bloom filter; and a processor configured to reference the at least one Bloom filter registering keys denoting the data objects in the cache to identify which of the data objects in the cache to evict in response to determining that a cache eviction condition is satisfied. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A caching system comprising:
-
a main storage element configured to store data; a cache including at least one first element configured to store metadata for data objects that includes a bit array and at least one second element configured to store the data objects, wherein the at least one second element includes keys denoting the data objects in the cache and includes bit offset information for each of the keys denoting different slots in the bit array; and a processor configured to identify, in response to determining that a cache eviction condition is satisfied, a particular data object in the cache to evict by deter Wining whether the slot in the bit array corresponding to the particular data object indicates that the particular data object was recently used. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification