Zeilentauschschema zur Verringerung von Rückinvalidierungen in einem Snoopfilter

Verfahren, welches das folgende umfaßt:Empfangen an einem Snoop-Filter (609) einer Anforderung von Daten von einem Prozessor (601) aus mehreren Prozessoren (601, 603);Ermitteln einer Cache-Eintragsposition zumindest teilweise basierend auf der Anforderung;Speichern der Daten in einem Cache-Speicher...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Cheng, Kai, Fahim, Bahaa, Mandiwalla, Malcolm, Pflederer, Keith, Chinthamani, Sundaram
Format: Patent
Sprache:ger
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Verfahren, welches das folgende umfaßt:Empfangen an einem Snoop-Filter (609) einer Anforderung von Daten von einem Prozessor (601) aus mehreren Prozessoren (601, 603);Ermitteln einer Cache-Eintragsposition zumindest teilweise basierend auf der Anforderung;Speichern der Daten in einem Cache-Speicher (605), der sich auf den Prozessor (601) bezieht, an der Cache-Eintragsposition;Speichern einer Kohärenzaufzeichnung, welche den Daten entspricht in einer Affinität(611A), die dem Cache-Speicher (605) entspricht; undErmitteln eines Auftretens eines Cache-Treffers an einer anderen Cache-Eintragsposition eines anderen Cache-Speichers (607), welcher einem anderen Prozessor (603) der mehreren Prozessoren (601, 603) entspricht, wobei das Speichern der Kohärenzaufzeichnung, welche den Daten in der Affinität (611A) entspricht, das Speichern der Daten in einer Affinität (611B), die dem Cache-Speicher entspricht, an einer Cache-Eintragsposition, die gemäß einer Weghinweis-Ersetzungsstrategie ausgewählt wird, umfasst und das Vertauschen der Kohärenzaufzeichnung in der Affinität (611A) an der Cache-Eintragsposition mit einer Kohärenzaufzeichnung in der Affinität (611B), die dem anderen Cache-Speicher entspricht, an der anderen Cache-Eintragsposition, wobei geräumte Daten temporär in einem Puffer gespeichert werden, bis eine Invalidierungsnachricht zu einem Ursprungsprozessor gesendet wird, um sicherzustellen, dass sich der anfordernde Prozessor (601) nicht auf Daten stützt, die nicht bereits invalidiert wurden. In an embodiment, a method is provided. The method of this embodiment provides receiving a request for data from a processor of a plurality of processors, determining a cache entry location based, at least in part, on the request, storing the data in a cache corresponding to the processor at the cache entry location, and storing a coherency record corresponding to the data in an affinity corresponding to the cache.