Patent ID: 7478197
Filing Date: 2009-01-13
Classification: G06F

Abstract:
1. A system for adaptively supplying data copies between a high level cache memory and a low level cache memory in a computing environment, comprising: a cache memory having a high level cache memory arranged to store a plurality of high level cache lines and a low level cache memory connected to the high level cache memory by an interconnection, wherein the low level cache memory comprises a plurality of memory components, each of the memory components storing a plurality of low level cache lines, wherein each of the memory components has a unique identifier; a prediction mechanism arranged to maintain an access flag for each of said plurality of high level cache lines, wherein the prediction mechanism updates the access flag in response to the low-level cache accessing the high level cache line, the update based on the identifier of the memory components of the low level cache performing the access, and wherein the prediction mechanism outputs a volatility flag associated with the accessed high level cache line, the volatility flag having a range of values including a volatile value and a non-volatile value, wherein the value is set based on the updated access flag and on said access flag prior to the update, wherein the low level cache memory is arranged to receive and store, as a data copy in one of the low level cache lines, a high level cache line accessed in the high level cache memory, and to store, in a manner associated with the data copy, the volatility flag output by the prediction mechanism associated with the accessed high level cache line, and wherein the low level cache memory is arranged to perform selective write-back of data copies stored in the low level cache lines, back into the high level cache memory, based on the value of the volatility flags associated with the copies, the selective write-back writing the data copy back into the high level cache memory if the volatility flag has the non-volatile value and the selective write-back not writing the data copy back into the high level cache memory if the volatility flag has the volatile flag value.