System and method for providing a cost-adaptive cache
First Claim
1. A cost-adaptive cache, comprising:
- a partitioned real cache, wherein data is stored in each the real cache partitions according to its replacement cost; and
a partitioned phantom cache to provide a directory of information pertaining to blocks of data which do not qualify for inclusion in the real cache, whereby the partitions in the phantom cache correspond to the partitions in the real cache, whereby the cost-adaptive cache maximizes performance in a system by preferentially caching data that is more costly to replace.
1 Assignment
0 Petitions
Accused Products
Abstract
A cost-adaptive cache including the ability to dynamically maximize performance in a caching system by preferentially caching data according to the cost of replacing data. The cost adaptive cache includes a partitioned real cache, wherein data is stored in each of the real cache partitions according to its replacement cost. Also, the cost-adaptive cache includes a partitioned phantom cache to provide a directory of information pertaining to blocks of data which do not qualify for inclusion in the real cache. The partitions in the phantom cache correspond to the partitions in the real cache. Moreover, the cost-adaptive cache maximizes performance in a system by preferentially caching data that is more costly to replace. In one embodiment of the system, the cost of replacing a block of data is estimated by the previous cost incurred to fetch that block of data.
61 Citations
18 Claims
-
1. A cost-adaptive cache, comprising:
-
a partitioned real cache, wherein data is stored in each the real cache partitions according to its replacement cost; and
a partitioned phantom cache to provide a directory of information pertaining to blocks of data which do not qualify for inclusion in the real cache, whereby the partitions in the phantom cache correspond to the partitions in the real cache, whereby the cost-adaptive cache maximizes performance in a system by preferentially caching data that is more costly to replace. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for dynamically partitioning a storage system cache according to a replacement cost associated with data stored in the cache, the cache holding the data as blocks of data, the method comprising the steps of:
-
maintaining a history of recently evicted data blocks for each partition;
assigning data to one partition based on a cost associated with not keeping the data in the cache;
determining a future size for each partition based on the history and the cost associated with not keeping the data in the cache; and
whereby the cache'"'"'s performance is dynamically maximized by preferentially caching data that are most costly to replace. - View Dependent Claims (17, 18)
-
Specification