BLOCK CACHE EVICTION
First Claim
1. A computer-implemented method, comprising:
- storing a data item in a target block of a block cache implemented in a secondary data storage of a caching system;
tracking a block-specific access statistic associated the target block in a primary data storage of the caching system;
detecting an eviction condition that triggers the caching system to evict at least one block from the block cache; and
selecting the target block as an eviction candidate block to evict by comparing the block-specific access statistic of the eviction candidate block against one or more block-specific access statistics of one or more other blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
Several embodiments include a method of operating a cache appliance comprising a primary memory implementing an item-wise cache and a secondary memory implementing a block cache. The cache appliance can track at least a block-specific access statistic associated a target block in the block cache. The block-specific access statistic can be stored in the primary memory. The cache appliance can detect an eviction condition that triggers the caching system to evict at least one block from the block cache; and selecting an eviction candidate block to evict by comparing the block-specific access statistic of the target block against one or more block-specific access statistics of one or more other blocks.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
storing a data item in a target block of a block cache implemented in a secondary data storage of a caching system; tracking a block-specific access statistic associated the target block in a primary data storage of the caching system; detecting an eviction condition that triggers the caching system to evict at least one block from the block cache; and selecting the target block as an eviction candidate block to evict by comparing the block-specific access statistic of the eviction candidate block against one or more block-specific access statistics of one or more other blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable data storage medium storing computer-executable instructions that, when executed, cause a computer system to perform a computer-implemented method, the instructions comprising:
-
instructions for tracking, in a primary data storage of a caching system, block-specific statistics for blocks in a block cache implemented in a secondary data storage of the caching system; instructions for maintaining a block eviction queue that is ordered based on the block-specific statistics; instructions for selecting an eviction block candidate from the block eviction queue; and instructions for discarding the eviction block candidate from the block cache. - View Dependent Claims (17, 18, 19)
-
-
20. A cache appliance, comprising:
-
a solid state storage drive configured to implement a block cache; a random access memory (RAM) configured to implement an item-wise cache and an item index that maps one or more data items to one or more blocks in the block cache; a processor configured to; track, in a primary data storage of a caching system, block-specific statistics for blocks in a block cache implemented in a secondary data storage of the caching system; maintain a block eviction queue that is ordered based on the block-specific statistics; select an eviction block candidate from the block eviction queue; and discard the eviction block candidate from the block cache.
-
Specification