-
Die
Erfindung betrifft ein Verfahren zum Messen und Kompensieren von
Versatz von Datenübertragungsleitungen,
wobei jede eine Datenübertragungseinrichtung
mit einer Datenempfangseinrichtung verbindet. Ein digitaler Verzögerungszeitausgleich
wird von parallelen Datenverbindungen ohne eine Referenzleitung
durchgeführt.
-
Speicherbausteine,
die in dem folgenden Text als DIMM (Dual In-Line Memory Modules)
bezeichnet werden, besitzen einen definierten physikalischen Umfang.
Zurückzuführen auf
die endliche Ausbreitungsgeschwindigkeit von elektrischen Signalen,
korrespondiert der physikalische Umfang des DIMM somit zu einer Verzögerungszeit
des elektrischen Signals, die es benötigt, um von einer Signalquelle
zu einer Signalsenke zu laufen. Dieses Phänomen wird im Allgemeinen als
der „Leitungseffekt" bezeichnet, das
bedeutet, dass die „elektrische
Länge" der Zusammenschaltungen
nicht länger
ignoriert werden kann. Dieses ist die Situation, wenn die Komponente
mit der in dem Signal auftretenden höchsten Frequenz eine Wellenlänge aufweist,
welche in der gleichen Größenordnung
liegt wie die physikalische Ausdehnung zwischen der Signalquelle
und der Signalsenke.
-
Je
höher die
Datenrate in einem DIMM ist, je höher sind die Frequenzen der
Frequenzanteile und je kürzer
sind die physikalischen Umfänge
bzw. Ausdehnungen, für
welche dieser Leitungseffekt in Betracht gezogen werden muss. Die
heutigen Speicherentwicklungen benutzen Datenraten DR, die als ein
Er gebnis des beschriebenen Gegenstands zu bedeutenden zeitkritischen
Problemen führen.
Diese vorliegenden Speicherentwicklungen haben das besondere charakteristische
Merkmal eines zentralen integrierten Schaltkreises (IC) oder Speicherpuffer,
der auf jedem DIMM aufgebracht ist. Dieser IC erzeugt die elektrischen
Signale zur Kommunikation mit den lokalen Speicherbausteinen, das
heißt
auf dem DIMM.
-
Der
grundlegende Aufbau nach dem Stand der Technik ist in 1 dargestellt. Wie daraus
ersichtlich ist, ist hierbei ein Bereich von unterschiedlichen Signalen
angezeigt, welche entweder von unterschiedlicher Länge (DQ/DQS)
sind oder gleichzeitig von einer großen Zahl von Speicherbausteinen
(CA) empfangen werden. Der HUB in der Mitte des Dualen-In-Line-Speicherbausteins
(DIMM) oder -Memory Modules ist über
bidirektionale Datenübertragungsleitungen,
die einen Datenbus bilden, mit den DRAM-Chips auf demselben Speicherbaustein
verbunden. Weiterhin ist der HUB oder Speicherpuffer über einen
Befehls- und Adressbus (CA) mit den DRAMs verbunden. Das Dual In-Line
Memory Module wie in 1 dargestellt
kann an eine Hauptplatine bzw. ein so genanntes Motherboard angeschlossen
sein, welches einen Mikroprozessor aufweist. Der HUB oder Speicherpuffer
in der Mitte des Dualen-In-Line-Speicherbausteins
ist über
einen Datenbus mit dem Mikroprozessor verbunden und versorgt den
Mikroprozessor mit gelesenen Daten aus den DRAMs. Da Abstände der
DRAMs zu dem Speicherpuffer unterschiedlich sind, werden aus den
DRAMs gelesene Daten den HUB oder Speicherpuffer in der Mitte des
Dualen-In-Line-Speicherbausteins
zu unterschiedlichen Zeiten erreichen, was auf die Signal-Fortpflanzungszeit
zurückzuführen ist.
-
2 zeigt ein Blockdiagramm
eines Dualen-In-Line-Speicherbausteins
mit einem Befehls- und Adressbus sowie Datenbussen, die jeden DRAM
mit dem zentralen HUB verbinden.
-
3 stellt eine allgemeine
Anordnung gemäß dem Stand
der Technik dar, welche einen zentralen Empfänger (HUB) und X übertragende
DRAM-Bausteine aufweist. Der gesamte Datenbus hat eine Breite von n
Bits, so dass jeder übertragende
DRAM eine Datenbuskomponente von n/N Bits überträgt. Beispielsweise kann ein
72 Bit Datenbus eines DIMM mit DRAMs in jedem Fall mit einer 8 Bit
Datenbuskomponente ausgeführt
werden. Die beschriebenen Leitungseffekte bedeuten, dass Daten unterschiedlichen
Verzögerungszeiten in
unterschiedlichen Verbindungsschaltungen unterzogen werden. In dem
Zeitpunkt t1 senden alle n übertragenden
DRAMs gleichzeitig ihre Datenbuskomponenten an den Empfänger, der
innerhalb des Speicherpuffers (HUB) angeordnet ist. Auf Grund ihrer
unterschiedlichen Verzögerungszeiten;
welche durch die unterschiedlichen Abstände zwischen den übertragenden
DRAMs und dem Empfänger
innerhalb des HUB verursacht werden, erreichen die individuellen
Datenbuskomponenten den Empfänger
zu unterschiedlichen Zeiten (Zeiten t2, t3 und t4). Für parallele
Datenübertragung
ist es jedoch notwendig, dass alle Informationseinheiten (Bits),
die zu einem ganzen Datenwort gehören, den Empfänger innerhalb
eines Übertragungstaktzyklus' erreichen. In einer
herkömmlichen
Anordnung führt
diese Tatsache zu einer Begrenzung der maximalen Datenübertragungsrate
an dem Datenbus, da die schnelleren Datensignale, die von den DRAMs
nahe am HUB stammen, immer auf die langsameren Signale von den weit
entfernteren DRAMs warten müssen,
bevor ein neuer Übertragungszyklus
beginnen kann.
-
4 stellt das Problem dar,
dass die Vollständigkeit
der auf einem parallelen Datenbus übertragenen Datensignale durch
die unterschiedlichen Leitungsverzögerungszeiten gefährdet ist.
Wie aus 4 ersichtlich ist,
kann der Empfänger
die Daten nicht eher akzeptieren als frühestens zum Zeitpunkt „Daten
vollständig". Dieses zeigt ebenfalls,
dass die maximale Datenrate DR max dadurch beeinflusst wird. Der Übertrager,
der am nächsten
am Empfänger
liegt (HUB), darf nicht eher mit dem Übertragen des nächsten Datenelementes
beginnen, bis alle anderen (langsameren) Datenelemente den Empfänger erreicht
haben.
-
Ein
herkömmliches
Verfahren nach dem Stand der Technik zum Kompensieren von unterschiedlichen Verzögerungszeiten
besteht darin, die Verbindungen bzw. Leiterbahnen in einer mäanderförmigen Gestalt
auf der gedruckten Schaltung bzw. Leiterplatte (PCB) zu routen.
Dieses herkömmliche
Verfahren zur Kompensierung ist jedoch für viele Anwendungen ganz ungeeignet,
da die Mäander
zusätzlichen
Platz auf der gedruckten Schaltung erforderlich machen.
-
Ein
weiteres Verfahren nach dem Stand der Technik legt einen zusätzlichen
Referenzkanal mit einem definierten Datenanteil zwischen dem Sender
bzw. Überträger und
dem Empfänger
fest. Da es jedoch eine Zahl von Empfängerbausteinen auf einem DIMM
gibt, erhöht
dieses zusätzlich
die Komplexität.
Diese bekannten Verfahren aus dem Stand der Technik sind daher nur
bis zu einem bestimmten Ausmaß zum
Bestimmen und Kompensieren der Verzögerungszeit von Datenbits geeignet.
-
Das
erfindungsgemäße Verfahren
hat die Aufgabe, Einschränkungen
der Datenübertragungsrate
zu verhindern und nichtsdesto weniger die Vollständigkeit der übertragenen
Daten sicherzustellen.
-
Das
erfindungsgemäße Verfahren
hat die Aufgabe, die Einschränkung
der Datenübertragungsrate
zu verhindern und nichtsdestoweniger die Vollständigkeit der übertragenen
Daten sicherzustellen.
-
Diese
Aufgabe wird gelöst
durch ein Verfahren mit den Merkmalen des Hauptpatentanspruchs 1.
-
Die
Erfindung schafft ein Verfahren zum Messen und Kompensieren von
Bitversatz von Datenübertragungsleitungen,
welche mindestens eine Datenübertragungseinrichtung
mit einer Datenempfangseinrichtung verbinden, mit den folgenden
Verfahrensschritten für
jede Datenübertragungsleitung:
Messen
der relativen Zeitverzögerung
der Datenübertragungsleitung
durch Senden einer festgelegten Folge von Messvektoren (MV) über die
Datenübertragungsleitung,
wobei jeder Messvektor (MV) aus einem abwechselnden Bitmuster besteht,
wobei die Bitwechselfrequenz mit jedem übertragenem Messvektor (MV)
halbiert wird;
Vergleichen der empfangenen Messvektoren (MV'), die über die
Datenübertragungsleitung übertragen
wurden, mit zugehörigen
Referenzvektoren (RV), welche in der Datenempfangseinrichtung gespeichert
sind;
Verschieben der empfangenen Messvektoren (MV') durch Einfügen von
Dateneinheitsintervallen (UI) bis ein empfangener Messvektor (MV') mit einem zugehörigen Referenzvektor
(RV) übereinstimmt;
Berechnen
eines relativen Bitversatzes der Übertragungsleitung in Abhängigkeit
von der Anzahl von eingefügten
Dateneinheitsintervallen (UI) in Bezug auf eine langsamste Datenübertragungsleitung;
und
Kompensieren des berechneten relativen Bitversatzes der
Datenübertragungsleitung
mittels Verzögerungselementen,
welche in Abhängigkeit
von dem berechneten relativen Bitversatz geschaltet werden.
-
In
einer bevorzugten Ausführung
des Verfahrens zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen,
weist es die folgenden Verfahrensschritte für jede Datenübertragungsleitung
auf:
- (a) Initialisieren eines Iterationsschleifen-Zählers (i)
und einer Einfügungs-Zählvariable
auf Null (i := 0; Einfügung
:= 0);
- (b) Aktivieren der Datenübertragungseinrichtung
zum Übertragen
eines Messvektors (MVi), welcher aus einem
abwechselnden Bitmuster mit einer vorher festgelegten Bitwechselfrequenz
besteht, über
die Datenübertragungsleitung
zu der Datenempfangseinrichtung, wobei jedes Bit während eines
vorher festgelegten Dateneinheitsintervalls (UI) übertragen
wird,
wobei der Messvektor (MVi) zu
einem Referenzvektor (RVi) korrespondiert,
der in der Datenempfangseinrichtung gespeichert ist;
- (c) Vergleichen des von der Datenempfangseinrichtung über die
Datenübertragungsleitung
empfangenen Messvektors (MVi) mit dem gespeicherten
Referenzvektor (RVi);
- (d) wobei bis zum Übereinstimmen
des empfangenen Messvektors (MV'i) mit dem gespeicherten Referenzvektors
(RVi) die folgenden Teilschritte in einer
Iterationsschleife durchgeführt
werden:
In einer bevorzugten Ausführungsform des Verfahrens zum
Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen, weist
das Berechnen der relativen Versätze
der Datenübertragungsleitung die
folgenden Verfahrensschritte auf:
- (e1) Erhöhen
des Iterationsschleifen-Zählers
(i) (i = i + 1);
- (e2) Aktivieren der Datenübertragungseinrichtung
zum Übertragen
eines nächsten
Messvektors, der die halbe Bitwechselfrequenz des letzten Messvektors
aufweist, welcher in der Iterationsschleife im Verfahrensschritt
(d) über
die Datenübertragungsleitung
an die Datenempfangseinrichtung übertragen
wurde;
- (e3) Ersetzen des in der Iterationsschleife des Verfahrensschritts
(d) verwendeten letzten Referenzvektors (RV) durch einen Referenzvektor,
der zu dem im Verfahrensschritt (e2) übertragenen Messvektor korrespondiert;
- (e4) Vergleichen des von der Datenempfangseinrichtung empfangenen
Messvektors (MV')
mit dem im Verfahrensschritt (e3) ersetzten Referenzvektor;
- (e5) wobei der Versatz der Übertragungsleitung
wie folgt berechnet wird:
Versatz = 21 – Einfügung
für den Fall,
dass die im Verfahrensschritt (e4) verglichenen Vektoren nicht übereinstimmen,
und wie folgt berechnet wird:
Versatz = – Einfügung
für den Fall, dass die im Verfahrensschritt
(e4) verglichenen Vektoren übereinstimmen,
wobei Einfügung
die im Verfahrensschritt (d4) akkumulierte Einfügungs-Variable ist.
-
In
einer bevorzugten Ausgestaltung wird ein Verfahren zum Messen und
Kompensieren von Bitversatz einer Datenübertragungsleitung ausgeführt, wenn
die Datenempfangseinrichtung hochgefahren wird.
-
In
einer bevorzugten Ausführung
werden Daten von der Datenübertragungseinrichtung
an die Datenempfangseinrichtung in einem normalen Datenübertragungsmodus übertragen,
nachdem das Kompensieren des Versatzes alle Datenübertragungsleitungen
durchgeführt
worden ist.
-
In
einer bevorzugten Ausführungsform
sind die Datenübertragungseinrichtungen
DRAMs.
-
In
einer bevorzugten Ausführungsform
ist die Datenempfangseinrichtung ein HUB eines Speicherbausteins.
-
In
bevorzugter Ausgestaltung weist die Datenempfangseinrichtung für jede Datenübertragungsleitung eine
Takt- und Datenrückgewinnungseinheit
auf, um mit dem ersten über
die Übertragungsleitung übertragenen
Messvektor mitzulaufen.
-
In
einer bevorzugten Ausführung
des Verfahrens zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen,
werden zum Kompensieren des Versatzes der Datenübertragungsleitung die folgenden
Verfahrensschritte durchgeführt:
Bestimmen
des maximalen Versatzes (skew max) der berechneten Versätze aller
Datenübertragungsleitungen;
Berechnen
eines relativen Versatzes einer jeden Datenübertragungsleitung mit Bezug
auf den maximalen Versatz der langsamsten Datenübertragungsleitung,
und
Verzögern
jeder Datenübertragungsleitung
mit ihrem berechneten relativen Versatz.
-
In
einer bevorzugten Ausführung
des erfindungsgemäßen Verfahrens
wird die Datenübertragungseinrichtung
mittels eines Anforderungssignals aktiviert, welches über eine
separate Steuerleitung von der Datenempfangseinrichtung der Datenübertragungseinrichtungen
gesendet wird.
-
In
bevorzugter Ausgestaltung werden die Datenübertragungseinrichtungen gleichzeitig
aktiviert.
-
In
einer bevorzugten Ausführungsform
des Verfahrens der vorliegenden Erfindung bildet die Datenübertragungsleitung
einen Teil eines bidirektionalen Datenbus.
-
In
einer bevorzugten Ausführung
des erfindungsgemäßen Verfahrens
wird das Vergleichen der empfangenen Messvektoren und der Referenzvektoren
mittels einer EXOR-Logik ausgeführt.
-
Im
Folgenden werden bevorzugte Ausführungsformen
des erfindungsgemäßen Verfahrens
zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen
mit Bezugnahme auf die beigefügten Zeichnungen
beschrieben.
-
1 zeigt einen Dual-In-Line-Speicherbaustein
gemäß dem Stand
der Technik;
-
2 zeigt ein Blockdiagramm
eines Dual-In-Line-Speicherbausteins
gemäß dem Stand
der Technik;
-
3 zeigt ein Diagramm zur
Darstellung des der vorliegenden Erfindung zu Grunde liegenden Problems;
-
4 zeigt ein Impulsdiagramm
zur Darstellung des der vorliegenden Erfindung zu Grunde liegenden Problems;
-
5 zeigt ein Impulsdiagramm
zur Darstellung des durch das erfindungsgemäße Verfahren erzielten Ergebnisses;
-
6 zeigt ein Blockdiagramm
einer erfindungsgemäßen Basisanordnung;
-
7 zeigt ein Flussdiagramm
einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens zum
Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen;
-
8 zeigt ein Flussdiagramm
eines Vorgangs zum Messen von Versatz gemäß der vorliegenden Erfindung;
-
9 zeigt Beispiele zur Darstellung
der Funktionalität
des erfindungsgemäßen Verfahrens
zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen;
-
10 zeigt ein zweites Beispiel
zur Darstellung der Funktionalität
des erfindungsgemäßen Verfahrens
zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen;
-
11 zeigt ein Flussdiagramm
eines Vorgangs zum Kompensieren von Versatz gemäß der vorliegenden Erfindung.
-
5 stellt im Prinzip das
Ergebnis dar, welches durch das Verfahren gemäß der vorliegenden Erfindung
erreicht wird. Die in den Datenbits angezeigten Zahlen stellen die
Verbindung dar, das bedeutet, dass alle mit „1" bezeichneten Bits einen Bestandteil
eines Datenwortes 1, alle mit „2" bezeichneten Bits einen Bestandteil
eines Datenwortes 2 bilden und so weiter. Wie zu sehen
ist, weist die Datenleitung n eine Verzögerung von 3 UI im Vergleich
zu der Datenleitung 1 und 2 UI in Vergleich zu der Datenleitung 2 auf.
Wenn die Verzögerungszeit
der individuellen Signale bekannt ist, können die schnelleren Signale
in dem Empfänger künstlich
verzögert
werden (De-Skewing bzw. Auflösen
von Bitversatz). Dieses erfolgt mittels einer geeigneten Zahl (m)
von Verzögerungselementen,
welche jedes Datensignal durch einen Taktimpuls oder Taktperiode
verzögern,
und folglich durch ein UI. Nach dieser eingefügten Verzögerung wird die Integrität der Daten
nochmals sichergestellt, mit dem Vorteil, dass die aktuellen Datenübertragungsrate
DR beachtlich erhöht
werden kann.
-
Die
Verzögerungselemente
sind zur Kompensation des Bitversatzes von n Datenübertragungsleitungen
vorgesehen, die m Datenübertragungseinrichtungen
mit der Datenempfangseinrichtung verbinden. Zur Kompensation des
Bitversatzes der Datenübertragungsleitungen
wird der relative Bitversatz einer jeden Datenübertragungsleitung mit Bezug
auf die langsamste Datenübertragungsleitung
berechnet. Das in 5 gezeigte
Beispiel stellt eine Datenübertragungsleitung
n mit einem relativen Bitversatz Sn2 von
2 UI in Bezug auf Datenübertragungsleitung 2 und
mit einem relativen Bitversatz Sn1 von 3
UI in Bezug auf Datenübertragungsleitung 1 dar.
Das Verfahren gemäß der vorliegenden
Erfindung legt den maximalen relativen Bitversatz von allen Datenübertragungsleitungen
mit Bezug auf die langsamste Datenübertragungsleitung fest, welcher
in dem in 5 dargestellten
Beispiel 3 UI beträgt.
-
Die
Datenübertragungsleitung 1 weist
einen relativen Bitversatz S1n zu der langsamsten
Datenübertragungsleitung
n von 3 UI auf. Demgemäß wird die
erste Datenübertragungsleitung 1 mit
einem relativen Bitversatz von 3 UI nach dem erfindungsgemäßen Verfahren
verzögert.
Die Datenübertragungsleitung 2 mit
einem relativen Bitversatz S2n von 2 UI
mit Bezug auf die langsamste Datenübertragungsleitung n wird mit
dem berechneten relativen Bitversatz von 2 UI verzögert. Die
langsamste Datenübertragungsleitung
n wird nicht verzögert.
-
Die
Kompensation der berechneten relativen Bitversätze der Datenübertragungsleitungen
wird mittels Verzögerungselementen
durchgeführt,
welche in Abhängigkeit
von den berechneten relativen Bitversätzen der Datenübertragungsleitungen
geschaltet werden. Jede Datenübertragungsleitung
ist mit einer Kette von in Serie verbundenen Verzögerungselementen
verbunden, welche in Abhängigkeit
von einem Steuersignal gemäß den be rechneten
Bitversätzen
der Datenübertragungsleitungen
geschaltet werden.
-
Wie
aus 5 ersichtlich ist,
weisen das von den Verzögerungselementen
ausgegebene Datenbit zu jeder Zeit nur Datenbits auf, welche zu
demselben Datenwort gehören.
Dieses parallele Ausgangssignal mit kompensiertem Bitversatz wird
von dem Speicherpuffer 2 an den auf der Hauptplatine bzw.
auf dem Motherboard angeordneten Mikroprozessor geleitet.
-
6 zeigt eine Anordnung für das Verfahren
zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen
gemäß der vorliegenden
Erfindung.
-
DRAMs 1-i und
ein Speicherpuffer oder HUB 2 sind über eine Datenübertragungsleitung 3-i verbunden.
Zur Vereinfachung der Darstellung ist jeder DRAM-Chip 1-i an
den Speicherpuffer 2 über
eine Datenübertragungsleitung 3-i angeschlossen.
In einer realen Anordnung ist jeder DRAM-Chip 1-i an den
Speicherpuffer 2 über
parallele Datenleitungen angeschlossen, welche einen Bestandteil
eines bidirektionalen Datenbusses bilden. In einer typischen Anordnung
sind neun DRAM-Bausteine 1-i vorgesehen, wobei jeder an
den Speicherpuffer 2 über
acht Datenübertragungsleitungen
angeschlossen ist, welche einen bidirektionalen Datenbus mit einer
Datenbusbreite von 72 Bit bilden. Jede Datenübertragungsleitung 3-i verbindet,
wie in 6 gezeigt, eine
Datenübertragungseinrichtung 4-i innerhalb
eines DRAM-Bausteins 1-i und eine Datenempfangseinrichtung 5-i innerhalb
des Speicherpuffers 2. Für einen bidirektionalen Datenbus
mit einer Datenbreite von 72 Bit sind 72 Datenempfangseinrichtungen 5-i innerhalb
des HUB oder Speicherpuffers 2 vorgesehen. Da die DRAM-Bausteine 1-i unterschiedliche
Abstände
zu dem Speicherpuffer 2 aufweisen, vari iert die Länge der
Datenübertragungsleitungen 3-i zwischen
den DRAM-Bausteinen 1-i und dem Speicherpuffer 2 dergestalt, dass
Bitversätze
oder Zeitverzögerungen
auf den jeweiligen Datenübertragungsleitungen
auftreten, die kompensiert werden müssen.
-
Jeder
DRAM-Baustein 1-i weist eine Datenquelle 6-i von
gespeicherten Daten, die in den Speicherpuffer 2 eingelesen
werden sollen, und einen Mustergenerator 7-i auf, welcher
die Messvektoren MV erzeugt, die zum Messen des Bitversatzes der
jeweiligen Datenübertragungsleitung 3-i verwendet
werden. In den korrespondierenden Empfangseinrichtungen 5-i werden
Referenzdatenvektoren RV gespeichert. In einer bevorzugten Ausführungsform
stammen die Messvektoren MV aus dem Speicherbereich und werden im
voraus zum Messvorgang vorher geladen.
-
Der
Speicherpuffer 2 weist eine Steuereinheit 8 auf,
welche über
eine Steuerleitung 9-i mit dem Messmustergenerator 7-i eines
jeden DRAM-Bausteins 1-i angeschlossen ist. Die Steuereinheit 8 sendet
einen Anforderungsbefehl zum Messen gleichzeitig an alle Mustergeneratoren 7-i über eine
jeweilige Steuerleitung 9-i. Jeder DRAM-Baustein 1-i weist
weiterhin Multiplexereinrichtungen 10-i auf. In dem normalen
Datenübertragungsmodus
wird die Datenquelle 6-i eines jeden DRAM-Bausteins 1-i,
welcher mit einem ersten Eingang der Multiplexereinrichtung 10-i über eine
Datenleitung 11-i verbunden ist, von dem Multiplexer 10-i auf
die Datenübertragungseinrichtung
4-i durchgeschaltet.
-
Bei
Empfang des Anforderungsbefehls zum Messen von der Steuereinheit 8 wird
die Multiplexereinrichtung 10-i auf den anderen Eingang
geschaltet, das heißt,
der Mustergenerator 7-i wird von der Steuereinheit 8 aktiviert
und auf die Datenüber tragungseinrichtung 4-i geschaltet.
Eine vorher festgelegte Folgen von Messvektoren MV wird über die
Datenübertragungsleitung 3-i zu
der korrespondierenden Datenempfangseinrichtung 5-i übertragen.
In der Datenempfangseinrichtung 5-i sind zu den übertragenen
Messvektoren (MV) korrespondierende Referenzvektoren (RV) gespeichert.
Die Referenzvektoren RV weisen das gleiche Bitmuster wie die übertragenen
Messvektoren MV auf.
-
7 zeigt ein Flussdiagramm
einer bevorzugten Ausführungsform
des Verfahrens zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen
gemäß der vorliegenden
Erfindung.
-
Nach
dem Start im Verfahrensschritt S0 wird der Speicherpuffer HUB 2 in
einem Verfahrensschritt S1 eingeschaltet. Die Steuereinheit 8 des
Speicherpuffers 2 sendet eine Anforderung an alle DRAMs 1-i in
einem Verfahrensschritt S2, um mit der Übertragung von Messvektor MV
zu beginnen.
-
In
einem Verfahrensschritt S3 werden die Bitversätze von allen Datenübertragungsleitungen 3-i des bidirektionalen
Datenübertragungsbusses
gemessen.
-
Nachdem
das Messen der Bitversätze
auf den Datenübertragungsleitungen
vollständig
durchgeführt ist,
werden die Bitversätze
in einem Verfahrensschritt S4 kompensiert.
-
Nach
Kompensation der Bitversätze
werden die DRAM-Bausteine in einem Verfahrensschritt S5 in einen
normalen Betriebsmodus geschaltet, um auf Anforderung in den Datenquellen 6-i gespeicherte
Daten über
die Datenübertragungsleitungen 3-i zu
den jeweiligen Datenempfangseinrichtungen 5-i zu übertragen.
-
Das
Verfahren endet mit Verfahrensschritt S6.
-
8 zeigt ein Flussdiagramm
des Vorgangs zum Messen von Bitversatz in Verfahrensschritt S3.
-
Im
Verfahrensschritt S3-0 wird der Vorgang zum Messen von Bitversatz
gestartet.
-
In
einem ersten Verfahrensschritt S3-1 wird eine Takt- und Datenrückgewinnungseinheit
freigeschaltet, um mit den über
die Datenübertragungsleitungen 3-i übertragenen
Daten mitzulaufen bzw. mit ihnen synchron zu laufen. Weiterhin wird
ein Iterationsschleifenzähler
i initialisiert und auf Null gesetzt. Weiterhin wird eine Einfügungs-Variable
(Einfügung)
auf Null zurückgesetzt.
Die Steuereinheit 8 aktiviert die Datenübertragungseinrichtung 4-i,
um einen Messvektor MV mit einem wechselnden Datenbitmuster mit
einer Wechselfrequenz über
die Datenübertragungsleitungen 3-i an
die Datenempfangseinrichtung 5-i zu übertragen. Der erste Messvektor
MV∅, der über die Datenübertragungsleitung 3-i übertragen
wird, weist die höchste
Wechselfrequenz auf, das heißt,
dass der Mustergenerator 7-i einen Messvektor MV∅ mit einem Bitmuster überträgt, in dem
ein hohes Bit („1") und ein niedriges
Bit („0") sich abwechseln,
wobei jedes Bit eine Zeitlänge
eines Taktsignals CLK aufweist.
MV∅ = „10101010..."
-
Der
korrespondieren Referenzvektor RV ist innerhalb der Datenempfangseinrichtung 5-i gespeichert.
-
In
einem Verfahrensschritt S3-3 vergleicht eine Datenvergleichseinheit
innerhalb der Datenempfangseinrichtung 5-i den über die
Datenübertragungsleitung 3-i empfangenen
Messvektor MV mit dem in einer Speichereinheit gespeicherten korrespondierenden
Referenzvektor RV.
-
Wenn
im Verfahrensschritt S3-3 entschieden wird, dass der empfangene
Messvektor MV und der gespeicherte Referenzvektor RV nicht übereinstimmen,
wird in eine Iterationsschleife eingestiegen.
-
In
einem Verfahrensschritt S3-4 wird eine Zahl N von Dateneinheitsintervallen
(UI) eingefügt,
indem der empfangene Messvektor MV mittels eines Schieberegisters
verschoben wird. Die Zahl der eingefügten Datenintervalle (UI) wird
gezählt,
indem eine Einfügungs-Variable
(Einfügung)
erhöht
wird:
Einfügung
= Einfügung
+ N,
wobei gilt: N = 21
-
In
einem Verfahrensschritt S3-6 wird der Iterationsschleifenzähler i erhöht und der
zu vergleichende aktuelle Referenzvektor RVi wird
durch den nächsten
Referenzvektor RVi+1 ersetzt, welcher die
halbe Bitwechselfrequenz der vorhergehenden Referenzvektors RV aufweist;
In
einem Verfahrensschritt S3-7 sendet die Steuereinheit 8 des
Speicherpuffers 1 eine Anforderung an die DRAMs 1-i,
um die Datenübertragungseinrichtungen 7-i zu
aktivieren, damit diese den nächsten
Messvektor (MVi+1) übertragen, der die halbe Bitwechselfrequenz
des vorhergehenden Messvektors (MVi) aufweist.
Dann kehrt der Verlauf zu dem Verfahrensschritt S3- 2 zurück. Nachdem
die Iterationsschleife mehrmals durchlaufen ist, wird der Vergleich
im Verfahrensschritt S3-2 schließlich eine Übereinstimmung zwischen dem
aktuellen Messvektor MV und dem aktuellen Referenzvektor RV feststellen.
Der Verlauf verlässt
die Schleife im Verfahrensschritt S3-3 nachdem eine Übereinstimmung
von der Vergleichseinrichtung der Datenempfangseinrichtung 5-i angezeigt
wurde, um mit dem Verfahrensschritt S3-8 fortzufahren. Im Verfahrensschritt
S3-8 wird der Iterationsschleifenzähler i erhöht (i := i + 1).
-
Im
Verfahrensschritt S3-9 aktiviert die Steuereinheit 8 des
Speicherpuffers 2 die Datenübertragungseinrichtung 7-i,
um einen nächsten
Messvektor (MVi+1) mit der halben Bitwechselfrequenz
des letzten, in der Iterationsschleife im Verfahrensschritt S3-7 übertragenen
Messvektors zu übertragen.
Für den
Vergleich ersetzt ein aktueller Referenzvektor RVi+1 den
letzten Referenzvektor RVi, der in der Iterationsschleife
im Verfahrensschritt S3-2 verwendet wurde. Der nächste über die Datenübertragungsleitung 3-i übertragene
Messvektor MV wird mit dem ersetzten Referenzvektor RVi+1 verglichen,
um festzustellen, um diese übereinstimmen.
-
Im
Verfahrensschritt S3-11 wird entschieden, ob beide Vektoren übereinstimmen.
Wenn beide Vektoren nicht übereinstimmen,
wird der Bitversatz der jeweiligen Datenübertragungsleitung im Verfahrensschritt S3-12
wie folgt berechnet:
Bitversatz = 21 – Einfügung, wobei
Einfügung
die im Verfahrensschritt S3-4 der Iterationsschleife aufsummierte Einfügungs-Variable
ist.
-
Wenn
dazu im Gegensatz im Verfahrensschritt S3-11 entschieden wird, dass
der Referenzvektor RV und der Messvektor MV übereinstimmen, die im Verfahrensschritt
S3-10 verglichen wurden, wird der Bitversatz der jeweiligen Datenübertragungsleitung
im Verfahrensschritt S3-13 wie folgt berechnet:
Bitversatz
= – Einfügung
Wobei
Einfügung
die im Verfahrensschritt S3-4 der Iterationsschleife aufsummierte
Einfügungs-Variable
ist.
-
Nachdem
der Bitversatz der Datenübertragungsleitung
im Verfahrensschritt S3-12, S3-13 berechnet worden ist, werden die
eingefügten
Dateneinheitsintervalle (UI) im Verfahrensschritt S3-14 entfernt,
und der Vorgang zum Messen von Bitversatz wird im Verfahrensschritt
S3-15 beendet.
-
Ein
Vorgang zum Messen von Bitversatz, wie in 8 dargestellt, wird mittels Beispielen
mit Bezugnahme auf 9, 10 erläutert.
-
9 zeigt die Verfahrensschritte
eines Vorgangs zum Messen von Bitversatz in einem Fall, in dem die
Datenübertragungsleitung
einen Bitversatz von drei Einheitsintervallen (3 UI) aufweist.
-
Der
ersten Referenzmessvektor RV∅,
der für
den Vergleich mit dem korrespondierenden Messvektor MV∅ mit
dem Referenzvektor verwendet wird, ist die höchste Wechselfrequenz, das
heißt
ein Bitmuster
„101010101..."
-
Im
Verfahrensschritt S3-1 wird die Datenübertragungseinrichtung 7-i aktiviert,
um einen korrespondierenden Messvektor MV0 mit
einer vorher festgelegten Bitwechselfrequenz über die Datenübertragungsleitung 3-i zum
Messen zu übertragen.
Der erste an die Datenempfangseinrichtung 5-i übertragene
Messvektor MV0 weist die höchste Bitwechselfrequenz
auf, das heißt,
dass der erste Messvektor MV0 ein Bitmuster
von „101010..." aufweist.
-
Da
in dem in 9 dargestellten
Beispiel die Datenübertragungsleitung 3-i eine
Zeitverzögerung
oder einen Bitversatz von + 3 UI aufweist, empfängt die Datenempfangseinrichtung 5-i einen Datenvektor
mit einer Zeitverzögerung
von drei Bits. Die ersten drei Bits des empfangenen Messvektors
MV, welcher in einem Schieberegister gespeichert ist, haben den
logischen Bitwert „0", wie aus 9A hervorgeht. Der gespeicherte
Referenzvektor RV0 und der empfangene Messvektor
MV0 werden über eine EXOR-Logik verglichen,
was zu einem logischen Vergleichsergebnis führt, wie in 9A dargestellt ist. Wie es ersichtlich
ist, liefert das Vergleichsergebnis in dem vorliegenden Beispiel
eine statische „1", welche anzeigt,
dass beide Vektoren nicht übereinstimmen.
Folglich wird die Iterationsschleife mit den Verfahrensschritten
S3-3, S3-4, S3-5, S3-6, S3-7 und S3-2 durchlaufen, und der Iterationsschleifenzähler i wird
wie in 9B gezeigt erhöht. Die
von der Steuereinheit 8 des Speicherpuffers 2 aktivierte
Datenübertragungseinrichtung 7-i überträgt über die
Datenübertragungsleitung 3-i den
nächsten
Messvektor MV1 mit der halben Bitwechselfrequenz
des vorhergehenden Messvektors (MV0) an
die Datenempfangseinrichtung 5-i. Der Referenzvektor RV0 wird durch einen nächsten Referenzvektor RV1 ersetzt, der zu dem nächsten Messvektor korrespondiert.
Demgemäß wird der
Vergleich in der Datenempfangseinrichtung 5-i mit dem nächsten Referenzvektor
wie in 9B dargestellt
mit einem Bitmuster „11001100..." ausgeführt. Im
Verfahrensschritt S3-5 werden 20 = 1 Dateneinheitsintervalle
(UI) in den Messvektor MV1 eingefügt, indem
der Dateninhalt des Schieberegisters, in welchem der empfangene
Messvektor gespeichert ist, um ein Bit nach rechts verschoben wird,
wie aus 9B ersichtlich
ist. Die vierte „0" in der zweiten Zeile
von 9B wird für den folgenden
Vergleich von RV1 und MV1 eingefügt.
-
Nachdem
die Verschiebung abgeschlossen ist, wird der Iterationsschleifenzähler i im
Verfahrensschritt S3-6 erhöht.
Die Zahl von eingefügten
Dateneinheitsintervallen UI wird durch Aufsummieren der Einfügungs-Variable
gezählt
(Einfügung
= 0 + 20 = 1).
-
Der
empfangene Messvektor MV1, der nach rechts
verschoben ist, wird mit dem gespeicherten Referenzvektor RV1 durch einen EXOR-Vorgang verglichen, wie
in 9B zu sehen ist,
und eine statische Null am Ausgang der EXOR-Logik zeigt eine positive Übereinstimmung
zwischen einem Messvektor MV1 und dem Referenzvektor
RV1 an. Auf Grund dieser positiven Übereinstimmung
wird die Iterationsschleife verlassen, und der Iterationsschleifenzähler i wird
im Verfahrensschritt S3-8 erhöht
auf i = 2.
-
Im
Verfahrensschritt S3-9 aktiviert die Steuereinheit 8 die
Datenübertragungseinrichtung
und überträgt den nächsten Messvektor
MV2 mit der halben Bitwechselfrequenz des
letzten Messvektors MV1, der in der Iterationsschleife über die
Datenübertragungsleitung 3-i an
die Datenempfangseinrichtung 5-i übertragen wurde. Außerdem wird
der letzte in der Iterationsschleife verwendete Referenzvektor RV1 durch einen Referenzvektor RV2 ersetzt,
der zu dem übertragenen
Messvektor MV2 korrespondiert.
-
Wie
aus 9C ersichtlich ist,
weist der nächste
Referenzvektor RV2 ein wechselndes Bitmuster
mit der halben Bitwech selfrequenz des Referenzvektor RV1 auf,
wie in 9B gezeigt, und
korrespondiert zu dem übertragenen
Messvektor MV2. In 9C besitzt der Referenzvektor RV2 ein Bitmuster „1111000011110000...", das zu dem gesendeten
Messvektor MV2 „1111000011110000..." korrespondiert,
aufgrund der Zeitverzögerung
der Datenübertragungsleitung 3-i,
die in dem in 9 dargestellten
Beispiel 3 UI beträgt,
wobei der in dem Eingang der Datenempfangseinrichtung 5-i gepufferte
Messvektor MV2 dreimal eine „0" am Anfang und die
eine eingefügte „0" von dem Verschiebevorgang
aufweist.
-
Im
Verfahrensschritt S3-10 werden der Referenzvektor RV2 und
der empfangene und verschobene Messvektor MV2 miteinander
in einem EXOR-Vorgang verglichen. Das Vergleichsergebnis ist in 9C dargestellt. In dem gegebenen
Beispiel zeigt die statische „1" am Ausgang der EXOR-Logik
an, dass beide Vektoren RV2 MV2 nicht übereinstimmen,
so dass der Verlauf nach Verfahrensschritt S3-11 mit Verfahrensschritt S3-12
fortgesetzt wird. Der Bitversatz der Datenübertragungsleitung wird im
Verfahrensschritt S3-12 berechnet:
Bitversatz = 22 – Einfügung = 4 – 1 = +
3 UI.
-
10 zeigt ein weiteres Beispiel
mit einer Datenübertragungsleitung,
die einen negativen Bitversatz von – 3 UI aufweist, mit Bezug
auf eine Zeitreferenz. In dem gegebenen Beispiel ist der erste Vergleich
negativ und die Einfügungs-Variable (Einfügung) aufsummiert
wird zu Einfügung
= 0 + 20 = 1.
-
Der
nächste
empfangene, um ein Bit (20) nach rechts
verschobene Messvektor MV1 wird mit dem
korrespondierenden Referenzvektor RV1 verglichen.
In dem gegebenen Beispiel führt
dieser Vergleich auch zu einer negativen Übereinstimmung und die Einfügungs-Variable
(Einfügung)
wird aufsummiert zu Einfügung
= 1 + 21 = 3. Die Iterationsschleife wird
auf Grund der negativen Übereinstimmung
durchlaufen. Der empfangene Messvektor wird gemäß der Einfügungs-Variable um drei Bits
nach rechts verschoben, wie in 10C gezeigt ist.
Der in 10C ausgeführte Vergleich
führt zu
einer positiven Übereinstimmung
und die Iterationsschleife wird im Verfahrensschritt S3-3 verlassen. Der
Schleifenzähler
wird im Verfahrensschritt S3-8 erhöht, und die Übertragungseinrichtung 7-i wird
aktiviert, um einen letzten Messvektor MV3 „1111111100000000" zu übertragen,
der mit dem korrespondierenden Referenzvektor RV verglichen werden
soll, wie in 10D dargestellt ist.
Die statische 0 am Ausgang der EXOR-Logik zeigt eine positive Übereinstimmung
im Verfahrensschritt S3-11 an, so dass die Bitversatz-Einfügung im
Verfahrensschritt S3-12 berechnet wird, das heißt: Bitversatz = – 3 UI.
-
Wie
aus 9, 10 ersichtlich ist, entscheidet der im
Verfahrensschritt S3-10 durchgeführte
Vergleich die Richtung der Zeitverzögerung. Eine positive Übereinstimmung
zeigt einen negativen Bitversatz an, das heißt, dass die über die
Datenübertragungsleitung 3-i übertragenen
Daten schneller sind als Referenzdaten, und der Bitversatz der Datenübertragungsleitung
wird im Verfahrensschritt S3-13 berechnet (Bitversatz = – Einfügung).
-
Ist
das Vergleichsergebnis von Verfahrensschritt S3-10 negativ („no"), so weist die Datenübertragungsleitung 3-i einen
positiven Bitversatz auf, das heißt, dass die über die
Datenübertragungsleitung übertragenen
Daten langsamer sind als Referenzdaten. In diesem Fall wird der
Bitversatz im Verfahrensschritt S3-12 berechnet (Bitversatz = 21 – Einfügung).
-
Nachdem
im Verfahrensschritt S3 der Vorgang zum Messen von Bitversatz im
Verfahrensschritt S3-15 abgeschlossen ist, wird der berechnete Bitversatz
der Datenübertragungsleitungen
im Verfahrensschritt S4 kompensiert.
-
11 zeigt ein Flussdiagramm
der Kompensation von Bitversatz im Verfahrensschritt S4. Nach einem
Verfahrensschritt Start S4-0 wird im Verfahrensschritt S4-1 die
langsamste Datenübertragungsleitung
als die Datenübertragungsleitung
mit dem größten Bitversatz
der berechneten Bitversätze
von allen Datenübertragungsleitungen
3-i festgelegt.
-
In
einem weiteren Verfahrensschritt S4-2 wird der relative Bitversatz
von jeder Datenübertragungsleitung
mit Bezug auf den größten Bitversatz
der langsamsten Datenübertragungsleitung
berechnet.
-
Nachdem
der relative Bitversatz einer jeden Datenübertragungsleitung berechnet
worden ist, wird jede Datenübertragungsleitung 3-i mit
ihrem berechneten relativen Bitversatz im Verfahrensschritt S4-3
verzögert. Dieses
wird dadurch ausgeführt,
dass korrespondierende Datenverzögerungselemente
geschaltet werden, die in der Datenempfangseinrichtung der Datenübertragungsleitung 3-i vorgesehen
sind.
-
Der
Vorgang der Kompensation von Bitversatz wird im Verfahrensschritt
S4-4 beendet.
-
Nachdem
die Kompensation ausgeführt
worden ist, schaltet die Steuereinheit 8 des Speicherpuffers einen
Multiplexer 10-i innerhalb der DRAM 1-i auf den
anderen Eingang und die Daten der Datenquelle 6-i werden
in einem Datenübertragungsmodus über die
Datenübertragungsleitung 3-i an
die Datenempfangseinrichtung 5-i übertragen.
-
Sobald
die Versorgungsspannung Vs für die DIMM-Bausteine
aufgebracht worden ist, das bedeutet, dass sobald das System eingeschaltet
worden ist, gibt es genügend
Zeit, um eine Initialisierungsroutine ablaufen zu lassen. Da die
beschriebenen Probleme auf der physikalischen Konfiguration beruhen,
dass heißt
auf der Ausdehnung der Anordnung, ist der Effekt, der durch das
erfindungsgemäße Verfahren
kompensiert werden muss, ein statischer Effekt. Weiterhin sind alle
Signalquellen 6-i und Signalsenken 5-i in demselben DIMM-Baustein
angeordnet, so dass es keine Notwendigkeit gibt, irgendwelche externen
Einflüsse
in Betracht zu ziehen.
-
Das
Verfahren zur Messung der Verzögerungszeit
gemäß der vorliegenden
Erfindung legt einen diskreten Wert m für jedes Datensignal fest. Dieser
Wert m reflektiert die in Bezug auf eine feste definierte Referenzzeit
gemessene Verzögerungszeit.
Der folgende Text behandelt auf beispielhafte Weise eine bevorzugte Ausführungsform.
-
Der
Messvektor MV wird so festgelegt, dass es für die Empfangseinrichtungen
innerhalb des Speicherpuffers möglich
ist, eine maximale im voraus festgelegte Verzögerungszeit m × UI zu
identifizieren, und die korrespondierende Zahl m von Verzögerungselementen
zur Kompensation festzulegen.
-
Ist
die maximale Verzögerungszeit
DTmax = ± 2 UI (m=2), die identifiziert
und kompensiert werden muss, ist der korrespondieren Messvektor
MV wie in Tabelle 1 gezeigt ausgebildet.
-
-
Alternativ
kann auch der inverse Messreferenzvektor MV verwendet werden, wie
in Tabelle 2 angegeben ist.
-
-
Es
ist zum Prinzip der Erfindung irrelevant, welcher dieser beiden
Messvektoren MV, MV verwendet wird.
Jedoch ist das Verfahren gemäß der vorliegenden
Erfindung nur für
den ersten Fall beschrieben. Weiterhin repräsentieren diese beiden Messvektoren
MV, MV nur die minimale erforderliche
Datenlänge
zur Abtastung und Kompensation für ± 2 UI.
Im Prinzip können
die individuellen Teilfolgen ebenfalls ausgedehnt werden.
-
Der
gleiche Messvektor MV wird in den Empfangseinrichtungen als ein
Referenzmessvektor (RV) für alle
Datenleitungen Dli in dem Empfängerbaustein
des Speicherpuffers 2 gespeichert. Die Übertragungseinrichtungen beginnen
simultan diesen Messvektor MV zu übertragen. In Abhängigkeit
von der Verzögerungszeit der
Datenleitung wird der Messvektor MV zu verschiedenen Zeitpunkten
empfangen. Die obere Zeile von Tabelle 3 enthält in jedem Fall den Referenzmessvektor
(RV), und die untere Zeile von Tabelle 3 repräsentiert in jedem Fall den
empfangenen Datenvektor.
-
-
-
-
-
-
Die
Bewertung des empfangenen Datenvektors wird in Schritten durchgeführt. In
einem ersten Schritt wird identifiziert, ob es irgendeine Verschiebung
gibt, das bedeutet eine 0·U·1, 1 UI
oder 2 UI Verschiebung im Vergleich zu dem gespeicherten Referenzvektor
(RV). Die Richtung wird in einem zweiten Schritt bestimmt, das bedeutet,
ob die Verschiebung eine Verzögerung
oder eine Voreilung ist (siehe die obigen Beispiele).
-
Das
Vorhandensein einer Verschiebung wird mittels einer logischen Operation
eines EXOR-Gatters festgestellt, die mit den Referenzvektoren und
Messvektoren ausgeführt
wird. Jede Verschiebungstiefe wird von ihrem eigenen Messvektor
adressiert. Der Messvektor 1 wird zur Identifizierung einer
1 UI Ver schiebung, der Messvektor 2 zur Identifizierung
einer 2 UI Verschiebung verwendet und so weiter. Wie aus den obigen Beispielen
ersichtlich ist, wird eine permanente „1" an dem Ausgang der EXOR-Logik nur für die jeweiligen
Sequenzen erzeugt. In diesem Fall ist es irrelevant, ob dieses eine
Verzögerung
oder eine Voreilung ist, die Tatsache, dass eine Verschiebung aufgetreten
ist, wird durch Anwendung dieses Verfahrens verlässlich festgestellt.
-
Der
Messvektor MV, der der Sequenz zur Identifizierung der Verzögerung folgt,
wird benutzt, um die Verschiebungsrichtung zu bestimmen. Der Messvektor
MV2 gibt die zugehörige
Richtung für
das Beispiel einer 1 UI Verzögerung.
Dieses ist auch der Grund dafür,
dass drei Messvektoren notwendig sind, um ± 2 UI verlässlich zu
identifizieren. Obwohl der Messvektor MV2 selbst das Vorhandensein
einer Verschiebung von 2 UI verlässlich
abtastet, ist jedoch der Messvektor MV3 erforderlich, um die damit
verbundene Richtung festzustellen.
-
Nun
wird der allgemeine Fall definiert, um alle für diesen Zweck verwendeten
Messvektoren MV abzudecken. Es wird vorausgesetzt, dass eine maximale
Verschiebung von ± m
UI identifiziert und kompensiert werden soll. Die Folge von Messvektoren
kann am besten als ein Datenfeld mit einer Zahl von Messvektoren MV
betrachtet werden. Die Messvektoren MV sind dadurch gekennzeichnet,
dass die Datenwechselrate von einem Vektor zu dem nächsten halbiert
wird. Für
den oben angegebenen Fall (± 2
UI) sieht das gespeicherte Referenzdatenfeld RDF der Referenzvektoren
daher wie folgt aus:
RDF (m = 2)
-
Das
Referenzdatenfeld RDF der Referenzvektoren weist daher 3 Referenzvektoren
auf, und jeder Referenzvektor RV hat eine Datenlänge von 8 Bits. Das allgemeine
Datenfeld zur Kompensation einer maximalen Zahl von Zeilen Verzögerung ± m UI
weist AZ Zeilen auf, wobei AZ definiert wird zu:
„ceil" ist eine Rundungsfunktion, welche einen
Integerwert durch Aufrunden erzeugt. Die Länge des Zeilenvektors (LV)
wird definiert zu: L – LV
= 2
AZ
-
Ein
minimales Datenfeld zur Kompensation von ± 4 UI weist demnach AZ =
4 Zeilenvektoren auf, wobei jeder 2
4 = 16
Bits aufweist. Das zugehörige
Datenfeld (RDF) ist dann:
RDF (m
= 4)
-
Für zusätzliche
Verzögerungszeiten
innerhalb des DIMM-Bausteins,
zum Beispiel bei Datenrückgewinnung
oder während
Multiplexens/Demultiplexens, ist es nicht mehr länger notwen dig, dass sie separat
behandelt werden, sondern sie sind automatisch durch das Verfahren
gemäß der vorliegenden
Erfindung mit abgedeckt.
-
Gemäß der vorliegenden
Erfindung wird von jedem DRAM eine spezielle Folge von Messvektoren übertragen.
Der Datenaufbau des Messvektors ist schon im Detail oben beschrieben
worden. Die Tatsache, dass die Datenwechselrate der Folge von Messvektoren
halbiert von einem Messvektor zum nächsten ausgebildet ist, ist
besonders wichtig. Die Messvektoren MVi erzeugen auf diese Weise
ein Zählsystem,
das auch zusätzliche
Verzögerungen
identifizieren kann, das heißt
3, 5 UI und so weiter. Außerdem
weisen alle Übertragungseinrichtungen
und die Empfangseinrichtungen den gleichen Messvektor als Referenzvektoren
RV auf, damit es möglich
ist, das Messen von Verzögerung
mit dem Verfahren zum Messen von Verzögerung gemäß der vorliegenden Erfindung
auszuführen.
-
- 1
- DRAM
- 2
- Speicherpuffer
- 3
- Datenübertragung
- 4
- Datenübertragungseinrichtung
- 5
- Datenempfangseinrichtung
- 6
- Datenquelle
- 7
- Messmustergenerator
- 8
- Steuereinheit
- 9
- Steuerleitung
- 10
- Multiplexer