DE102004046957B4 - Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem - Google Patents

Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem Download PDF

Info

Publication number
DE102004046957B4
DE102004046957B4 DE102004046957.1A DE102004046957A DE102004046957B4 DE 102004046957 B4 DE102004046957 B4 DE 102004046957B4 DE 102004046957 A DE102004046957 A DE 102004046957A DE 102004046957 B4 DE102004046957 B4 DE 102004046957B4
Authority
DE
Germany
Prior art keywords
controller
lines
signal
connecting lines
connection
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.)
Expired - Fee Related
Application number
DE102004046957.1A
Other languages
English (en)
Other versions
DE102004046957A1 (de
Inventor
Dr. Jakobs Andreas
Eckehard Plättner
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.)
Polaris Innovations Ltd
Original Assignee
Polaris Innovations Ltd
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 Polaris Innovations Ltd filed Critical Polaris Innovations Ltd
Priority to DE102004046957.1A priority Critical patent/DE102004046957B4/de
Priority to US11/236,970 priority patent/US7573741B2/en
Publication of DE102004046957A1 publication Critical patent/DE102004046957A1/de
Application granted granted Critical
Publication of DE102004046957B4 publication Critical patent/DE102004046957B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • 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

Abstract

Verfahren zum Abgleichen von Signallaufzeiten in einem Speichersystem, in welchem Anschlüsse (A', B', C', S', D') eines Controllers (210) über eine Mehrzahl von Verbindungsleitungen (AL, BL, CL, SL, DL) mit Anschlüssen (A, B, C, S, D) mindestens eines Speicherbausteins (220) verbunden sind, um Steuer- und Datensignale und mindestens ein Zeitreferenzsignal als Bitfolge zu übertragen, mit den Schritte: i) Andern der Eingangsimpedanz an jeweils einem Anschluss wenigstens zweier Verbindungsleitungen in eine reflektierende Terminierung für die betreffenden Verbindungsleitungen, ii) Ermitteln der Laufzeitdifferenzen zwischen den Verbindungsleitungen aus dem Ergebnis von Echomessungen, bei denen jeweils ein Sendeimpuls (PGI) an den nicht mit seiner Eingangsimpedanz in die reflektierende Terminierung geänderten Anschluss der Verbindungsleitungen angelegt und die Echozeit gemessen wird, die zwischen einer Flanke des Sendeimpulses und dem Erscheinen des vom anderen Ende reflektierten Echos dieser Flanke verstreicht; iii) Einstellen von den Verbindungsleitungen zugeordneten Verzögerungseinrichtungen (VA, VB, VC, VS, VD) abhängig von den ermittelten Laufzeitdifferenzen zur Kompensation dieser Laufzeitdifferenzen.

Description

  • Die Erfindung betrifft ein Verfahren zum Abgleichen von Signallaufzeiten in einem Speichersystem, in welchem ein Controller über eine Mehrzahl von Verbindungsleitungen mit mindestens einem Speicherbaustein verbunden ist. Gegenstand der Erfindung sind auch Schaltungsanordnungen zur Durchführung dieses Verfahrens. Bevorzugtes, jedoch nicht ausschließliches Anwendungsgebiet sind Speichersysteme mit RAM-Bausteinen (Random Access Memories), insbesondere mit synchronen dynamischen RAMs (SDRAMS). Gegenstand der Erfindung sind auch Schaltungsanordnungen in Controllern und Speicherbausteinen zur Durchführung des Abgleichverfahrens.
  • Die Kommunikation zwischen einem oder mehreren Speicherbausteinen und einem gemeinsamen Controller in einem Speichersystem erfolgt in taktgesteuerter Weise. Sowohl die zu übertragenden Speicherdaten als auch die zu übertragenden Steuersignale werden auf der jeweiligen Sendeseite als Bits (binäre Abtastwerte) auf die Verbindungsleitungen gegeben. Auf der jeweiligen Empfangsseite werden die über die Verbindungsleitungen empfangenen Daten- und Steuersignale mittels geeignet positionierter Taktflanken abgetastet. Diese Taktflanken müssen jeweils in die Gültigkeitszeit der Bits fallen, d. h. sie müssen jeweils innerhalb derjenigen Zeitspanne auftreten, in welcher der Pegel des abzutastenden Signals den Logikwert des übertragenen Bits eindeutig darstellt.
  • Zur Synchronisation der Signalübertragung ist es notwendig, zusammen mit den Daten- und Steuersignalen mindestens ein Zeitreferenzsignal zu übertragen, aus welchem auf der Empfangsseite die Taktflanken für die zeitrichtige Abtastung der empfangenen Bits abgeleitet werden. In der Regel sind an jeden Speicherbaustein zwei gesonderte Übertragungsleitungen für Zeitreferenzsignale angeschlossen, eine Taktsignalleitung zum Übertragen eines Taktsignals vom Controller zum Speicherbaustein und eine Strobesignalleitung zum Übertragen eines Datenstrobesignals zwischen Controller und Speicherbaustein. Das Taktsignal wird im Speicherbaustein als Zeitreferenz für die Speicheroperationen verwendet und dient auch als Zeitreferenz für die Abtastung der Steuersignale, zu denen sowohl die binärcodierten Befehlssignale für die Einleitung der verschiedenen Speicheroperationen als auch die binärcodierten Adresssignale zur selektiven Adressierung der Speicherzellen innerhalb des Speicherbausteins gehören. Das Datenstrobesignal wird im Schreibbetrieb im Controller erzeugt und zusammen mit den Schreibdaten an den Speicherbaustein gesendet und bildet die Zeitreferenz für die Abtastung der Schreibdaten. Im Lesebetrieb wird das Datenstrobesignal im Speicherbaustein erzeugt und zusammen mit den Lesedaten an den Controller gesendet und bildet die Zeitreferenz für die Abtastung der Lesedaten.
  • Es ist Aufgabe des Systemdesigners, sicherzustellen, dass die Phasenbeziehungen zwischen den verschiedenen Signalen sowohl auf der Sendeseite als auch auf der Empfangsseite jeweils innerhalb fest vorgegebener Toleranzgrenzen gehalten werden. Die Einhaltung der Phasenbeziehungen auf der Empfangsseite ist insbesondere dann ein Problem, wenn verschiedene Signale über Verbindungsleitungen mit unterschiedlicher Signallaufzeit übertragen werden. Laufzeitunterschiede entlang den Verbindungsleitungen können sich ergeben, wenn die Leitungen unterschiedliche Länge haben. Deswegen hat man bisher große Sorgfalt aufgewendet, um die Verbindungsleitungen möglichst gleich lang zu machen und dadurch Laufzeitdifferenzen zu minimieren.
  • Diese Lösung ist jedoch unbefriedigend. Erstens kann es bei gleichlanger Bemessung der Leitungslängen Layoutprobleme geben, insbesondere wenn ein Controller mit mehreren Speicherbausteinen kommuniziert, die unterschiedliche räumliche Entfernung vom Controller haben. Zweitens gibt es neben der geometrischen Länge noch andere Faktoren, welche die Ausbreitungsgeschwindigkeit der Signale entlang den Leitungen und somit die Laufzeit beeinflussen, z. B. die Breite der Leiterbahnen, ihre geometrische Beziehung zu den Leitern der jeweiligen Referenzpotentiale (Masse- bzw. Versorgungspotential) und auch ihre Umgebung, sofern sie durch Streufelder erreicht wird.
  • Die erwähnten Laufzeitdifferenzen könnten auf der Sende- oder Empfangsseite durch passende Verzögerungseinrichtungen kompensiert werden. Im Allgemeinen werden Controller und Speicherbausteine als getrennte Einheiten hergestellt, üblicherweise als integrierte und fertig verkapselte Schaltungen (Chips), so dass sie in beliebiger Weise zu einem Speichersystem gewünschter Größe und Anordnungsform kombiniert werden können. Deswegen ist es kaum möglich, alle laufzeitbestimmenden Merkmale der im kombinierten Speichersystem eingesetzten Verbindungsleitungen vorherzusagen. Um die Verzögerungseinrichtungen passend einzustellen, könnte man am Speicherbaustein die Phasen der über verschiedene Verbindungsleitungen empfangenen Signale jeweils gegenüber einer Referenzphase messen, z. B. gegenüber der Phase des empfangenen Taktsignals. Hierzu wäre es erforderlich, im Speicherbaustein für jedes zu messende Signal jeweils einen Phasenvergleicher vorzusehen. Es ist jedoch kaum möglich, durch reinen Phasenvergleich große Laufzeitdifferenzen eindeutig nach Betrag und Vorzeichen zu messen, insbesondere wenn diese Differenzen mehr als eine Taktperiode betragen. Somit können sich Probleme ergeben angesichts der fortschreitenden Entwicklung, die auf zunehmend höhere Taktfrequenzen abzielt.
  • Aus der US 2003/0200407 A1 ist ein Verfahren und eine Schaltanordnung zum Abgleichen von Laufzeitdifferenzen in einem Speichersystem in welchem Anschlüsse eines Controllers über eine Mehrzahl von Verbindungsleitungen mit Anschlüssen eines Speicherbautseins verbunden sind bekannt, bei dem zusäztlich zu den Verbindungsleitungen Dummy-Verbindungsleitungen zwischen dem Controller und dem Speicherbaustein vorgesehen sind, die auf der Speicherbausteinseite eine reflektierende Terminierung haben und auf der Controllerseite mit einer Auswerteeinheit verbunden sind. Über diese Dummy-Signalleitung, die in ihrer Länge den regularen Daten- und Signalverbindungsleitungen entsprechen, können dann Echomessungen durchgeführt werden und die ermittelten Laufzeitdifferenzen anschließend über Verzögerungseinrichtungen kompensiert werden.
  • Es ist die Aufgabe der Erfindung, zum Abgleichen der Laufzeitdifferenzen in einem Speichersystem eine Technik vorzusehen, die es erlaubt, beliebig große Laufzeitunterschiede quantitativ zu berücksichtigen. Diese Aufgabe wird durch das im Patentanspruch 1 gekennzeichnete Verfahren und eine Schaltungsanordnung nach Anspruch 7 oder Anspruch 11 gelöst.
  • Demnach wird die Erfindung realisiert in einem Verfahren zum Abgleichen von Signallaufzeiten in einem Speichersystem, in welchem ein Controller über eine Mehrzahl von Verbindungsleitungen mit mindestens einem Speicherbaustein verbunden ist, um Steuer- und Datensignale und mind. ein Zeitreferenzsignal zu übertragen. Erfindungsgemäß werden die Laufzeitdifferenzen zwischen Verbindungsleitungen aus dem Ergebnis von Echomessungen ermittelt. Hierzu wird an einem als Sendseite ausgewählten Ende der betreffenden Verbindungsleitungen jeweils ein Sendeimpuls angelegt, während das andere Ende der betreffenden Verbindungsleitungen jeweils mit einer reflektierenden Terminierung abgeschlossen wird. Auf der Sendeseite wird die Echozeit gemessen die zwischen einer Flanke des Sendeimpulses und dem Erscheinen des vom anderen Ende reflektierten Echos dieser Flanke verstreicht. Abhängig von den ermittelten Laufzeitdifferenzen werden regelbare Verzögerungseinrichtungen zur Kompensation dieser Laufzeitdifferenzen eingestellt.
  • Es ist ein Vorteil der Erfindung, dass die zu kompensierenden Laufzeitunterschiede nicht als Phasendifferenzen sondern als absolute Zeitwerte gemessen werden. Somit lassen sich beliebig große Laufzeitunterschiede messen und kompensieren. Auf eine sorgfältige Abstimmung der geometrischen Länge der Verbindungsleitungen kann somit verzichtet werden. Dies vereinfacht das Layout der Leitungen auf der Platine, auf welcher die Teile des Speichersystems montiert sind.
  • Besondere Ausführungsformen der Erfindung und Schaltungsanordnungen zur Durchführung des erfindungsgemäßen Verfahrens sind in nachgeordneten Patentansprüchen gekennzeichnet. Zur näheren Erläuterung der Erfindung werden nachstehend verschiedene Ausführungsbeispiele anhand von Zeichnungen beschrieben.
  • 1 zeigt in einer schematischen Darstellung ein bekanntes Speichersystem, das zur Durchführung des erfindungsgemäßen Verfahrens ausgebaut werden kann;
  • 2, 3 und 4 zeigen verschiedene Ausführungsformen von Schaltungsanordnungen, die in einem Speichersystem nach 1 eingefügt werden können, um das erfindungsgemäße Verfahren durchzuführen.
  • Die 1 zeigt auf der linken Seite Bestandteile eines Controller-Bausteins 110 und rechts daneben Bestandteile eines ersten Speicherbausteins 120, im dargestellten Beispiel eines SDRAM. Die beiden Bausteine 110 und 120, als integrierte Schaltungen auf getrennten Chips implementiert, sind ausgelegt zur gegenseitigen Kommunikation über Übertragungsleitungen. Hierzu hat das SDRAM 120 nach 1 eine Mehrzahl von Signalanschlüssen.
  • Ein bidirektionaler Datenanschluss D am SDRAM 120 enthält n Datenpins (nicht einzeln dargestellt) zum Empfangen und Senden von Datenbits DAT als n-Bit-Parallelwörter über ein Bündel aus n parallelen Datenleitungen DL von einem bzw. an einen gleichartigen Datenanschluss D' des Controllers 110. Im SDRAM 120 ist jeder der Datenpins mit jeweils einem Daten-Empfangsverstärker DE und einem Daten-Sendeverstärker DS verbunden. Im Controller 110 ist jeder Datenpin ebenfalls mit jeweils einem Daten-Empfangsverstärker DE' und einem Daten-Sendeverstärker DS' verbunden.
  • Ein bidirektionaler Strobeanschluss S am SDRAM 120 dient zum Empfangen bzw. Senden eines den Datentakt angebenden Strobesignals über eine Strobeleitung SL von einem bzw. an einen gleichartigen Strobeanschluss S' des Controllers 110. Im SDRAM 120 ist der Strobeanschluss S mit einem Strobe-Empfangsverstärker SE und einem Strobe-Sendeverstärker SS verbunden, und im Controller 110 ist der Strobeanschluss S' ebenfalls mit einem Strobe-Empfangsverstärker SE' und einem Strobe-Sendeverstärker SS' verbunden.
  • Ein Adressanschluss A am SDRAM 120 enthält mehrere Adresspins zum Empfangen einer aus mehreren parallelen Bits bestehenden Adressinformation ADR über ein Bündel von Adressleitungen AL von einem Adressausgang A' des Controllers 110. Im SDRAM 120 ist jeder Adresspin mit jeweils einem Empfangsverstärker AE verbunden, und im Controller 110 ist jeder Adresspin mit jeweils einem Sendeverstärker AS' verbunden.
  • Ein Befehlsanschluss B am SDRAM 120 enthält mehrere Befehlspins zum Empfang von Mehrbit-Befehlswörtern BEF über ein Bündel von Befehlsleitungen BL von einem Befehlsausgang B' des Controllers 110. Im SDRAM 120 ist jeder Befehlspin mit jeweils einem Empfangsverstärker BE verbunden, und im Controller 110 ist jeder Befehlspin mit jeweils einem Sendeverstärker BS' verbunden.
  • Alle erwähnten Sende- und Empfangsverstärker haben Versorgungsanschlüsse zum Anlegen der Potentiale H und L einer Versorgungsspannung. Das Versorgungspotential L (”low potential”) kann das gemeinsame Massepotential sein, und das Versorgungspotential H (”high potential”) kann demgegenüber positiv oder negativ sein, je nach der verwendeten Halbleitertechnologie. In den meisten Fällen ist H positiv gegenüber L. Die Verbindungsleiter zwischen den Bausteinen 110 und 120 für die Versorgungspotentiale sind in 1 nicht dargestellt.
  • An allen denjenigen Anschlüssen zumindest des SDRAM 120, wo Signale empfangen werden, befindet sich üblicherweise ein Widerstandsnetzwerk (in 1 nicht dargestellt), welches so dimensioniert ist, dass sich eine reflexionsfreie Terminierung der betreffenden Verbindungsleitung ergibt. Dieses Netzwerk besteht gewöhnlich darin, dass der betreffende Anschluss über jeweils einen Widerstand R = 2Z0 mit den beiden Versorgungspotentialen H und L verbunden ist, wobei Z0 der Wellenwiderstand der betreffenden Verbindungsleitung ist. An den bidirektionalen Anschlüssen kann das Widerstandsnetzwerk mit Schalteinrichtungen verbunden sein, um es immer dann abzukoppeln, wenn Signale am betreffenden Anschluss gesendet werden.
  • Zur Synchronisation der Datenbits DAT, Adressbits ADR und Befehlsbits BEF werden alle diese Bits sowohl auf der jeweiligen Sendeseite als auch auf der jeweiligen Empfangsseite abgetastet. Hierzu ist vor jedem der Sendeverstärker DS', DS, AS und BS und nach jedem Empfangsverstärker DE' DE, AE und BE jeweils eine Abtastschaltung z. B. in Form eines Datenflipflops FF vorgesehen, die durch ein zugeordnetes Abtastsignal getaktet wird.
  • Die erforderlichen Abtastsignale werden aus einem Taktsignal CLK (Clock) abgeleitet, das im Controller 110 erzeugt wird und dort die Adressbits ADR und die Befehlsbits BEF abtastet. Das Taktsignal CLK wird außerdem und über einen Sendeverstärker CS an einen Taktanschluss C' gelegt, von wo es über eine Taktleitung CL zu einem Taktanschluss C des SDRAM 120 übertragen wird. Im SDRAM 120 wird das Taktsignal CLK über Empfangsverstärker CE empfangen und dient dort zur Abtastung der empfangenen Adressbits und Befehlsbits. Das Strobesignal STR' für die Abtastung der vom Controller 110 an das SDRAM 120 gesendeten Datenbits wird im Controller durch einen Strobegenerator erzeugt, der unter Synchronisierung durch das Taktsignal CLK in der Mitte jeder Bitperiode der Datenbits eine Abtastflanke erzeugt. Dieses Strobesignal STR' wird außerdem über den Sendeverstärker SS' und die Strobeleitung SL an das SDRAM 120 übertragen, wo es, nach Verstärkung im Empfangsverstärker SE, zur Abtastung der dort empfangenen Datenbits verwendet wird. Das Strobesignal STR für die Abtastung der vom SDRAM 120 an den Controller 120 gesendeten Datenbits wird im SDRAM durch einen Strobegenerator erzeugt, der unter Synchronisierung durch das Taktsignal CLK in der Mitte jeder Bitperiode der Datenbits eine Abtastflanke erzeugt. Dieses Strobesignal STR wird außerdem über den Sendeverstärker SS und die Strobeleitung SL an den Controller 110 übertragen, wo es, nach Verstärkung im Empfangsverstärker SE', zur Abtastung der dort empfangenen Datenbits verwendet wird.
  • Die Folgefrequenz der Abtastflanken der Strobesignale STR' und STR kann gleich der Frequenz des Taktsignals CLK sein (für einen Betrieb mit einfacher Datenrate), oder sie kann doppelt so hoch sein (für einen Betrieb mit verdoppelter Datenrate).
  • Ein im SDRAM 120 enthaltener Befehlsdecoder 21 decodiert die Befehlsbits, um einzelne Steuerleitungen zur Ausführung der jeweiligen Befehle zu erregen, unter anderem zur Ausführung des Aktivierungsbefehls für die Einleitung des Zugriffs auf die Speicherzellen des SDRAM, Steuerleitungen für die Ausführung des Schreibbefehls und des Lesebefehls und eine Steuerleitung für die Ausführung eines Befehls MRS (”Modusregister setzen”). Der Befehl MRS öffnet ein Modusregister 22 zum Empfang von Information für die Einstellung bestimmter Betriebsparameter des SDRAM 120. Diese ”Modus-Information” wird vom Controller 110 über die Adressleitungen AL geliefert, gleichzeitig mit dem Befehl MRS.
  • Die Speicherzellen des SDRAM 120 sind in 1 schematisch als Block 26 dargestellt, ebenso die Steuereinrichtung 25 für den Schreib- und Lesezugriff auf die Speicherzellen. Die Zugriffsteuereinrichtung 25 empfängt das Taktsignal CLK und die Signale der ausgangsseitigen Steuerleitungen des Befehlsdecoders 21; sie enthält Adressendecoder und ein schaltbares Netz von Datenwegen, um das Schreiben und Lesen von Daten an den Speicherzellen zu steuern, wie allgemein bekannt.
  • Im Schreibbetrieb werden Datenbits DAT und das Strobesignal STR' vom Controller 110 über die Datenleitungen DL bzw. die Strobeleitung SL an das SDRAM 120 übertragen. Hierzu wird ein Schreibbetriebssignal WRD (”write data”) auf aktiven Pegel geschaltet, wodurch die Sendeverstärker DS' und SS' im Controller 110 und die Empfangsverstärker DE und SE im SDRAM 120 einschaltet werden. Im Lesebetrieb werden Datenbits DAT und das Strobesignal STR vom SDRAM 120 über die Datenleitungen DL bzw. die Strobeleitung SL an den Controller 110 übertragen. Hierzu wird ein Lesebetriebssignal RDD (”read data”) auf aktiven Pegel geschaltet, wodurch die Sendeverstärker DS und SS im SDRAM 120 und die Empfangsverstärker DE' und SE' im Controller 110 einschaltet werden.
  • Wenn der Controller mit mehreren SDRAMs gleichzeitig kommunizieren soll, hat der Controller für jedes SDRAM eine gesonderte Gruppe von Daten- und Strobeanschlüssen. In der 1 sind die betreffenden Anschlüsse D'a und S'a für die Kommunikation mit einem zweiten SDRAM 120a dargestellt, welches genau so aufgebaut ist wie das beschriebene SDRAM 120. Die besagten Anschlüsse D'a und S'a sind innerhalb des Controllers 110 jeweils mit eigenen Sende- und Empfangsverstärkern und Abtastschaltungen verbunden, in der gleichen Weise wie die Anschlüsse D' und S' für die Kommunikation mit dem ersten SDRAM 120. Für die Sendesignale an den Anschlüssen D'a und S'a wird jedoch das selbe Strobesignal STR' verwendet wie für die Sendesignale an den Anschlüssen D und S'. Die Adress-, Befehls- und Taktanschlüsse A', B' und C' des Controllers 110 sind parallel mit beiden SDRAMs 120 und 120a verbunden, wie in 1 durch Verzweigungen an den Adress-, Befehls- und Taktleitungen AL, BL und CL gezeigt.
  • Die bis hierher beschriebenen Einzelheiten der Controller/-SDRAM-Anordnung sind allgemein bekannt. Da die Befehls- und Adressenverarbeitung im SDRAM und auch die Prozesse beim Schreiben und Lesen der Daten an den Speicherzellen durch das Taktsignal CLK gesteuert werden, ist sowohl im Controller-Baustein als auch im SDRAM-Baustein eine möglichst feste Phasenbeziehung zwischen allen Signalen wichtig. Um diese Phasenbeziehung einzuhalten, muss dafür gesorgt werden, dass die zwischen den Bausteinen übertragenen Signale vom jeweiligen Sendeverstärker des einen Bausteins zum zugeordneten Empfangsverstärker des anderen Bausteins alle die gleiche Laufzeit haben. Wie bereits oben erwähnt, wird dies gemäß der Erfindung durch ein Abgleichverfahren erreicht, bei welchem Verzögerungsmittel in den Signalwegen passend eingestellt werden, und zwar auf der Basis von Echomessungen an den Verbindungsleitungen.
  • Die Verbindungsleitungen zwischen einem Controller und einem oder mehreren Speicherbausteinen sind häufig so geführt, dass jeweils mehrere Leitungen zu einem Strang zusammengefasst sind. Die einzelnen Stränge verlaufen oft über unterschiedlich lange Wege und/oder sind verschiedenartig konstruiert, so dass es beträchtliche Laufzeitunterschiede zwischen verschiedenen Strängen gibt. Innerhalb des jeweils selben Stranges können die Laufzeiten über die Leitungen aber im Wesentlichen gleich sein oder sich nur in einem vernachlässigbaren Maß unterscheiden. In der Praxis ist es meist so, dass die Taktleitung CL gemeinsam mit den Adressleitungen AL und den Befehlsleitungen BL in einem ersten Strang verlegt ist, während die Strobeleitung SL gemeinsam mit den Datenleitungen DL in einem zweiten Strang verlegt ist.
  • Geht man davon aus, dass Laufzeitunterschiede innerhalb jedes Stranges vernachlässigbar sind, genügt es, die Laufzeit nur an jeweils einer Leitung jedes Stranges zu messen. Die ermittelte Differenz kann dann verwendet werden, um gleichzeitig die Verzögerungseinrichtungen an allen Leitungen des selben Stranges auf den selben Verzögerungswert einzustellen.
  • Die 2 zeigt Schaltungsmittel zur Durchführung eines erfindungsgemäßen Abgleichverfahrens zur Kompensation der Laufzeitdifferenz zwischen einerseits einem ”A/B/C-Strang”, der die Adress- und Befehlsleitungen AL und BL und die Taktleitung CL enthält, und andererseits einem ”D/S-Strang”, der die Datenleitungen DL und die Strobeleitung SL enthält. Die beiden Leitungsstränge, die einen Controller-Baustein 210 mit einem SDRAM-Baustein 220 verbinden, sind in der 2 nicht vollständig dargestellt. Gezeigt sind nur diejenigen beiden Leitungen, die vorzugsweise für die Ermittlung der Laufzeitdifferenz zwischen den Strängen verwendet werden, nämlich die Taktleitung CL (als Vertreter des A/B/C-Stranges) und die Strobeleitung SL (als Vertreter des D/S-Stranges). Von den beiden Bausteinen 210 und 220 sind jeweils nur wenige Teile dargestellt, und zwar diejenigen, die an dem erfindungsgemäßen Abgleichverfahren beteiligt und mit den beiden Leitungen CL und SL verbunden sind. In allen anderen Teilen sind diese Bausteine genau so aufgebaut wie der Controller 110 und das SDRAM 120 nach 1 (mit Ausnahme zusätzlicher Verzögerungseinrichtungen an allen Anschlüssen des Controllers, die in 1 nicht gezeigt sind).
  • Der Controller 210 nach 2 enthält eine regelbare Verzögerungseinrichtung VS zwischen dem Strobeanschluss S und dem Verbindungspunkt, an dem der Ausgang des Strobe-Sendeverstärkers SS' und der Eingang des Strobe-Empfangsverstärkers SE' zusammengeschaltet sind. Eine weitere regelbare Verzögerungseinrichtung VC ist zwischen dem Taktanschluss C' des Controllers 210 und dem Ausgang des Takt-Sendeverstärkers CS eingefügt. Auch an den anderen Anschlusspins des Controllers 210, von denen Verbindungsleitungen zum SDRAM 220 führen (in 1 nicht gezeigt), sind regelbare Verzögerungseinrichtungen in ähnlicher Weise angeordnet. Mit dem vom Taktanschluss C' abgewandten Ende der Verzögerungseinrichtung VC ist außerdem der Eingang eines zusätzlich vorgesehenen Empfangsverstärkers CE' verbunden, der nur dann eingeschaltet ist, wenn ein (noch zu beschreibendes) Steuersignal ESS auf aktivem Pegel ist.
  • Im SDRAM 220 nach 2 ist am Taktanschluss C und am Strobeanschluss S jeweils das bereits weiter oben erwähnte Widerstandsnetzwerk dargestellt, welches zwei Terminierungswiderstände R enthält, einen zwischen dem betreffenden Anschluss und dem ersten Versorgungspotential H, und einen zwischen dem betreffenden Anschluss und dem zweiten Versorgungspotential L. Der Widerstandswert jedes der Widerstände R ist doppelt so groß ist wie der Wellenwiderstand Z0 der am betreffenden Anschluss angeschlossenen Verbindungsleitung. Im SDRAM nach 2 sind nicht nur am Strobeanschluss S sondern auch am Taktanschluss C jeweils zwei Schalter X1 und X2 vorgesehen, um den betreffenden Anschluss von den zugeordneten Terminierungswiderständen R abzutrennen. Ferner ist jeweils ein dritter Schalter X3 vorgesehen, um den betreffenden Anschluss vom Eingang des nachgeschalteten Empfangsverstärkers CE bzw. SE abzutrennen.
  • Die übrigen Schaltungsteile, die zur Durchführung des erfindungsgemäßen Abgleichverfahrens in der Anordnung nach 2 vorgesehen sind, werden nachstehend zusammen mit dem Abgleichverfahren beschrieben:
    Zu Beginn des Abgleichverfahrens sind alle Schalter X1, X2, X3 geschlossen, so dass die Leitungen SL und CL am SDRAM 220 reflexionsfrei terminiert sind. Im Controller 210 wird ein Modus-Einstellbefehl erzeugt, der im Controller in der Form eines Mehrbit-Befehlswortes codiert wird und, unter Synchronisierung durch das Taktsignal CLK, über die Befehlsleitungen BL (vgl. 1) an das SDRAM 220 gesendet wird. Falls das SDRAM 220 eines von mehreren gleichartigen SDRAMs ist, die alle gemäß dem in 1 gezeigten Schema an den Controller 210 angeschlossen sind, enthält das Befehlswort auch Chip-Selektionsbits zur exklusiven Anwahl nur desjenigen SDRAM, für dessen Verbindungsleitungen der Laufzeitabgleich durchgeführt werden soll. Im Folgenden wird der Fall behandelt, dass das SDRAM 220 angesprochen ist.
  • Im angesprochenen SDRAM 220 decodiert der Befehlsdecoder 21 (vgl. 1) den Modus-Einstellbefehl, um das Modus-Einstellsignal MRS zu erzeugen. Hierdurch wird das Modusregister 22 befähigt für die Registrierung eines Musters von Einstellbits, die zusammen mit dem Befehlswort im Controller 210 erzeugt werden und über die Adressleitungen AL an zugeordnete Eingänge des Modusregisters 22 übertragen werden. Für die Durchführung des erfindungsgemäßen Laufzeitabgleichs setzt der Controller 210 ein bestimmtes Bit der Einstellbits auf aktiven Logikpegel (z. B. auf den Binärwert ”1”), so dass der diesem Bit zugeordnete Ausgang des Modusregisters 22 ein Signal LMS (”Laufzeitabgleich-Modus im SDRAM”) aktiviert. Das aktive Signal LMS öffnet die Schalter X1, X2, X3 an den SDRAM-Anschlüssen S und C, so dass die reflexionsfreie Terminierung der Verbindungsleitungen SL und CL am SDRAM 220 beseitigt wird und diese Leitungen nunmehr ”offen” sind.
  • Wenn dies geschehen ist, wird auch der Controller zur Durchführung des Laufzeitabgleichs konditioniert. Hierzu aktiviert der Controller ein internes Signal LMC (”Laufzeitabgleich-Modus im Controller”), welches folgendes bewirkt:
    • – Öffnen eines Schalters X5, um den Eingang des Taktsignal-Sendeverstärkers CS von der Quelle des Taktsignals abzukoppeln;
    • – Öffnen eines Schalters X6, um den Eingang des Strobe-Sendeverstärkers SS' vom Strobegenerator STG' (vgl. 1) abzukoppeln;
    • – Öffnen eines Schalters X7, um den Ausgang des Strobe-Empfangsverstärkers SE' von der zugeordneten Abtastschaltung FF (vgl. 1) abzukoppeln;
    • – Schalten einer ersten und einer zweiten Zeitmesseinrichtung TC und TS und eines Verzögerungs-Stellsignalgebers VG in den Bereitschaftszustand (z. B. durch Einschaltung der Stromversorgung dieser Elemente);
    • – Einschalten des Strobe-Sendeverstärkers SS';
    • – Schließen von Schaltern X8 und X9 zur Überbrückung der regelbaren Verzögerungseinrichtungen VC und VS;
    • – Einschalten des Strobe-Sendeverstärkers SS' über ein ODER-Gatter G1, welches dem Steuereingang dieses Verstärkers vorgeschaltet ist und an seinem zweiten Eingang das Schreibbetriebssignal WRD empfängt.
  • Anschließend aktiviert der Controller 210 ein Triggersignal PGT, welches einen Pulsgenerator PG triggert, der daraufhin einen Messimpuls PGI liefert. Dieser Impuls ist vorzugsweise ein Wechselstromimpuls, der von einem mittleren Pegel M auf das Potential H springt, von dort auf das Potential L springt und dann wieder auf das mittlere Potential zurückspringt, wie es in 2 am Pulsgenerator PG eingezeichnet ist. Der Messimpuls PGI wird gleichzeitig an die Signaleingänge des Takt-Sendeverstärkers CS und des Strobe-Sendeverstärkers SS' und außerdem an einen ”Start”-Eingang jeder der beiden Zeitmesseinrichtungen TC und TS gelegt. Der Lauf der Zeitmesseinrichtungen TC und TS wird durch die negative Flanke des Messimpulses PGI (Übergang vom H-Pegel zum L-Pegel) gestartet und durch eine negative Flanke an einem ”Stop”-Eingang angehalten. Der Stop-Eingang der Zeitmesseinrichtung TS ist mit dem Ausgang des Strobe-Empfangsverstärkers SE' verbunden, und der Stop-Eingang der Zeitmesseinrichtung TC ist mit dem Ausgang des Empfangsverstärkers CE' verbunden.
  • Die Zeitmesseinrichtungen TC und TS können z. B. jeweils ein Zähler sein, dem Zählimpulse einer festen Frequenz fc angelegt werden, die ein möglichst großes Vielfaches der Frequenz des Taktsignals CLK ist. Durch die negative Flanke des Messimpulses PGI am Starteingang können diese Zähler auf 0 gesetzt werden, um dann die Zählimpulse aufwärts zu zählen, bis der Zählvorgang durch eine negative Flanke am einem ”Stop”-Eingang gestoppt wird.
  • Der vom Pulsgenerator PG erzeugte Messimpuls PGI läuft über den Strobe-Sendeverstärker SS' und den geschlossenen Schalter X8 zum Strobeanschluss S' und von dort in die Strobeleitung SL. Der Strobe-Empfangsverstärker SE' wird zu diesem Zeitpunkt noch gesperrt gehalten, und zwar durch inaktiven Pegel eines Empfangsverstärker-Steuersignals ESS, das am Steuereingang des Verstärkers SE' durch ein Gatter G2 mit dem Lesebetriebssignal RDD gemäß einer ODER-Funktion verknüpft ist. Der Messimpuls PGI läuft ferner über den Takt-Sendeverstärker CS und den geschlossenen Schalter X9 zum Taktanschluss C' und von dort in die Taktleitung CL. Der am gleichen Anschluss liegende Empfangsverstärker CE' wird zu diesem Zeitpunkt ebenfalls durch den inaktiven Pegel Steuersignals ESS gesperrt gehalten. Die in die Leitungen SL und CL gesendeten Impulse werden an den offen terminierten Enden dieser Leitungen reflektiert, so dass nach gewisser Zeit Echos dieser Impulse an den Anschlüssen S' und C' eintreffen. Die Echos treffen zu unterschiedlichen Zeiten ein, wenn die Signallaufzeiten über die beiden Leitungen SL und CL unterschiedlich sind.
  • In der 2 sind zwei Zeitdiagramme dargestellt, welche die Wellenformen der am Anschluss C' erscheinenden Impulse (oberes Diagramm) und der am Anschluss S' erscheinenden Impulse (unteres Diagramm) über der gleichen Zeitachse zeigen, und zwar für den Fall, dass die Signallaufzeit über die Taktleitung CL länger ist als die Signallaufzeit über die Strobeleitung SL. Die Wellenformen sind infolge der Reaktanzen der Leitungen verzerrt gegenüber der Wellenform des vom Pulsgenerator PG erzeugten Messimpulses. Außerdem sind die Echoimpulse wegen der Leitungsdämpfung etwas schwächer als der gesendete Impuls. Die Echoimpulse haben gleiche Polarität wie der gesendete Impuls, weil die Reflexion am offenen terminierten Ende einer Leitung bekanntlich ohne Polaritätsumkehr erfolgt.
  • Repräsentative Größe für die Laufzeit entlang einer Leitung ist im dargestellten Fall also der Zeitabstand zwischen der negativen Flanke des gesendeten Impulses und der negativen Flanke des zugehörigen Echoimpulses. Dieser Zeitabstand ist gleich der Hin-Rück-Laufzeit über die Leitung und ist im dargestellten Fall an der Taktleitung CL um das Maß Δt größer als an der Strobeleitung SL. Um die Laufzeitdifferenz zwischen den Leitungen CL und SL zu kompensieren, muss also die Verzögerungseinrichtung VS eine Verzögerung bewirken, die um Δt/2 länger ist als die Verzögerung der Verzögerungseinrichtung VC.
  • Um die hierzu passenden Verzögerungs-Einstellwerte VCS und VSS für die Verzögerungseinrichtungen VC und VS zu ermitteln, aktiviert der Controller 210 unmittelbar nach Absendung des Messimpulses PGI das Steuersignal ESS für die restliche Dauer des aktiven Pegels des Signals LMC, um die Empfangsverstärker SE' und CE' im Controller für diese Dauer einzuschalten. Der Verstärker SE' leitet das am Strobeanschluss S' erscheinende Echosignal zum Stop-Eingang der Zeitmesseinrichtung TS, so dass diese Einrichtung angehalten wird und an ihrem Ausgang einen ersten Zeitmesswert liefert, der die Hin-Rück-Laufzeit über die Strobeleitung SL anzeigt und an einen ersten Eingang des Verzögerungs-Stellsignalgebers VG gelegt wird. Der Verstärker CE' leitet das am Taktanschluss C' erscheinende Echosignal zum Stop-Eingang der Zeitmesseinrichtung TC, so dass diese Einrichtung angehalten wird und an ihrem Ausgang einen zweiten Zeitmesswert liefert, der die Hin-Rück-Laufzeit über die Taktleitung CL anzeigt und an einen zweiten Eingang des Verzögerungs-Stellsignalgebers VG gelegt wird. Der Verzögerungs-Stellsignalgeber VG ermittelt aus den beiden Zeitmesswerten die Differenz Δt und erzeugt die passenden Einstellwerte VSS und VCS, um die Verzögerungseinrichtungen VS und VC so einzustellen, dass VS um das Maß Δt/2 mehr verzögert als VC.
  • Der Einstellwert VCS, der die Verzögerung an der Taktleitung CL einstellt, wird auch verwendet, um die Verzögerungen an allen anderen Verbindungsleitungen, die im selben Strang wie die Taktleitung verlaufen, auf den gleichen Wert einzustellen. Dies sind beim hier behandelten Beispiel die Adressleitungen AL und die Befehlsleitungen BL (in 2 nicht gezeigt). Dementsprechend wird der Einstellwert VCS auch zu den Verzögerungseinrichtungen VA an den Adresspins A' und zu den Verzögerungseinrichtungen VB an den Befehlspins B' übertragen (ebenfalls in 2 nicht dargestellt).
  • In ähnlicher Weise wird der Einstellwert VSS, der die Verzögerung an der Strobeleitung SL einstellt, auch verwendet, um die Verzögerungen an allen anderen Verbindungsleitungen, die im selben Strang wie die Strobeleitung verlaufen, auf den gleichen Wert einzustellen. Dies sind beim hier behandelten Beispiel die Datenleitungen DL (in 2 nicht gezeigt). Dementsprechend wird der Einstellwert VSS auch zu den Verzögerungseinrichtungen VD an den Datenpins A' übertragen (ebenfalls in 2 nicht dargestellt).
  • Nach erfolgter Einstellung der Verzögerungseinrichtungen kann die Abgleichoperation beendet werden, indem der Controller 210 das Signal LMC deaktiviert. Hierdurch werden die Schalter X5 bis X7 im Controller wieder geschlossen, die Überbrückungsschalter X8 und X9 werden geöffnet, und die Zeitmesseinrichtungen TC, TS, der Pulsgenerator PG und der Verzögerungs-Stellsignalgeber VG werden ”tot” geschaltet. Die Verzögerungseinrichtungen bleiben für die Zukunft auf den eingestellten Werten fixiert. Anschließend sendet der Controller 210 über die Adress- und Befehlsanschlüsse irgendeinen neuen Modus-Einstellbefehlscode, in welchem das für die Durchführung des erfindungsgemäßen Laufzeitabgleichs reservierte Bit auf inaktivem Logikpegel (z. B. auf den Binärwert ”0”) ist, so dass im SDRAM 120 das Signal LMS deaktiviert wird. Hierdurch werden die Schalter X1, X2, X3 an den SDRAM-Anschlüssen S und C wieder geöffnet, so dass die Verbindungsleitungen SL und CL am SDRAM 220 wieder reflexionsfrei terminiert sind.
  • Mit dieser letzen Operation ist die Kommunikations-Verbindung zwischen dem Controller 210 und dem SDRAM 220 ”kalibriert”. In jedem anschließenden Betrieb des Speichersystems laufen die vom Controller 210 erzeugten Sendesignale, also Adressbits ADR, Befehlsbits BEF, das Taktsignal CLK, das Strobesignal STR und Datenbits DAT mit gleicher Laufzeit über die Verzögerungseinrichtungen und Verbindungsleitungen zum SDRAM 220.
  • Die in 2 gezeigte Schalteinrichtung im SDRAM 220 zum Umwandeln der reflexionsfreien Terminierung in eine offene Terminierung ist nur ein Ausführungsbeispiel. Die 3 zeigt eine Variante, bei welcher die Schalter X3 weggelassen sind und stattdessen Maßnahmen getroffen sind, um die mit den Anschlüssen C und S verbundenen Empfangsverstärker CE und SE abzuschalten, wenn das Signal LMS wirksam ist. Hierzu ist am Steuereingang des Strobe-Empfangsverstärkers SE ein UND-Gatter GS vorgesehen, welches das Schreibbetriebssignal WRD mit der invertierten Version des Signals LMS verknüpft. Dies bewirkt, dass der Verstärker SE nur dann eingeschaltet ist, wenn LMS unwirksam ist und das Schreibbetriebssignal WRD aktiviert ist. Das Öffnen der Schalter X1 und X2 am Anschluss S wird vom Ausgang des UND-Gatters GS über einen Inverter IS gesteuert, so dass diese Schalter nicht nur bei akivem Signal LMS offen sind, sondern auch dann, wenn im normalen Betrieb des SDRAM 220 eine Leseoperation (also keine Schreiboperation) läuft, bei welcher der Strobe-Sendeverstärker SS des SDRAM ein Strobesignal an den Controller 210 sendet. Der Takt-Empfangsverstärker CE ist bei der Variante nach 3 als ein- und ausschaltbarer Verstärker ausgebildet, und seinem Steuereingang wird das Signal LMS über einen Inverter IC angelegt. Der Controller 210 ist bei der Variante nach 3 genau so ausgebildet und arbeitet in der gleichen Weise, wie es anhand der 2 beschrieben wurde.
  • Bei den beiden Ausführungsformen nach den 2 und 3 wird die gewünschte Reflexion des Messimpulses durch offene Terminierung der Verbindungsleitungen CL und SL erreicht. Als Alternative kann die Reflexion auch durch Kurzschluss-Terminierung zu erreicht werden. Diese Alternative empfiehlt sich insbesondere dann, wenn die Terminierungswiderstände R an den Anschlüssen des SDRAM außerhalb des Chips angeordnet und mit den Versorgungspotentialen H und L verbunden sind, und zwar durch feste Verlötung auf der die Chips tragenden Platine, wie es in der 4 gezeigt ist. In diesem Fall ist es nicht möglich, diese Widerstände von den Anschlüssen vorübergehend abzutrennen, um eine offene Terminierung zu erreichen.
  • Zur Erzielung einer genügend stark reflektierenden Kurzschluss-Terminierung genügt es, die betreffenden Anschlüsse der Verbindungsleitungen am SDRAM niederohmig mit einem der Versorgungspotentiale H oder L zu verbinden. Gemäß der 4 ist hierzu zwischen jedem der Anschlüsse C und S des SDRAM 220 und dem L-Potential ein normalerweise offener Nebenschluss-Schalter X4 vorgesehen, der durch aktiven Pegel des Signals LMS geschlossen wird. Dieses Signal LMS wird nur während der erfindungsgemäßen Abgleichoperation aktiv gehalten, genau so wie es anhand der 2 beschrieben wurde. Der Controller 210 ist bei der Ausführungsform nach 4 genau so ausgebildet und arbeitet in der gleichen Weise, wie es anhand der 2 beschrieben wurde, abgesehen von einem kleinen Unterschied, der darin besteht, dass die Zeitmesseinrichtungen TC und TS durch das Erscheinen einer positiven Flanke an den Stop-Eingängen angehalten werden (anstatt durch negative Flanke wie in den Fällen der 2 und 3). Dies ist in 4 durch ein Symbol in Form eines kleinen Kreises an den besagten Stop-Eingängen angedeutet und ist notwendig, weil bei Reflexion an einem kurzgeschlossenen Leitungsende bekanntlich eine Polaritätsumkehr stattfindet. Somit erscheint, wie in den Zeitdiagrammen in 4 gezeigt, die negativen Flanke des gesendeten Messimpulses als positive Flanke in den Echos.
  • Die vorstehend anhand der 2 bis 4 beschriebenen Ausführungsformen sind nur Beispiele und können in verschiedener Weise abgewandelt oder ergänzt werden. Einige dieser Abwandlungen und Ergänzungen werden nachstehend beschrieben.
  • Statt der Taktleitung CL und der Strobeleitung SL kann jeweils eine beliebige andere Leitung im betreffenden Leitungsstrang für die vergleichende Laufzeitmessung benutzt werden, z. B. eine der Leitungen im Adressleitungsbündel AL oder im Befehlsleitungsbündel BL als Vertreter des A/B/C-Stranges und eine der Leitungen im Datenleitungsbündel als Vertreter des S/D-Stranges.
  • Es ist auch möglich, an allen Leitungen desjenigen Stranges, von dem man weiß, dass er die längste Laufzeit hat, überhaupt keine Verzögerungseinrichtungen vorzusehen. In diesem Fall braucht der Verzögerungs-Stellsignalgeber nur einen Einstellwert für regelbare Verzögerungseinrichtungen an den Leitungen des anderen Stranges zu erzeugen.
  • Andererseits ist es auch möglich, die Verzögerungseinrichtungen für alle Leitungen eines ersten Stranges fest zu bemessen und nur die Verzögerungseinrichtungen für die anderen Leitungen regelbar zu machen. Auch in diesem Fall braucht der Verzögerungs-Stellsignalgeber nur einen Einstellwert für die anderen Verzögerungseinrichtungen zu erzeugen. Diese Variante empfiehlt sich in einem ”multiplen” Speichersystem, in welchem der Controller gemäß dem in 1 gezeigten Schema an mehrere Speicherbausteine angeschlossen ist.
  • Um die Signallaufzeiten in einem solchen ”multiplen” Speichersystem abzugleichen, muss für jeden Speicherbaustein eine gesonderte Abgleichoperation erfolgen. Hierbei müssen die Verzögerungseinrichtungen an den A/B/C-Anschlüssen A', B, C' des Controllers auf festem Wert bleiben, weil diese Anschlüsse parallel mit allen Speicherbausteinen verbunden sind. Nachdem die Abgleichoperation in Verbindung mit einem ersten Speicherbaustein in der oben beschriebenen Weise durchgeführt und beendet worden ist (und somit alle Signale, die zwischen dem Controller und diesem ersten Baustein übertragen werden, die gleiche Laufzeit haben), wird die Operation in gleicher Weise wiederholt, jedoch unter Selektion des nächsten Bausteins mittels entsprechender Codierung der Chip-Selektionsbits an den Befehlsanschlüssen des Controllers. Bei dieser Abgleichoperation werden die Verzögerungseinrichtungen VS und VD am Strobeanschluss S' und an den Datenanschlüssen dieses Bausteins automatisch so eingestellt, dass nach Beendigung der Abgleichoperation alle Signale, die zwischen dem Controller und diesem Baustein übertragen werden, die gleiche Laufzeit haben. In der gleichen Weise kann der Laufzeitabgleich für alle weiteren Speicherbausteine des multiplen Speichersystems durchgeführt werden.
  • Auch beim vorstehend beschriebenen Verfahren können Verzögerungseinrichtungen an den A/B/C-Anschlüssen ganz weggelassen werden, falls der A/B/C-Leitungsstrang vom Controller zum ”fernsten” Speicherbaustein kürzer ist als der D/S-Leitungsstrang zum ”nächstgelegenen” Speicherbaustein.
  • Bei den vorstehend beschriebenen Ausführungsbeispielen ist vorausgesetzt, dass die Gruppe der Adress-, Befehls- und Taktleitungen AL, BL CL und die Gruppe der Strobe- und Datenleitungen SL, DL jeweils einen ”Strang” bilden, innerhalb dessen es keine nennenswerten Laufzeitunterschiede gibt. In der Praxis kann die Einteilung in solche Stränge aber auch anders sein. So kann es insbesondere bei sehr hohen Taktfrequenzen vorkommen, dass z. B. Laufzeitunterschiede zwischen der Strobeleitung SL und dem Datenleitungsbündel DL oder sogar Laufzeitunterschiede zwischen einzelnen Leitungen des DL-Bündels kompensiert werden müssen, oder z. B. Laufzeitunterschiede zwischen den Adress-, Befehls- und Taktleitungen AL, BL, CL. In solchen Fällen gibt es mehr als zwei ”Stränge” im oben definierten Sinn, wobei ein oder mehrere Stränge sogar nur aus einer einigen Leitung bestehen können. Es ist dann angebracht, einen der Stränge als Bezugsstrang auszuwählen und die Laufzeitdifferenzen zwischen diesem Bezugsstrang und den anderen Strängen durch Echomessungen zu ermitteln, um regelbare Verzögerungseinrichtungen an jedem der anderen Stränge passend einzustellen.
  • Der für die Echoerzeugung verwendete Messimpuls kann auch eine andere als die in den 2 bis 4 gezeigte Wellenform haben; Bedingung ist nur, dass der Impuls eine eindeutig detektierbare Flanke hat, deren Echo ebenfalls eindeutig detektierbar ist. Auch ein einfacher Impuls, der nur in negative (oder nur in positive Richtung) ausschlägt, kann geeignet sein, insbesondere bei Verwendung einer Kurzschluss-Terminierung mittels eines zum L-Potential (oder zum H-Potential) führenden Nebenschluss-Schalters, wie er in 4 gezeigt ist. Auch Gaußsche oder sinusähnliche Impulsformen können verwendet werden.
  • Bei der Laufzeitmessung an einem bidirektionalen Anschluss (wie z. B. am Strobeanschluss S') kann für den Empfang des Echos der ohnehin für diese Leitung vorhandene Empfangsverstärker verwendet werden, wie in den 2 bis 4 gezeigt. Es ist aber auch möglich, für den Echoempfang einen gesonderten Verstärker oder Flankendetektor vorzusehen, der direkt durch das Steuersignal ESS eingeschaltet wird, ähnlich wie es in den 2 bis 4 für den Echoempfang am Taktanschluss C' gezeigt ist.
  • Die Laufzeitmessungen und die Einstellung der Verzögerungen können auch auf der Seite des Speicherbausteins erfolgen. Hierzu wären der Messimpulsgenerator, die Zeitmesseinrichtungen und die einzustellenden Verzögerungseinrichtungen im Speicherbaustein vorzusehen, und die Schalteinrichtungen zur reflektierenden Leitungsterminierung wären im Controller vorzusehen.
  • Schließlich sei noch erwähnt, dass die Schalter, die in den Figuren durch die üblichen Schaltersymbole dargestellt sind, natürlich durch steuerbare Halbleiterelemente gebildet sind, z. B. durch Feldeffekttransistoren.
  • Bezugszeichenliste
  • Schaltungskomponenten
  • 21
    Befehlsdecoder
    22
    Modusregister
    25
    Steuereinrichtung
    26
    Speicherzellenfeld
    110
    Controller
    120
    Speicherbaustein
    210
    Controller
    220
    Speicherbaustein
    A, A'
    Adressanschlüsse
    AE
    Adress-Empfangsverstärker
    AL
    Adressleitungen
    AS
    Adress-Sendeverstärker
    B, B'
    Befehlsanschlüsse
    BE
    Befehls-Empfangsverstärker
    BL
    Befehlsleitungen
    BS
    Befehls-Sendeverstärker
    C, C'
    Taktanschlüsse
    CE, CE'
    Takt-Empfangsverstärker
    CL
    Taktleitung
    CS
    Takt-Sendeverstärker
    D, D'
    Datenanschlüsse
    DE, DE'
    Daten-Empfangsverstärker
    DL
    Datenleitungen
    DS, DS'
    Daten-Sendeverstärker
    FF
    Abtastschaltungen
    R
    Widerstände
    G1, G2
    ODER-Gatter
    GS
    UND-Gatter
    IC, IS
    Inverter
    S, S'
    Strobeanschlüsse
    PG
    Impulsgenerator
    SE, SE'
    Strobe-Empfangsverstärker
    SG, SG'
    Strobegeneratoren
    SL
    Strobeleitung
    SS, SS'
    Strobe-Sendeverstärker
    VA
    Adresssignal-Verzögerungseinrichtung
    VB
    Befehlssignal-Verzögerungseinrichtung
    VC
    Taktsignal-Verzögerungseinrichtung
    VD
    Datensignal-Verzögerungseinrichtung
    VG
    Verzögerungs-Stellwertgeber
    VS
    Strobesignal-Verzögerungseinrichtung
    TC, TS
    Zeitmesseinrichtungen
    X1–X9
    SchalterSignale
    Signale
    ADR
    Adressbits
    BEF
    Befehlsbits
    CLK
    Taktsignal
    DAT
    Datenbits
    ESS
    Empfangsverstärker-Steuersignal
    LMC, LMS
    Laufzeitabgleich-Modussignale
    MRS
    Modusregister-Setzbefehl
    PGI
    Messimpuls
    RDD
    Lesebetriebssignal
    STR, STR'
    Strobesignale
    VCS, VSS
    Verzögerungs-Einstellsignale
    WRD
    Schreibbetriebssignal

Claims (12)

  1. Verfahren zum Abgleichen von Signallaufzeiten in einem Speichersystem, in welchem Anschlüsse (A', B', C', S', D') eines Controllers (210) über eine Mehrzahl von Verbindungsleitungen (AL, BL, CL, SL, DL) mit Anschlüssen (A, B, C, S, D) mindestens eines Speicherbausteins (220) verbunden sind, um Steuer- und Datensignale und mindestens ein Zeitreferenzsignal als Bitfolge zu übertragen, mit den Schritte: i) Andern der Eingangsimpedanz an jeweils einem Anschluss wenigstens zweier Verbindungsleitungen in eine reflektierende Terminierung für die betreffenden Verbindungsleitungen, ii) Ermitteln der Laufzeitdifferenzen zwischen den Verbindungsleitungen aus dem Ergebnis von Echomessungen, bei denen jeweils ein Sendeimpuls (PGI) an den nicht mit seiner Eingangsimpedanz in die reflektierende Terminierung geänderten Anschluss der Verbindungsleitungen angelegt und die Echozeit gemessen wird, die zwischen einer Flanke des Sendeimpulses und dem Erscheinen des vom anderen Ende reflektierten Echos dieser Flanke verstreicht; iii) Einstellen von den Verbindungsleitungen zugeordneten Verzögerungseinrichtungen (VA, VB, VC, VS, VD) abhängig von den ermittelten Laufzeitdifferenzen zur Kompensation dieser Laufzeitdifferenzen.
  2. Verfahren nach Anspruch 1, wobei als der nicht mit seiner Eingangsimpedanz in die reflektierende Terminierung geänderten Anschluss der Verbindungsleitung der Anschluss (A', B', C', S', D') an dem Controller (210) ausgewählt wird.
  3. Verfahren nach Anspruch 2, wobei die Kompensierung der ermittelten Laufzeitdifferenzen durch Einstellung von regelbaren Verzögerungseinrichtungen (VA, VB, VC, VS, VD) im Controller (210) erfolgt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die reflektierende Terminierung der Verbindungsleitungen durch einen offenen Stromkreis hergestellt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei die reflektierende Terminierung der Verbindungsleitungen durch einen Kurzschluss hergestellt wird.
  6. Verfahren nach Anspruch 2 für ein Speichersystem, in welchem der Controller mit m > 1 Speicherbausteinen verbunden ist, wobei jeder Speicherbaustein eine erste Gruppe von Anschlüssen hat, die über Verbindungsleitungen mit einer ersten Anschlussgruppe des Controllers verbunden sind, und wobei der Controller m weitere Anschlussgruppen hat, deren jede über Verbindungsleitungen mit einer zweiten Anschlussgruppe eines individuell zugeordneten Speicherbausteins verbunden ist, wobei die Verzögerungen derjenigen Signalwege im Controller, die über die erste Anschlussgruppe des Controllers laufen, fest eingestellt werden und, unter Beibehaltung dieser festen Einstellung, die Folge der Schritte i), ii) und iii) für jeden Speicherbaustein gesondert durchgeführt wird.
  7. Schaltungsanordnung in einem Speicherbaustein (220) zur Durchführung des Verfahrens nach Anspruch 2, mit externen Anschlüssen (A, B, C, S, D), die ausgelegt sind für den Empfang von Steuer- und Datensignalen über Verbindungsleitungen (AL, BL, CL, SL, DL) von einem Controller (210) und die jeweils ein Anpassungs-Widerstandsnetzwerk (R) aufweisen zur Anpassung der Eingangsimpedanz an den Wellenwiderstand der anzuschließenden Verbindungsleitung, wobei ausgewählten Anschlüssen (C, S) jeweils eine Umschalteinrichtung (X1, X2, X3; X1, X2, IC, IS, GS; X4) zugeordnet ist, die auf ein Abgleich-Modussignal (LMS) anspricht, um die Eingangsimpedanz am betreffenden Anschluss zu ändern in eine reflektierende Terminierung für die betreffende Verbindungsleitung.
  8. Schaltungsanordnung nach Anspruch 7, wobei die reflektierende Terminierung ein offener Stromkreis ist.
  9. Schaltungsanordnung nach Anspruch 7, wobei die reflektierende Terminierung eine Kurzschluss-Terminierung ist.
  10. Schaltungsanordnung nach einem der Ansprüche 7 bis 9, wobei die ausgewählten Anschlüsse (C, S) jeweils nur einen Anschluss aus jeder Anschlussgruppe umfassen (A/B/C, S/D), die jeweils einer Gruppe von Verbindungsleitungen vernachlässigbare Laufzeitdifferenz zugeordnet sind.
  11. Schaltungsanordnung in einem Speichercontroller (210) zur Durchführung des Verfahrens nach Anspruch 2, mit externen Anschlüssen (A', B', C', S', D') zum Senden von Steuersignalen (ADR, BEF, CLK) und zum Senden und Empfangen weiterer Signale (STR, DAT) über externe Verbindungsleitungen (AL, BL, CL, SL, DL) für die Kommunikation mit mindestens einem Speicherbaustein (220), regelbare Verzögerungseinrichtungen (VA, VB, VC, VS, VD) zum Verzögern der über die externen Anschlüsse (A', B', C', S', D') laufenden Signale abhängig von zugeordneten Stellsignalen (VCS, VSS), einen durch ein Abgleich-Modussignal (LMC) aktivierbaren Messimpulsgenerator (PG) zum Anlegen einer Messimpulsflanke (PGI) an ausgewählte Anschlüsse (C', S'), für jeden der ausgewählten Anschlüsse jeweils eine Empfangsschaltung (CE' SE'), die durch das Abgleich-Modussignal konditionierbar ist, um ein nach der Messimpulsflanke am betreffenden Sendeanschluss erscheinendes Echo dieser Flanke zu detektieren, Zeitmessmittel (TC, TS) zur Messung des Zeitintervalls zwischen dem Anlegen der Messimpulsflanke und der Detektion des Echos an jedem der ausgewählten Anschlüsse; eine Stellsignal-Erzeugungseinrichtung (VG), welche die Stellsignale für die regelbaren Verzögerungseinrichtungen als Funktion der gemessenen Zeitintervalle erzeugt derart, dass Laufzeitdifferenzen zwischen den externen Verbindungsleitungen kompensiert werden.
  12. Schaltungsanordnung nach Anspruch 11, wobei die ausgewählten Anschlüsse (C', S') jeweils nur einen Anschluss aus jeder Anschlussgruppe (A'/B'/C', S'/D') umfassen, die jeweils einer Gruppe von Verbindungsleitungen vernachlässigbare Laufzeitdifferenz zugeordnet sind.
DE102004046957.1A 2004-09-28 2004-09-28 Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem Expired - Fee Related DE102004046957B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004046957.1A DE102004046957B4 (de) 2004-09-28 2004-09-28 Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem
US11/236,970 US7573741B2 (en) 2004-09-28 2005-09-28 Method and circuit arrangements for adjusting signal propagation times in a memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004046957.1A DE102004046957B4 (de) 2004-09-28 2004-09-28 Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem

Publications (2)

Publication Number Publication Date
DE102004046957A1 DE102004046957A1 (de) 2006-04-06
DE102004046957B4 true DE102004046957B4 (de) 2016-02-04

Family

ID=36062008

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004046957.1A Expired - Fee Related DE102004046957B4 (de) 2004-09-28 2004-09-28 Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem

Country Status (2)

Country Link
US (1) US7573741B2 (de)
DE (1) DE102004046957B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100068670A (ko) * 2008-12-15 2010-06-24 삼성전자주식회사 채널 스큐 보상 기능을 갖는 인터페이스 회로, 이를 구비한통신 시스템 및 채널 스큐 보상 방법
KR102520259B1 (ko) * 2018-03-09 2023-04-11 에스케이하이닉스 주식회사 반도체시스템

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773118A (ja) * 1993-09-02 1995-03-17 Toshiba Corp 遅延時間補償装置
US5646904A (en) * 1994-10-25 1997-07-08 Oki Electric Industry Co., Ltd. Semicoductor memory with a timing controlled for receiving data at a semiconductor memory module to be accessed
JPH10224204A (ja) * 1997-02-10 1998-08-21 Mitsubishi Electric Corp 半導体集積回路
US6134182A (en) * 1999-10-19 2000-10-17 International Business Machines Corporation Cycle independent data to echo clock tracking circuit
WO2001016767A1 (en) * 1999-09-01 2001-03-08 Rambus Inc Electronically moveable terminator and method for using same in a memory system
JP2001243773A (ja) * 2000-02-28 2001-09-07 Hitachi Ltd 半導体記憶装置
US20020178318A1 (en) * 2001-05-17 2002-11-28 Infineon Technologies Ag Apparatus and method for reducing reflexions in a memory bus system
US20030200407A1 (en) * 2000-05-18 2003-10-23 Hideki Osaka Memory system
US20040080322A1 (en) * 2002-09-30 2004-04-29 Georg Braun Method for calibrating semiconductor devices using a common calibration reference and a calibration circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100554848B1 (ko) * 2003-12-10 2006-03-03 주식회사 하이닉스반도체 어드레스 억세스 타임 조절 회로를 구비한 반도체 메모리소자

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773118A (ja) * 1993-09-02 1995-03-17 Toshiba Corp 遅延時間補償装置
US5646904A (en) * 1994-10-25 1997-07-08 Oki Electric Industry Co., Ltd. Semicoductor memory with a timing controlled for receiving data at a semiconductor memory module to be accessed
JPH10224204A (ja) * 1997-02-10 1998-08-21 Mitsubishi Electric Corp 半導体集積回路
WO2001016767A1 (en) * 1999-09-01 2001-03-08 Rambus Inc Electronically moveable terminator and method for using same in a memory system
US6134182A (en) * 1999-10-19 2000-10-17 International Business Machines Corporation Cycle independent data to echo clock tracking circuit
JP2001243773A (ja) * 2000-02-28 2001-09-07 Hitachi Ltd 半導体記憶装置
US20030200407A1 (en) * 2000-05-18 2003-10-23 Hideki Osaka Memory system
US20020178318A1 (en) * 2001-05-17 2002-11-28 Infineon Technologies Ag Apparatus and method for reducing reflexions in a memory bus system
US20040080322A1 (en) * 2002-09-30 2004-04-29 Georg Braun Method for calibrating semiconductor devices using a common calibration reference and a calibration circuit

Also Published As

Publication number Publication date
US7573741B2 (en) 2009-08-11
US20060109869A1 (en) 2006-05-25
DE102004046957A1 (de) 2006-04-06

Similar Documents

Publication Publication Date Title
DE10153657C2 (de) Anordnung zur Datenübertragung in einem Halbleiterspeichersystem und Datenübertragungsverfahren dafür
DE102005019041B4 (de) Halbleiterspeicher und Verfahren zur Anpassung der Phasenbeziehung zwischen einem Taktsignal und Strobe-Signal bei der Übernahme von zu übertragenden Schreibdaten
DE10302128B3 (de) Pufferverstärkeranordnung
DE10010440B4 (de) Synchrones dynamisches Speicherbauelement mit wahlfreiem Zugriff und Verfahren zur CAS-Latenzsteuerung
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE60204597T2 (de) Kompakter automatischer tester (ate) mit zeitstempel-system
DE60132445T2 (de) Kalibrierung von bustaktsignalen für speicheranordnungen
DE19915398B4 (de) Verfahren zum Einstellen von Verzögerungszeiten einer Mehrzahl von Anschlusskarten in einem IC-Testgerät
DE102006028683B4 (de) Parallele Datenpfadarchitektur
DE10235448A1 (de) Eichverfahren und Speichersystem
DE102004025900A1 (de) Leselatenz-Steuerschaltung
DE60214992T2 (de) Mehrbit-prefetch-ausgangsdatenweg
DE10034899C1 (de) System zum Test schneller synchroner Halbleiterschaltungen
DE102005013238B4 (de) Verfahren und Einrichtung zum Übertragen von Justierinformation für Datenschnittstellen-Treiber eines RAM-Bausteins
EP1176606B1 (de) Verfahren und Vorrichtung zum Einlesen und zur Überprüfung der zeitlichen Lage von aus einem zu testenden Speicherbaustein ausgelesenen Datenantwortsignalen
DE69816464T2 (de) Vorrichtung und verfahren zum zeitverzögerungsausgleich von einrichtungen
DE19954564A1 (de) Steuerungsschaltung für die CAS-Verzögerung
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE102006022124A1 (de) Eingangsschaltung mit aktualisiertem Ausgangssignal, das mit Taktsignal synchronisiert ist
DE10344818B4 (de) Vorrichtung zum Kalibrieren der relativen Phase zweier Empfangssignale eines Speicherbausteins
DE102004046957B4 (de) Verfahren und Schaltungsanordnungen zum Abgleichen von Signallaufzeiten in einem Speichersystem
DE10121309B4 (de) Testschaltung zum Testen einer zu testenden Schaltung
DE60023583T2 (de) Pulslängendetektor
DE19929121B4 (de) Integrierte Halbleiterschaltung
DE10231419B4 (de) Vorrichtung und Verfahren zur Kalibrierung von Signalen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee