-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft Systemspeicher. Insbesondere betrifft die Erfindung das Normieren der Latenzzeit von Speichervorrichtungen, die an einem Inline-Speichermodul angeordnet sind.
-
ALLGEMEINER STAND DER TECHNIK
-
Bei modernen Computern ist die Taktung des Taktsignals für den Systemspeicher entscheidend dafür, daß ein robuster Betrieb des Speicherkanals gewährleistet werden kann. Viele Speichersubsysteme sind in einer Verkettungs-(daisy chain)-Konfigurierung aufgebaut. Bei einem Speichersubsystem mit einer Verkettungskonfigurierung sendet eine synchrone Quelloperation, die von dem MCH (Memory Controller Hub) ausgeht, Kommando-, Adreß- und Steuerungsinformation mit einem Speicherkanaltakt an die dynamischen RAM-(Dynamic Random Access Memory – DRAM)-Vorrichtungen, die in Serie verbunden sind. In diesem Szenario empfängt die erste DRAM-Vorrichtung in der Kette die Kommando-/Adreß-/Steuerungsinformation vor den anderen DRAM-Vorrichtungen, empfängt die zweite DRAM-Vorrichtung die Kommando-/Adreß-/Steuerungsinformation nach der ersten DRAM-Vorrichtung, aber vor den anderen DRAM-Vorrichtungen, und so weiter, bis schließlich die letzte DRAM-Vorrichtung die Kommando-/Adreß-/Steuerungsinformation nach allen anderen DRAM-Vorrichtung empfängt.
-
Auf diese Weise wird jede DRAM-Vorrichtung zu einem eindeutigen Zeitpunkt aktiviert, der auf der Übertragungszeit basiert, welche die Kommando-/Adreß-/Steuerungsinformation benötigt, um sich von dem MCH (Memory Controller Hub) zu jeder entsprechenden DRAM-Vorrichtung zu bewegen. Diese eindeutigen Aktivierungszeiten für jede DRAM-Vorrichtung bedeuten, daß jede DRAM-Vorrichtung zu einem unterschiedlichen und eindeutigen Zeitpunkt Daten an den MCH zurücksendet, sodaß für alle Vorrichtungen ungleiche Latenzzeiten erzeugt werden. Bei heutigen Computersystemen muß der MCH die DRAM-Latenzzeiten normieren, um eine Speicherkanaldatenkorrumpierung, die ungleiche DRAM-Latenzzeiten zur Folge hat, zu verhindern. Um eine DRAM-Latenzzeitnormierung durchzuführen, kann der MCH zusätzliche Schaltungen enthalten, um die eintreffenden Daten zu Puffern. Allerdings ist dieses Verfahren aufgrund der zusätzlichen Schaltungen, die im MCH hinzugefügt werden, nicht wünschenswert. Der MCH kann die Normierung auch durchführen, indem er zu seinem Speicherkanal zusätzliche Taktverzögerungen hinzufügt, um die Möglichkeit einer Speicherkorrumpierung aufgrund der Diskrepanz der DRAM-Latenzzeiten zu beseitigen. Diese Lösung ist ebenfalls nicht wünschenswert, da zusätzliche Verzögerungen der MCH-Taktung die Systemleistung senken.
-
Aus der
US 5,361,277 A ist ein Verfahren zum Synchronisieren der Phasen mehrerer räumlich verteilter Anwendungsmodule bekannt. Jedes Anwendungsmodul ist dabei an einer vorbestimmten Stelle mit einem Ausgangspfad und an einer entsprechenden Stelle mit einem Rückkehrpfad eines Pulsreferenzpfads verbunden.
-
KURZER ABRISS DER ERFINDUNG
-
Es ist die Aufgabe der Erfindung, eine Normierung der Latenzzeiten von Speichervorrichtungen mit geringem schaltungstechnischem Aufwand und ohne zusätzliche Verzögerungen zu ermöglichen. Diese Aufgabe wird durch die Vorrichtung gemäß Anspruch 1 und das Verfahren gemäß Anspruch 11 gelöst. Bevorzugte Ausführungsformen sind Gegenstande der Unteransprüche.
-
KURZE BESCHREIBUNG DER FIGUREN
-
Die vorliegende Erfindung ist beispielhaft angegeben und wird nicht durch die Figuren der begleitenden Zeichnungen beschränkt, in welchen gleiche Bezugszeichen auf gleiche Elemente verweisen, und wobei:
-
1 ein Computersystem zeigt, bei dem die Systemspeicherlatenzzeit normiert werden kann, in einer Ausführungsform der Erfindung.
-
2 eine Taktsignalleiterbahn zeigt, die zwischen dem MCH und einem Inline-Speichermodul verläuft, in einer Ausführungsform der Erfindung.
-
3 das Taktdiagramm der voreilenden, nacheilenden und gemittelten Taktsignale für drei Speichervorrichtungen zeigt, in einer Ausführungsform der Erfindung.
-
4 ein Verfahren zum Erzeugen eines gemittelten Taktsignals in einer Ausführungsform der Erfindung zeigt.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Offenbart sind Ausführungsformen eines wirksamen Verfahrens zum Normieren der Latenzzeit eines Systemspeichers durch Ausgleichen voreilender und nacheilender Takte. In der nachfolgenden Beschreibung werden zahlreiche spezifische Details aufgeführt. Allerdings versteht es sich, daß die Ausführungsformen auch ohne diese spezifischen Details praktizierbar sind. In anderen Fällen wurden allgemein bekannte Elemente, Spezifikationen und Protokolle nicht im Detail erörtert, um die vorliegende Erfindung nicht zu verundeutlichen.
-
1 zeigt ein Computersystem, bei dem die Systemspeicherlatenzzeit normiert werden kann, in einer Ausführungsform der Erfindung. Ein Prozessor 100 ist über einen Bus (gelegentlich als ein Host-Bus bezeichnet) mit einem MCH (Memory Controller Hub) 102 verbunden. Der MCH 102 erlaubt einen Zugriff auf einen Systemspeicher 104, der aus einer Anzahl von DRAM-Vorrichtungen zusammengesetzt sein kann, die an Inline-Speichermodulen (im Detail in 2 erläutert) angeordnet sind. Der MCH 102 erlaubt es dem Prozessor, auf ein Graphikmodul 106 zuzugreifen, z. B. eine AGP-(Accelerated Graphics Port)-Vorrichtung, die mit einer Kathodenstrahlröhre (KSR), einer Flüssigkristallanzeige (LCD) oder einem anderen Typ von Anzeigevorrichtung verbunden ist. Der MCH 102 erlaubt es dem Prozessor auch, auf einen I/O-Controller-Hub (ICH) 108 zuzugreifen. Eine Anzahl üblicher Agenten kann mit dem ICH 108 verbunden sein, z. B. ein I/O-Bus 110 (PCI, USB usw.), ein Festplattenlaufwerk 112, eine Tastatursteuerung 114 und eine Maussteuerung 116, neben vielen anderen möglichen Vorrichtungen. In einer Ausführungsform sind Komponenten des Computersystems aus 1 auf einer Leiterplatte (z. B. einer Hauptplatine) über Busse miteinander verbunden. Die einzelnen Busleiter sind in der Form von Leiterbahnen in die Leiterplatte geätzt. Eine solche Leiterbahn ist die Taktsignalleiterbahn, die zwischen dem MCH 102 und dem Systemspeicher 104 verläuft.
-
2 zeigt die Taktsignalleiterbahn, die zwischen dem MCH 200 und einem Inline-Speichermodul 204 verläuft, in einer Ausführungsform der Erfindung. Das Inline-Speichermodul 204 umfaßt entweder den gesamten Systemspeicher des Computersystems oder einen Teil desselben. Der MCH sendet eine spezifische Flanke eines Taktsignals, im folgenden als die „Taktsignalflanke” bezeichnet, über eine Taktbusleiterbahn 202 an das Inline-Speichermodul 204. In einer Ausführungsform kann die spezifische Flanke des Taktsignals eine ansteigende Flanke sein. In einer anderen Ausführungsform kann die spezifische Flanke eine abfallende Flanke sein. Die Taktbusleiterbahn 202 ist über einen Taktpin 206 mit dem Inline-Speichermodul 204 verbunden. In einer Ausführungsform ist der Taktpin 206 einer von vielen Pins, die das Inline-Speichermodul 204 mit dem MCH 200 verbinden. Außerdem werden Daten in Antwort auf Datenlese- oder -schreibkommandos bzw. -befehle über den Datenbus 208 zwischen den Speichervorrichtungen und dem MCH übertragen. In anderen Ausführungsformen kann die Hauptplatine 210 jeder Typ von Leiterplatte sein, über die Busleiterbahnen geführt werden können, wie z. B. eine Einschub-Tochterkarte. In einer Ausführungsform ist der Taktpin 206 über eine DIMM-(Dual Inline Memory Module)-Sockelverbindung mit der Taktbusleiterbahn 202 verbunden. In einer Ausführungsform folgen die Kommando-/Adreß-/Steuerungsbusleiterbahnen einem Pfad, der ähnlich ist wie die Taktbusleiterbahn 202.
-
Das Inline-Speichermodul 204 ist mit einem oder mehreren DRAM-Speichervorrichtungen bestückt. In unterschiedlichen Ausführungsformen können neben dem Standard-DRAM alternative Formen von RAM-Speicher auf dem Inline-Speichermodul 204 konfiguriert sein. 2 zeigt eine Ausführungsform mit drei Speichervorrichtungen (214, 218 und 222), obwohl in unterschiedlichen Ausführungsformen jede beliebige Anzahl von Speichervorrichtungen vorliegen kann. Bei einer Standardkonfigurierung sind auf dem Inline-Speichermodul 204 acht oder neun Speichervorrichtungen angeordnet, obwohl jedes beliebige Inline-Speichermodul 204 mit zwei oder mehr Speichervorrichtungen anwendbar ist. Sobald das Taktsignal den Taktpin 206 durchläuft, wird es zunächst durch das Inline-Speichermodul 204 über den Leiterbahnweg 212 für das voreilende Taktsignal durch einen Voreilungstaktsignal-Eingangspin 216 an eine Speichervorrichtung 214 geleitet. Das „voreilende” Taktsignal ist als ein erstes Taktsignal definiert, das von einer jeweiligen Speichervorrichtung empfangen wird. Die Taktsignalflanke verfolgt den Leiterbahnweg 212 für das voreilende Taktsignal zu den Speichervorrichtungen 218 und 222 durch den jeweiligen Voreilungstaktsignalpin 220 bzw. 224.
-
Die Taktsignalflanke benötigt eine endliche Zeitspanne, um jeden dieser aufeinander folgenden Pins zu erreichen. Auf diese Weise empfängt die Speichervorrichtung 214 die Taktsignalflanke durch den Voreilungstaktsignalpin 216 vor den anderen zwei Speichervorrichtungen, da der Leiterbahnweg 212 für das voreilende Taktsignal von dem Taktpin 206 des Inline-Speichermoduls 204 zu dem Voreilungstaktsignalpin 216 der Speichervorrichtung 214 am kürzesten ist. Dagegen empfängt die Speichervorrichtung 222 die Taktsignalflanke durch den Voreilungstaktsignalpin 224 nach den anderen zwei Speichervorrichtungen, da der Leiterbahnweg 212 für das voreilende Taktsignal von dem Taktpin 206 des Inline-Speichermoduls 204 zu dem Voreilungstaktsignalpin 224 der Speichervorrichtung 222 am längsten ist. Die Taktsignalflanke, die jede Speichervorrichtung durch ihren Voreilungstaktsignalpin empfängt, gilt als das „voreilende” Taktsignal.
-
Sobald die Taktsignalflanke alle Speichervorrichtungen erreicht hat (d. h. sobald die Taktsignalflanke das Durchlaufen des Leiterbahnweg 212 für das voreilende Taktsignal beendet hat), durchläuft die Taktsignalflanke als nächstes einen Leiterbahnverschleifungsweg 226. Wenn die Taktsignalflanke die Verschleifung über den Leiterbahnverschleifungsweg 226 vollführt hat, durchläuft sie den Leiterbahnweg 228 für das nacheilende Taktsignal ein zweites mal, zurück zu allen Speichervorrichtungen. Das „nacheilende” Taktsignal ist als ein zweites Taktsignal definiert, das von jeder Speichervorrichtung empfangen wird. Bei diesem Durchlauf erreicht die Taktsignalflanke zuerst den Nacheilungstaktsignalpin 230 von Speichervorrichtung 222. Die Taktsignalflanke erreicht anschließend die Speichervorrichtungen 218 und 214 über den jeweiligen Nacheilungstaktsignalpin 232 bzw. 234. Die Taktsignalflanke, die von jeder Speichervorrichtung durch ihren Nacheilungstaktsignalpin empfangen wird, gilt als das „nacheilende” Taktsignal. Wenn die Taktsignalflanke für den Nacheilungstaktsignaldurchlauf an jeder jeweiligen Speichervorrichtung eintrifft, trifft sie in der umgekehrten Reihenfolge ein, in der sie während des Voreilungstaktsignaldurchlaufs eingetroffen war. Auf diese Weise weist die Speichervorrichtung 222 das am stärksten verzögerte „voreilende” Taktsignal auf, aber auch das am wenigsten verzögerte „nacheilende” Taktsignal. Ebenso weist die Speichervorrichtung 214 das am wenigsten verzögerte „voreilende” Taktsignal auf, aber auch das am stärksten verzögerte „nacheilende” Taktsignal.
-
Sobald die Taktsignalflanke ihren „voreilenden” und „nacheilenden” Durchlauf abgeschlossen hat, endet die Taktsignalflanke schließlich an dem Inline-Speichermodul 204, indem sie an Terminierungswiderstand 236 eintrifft. In einer Ausführungsform ermöglicht das Layout der Leiterbahn 212 für das voreilende Taktsignal, der Schleifenleiterbahn 226 und der Leiterbahn 228 für das nacheilende Taktsignal eine symmetrische Taktungsfunktion an allen Speichervorrichtungen, so daß der Mittelwert jedes gekoppelten „voreilenden” und „nacheilenden” Taktsignals ein „gemitteltes” Taktsignal ergibt, das für alle Speichervorrichtungen auf dem Inline-Speichermodul 204 gleich ist.
-
In einer Ausführungsform ist in jeder Speichervorrichtung ein FIFO-(First-In-First-Out)-Puffer angeordnet, der an den Kommando-/Steuerungsbus gekoppelt ist. Der FIFO verriegelt die eintreffende Steuerung/Kommando/Adresse mit dem voreilenden Taktsignal jeder Speichervorrichtung auf den Kommando-/Steuerungsbus. Dann gibt der FIFO die Steuerung/Kommando/Adresse mit dem gemittelten Taktsignal an den Kern jeder Speichervorrichtung frei. Anschließend erfolgen alle Kommando-/Steuerungsoperationen in jeder Speichervorrichtung synchron zu dem gemittelten Takt.
-
3 beschreibt das Taktdiagramm des voreilenden, nacheilenden und gemittelten Taktsignals für drei Speichervorrichtungen in einer Ausführungsform der Erfindung. In diesem Diagramm entspricht der Zeitpunkt Null einer Position 342 auf der Zeitachse. Zum Zeitpunkt Null initiiert der MCH in einem Computersystem einen Datenlese- oder -schreibzyklus an der Flanke des MCH-Taktsignals 300. Der Datenlese- oder -schreibzyklus wird durch ein Kommando 302 angezeigt, das an die Speichervorrichtungen ausgegeben wird. In einer Ausführungsform wird das Kommando 302 auch von einer Adresse begleitet. Die spezifische Taktsignalflanke wird im folgenden als die „ansteigende Taktsignalflanke” bezeichnet, obwohl die spezifische Taktsignalflanke in einer anderen Ausführungsform eine abfallende Flanke sein kann. Die Gültigkeit des Kommandos 302 kann während einer notwendigen Setup-Zeit vor der ansteigenden Taktsignalflanke und einer notwendigen Haltezeit nach der ansteigenden Taktsignalflanke gewährleistet werden. Auf diese Weise kann das Kommando 302 um die ansteigende Taktsignalflanke herum zentriert sein (wie in 3 gezeigt). Die ansteigende Taktsignalflanke weist zwischen ihrem Ursprung am MCH und ihrem Eintreffen am Inline-Speichermodul über einen Taktpin eine Übergangszeit auf. Diese Übergangszeit ist durch eine Zeitverzögerung 306 (d. h. Latenzzeit 306) dargestellt. Die ansteigende Signalflanke erreicht also nach einer Zeitverzögerung 306 den Taktpin am Inline-Speichermodul, gezeigt durch Taktsignal 304. Wieder ist das Kommando 308 für einen gesamten Zyklus von einer ansteigenden Flanke des Taktsignals bis zur nächsten ansteigenden Flanke gültig (dargestellt durch Taktsignal 304). Bei dem Kommando, das mit 302 und 308 bezeichnet ist, handelt es sich um dasselbe Kommando, das lediglich aufgrund der Übergangszeit von dem MCH zu dem Taktpin am Inline-Speichermodul mit der Zeitverzögerung 306 verzögert wurde.
-
Als nächstes bewegt sich die ansteigende Taktsignalflanke von dem Taktpin am Inline-Speichermodul zu der ersten Speichervorrichtung. Die Übergangszeit der ansteigenden Taktsignalflanke zwischen dem Taktpin am Inline-Speichermodul und der ersten Speichervorrichtung ist durch eine Zeitverzögerung 312 dargestellt. Nach der Zeitverzögerung 312 erreicht die ansteigende Taktsignalflanke also die erste Speichervorrichtung. Gezeigt bei dem Taktsignal 310 repräsentiert dies das voreilende Taktsignal der ersten Speichervorrichtung steht. Das Kommando 314 ist für einen gesamten Zyklus des Taktsignals gültig (d. h. zwischen den zwei ansteigenden Flanken, die an dem Taktsignal 310 der ersten Speichervorrichtung gezeigt sind). Wieder handelt es sich bei dem mit Kommando 314 bezeichneten Kommando um dasselbe Kommando wie 302 und 308, das lediglich basierend auf der Übergangszeit der ansteigenden Taktsignalflanke vom Zeitpunkt null 342 des MCH bis zum Eintreffen der ansteigenden Taktsignalflanke an der ersten Speichervorrichtung verzögert wurde (d. h. Zeitverzögerung 306 + Zeitverzögerung 312).
-
Die ansteigende Taktsignalflanke bewegt sich von der ersten Speichervorrichtung zu der zweiten Speichervorrichtung. Die Übergangszeit der ansteigenden Taktsignalflanke zwischen der ersten Speichervorrichtung und der zweiten Speichervorrichtung ist durch eine Zeitverzögerung 318 dargestellt. Nach der Zeitverzögerung 318 erreicht die ansteigende Taktsignalflanke also die zweite Speichervorrichtung. Gezeigt bei Taktsignal 316, repräsentiert dies das voreilende Taktsignal der zweiten Speichervorrichtung. Das Kommando 320 ist für einen gesamten Taktsignalzyklus gültig (d. h. zwischen den zwei ansteigenden Flanken, die an dem Taktsignal 316 der zweiten Speichervorrichtung gezeigt sind). Bei dem Kommando, das mit 320 bezeichnet ist, handelt es sich um dasselbe Kommando wie 302, 308 und 314, das lediglich basierend auf Übergangszeit der ansteigenden Taktsignalflanke vom Zeitpunkt null 342 des MCH bis zum Eintreffen der ansteigenden Taktsignalflanke an der zweiten Speichervorrichtung verzögert wurde (d. h. Zeitverzögerung 306 + Zeitverzögerung 312 + Zeitverzögerung 318).
-
Als nächstes bewegt sich die ansteigende Taktsignalflanke von der zweiten Speichervorrichtung zur dritten Speichervorrichtung. Die Übergangszeit der ansteigenden Taktsignalflanke zwischen der zweiten Speichervorrichtung und der dritten Speichervorrichtung ist durch eine Zeitverzögerung 324 dargestellt. Nach der Zeitverzögerung 324 erreicht die ansteigende Taktsignalflanke also die dritte Speichervorrichtung. Gezeigt bei Taktsignal 322, repräsentiert dies das voreilende Taktsignal der dritten Speichervorrichtung. Das Kommando 326 ist für einen gesamten Taktsignalzyklus gültig (d. h. zwischen den zwei ansteigenden Flanken, die an dem Taktsignal 322 der dritten Speichervorrichtung gezeigt sind). Bei dem Kommando, das mit 326 bezeichnet ist, handelt es sich um dasselbe Kommando wie 302, 308, 314 und 320, das lediglich basierend auf der Übergangszeit der ansteigenden Taktsignalflanke vom Zeitpunkt null 342 des MCH bis zum Eintreffen der ansteigenden Taktsignalflanke an der dritten Speichervorrichtung verzögert wurde (d. h. Zeitverzögerung 306 + Zeitverzögerung 312 + Zeitverzögerung 318 + Zeitverzögerung 324).
-
Sobald die ansteigende Taktsignalflanke alle Speichervorrichtungen des Inline-Speichermoduls erreicht hat, durchläuft sie eine Schleifenleiterbahn am Inline-Speichermodul. Dann erreicht die ansteigende Taktsignalflanke ein zweites Mal die dritte Speichervorrichtung als nacheilendes Taktsignal der dritten Speichervorrichtung, dargestellt durch Taktsignal 328. An diesem Punkt erzeugt die dritte Speichervorrichtung ein internes gemitteltes Taktsignal für sich selbst. Das gemittelte Taktsignal (dargestellt durch Taktsignal 330) wird erzeugt, indem ein Taktsignal mit einer ansteigenden Flanke erzeugt wird, das auf halbem Weg zwischen der ansteigenden Flanke des voreilenden Taktsignals 322 und der ansteigenden Flanke des nacheilenden Taktsignals 328 angeordnet ist. Auf diese Weise ist das gemittelte Taktsignal 330 mit Zeitverzögerung 332 gegenüber der ansteigenden Flanke des voreilenden Taktsignals 322 verzögert.
-
Als nächstes trifft die ansteigende Taktsignalflanke ein zweites Mal an der zweiten Speichervorrichtung als nacheilendes Taktsignal der zweiten Speichervorrichtung ein, dargestellt durch Taktsignal 334. An diesem Punkt erzeugt die zweite Speichervorrichtung ein internes gemitteltes Taktsignal für sich selbst. Das gemittelte Taktsignal (dargestellt durch Taktsignal 336) wird erzeugt, indem ein Taktsignal mit einer ansteigenden Flanke erzeugt wird, das auf halbem Weg zwischen der ansteigenden Flanke des voreilenden Taktsignals 316 und der ansteigenden Flanke des nacheilenden Taktsignals 334 angeordnet ist. Auf diese Weise ist das gemittelte Taktsignal 336 der zweiten Speichervorrichtung gegenüber der ansteigenden Flanke des voreilenden Taktsignals 316 um eine Zeitverzögerung verzögert, die Zeitverzögerung 332 + Zeitverzögerung 324 entspricht.
-
Schließlich trifft die ansteigende Taktsignalflanke ein zweites Mal an der ersten Speichervorrichtung als nacheilendes Taktsignal der ersten Speichervorrichtung ein, dargestellt durch Taktsignal 338. An diesem Punkt erzeugt die erste Speichervorrichtung ein internes gemitteltes Taktsignal für sich selbst. Das gemittelte Taktsignal (dargestellt durch Taktsignal 340) wird erzeugt, indem ein Taktsignal mit einer ansteigenden Flanke erzeugt wird, das auf halbem Weg zwischen der ansteigenden Flanke des voreilenden Taktsignals 310 und der ansteigenden Flanke des nacheilenden Taktsignals 338 angeordnet ist. Auf diese Weise ist das gemittelte Taktsignal 340 der dritten Speichervorrichtung gegenüber der ansteigenden Flanke des voreilenden Taktsignals 310 um eine Zeitverzögerung verzögert, die Zeitverzögerung 332 + Zeitverzögerung 324 + Zeitverzögerung 318 entspricht.
-
Auf diese Weise wird unabhängig für alle drei Speichervorrichtungen ein gemitteltes Taktsignal erzeugt. Insbesondere erzeugt jede Speichervorrichtung ihren eigenen gemittelten Takt intern. Eine spezifische ansteigende Flanke des gemittelten Taktsignals ist bei allen drei Speichervorrichtungen identisch, wobei keine Zeitverzögerungen zwischen den Vorrichtungen vorliegen (d. h. die gemittelten Taktsignale 330, 336 und 340 sind hinsichtlich Verzögerung und Phase in Bezug auf den MCH äquivalent). Deshalb existiert nun ein einziger Taktbereich für alle Speichervorrichtungen. Jede Speichervorrichtung kann den gemittelten Takt benutzen, um I/O-Übertragungen an die Speichervorrichtung auszurichten, und um Speichervorrichtungsübertragungen an den I/O auszurichten. Wenn also der gemittelte Takt benutzt wird, um Daten von den Speichervorrichtungen an den MCH zu senden, treffen diese zum selben Zeitpunkt ein, wobei der MCH keine Zeitverzögerung zwischen den Empfängen der Daten von einer der Speichervorrichtungen wahrnimmt. In unterschiedlichen Ausführungsformen kann dieses Verfahren zum Erzeugen eines äquivalenten Taktsignals auf eine beliebige Anzahl von Speichervorrichtungen (z. B. 2, 3, 4, 8, 16 usw.) erweitert werden.
-
4 zeigt ein Verfahren zum Erzeugen eines gemittelten Taktsignals in einer Ausführungsform der Erfindung. Am Startpunkt 400 des Verfahrens wird ein voreilendes Taktsignal von einer Speichervorrichtung empfangen 402. In einer Ausführungsform kann dieses voreilende Taktsignal von einem MCH erzeugt werden. In anderen Ausführungsformen kann das Taktsignal von jedem beliebigen integrierten Schaltkreis oder jeder Taktungskomponente eines Computersystems erzeugt werden. In einer Ausführungsform wird das Taktsignal über eine Leiterbahn empfangen. Die Leiterbahn kann über eine Hauptplatine, ein Inline-Speichermodul und/oder jede andere Form von Medium geführt werden, auf dem Leiterbahnen geführt sind. Als nächstes empfängt die Speichervorrichtung 404 ein nacheilendes Taktsignal. In einer Ausführungsform ist dieses nacheilende Taktsignal dasselbe Taktsignal wie das voreilende Taktsignal, jedoch verzögert um eine zusätzliche Übergangszeit, da es über eine längere Leiterbahn geleitet wurde. Zuletzt wird durch die Speichervorrichtung unter Verwendung des empfangenen voreilenden Taktsignals und des nacheilenden Taktsignals ein gemitteltes Taktsignal erzeugt und das Verfahren endet 408. In einer Ausführungsform wird das gemittelte Taktsignal erzeugt, indem der Zeitpunkt der ansteigenden Flanke des voreilenden Taktsignals bestimmt wird, der Zeitpunkt der ansteigenden Flanke des nacheilenden Taktsignals bestimmt wird, und ein gemitteltes Taktsignal erzeugt wird, das eine ansteigende Flanke auf halbem Zeitweg zwischen dem Zeitpunkt der ansteigenden Flanke des voreilenden Taktsignals und dem Zeitpunkt der ansteigenden Flanke des nacheilenden Taktsignals aufweist.
-
Somit wurden Ausführungsformen eines wirksamen Verfahrens zum Normieren der Latenzzeit eines Systemspeichers durch Ausgleichen voreilender und nacheilender Takte offenbart. Diese Ausführungsformen wurden unter Bezugnahme auf spezifische Ausführungsbeispiele davon beschrieben. Personen, die aus dieser Offenbarung Nutzen ziehen, werden jedoch erkennen, daß verschiedene Modifikationen und Veränderungen an diesen Ausführungsformen vorgenommen werden können, ohne von der Idee und dem Umfang der hier beschriebenen Ausführungsformen im weiteren Sinne abzuweichen. Die Beschreibung und die Figuren sind deshalb als veranschaulichend und nicht als beschränkend zu verstehen.