Computing apparatus and method for cache management
AssigneesSamsung Electronics Co., Ltd., Seoul National University R&Db Foundation
InventorsNamhyung Kim, Junwhan Ahn, Kiyoung Choi, Woong Seo
Life of this patent
Estimating the term…
Abstract
A method of managing a cache includes storing first data of an upper level cache in a lower level cache, predicting a reuse distance level of second data having a same signature as the first data based on access information about the first data, and storing the second data in one of the lower level cache and a main memory based on the predicted reuse distance level of the second data.
Claims23
A method of managing a cache, the method comprising:
- storing first data of an upper level cache in a lower level cache;
- and
- when evicting, from the upper level cache, second data having a same signature as the first data,
- predicting a reuse distance level of the second data based on access information about the first data,
- selecting, as a storage location, one of the lower level cache and a main memory based on the predicted reuse distance level of the second data, and
- storing the second data in the selected storage location,
- wherein the predicting of the reuse distance level of the second data comprises:
- determining a reuse distance of the first data based on the access information about the first data;
- comparing the determined reuse distance of the first data with a predetermined threshold value;
- updating a counter value corresponding to a signature of the first data based on a result of the comparing;
- and
- predicting the reuse distance level of the second data based on the updated counter value.
A computing apparatus comprising:
- an upper level cache;
- a lower level cache configured to store first data evicted from the upper level cache;
- a main memory;
- and
- a predictor configured to predict a reuse distance level of second data having a same signature as the first data based on access information about the first data, and determine whether to store the second data in the lower level cache or a main memory based on the predicted reuse distance level of the second data;
- wherein the predictor comprises a sampler configured to determine a reuse distance of the first data based on the access information about the first data;
- and
- the predictor is further configured to compare the determined reuse distance of the first data with a predetermined threshold value, update a counter value corresponding to a signature of the first data based on a result of the comparing, and predict the reuse distance level of the second data based on the updated counter value.
A method of managing a cache, the method comprising:
- storing first data evicted from an upper level cache in a lower level cache comprising a non-volatile memory;
- predicting a reuse distance level of second data evicted from the upper level cache based on access information about the first data;
- and
- storing the second data in one of the lower level cache and a main memory based on the predicted reuse distance level of the second data,
- wherein the predicting of the reuse distance level of the second data comprises:
- determining a reuse distance of the first data based on the access information about the first data;
- comparing the determined reuse distance of the first data with a predetermined threshold value;
- updating a counter value corresponding to a signature of the first data based on a result of the comparing;
- and
- predicting the reuse distance level of the second data based on the updated counter value.
A processor comprising:
- an upper level cache configured to store data;
- a lower level cache comprising a non-volatile memory;
- and
- a predictor configured to determine whether to store data evicted from the upper level cache in the lower level cache or main memory,
- wherein the lower level cache is an exclusive cache that does not share any data with the upper level cache,
- wherein the predictor comprises a sampler configured to determine a reuse distance of data stored in the lower level cache based on access information about the data stored in the lower level cache,
- wherein the predictor further comprises a counter;
- and
- the predictor is further configured to compare the determined reuse distance of the data stored in the lower level cache with a predetermined threshold value, update the counter based on a result of the comparing, predict a reuse distance level of the data evicted from the upper level cache based on the updated counter in response to the data evicted from the upper level cache and the data stored in the lower level cache having a same signature, and determine whether to store the data evicted from the upper level cache in the lower level cache or the main memory based on the predicted reuse distance level of the data evicted from the upper level cache.
Dependencies are inferred from the claim text.