A system and method for replacing cached data for a computer system
utilizing one or more storage devices is disclosed. The storage devices
are divided into a plurality of areas or bins. Each bin is preferably the
same size. A Bin Access Table (BAT) is an array stored in memory that
contains a frequency value for each bin corresponding to the number of
times that the bin has been accessed during a predetermined time period.
The BAT also contains a time stamp for each bin corresponding to the time
that the bin was last accessed. A hot spot algorithm is used to calculate
a hot spot factor or value hsf(x) for each bin based on its associated
frequency value listed in the BAT. The frequency values may be weighted
based on the time the bin was last accessed. Each line in cache will
therefore correspond to a specific bin for which a time weighted hotspot
factor hsf(x) has been calculated. These time weighted hot spot values are
be stored in a hot spot table. When data is retrieved from a storage in
response to a cache miss, a memory controller, such as a processor or RAID
controller, will compare the hotspot factor hsf(a) of the bin associated
with the new data to the lowest time weighted hotspot factor hsf(z) in the
hot spot table. If the time weighted hsf(z) is greater than hsf(a), then
this indicates that bin (z), the bin with the lowest time weighted hotspot
factor, is accessed more frequently than bin (a), the bin containing the
retrieved data. Thus if the time weighted hsf(z) is greater than hsf(a),
then the cache line containing data from bin (z) will not be replaced. If
hsf(a) is greater than the time weighted hsf(z) then the new data will
replace the cached data from bin (z). The BAT table is updated after the
I/O access.
Een systeem en een methode om caching gegevens voor een computersysteem te vervangen dat één of meerdere opslaggelegenheden gebruikt worden onthuld. De opslaggelegenheden zijn verdeeld in een meerderheid van gebieden of bakken. Elke bak is bij voorkeur de zelfde grootte. Een Lijst van de Toegang van de Bak (BAT) is een serie die in geheugen wordt opgeslagen dat een frequentiewaarde voor elke bak bevat die aan het aantal tijden beantwoordt dat de bak tijdens een vooraf bepaalde tijdspanne is betreden. BAT bevat ook een tijdzegel voor elke bak die aan de tijd beantwoordt dat de bak het laatst werd betreden. Een hete vlekalgoritme wordt gebruikt om een hete vlekfactor of een waarde hsf (x) voor elke bak te berekenen die op zijn bijbehorende frequentiewaarde wordt gebaseerd die in BAT wordt vermeld. De frequentiewaarden kunnen worden gewogen gebaseerd op de tijd de bak het laatst werd betreden. Elke lijn in geheim voorgeheugen zal daarom aan een specifieke bak beantwoorden waarvoor een tijd gewogen hotspot factor hsf (x) is berekend. Deze tijd woog hete vlekwaarden is wordt opgeslagen in een hete vleklijst. Wanneer het gegeven van een opslag in antwoord op geheim voorgeheugenjuffrouw, een geheugencontrolemechanisme, zoals een een bewerker of controlemechanisme van de INVAL wordt teruggewonnen, de hotspot factor hsf (a) van de bak verbonden aan de nieuwe gegevens bij de laagste tijd gewogen hotspot factor hsf (z) in de hete vleklijst zal vergelijken. Als tijd gewogen hsf (z) groter is dan hsf (a), dan wijst dit erop dat de bak (z), de bak met de laagste tijd gewogen hotspot factor, vaker dan bak (a) wordt betreden, de bak die de teruggewonnen gegevens bevat. Aldus als tijd gewogen hsf (z) groter is dan hsf (a), dan zal de geheim voorgeheugenlijn die gegevens van bak (z) bevat niet vervangen worden. Als hsf (a) groter is dan tijd gewogen hsf (z) toen zullen de nieuwe gegevens de caching gegevens van bak (z) vervangen. De lijst van BAT wordt bijgewerkt na de I/O toegang.