A cache coherency method, a data eviction method, and a multi-level cache
system are disclosed. A copy of data may take one of five states including
a shared state, a lazy state, an invalid state, a modified state, and an
exclusive state. Based upon the names of these states, the disclosed
methods and systems may be labeled "SLIME." The method of cache coherency
may include storing a copy of data in a cache and storing state
information identifying the copy as being stored in one of the five
above-mentioned states. In response to a snoop request related to the
data, marking a status field indicative of the state of the data to
represent that the data is shared without regard to the data's dirty
status. The data eviction method includes storing data in a cache, storing
a status field in association with the data, the status field having a
first sub-field to indicate whether the data is dirty and a second
sub-field to indicate whether the data is shared, when the data is to be
evicted from the cache, testing the first sub-field field to determine
whether the data is dirty and, if so, writing the data to another cache
before evicting the data from the cache. The multi-layer cache system
includes first and second caches provided in a layered arrangement with
the second cache being in a higher layer than the first cache, each cache
including cache entries adapted to store data and status fields associated
with the data, the status field representing the state of the data,
eviction logic in the first cache adapted to test the status field of a
cache entry, and control logic adapted to output the contents of the cache
entry to a cache entry in the second cache when the status field indicates
that data in the cache entry is dirty.
Une méthode de concordance de cachette, une méthode d'expulsion de données, et un système à multiniveaux de cachette sont révélés. Une copie des données peut prendre un de cinq états comprenant un état partagé, un état paresseux, un état inadmissible, un état modifié, et un état exclusif. Basé sur les noms de ces états, les méthodes et les systèmes révélés peuvent être marqués "BOUE." La méthode de concordance de cachette peut inclure stocker une copie des données dans une cachette et stocker l'information d'état identifiant la copie comme étant stocké dans un des cinq états mentionnés ci-dessus. En réponse au snoop une demande s'est reliée aux données, marquant un champ de statut indicatif de l'état des données pour représenter que les données sont partagées sans souci du statut sale des données. La méthode d'expulsion de données inclut stocker des données dans une cachette, stockant un champ de statut en association avec les données, le champ de statut ayant un premier sous-champ pour indiquer si les données sont sales et un deuxième sous-champ pour indiquer si les données sont partagées, quand les données doivent être expulsées de la cachette, examinant le premier champ de sous-champ pour déterminer si les données sont sales et, si oui, écrivantes les données à une autre cachette avant d'expulser les données de la cachette. Le système multicouche de cachette inclut d'abord et les deuxièmes cachettes équipées dans un arrangement posé de la deuxième cachette étant dans une couche plus élevée que la première cachette, de chaque cachette comprenant des entrées de cachette adaptées aux données de magasin et aux champs de statut liés aux données, de champ de statut représentant l'état des données, de logique d'expulsion dans la première cachette adaptée pour examiner le champ de statut d'une entrée de cachette, et de logique de commande adaptée pour produire le contenu de l'entrée de cachette à une entrée de cachette dans la deuxième cachette quand le champ de statut indique que les données dans l'entrée de cachette sont sales.