Enhancing data caching performance
AssigneeInternational Business Machines Corporation
InventorsJoseph S. HYDE, II, Subhojit ROY
Life of this patent
Estimating the term…
Abstract
For a cache in which a plurality of frequently accessed data segments are temporarily stored, reference count information of the plurality of data segments, in conjunction with least recently used (LRU) information, is used to determine a length of time to retain the plurality of data segments in the cache according to a predetermined weight, where notwithstanding the LRU information, those of the plurality of data segments having a higher reference counts are retained longer than those having lower reference counts.
Claims21
A method for improving caching performance in a computing environment by a processor, comprising:
- in a cache in which a plurality of data segments that are frequently accessed and are temporarily stored, and in conjunction with the cache using least recently used (LRU) information:
- obtaining and examining reference count information concurrent with a deduplication operation for those of the plurality of data segments retained in the cache, wherein the reference count information is a number of chunks of virtual storage that map onto a single chunk of physical storage;
- using the reference count information of the plurality of data segments to add to the cache the plurality of data segments and using the reference count information, the LRU information, statistical information, and a data storage policy to determine a length of time to retain each one of the plurality of data segments in the cache according to a predetermined weight correlated to the reference count information, assigned to each one of the plurality of data segments, wherein notwithstanding yet considering the LRU information, those of the plurality of data segments having a higher reference counts are retained longer in the cache than those having lower reference counts;
- and
- determining if the reference count information of the plurality of data segments added to the cache has been updated and a predetermined time interval has expired.
A system for improving caching performance in a computing environment, comprising:
- a processor device executing instructions stored in a memory, wherein the processor device:
- in a cache in which a plurality of data segments that are frequently accessed and are temporarily stored, and in conjunction with the cache using least recently used (LRU) information:
- obtains and examines reference count information concurrent with a deduplication operation for those of the plurality of data segments retained in the cache, wherein the reference count information is a number of chunks of virtual storage that map onto a single chunk of physical storage;
- uses the reference count information of the plurality of data segments to add to the cache the plurality of data segments and using the reference count information, the LRU information, statistical information, and a data storage policy to determine a length of time to retain each one of the plurality of data segments in the cache according to a predetermined weight correlated to the reference count information, assigned to each one of the plurality of data segments, wherein notwithstanding yet considering the LRU information, those of the plurality of data segments having a higher reference counts are retained longer in the cache than those having lower reference counts;
- and
- determines if the reference count information of the plurality of data segments added to the cache has been updated and a predetermined time interval has expired.
A computer program product for improving caching performance in a computing environment by a processor, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
- an executable portion that, in a cache in which a plurality of data segments that are frequently accessed and are temporarily stored, and in conjunction with the cache using least recently used (LRU) information:
- obtains and examines reference count information concurrent with a deduplication operation for those of the plurality of data segments retained in the cache, wherein the reference count information is a number of chunks of virtual storage that map onto a single chunk of physical storage;
- uses the reference count information of the plurality of data segments to add to the cache the plurality of data segments and using the reference count information, the LRU information, statistical information, and a data storage policy to determine a length of time to retain each one of the plurality of data segments in the cache according to a predetermined weight correlated to the reference count information, assigned to each one of the plurality of data segments, wherein notwithstanding yet considering the LRU information, those of the plurality of data segments having a higher reference counts are retained longer in the cache than those having lower reference counts;
- and
- determines if the reference count information of the plurality of data segments added to the cache has been updated and a predetermined time interval has expired.
Dependencies are inferred from the claim text.