[go: up one dir, main page]

DE102004014450A1 - Verfahren zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen - Google Patents

Verfahren zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen Download PDF

Info

Publication number
DE102004014450A1
DE102004014450A1 DE102004014450A DE102004014450A DE102004014450A1 DE 102004014450 A1 DE102004014450 A1 DE 102004014450A1 DE 102004014450 A DE102004014450 A DE 102004014450A DE 102004014450 A DE102004014450 A DE 102004014450A DE 102004014450 A1 DE102004014450 A1 DE 102004014450A1
Authority
DE
Germany
Prior art keywords
data
data transmission
transmission line
vector
skew
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102004014450A
Other languages
English (en)
Inventor
Paul Georg Lindt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102004014450A1 publication Critical patent/DE102004014450A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/063Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Verfahren zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen, welche mindestens eine Datenübertragungseinrichtung mit einer Datenempfangseinrichtung über einen parallelen Datenbus 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 übertragenen Messvektor (MV) halbiert wird; DOLLAR A 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 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.

Description

  • 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.
  • Figure 00260001
    Tabelle 1
  • Alternativ kann auch der inverse Messreferenzvektor MV verwendet werden, wie in Tabelle 2 angegeben ist.
  • Figure 00260002
    Tabelle 2
  • 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.
  • Fall 1
    Figure 00270001
    Tabelle 3-1
  • Fall 2
    Figure 00270002
    Tabelle 3-2
  • Fall 3
    Figure 00270003
    Tabelle 3-3
  • Fall 4
    Figure 00280001
    Tabelle 3-4
  • Fall 5
    Figure 00280002
    Tabelle 3-5
  • 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:
    Figure 00300001
    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:
    Figure 00300002
    „ceil" ist eine Rundungsfunktion, welche einen Integerwert durch Aufrunden erzeugt. Die Länge des Zeilenvektors (LV) wird definiert zu: L – LV = 2AZ
  • Ein minimales Datenfeld zur Kompensation von ± 4 UI weist demnach AZ = 4 Zeilenvektoren auf, wobei jeder 24 = 16 Bits aufweist. Das zugehörige Datenfeld (RDF) ist dann:
    Figure 00300003
    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

Claims (13)

  1. Verfahren zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen, welche mindestens eine Datenübertragungseinrichtung mit einer Datenempfangseinrichtung über einen parallelen Datenbus 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 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.
  2. Verfahren zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen, welche mindestens eine Datenübertragungseinrichtung mit einer Datenempfangseinrichtung verbinden, nach Anspruch 1, weist es die folgenden Verfahrensschritten 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 := ∅); (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 Referenzvek tors (RVi) die folgenden Teilschritte in einer Iterationsschleife durchgeführt werden: d1) Aktivieren der Datenübertragungseinrichtung zum Senden eines nächsten Messvektors (MVi+1) mit der halben Bitwechselfrequenz des vorhergehenden Messvektors (MVi), d2) Ersetzen des Messvektors (RVi), um einen Vergleich mit einem nächsten Referenzvektor (RVi+1) durchzuführen, welcher zu dem nächsten Messvektor (MVi+1) korrespondiert, d3) Einfügen einer Zahl (N) von Dateneinheitsintervallen (UI) durch Verschieben des empfangenen Messvektors (MVi+1') mittels eines Schieberegisters, wobei die Zahl (N) der eingefügten Dateneinheitsintervalle (UI) 2 beträgt, gegeben durch die Einfügungs-Zählvariable (Einfügung := Einfügung + 2i) d4) Erhöhen des Iterationsschleifenzählers (i := i + 1); (e) und Berechnen des relativen Bitversatzes der Datenübertragungsleitung in Abhängigkeit von der Zahl der von der Einfügungs-Variablen (Einfügung) gezählten eingefügten Dateneinheitsintervallen (UI).
  3. Verfahren zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen nach Anspruch 2, wobei zum Berechnen des relativen Bitversatzes der Datenübertra gungsleitung im Verfahrensschritt (e) die folgenden Teilschritte durchgeführt werden: (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.
  4. Verfahren zum Messen und Kompensieren von Bitversatz von Datenübertragungsleitungen nach Anspruch 1, wobei das Verfahren zum Messen und Kompensieren von Bitversatz einer Datenübertragungsleitung ausgeführt, wenn die Datenempfangseinrichtung eingeschaltet bzw. hochgefahren wird.
  5. Verfahren nach Anspruch 1, wobei 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.
  6. Verfahren nach Anspruch 1, wobei die Datenübertragungseinrichtungen als DRAMs ausgebildet sind.
  7. Verfahren nach Anspruch 1, wobei die Datenempfangseinrichtung als ein HUB eines Speicherbausteins ausgebildet ist.
  8. Verfahren nach Anspruch 1, wobei die Datenempfangseinrichtung für jede Datenübertragungsleitung eine Takt- und Datenrückgewinnungseinheit aufweist, um mit dem ersten über die Übertragungsleitung übertragenen Messvektor mitzulaufen bzw. synchron zu laufen.
  9. Verfahren nach Anspruch 1, wobei zum Kompensieren des Versatzes der Datenübertragungsleitung die folgenden Teilschritte durchgeführt werden: 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.
  10. Verfahren nach Anspruch 1, wobei die Datenübertragungseinrichtungen mittels eines Anforderungssignals aktiviert werden, welches über eine separate Steuerleitung von der Datenempfangseinrichtung der Datenübertragungseinrichtungen gesendet wird.
  11. Verfahren nach Anspruch 10, wobei die Datenübertragungseinrichtungen gleichzeitig aktiviert werden.
  12. Verfahren nach Anspruch 1, wobei die Datenübertragungsleitung einen Teil eines bidirektionalen Datenbusses bildet.
  13. Verfahren nach Anspruch 1, wobei das Vergleichen der empfangenen Messvektoren (MV') und der Referenzvektoren (RV) mittels einer EXOR-Logik ausgeführt wird.
DE102004014450A 2003-03-26 2004-03-24 Verfahren zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen Ceased DE102004014450A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45781003P 2003-03-26 2003-03-26
US60/457810 2003-03-26

Publications (1)

Publication Number Publication Date
DE102004014450A1 true DE102004014450A1 (de) 2005-02-10

Family

ID=34061869

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004014450A Ceased DE102004014450A1 (de) 2003-03-26 2004-03-24 Verfahren zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen

Country Status (2)

Country Link
US (1) US7275173B2 (de)
DE (1) DE102004014450A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873857B2 (en) 2007-01-18 2011-01-18 Qimonda Ag Multi-component module fly-by output alignment arrangement and method

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472342B2 (en) * 2001-10-24 2008-12-30 Bea Systems, Inc. System and method for portal page layout
US6904573B1 (en) * 2003-05-27 2005-06-07 Hewlett-Packard Development Company, L.P. Logic gate identification based on hardware description language circuit specification
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US9384818B2 (en) * 2005-04-21 2016-07-05 Violin Memory Memory power management
CN101872333A (zh) * 2005-04-21 2010-10-27 提琴存储器公司 一种互连系统
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US9582449B2 (en) 2005-04-21 2017-02-28 Violin Memory, Inc. Interconnection system
US8112655B2 (en) * 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
US7457978B2 (en) 2005-05-09 2008-11-25 Micron Technology, Inc. Adjustable byte lane offset for memory module to reduce skew
US20070005826A1 (en) * 2005-06-30 2007-01-04 Hsien-Pao Yang Termination control in memory systems
US7454647B1 (en) * 2005-07-28 2008-11-18 National Semiconductor Corporation Apparatus and method for skew measurement
US7536579B2 (en) * 2006-08-03 2009-05-19 Avalon Microelectronics, Inc. Skew-correcting apparatus using iterative approach
US7760836B2 (en) * 2006-08-03 2010-07-20 Avalon Microelectronics, Inc. Skew-correcting apparatus using external communications element
US7546494B2 (en) 2006-08-03 2009-06-09 Avalon Microelectronics Inc. Skew-correcting apparatus using dual loopback
US8028186B2 (en) * 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
DE102007010284A1 (de) * 2007-03-02 2008-09-04 Qimonda Ag Schnittstellenvorrichtung, Schaltungsmodul, Schaltungssystem, Vorrichtung für eine Datenkommunikation und Verfahren zum Kalibrieren eines Schaltungsmoduls
US7624310B2 (en) * 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
US8144755B2 (en) * 2007-11-29 2012-03-27 Michael Bruennert Method and apparatus for determining a skew
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
KR20110110904A (ko) * 2010-04-02 2011-10-10 삼성전자주식회사 송수신 시스템, 수신기 및 그것의 비대칭 보상 방법
JP5610970B2 (ja) * 2010-10-19 2014-10-22 キヤノン株式会社 プリント回路板
US9019150B2 (en) 2011-02-21 2015-04-28 TransRobotics, Inc. System and method for sensing distance and/or movement
US10206610B2 (en) 2012-10-05 2019-02-19 TransRobotics, Inc. Systems and methods for high resolution distance sensing and applications
WO2014085268A1 (en) 2012-11-30 2014-06-05 Intel Corporation Apparatus, method and system for memory device access with a multi-cycle command
EP3028153B1 (de) 2013-07-27 2019-03-06 Netlist, Inc. Speichermodul mit lokaler synchronisation
EP3719532B1 (de) 2019-04-04 2022-12-28 Transrobotics, Inc. Technologien zum handeln auf basis von objektverfolgung
US11462261B2 (en) * 2019-10-10 2022-10-04 Micron Technology, Inc. Methods of activating input/output lines of memory devices, and related devices and systems
US12388446B2 (en) * 2019-12-20 2025-08-12 SK Hynix Inc. Memory system and memory controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031847A (en) * 1997-07-01 2000-02-29 Silicon Graphics, Inc Method and system for deskewing parallel bus channels
US6820234B2 (en) * 1998-06-29 2004-11-16 Acuid Limited Skew calibration means and a method of skew calibration
US6907552B2 (en) * 2001-08-29 2005-06-14 Tricn Inc. Relative dynamic skew compensation of parallel data lines
US20030112827A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873857B2 (en) 2007-01-18 2011-01-18 Qimonda Ag Multi-component module fly-by output alignment arrangement and method

Also Published As

Publication number Publication date
US20050005184A1 (en) 2005-01-06
US7275173B2 (en) 2007-09-25

Similar Documents

Publication Publication Date Title
DE102004014450A1 (de) Verfahren zum Messen und Kompensieren von Versatz von Datenübertragungsleitungen
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE60221235T2 (de) Datenerfassungstechnik für die schnelle zeichengabe
DE102007044110B4 (de) Verfahren und Schaltung zum Einstellen der Phasenverschiebung
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE69737013T2 (de) Verfahren und Vorrichtung zur Taktsignalerzeugung und -verteilung mit minimaler Verschiebung
DE3300699C2 (de) Schaltungsanordnung zum Adressieren der jeweils ein Adreßvolumen aufweisenden Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozessorsystem mit Systembus
DE102006035612B4 (de) Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
DE60132445T2 (de) Kalibrierung von bustaktsignalen für speicheranordnungen
DE4307449C2 (de) Verfahren und Schaltung zur Resynchronisation einer synchronen seriellen Schnittstelle
DE69231871T2 (de) Verfahren zur parallelen Übertragung
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
DE102015010900B4 (de) Serieller Hochgeschwindigkeitsring
EP2570931A1 (de) Verfahren zur asynchron-seriellen Datenübertragung mittels einer synchron-seriellen Schnittstelle
DE10235448A1 (de) Eichverfahren und Speichersystem
DE10300540A1 (de) Digitale DLL-Vorrichtung zum Korrigieren des Tastverhältnisses und dessen Verfahren
DE19857154C1 (de) Verfahren zur Datenübertragung
DE102016208849A1 (de) Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung
DE3889973T2 (de) Gerät und Verfahren für zeitversetzte Paritätsprüfung von Steuerungssignalen über eine bidirektionale Datenübertragungschnittstelle.
DE112005002261B4 (de) Gepufferter kontinuierlicher Mehrpunkt-Taktring
US6111476A (en) Non-contact coupling system
DE10058227B4 (de) Halbleiterspeicherbauelement, Durchlass-/Zwischenspeichereinheit hierfür und zugehöriges Datenübertragungsverfahren
DE60216125T2 (de) Eingebaute selbstprüfung von mehrpegelsignalschnittstellen
DE10253696B4 (de) Speichersystem mit einer Vielzahl von getakteten Speichervorrichtungen
DE102005024917A1 (de) Dynamische Synchronisierersimulation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection