DE112006001132B4 - Regulieren der Taktung zwischen einem Abtastsignal und einem Datensignal - Google Patents

Regulieren der Taktung zwischen einem Abtastsignal und einem Datensignal Download PDF

Info

Publication number
DE112006001132B4
DE112006001132B4 DE112006001132.4T DE112006001132T DE112006001132B4 DE 112006001132 B4 DE112006001132 B4 DE 112006001132B4 DE 112006001132 T DE112006001132 T DE 112006001132T DE 112006001132 B4 DE112006001132 B4 DE 112006001132B4
Authority
DE
Germany
Prior art keywords
signal
delay
range
data bit
circuit
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
DE112006001132.4T
Other languages
English (en)
Other versions
DE112006001132T5 (de
Inventor
Bruce Querbach
Mohammad Abdallah
Amjad Khan
Mir Hossain
Sanjib Sarkar
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112006001132T5 publication Critical patent/DE112006001132T5/de
Application granted granted Critical
Publication of DE112006001132B4 publication Critical patent/DE112006001132B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0004Initialisation of the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

Verfahren, das aufweist: als Antwort auf einen Trainingsmodus, Kommunizieren zwischen einer Vorrichtung und einem Prozessor eines Computersystems über eine Datenbitleitung eines Busses; basierend auf der Kommunikation, Regulieren eines Taktes zwischen einem Abtastsignal und einem Signal, das sich über die Datenbitleitung fortpflanzt, wobei das Regulieren aufweist: basierend auf der Kommunikation, Bestimmen einer Untermenge von Verzögerungen innerhalb eines Bereiches von Verzögerungen, die auf das Abtastsignal aufgegeben werden können, um zu bewirken, daß das Abtastsignal mit dem Datenauge jedes Datenbitsignals synchronisiert wird, und Aufgeben einer Verzögerung innerhalb des Bereiches auf das Abtastsignal, um ein verzögertes Abtastsignal zu erzeugen; als Antwort auf den Trainingsmodus Bestimmen der Grenzen des Bereiches; und ausgewähltes Bewegen der auf dem Bestimmen basierenden Grenzen.

Description

  • HINTERGRUND
  • Die Erfindung betrifft im allgemeinen das Regulieren einer Taktung zwischen einem Abtastsignal und einem Datensignal.
  • Zum Zwecke des Kommunizierens von Daten über einen Bus zwischen einer Quelle (welche die Daten liefert) und einem Empfänger (welcher die Daten empfängt) in einem Busbetrieb liefert die Quelle typischerweise sowohl Datenbitsignale, die die Bits der Daten angeben, und ein Abtastsignal an den Bus. Das Abtastsignal hat deutliche Taktkanten (zum Beispiel ansteigende Kanten), die von einem Empfänger verwendet werden, um den Einfang der Daten aus den Datenbitsignalen zu synchronisieren; und jedes Datenbitsignal hat ”Datenaugen”, in denen das Datenbitsignal ein Bit der Daten angibt. Somit antwortet während des Busbetriebes der Empfänger auf jede ansteigende Kante des Abtastsignals, um in idealer Weise die Datenbitsignale innerhalb der Datenaugen abzunehmen, um einen Satz aus Bits von dem Bus einzufangen.
  • Die US 6 401 213 B1 offenbart ein System mit einem Bus, der eine Datenbitleitung und eine Taktleitung aufweist, einem dynamischen Speicher mit wahlfreiem Zugriff, der mit dem Bus gekoppelt ist, einem Prozessor, der mit dem Bus gekoppelt ist, einem Agenten, der mit dem Bus gekoppelt ist, und einer Schaltung, um basierend auf einer Kommunikation zwischen dem Prozessor und dem Agenten in einem Trainingsmodus einen Takt zwischen einem Abtastsignal und einem Signal, das sich über die Datenbitleitung fortpflanzt, zu regulieren.
  • Zudem ergibt sich daraus ein Verfahren, das als Antwort auf einen Trainingsmodus Kommunizieren zwischen einer Vorrichtung und einem Prozessor eines Computersystems über eine Datenbitleitung eines Busses und basierend auf der Kommunikation Regulieren eines Taktes zwischen einem Abtastsignal und einem Signal, das sich über die Datenbitleitung fortpflanzt, aufweist.
  • Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, für eine bessere Regulierung der Taktung zwischen einem Abtastsignal und einem Datensignal zu sorgen.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren nach Anspruch 1, ein System nach Anspruch 10, eine Bus-Schnittstelle nach Anspruch 14 sowie einen Gegenstand nach Anspruch 16 gelöst.
  • Die jeweiligen Unteransprüche betreffen vorteilhafte Weiterentwicklungen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 und 10 sind schematische Schaubilder von Computersystemen gemäß unterschiedlicher Ausführungsformen der Erfindung.
  • 2 ist eine Veranschaulichung eines Bereichs von Verzögerungen, die die Eingabe/Ausgabeschaltung der 1 während eines anfänglichen Verbindungstraining-Modus gemäß einer Ausführungsform der Erfindung auf ein Abtastsignal bringt.
  • 3 ist ein Ablaufdiagramm, das eine Technik veranschaulicht, um eine Taktung zwischen einem Abtastsignal und einem Datenbitsignal in einem anfänglichen Verbindungstraining-Modus gemäß einer Ausführungsform der Erfindung einzurichten.
  • 4 und 5 sind Ablaufdiagramme, die Techniken veranschaulichen, um die Taktung zwischen dem Abtastsignal und dem Datenbitsignal in einem aktiven Verbindungstraining-Modus gemäß Ausführungsformen der Erfindung zu regulieren.
  • 6 ist eine Tabelle, die beispielhafte Zustände für einen Testvektor veranschaulicht, der bei dem Verbindungstraining des Abtastsignals gemäß einer Ausführungsform der Erfindung verwendet wird.
  • 7 ist ein schematisches Schaubild, das die Eingabe/Ausgabeschaltung des Computersystems der 1 gemäß einer Ausführungsform der Erfindung veranschaulicht.
  • 8 ist ein schematisches Schaubild, das die Taktverzögerungsschaltung der 7 gemäß einer Ausführungsform der Erfindung veranschaulicht.
  • 9 ist ein schematisches Schaubild der Verzögerungseinstellschaltung der 8 gemäß einer Ausführungsform der Erfindung.
  • GENAUE BESCHREIBUNG
  • Mit Bezug auf 1 benutzt eine Ausführungsform 10 eines Computersystems gemäß der Erfindung Verbindungstraining, um Taktbeziehungen zwischen einem Abtastsignal (strobe signal) und Datenbitsignalen zu bestimmen und einzustellen, die von einem Frontside-Bus (FSB) 16 empfangen werden. Genauer stellt der FSB 16 eine Kommunikationsverbindung zwischen einem Prozessor 12 (einer zentralen Verarbeitungseinheit (CPU – Central Processing Unit) als ein Beispiel) und weiteren Busagenten, die an den FSB 16 gekoppelt sind, so wie zum Beispiel einer North Bridge oder einem Speicherhub 14, zur Verfügung. Der FSB 16 umfaßt Datenbitleitungen 17, welche die Datenbitsignale kommunizieren, und ebenso eine Abtastsignalleitung 19, die das Abtastsignal (in 1 ”BCLK” genannt) kommuniziert.
  • Gemäß einigen Ausführungsformen der Erfindung umfassen die Agenten, die mit dem FSB 16 gekoppelt sind, so wie der Prozessor 12 und der Speicherhub 14, jeder eine Eingangs/Ausgangs(I/O – Input/Output)-Schaltung 20. Zum Beispiel umfaßt der Prozessor 12 eine I/O-Schaltung 20a und der Speicherhub 14 umfaßt eine I/O-Schaltung 20b, die jede eine übliche Gestaltung haben, welche mit der Bezugsziffer ”20” bezeichnet ist.
  • Die I/O-Schaltung 20 stellt Taktbeziehungen zwischen den Datenbitsignalen und dem Abtastsignal ein. Genauer, gemäß einigen Ausführungsformen der Erfindung, erzeugt die I/O-Schaltung 20 intern verzögerte Abtastsignale, wobei jedes dieser einem unterschiedlichen der Datensignale zugewiesen ist und verwendet wird, das Einfangen von Daten aus dem zugewiesenen Datenbitsignal einzuleiten. Die I/O-Schaltung 20 benutzt Verbindungstraining, um für jedes Datenbitsignal eine Abtastverzögerung zu bestimmen, die dem Abtastsignal aufgegeben wird, um das entsprechende verzögerte Abtastsignal zu erzeugen. Somit, wenn zum Beispiel der FSB 16 vierundsechzig Datenbitleitungen 17 umfaßt, dann bewertet die I/O-Schaltung 20 unabhängig den Takt zwischen dem Abtastsignal und jedem der vierundsechzig Datenbitsignale, die über die Leitungen 17 geliefert werden, und als Antwort auf diese Bewertung richtet die I/O-Schaltung 20 vierundsechzig Abtastverzögerungen ein.
  • Gemäß einigen Ausführungsformen der Erfindung kann die I/O-Schaltung 20 in einen von zwei Verbindungstraining-Modi gebracht werden: einen anfänglichen Verbindungstraining-Modus, in dem die I/O-Schaltung 20 anfangs die Abtastverzögerungen bestimmt; und einen zweiten aktiven Verbindungstraining-Modus, in dem die I/O-Schaltung 20 kontinuierlich die Abtastverzögerungen bewertet und einstellt, zum Zwecke des Anpassens an Änderungen, so wie zum Beispiel Spannungs- und Temperaturänderungen, welche die Taktbeziehungen zwischen dem Abtastsignal und den Datenbitsignalen beeinflussen.
  • Neben den weiteren Merkmalen des Computersystems 10 umfaßt bei manchen Ausführungsformen der Erfindung das Computersystem 10 solche Merkmale wie einen Speicherbus 60, einen Peripheriekomponentenanschluß(PCI – Peripheral Component Interconnect)-Bus 64 und einen Bus 30 für einen Port für beschleunigte Grafik (AGP – Accelerated Graphics Port), die alle mit dem Speicherhub 14 gekoppelt sind. Die Specifikation des PCI ist bei The PCI Special Interest Group, Portland, Oregon 97214, verfügbar. Der AGP ist in Einzelheiten in der Accelerated Graphics Port Interface Specification, Auflage 1.0, veröffentlicht am 31. Juli 1996 von der Intel Corporation, Santa Clara, Californien, beschrieben.
  • Der Speicherbus 60 koppelt einen Systemspeicher 62 (zum Beispiel einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM – Dynamic Random Access Memory), wie in 1 veranschaulicht) mit dem Speicherhub 14; und der PCI-Bus 64 kann zum Beispiel eine Netzwerkschnittstellenkarte (NIC – -Network Interface Card) 28 an den PCI-Bus 64 koppeln. Weiterhin kann eine Anzeige 34 über eine Anzeigesteuerschnittstelle 32 an den AGP-Bus 30 gekoppelt sein.
  • Bei manchen Ausführungsformen der Erfindung kann das Computersystem 10 auch eine South Bridge oder einen I/O-Hub 40 umfassen, der mit dem Speicherhub 14 über eine Hubverbindung 36 kommuniziert. Der I/O-Hub 40 kann zum Beispiel eine Schnittstelle für eine oder mehrere Festplattenlaufwerke bilden, so wie ein Festplattenlaufwerk 52, und ebenso eine Schnittstelle für ein CD-ROM-Laufwerk 50 zur Verfügung stellen. Weiterhin kann bei manchen Ausführungsformen der Erfindung der I/O-Hub 40 an einen Erweiterungsbus 42 gekoppelt sein. Ein I/O-Controller 44 kann zum Zwecke des Ankoppelns einer Tastatur 46 und einer Maus 48 an das Computersystem 10 an den Erweiterungsbus 42 gekoppelt sein.
  • Es wird angemerkt, daß das Computersystem 10 für ein Beispiel einer aus vielen möglichen Ausführungsformen der Erfindung veranschaulicht ist; und somit sind andere Ausführungsformen möglich und liegen innerhalb des Umfangs der angehängten Ansprüche.
  • Mit Bezug auf 2 wendet gemäß einiger Ausführungsformen der Erfindung für jede Datenbitleitung 17 die I/O-Schaltung 20 eine Abtastverzögerung an, die in einen Bereich 90 möglicher Abtastverzögerungen fällt. Somit kann bei manchen Ausführungsformen der Erfindung am Beginn des Bereiches 90 die Verzögerung Null sein, obwohl andere beginnende Verzögerungen des Bereichs 90 bei weiteren Ausführungsformen der Erfindung verwendet werden können. Es wird bei den Ausführungsformen hiernach allgemein angenommen, daß der Bereich 90 drei verschiedene Bereiche für den Dateneinfang definiert: einen Bereich 100 (ein ”Ausfallbereich” genannt), der sich am Anfang des Bereiches 90 befindet, der ein Bereich ist, in dem die Abtastverzögerung nicht bewirkt, daß sich das verzögerte Abtastsignal innerhalb des Auges des zugewiesenen Datenbitsignals ausrichtet (und somit einen verfehlten Dateneinfang hervorruft); einen Zwischenbereich des Bereiches 90 (ein ”Durchführungsbereich 102” genannt), der ein Bereich ist, in dem die Abtastverzögerung bewirkt, daß das verzögerte Abtastsignal sich innerhalb des Datenauges ausrichtet (und somit einen erfolgreichen Dateneinfang hervorruft); und einen Bereich (ein ”Ausfallbereich 104” genannt), der sich an dem Ende des Bereichs 90 befindet, welcher ein weiterer Bereich ist, in dem die Abtastverzögerung nicht bewirkt, daß sich das verzögerte Abtastsignal mit dem Datenauge des Datenbitsignals ausrichtet.
  • Idealerweise fällt bei manchen Ausführungsformen der Erfindung die Abtastverzögerung nahe (oder an) den Mittelpunkt des Durchführungsbereiches 102. Zum Zwecke des Lokalisierens des Mittelpunktes des Durchführungsbereichs 102 finden bei manchen Ausführungsformen der Erfindung die Techniken, die hierin beschrieben sind, die linke Grenze 101 oder die geringste Verzögerung des Durchführungsbereiches 102 und die rechte Grenze 103 oder den größten Verzögerungswert des Durchführungsbereichs 102. Somit bestimmt die I/O-Schaltung 20 den Mittelpunkt des Durchführungsbereiches 102 durch Bestimmen des Mittelwertes der linken 101 und der rechten 103 Grenze.
  • Bei manchen Ausführungsformen der Erfindung kann der Bereich 90, der in 2 veranschaulicht ist, einem Bereich einzelner Verzögerungswerte entsprechen. Als ein genaueres Beispiel werden bei den Ausführungsformen der Erfindung, die hiernach beschrieben sind, sechzehn mögliche Werte für die Abtastverzögerung und somit für den Bereich 90 angenommen. Abhängig von der bestimmten Ausführungsform der Erfindung können die Verzögerungen zeitlich regelmäßig beabstandet sein, obwohl bei anderen Ausführungsformen der Erfindung andere Beziehungen zwischen den Verzögerungen vorliegen können. Ungeachtet der Beziehung zwischen den Verzögerungen des Bereichs wachsen die Verzögerungen von einer minimalen Verzögerung zu einer maximalen Verzögerung an. Das Ziel des hierin beschriebenen Verbindungstrainings besteht darin, die Mitte des Durchführungsbereichs 102 oder den Mittelpunkt der Verzögerungen zu definieren, um die Taktkanten des Datenabtastsignals in den Datenaugen des Datenbitsignals zu zentrieren.
  • Wie oben angesprochen hat gemäß einigen Ausführungsformen der Erfindung die I/O-Schaltung 20 zwei Betriebsmodi für das Verbindungstraining. Der erste Betriebsmodus ist der anfängliche Verbindungstraining-Modus, in dem die I/O-Schaltung 20 für jede Datenbitleitung den Mittelpunkt des Durchführungsbereiches 102 findet. Somit, mit Bezug auf 3, umfaßt gemäß einigen Ausführungsformen der Erfindung eine Technik 120, die von der I/O-Schaltung 20 verwendet wird, das Prüfen (Block 122) aller der Verzögerung über dem Bereich 90 (siehe 2) der Verzögerung zum Zwecke des Erzeugens eines Testvektors. Zum Beispiel, wie es weiter hiernach beschrieben wird, prüft bei manchen Ausführungsformen der Erfindung die I/O-Schaltung 20 jede Verzögerung des Bereichs 90; und ein binärer Wert wird zugewiesen, der das Ergebnis der Prüfung angibt. Um zum Beispiel eine bestimmte Verzögerung des Bereichs zu prüfen, wird ein oder werden mehrere vorbestimmte Datenbitsignale (d. h. ein Testmuster) über die relevante Datenbitleitung 17 des FSB 16 kommuniziert. Wenn die Daten, die eingefangen und von der Bitleitung gelesen werden, gültig sind (d. h. wenn die eingefangenen Daten mit dem Testmuster der Daten übereinstimmen), dann verwendet die I/O-Schaltung einen Merker, so wie ”0”, um die geprüfte Verzögerung als erlaubt zu bezeichnen. Im Gegensatz dazu, wenn die eingefangenen Daten nicht mit dem Testmuster übereinstimmen, dann benutzt die I/O-Schaltung 20 einen anderen Merker, so wie einen Binärwert ”1”, um die Erfolglosigkeit zu bezeichnen. Das Ergebnis dieser Technik ist die Erzeugung eines Testvektors, eines Strangs aus binären ”1” en und ”0” en.
  • Zum Beispiel kann, nach dem Prüfen von sechzehn (als ein Beispiel) Verzögerungswerten eines bestimmten Bereichs 90 die I/O-Schaltung 20 einen Testvektor aus sechzehn Bits erzeugen, so wie den folgenden (als ein Beispiel): ”1111100000111111”. Somit geben die Bitpositionen Null bis Vier verfehlte Verzögerungen oder den Ausfallbereich 100 an; die Bitpositionen Fünf bis Neun geben fünf erfolgreiche Verzögerungen oder den Durchführungsbereich 102 (2) an; und die Bitpositionen Zehn bis Fünfzehn geben den Ausfallbereich 104 an, oder Werte, für die die Verzögerungen nicht erfolgreich sind.
  • Es wird angemerkt, daß, wie weiter hiernach beschrieben wird, ein bestimmter Testvektor ungültig sein kann. Zum Beispiel kann es sein, daß der Testvektor keinen Durchführungsbereich enthält. Wenn gemäß der Technik 120 die I/O-Schaltung 20 feststellt (Diamant 124), daß der Testvektor ungültig ist, dann benutzt die I/O-Schaltung 20 (Block 128) eine Standardverzögerung als die Abtastverzögerung für die zugewiesene Datenbitleitung 17. Wie weiter hiernach beschrieben wird, kann diese Standardverzögerung zum Beispiel eine herstellungsmäßig eingestellte Standardverzögerung sein. Wenn jedoch die I/O-Schaltung 20 feststellt (Diamant 124), daß der Testvektor gültig ist, dann zieht die I/O-Schaltung 20 (Block 130) die Grenzen des Durchführungsbereichs 102 heraus und setzt anschließend (Block 134) die Abtastverzögerung für die zugewiesene Datenbitleitung 17 nahe der Mitte des Durchführungsbereichs 102.
  • Nach dem anfänglichen Einstellen der Abtastverzögerung für jede Datenbitleitung tritt die I/O-Schaltung 20 in den aktiven Verbindungstraining-Modus ein, in dem die I/O-Schaltung 20 die Grenzen des Durchführungsbereichs 102 überprüft (zum Beispiel periodisch überprüft). Mit anderen Worten prüft in dem aktiven Verbindungstraining-Modus die I/O-Schaltung 20 nicht kontinuierlich alle sechzehn möglichen Verzögerungen für die Zwecke des Optimierens der Verzögerung, die dem Abtastsignal aufgegeben wird. Statt dessen führt gemäß einigen Ausführungsformen der Erfindung die I/O-Schaltung 20 eine Technik 150 durch, die in 4 veranschaulicht ist.
  • Gemäß der Technik 150 prüft (Block 152) die I/O-Schaltung 20 die Verzögerungen an den Grenzen des Durchführungsbereichs 102. Somit prüft die I/O-Schaltung 20 unter Verwendung der zuvor gesammelten Verbindungstrainingsdaten die Verzögerungen an der linken 101 und der rechten 103 Grenze. Basierend auf diesen Prüfergebnissen ändert die I/O-Schaltung 20 ausgewählt die Grenzen des Durchführungsbereichs 102, wie im Block 154 veranschaulicht. Anschließend setzt (Block 156) die I/O-Schaltung 20 die Verzögerung, die dem Abtastsignal aufgegeben wird, nahe dem Mittelpunkt des Durchführungsbereichs 102.
  • Als ein genaueres Beispiel, mit Bezug auf 5, kann gemäß einigen Ausführungsformen der Erfindung die I/O-Schaltung 20 eine Technik 180 in dem aktiven Verbindungstraining-Modus verwenden. Gemäß der Technik 180 prüft (Block 182) die I/O-Schaltung 20 die Verzögerung an der linken Grenze 101 des Durchführungsbereichs 102. Wenn die Prüfmusterdaten erfolgreich empfangen worden sind und somit die I/O-Schaltung 20 feststellt (Diamant 184), daß die Verzögerung bestanden hat, dann bewegt die I/O-Schaltung 20 (Block 186) die Grenze 101 nach links. Mit anderen Worten, gemäß einigen Ausführungsformen der Erfindung kann als Antwort auf die Verzögerung, die an der linken Grenze 101 besteht, die I/O-Schaltung 20 die nächstkleinste Verzögerung für die linke Grenze 101 benutzen. Wenn jedoch die Verzögerung an der linken Grenze 101 nicht erfolgreich ist, dann bewegt die I/O-Schaltung 20 die linke Grenze nach rechts entsprechend dem Block 188. Wenn somit die Verzögerungsprüfung nicht erfolgreich ist, benutzt die I/O-Schaltung die nächstgrößere Verzögerung für die linke Grenze 101.
  • Anschließend prüft (Block 190) die I/O-Schaltung 20 die Verzögerung an der rechten Grenze 103. Wenn die Prüfung dieser Verzögerung positiv ist (Diamant 192), dann bewegt die I/O-Schaltung 20 (Block 194) die rechte Grenze 103 nach rechts. Anderenfalls bewegt (Block 196) die I/O-Schaltung 20 die rechte Grenze 103 nach links.
  • 6 veranschaulicht eine Tabelle 200, die beispielhafte potentielle Grenzfälle darstellt, in denen der Testvektor dem Ausfall-100, Durchlaß-102 und Ausfall-104-bereich des beispielhaften Bereichs 90 nicht oder wenigstens anscheinend nicht stark ähnelt, der in 2 veranschaulicht ist. Somit können die Testvektoren, die in 6 veranschaulicht sind, während des anfänglichen Verbindungstraining-Modus auftreten, wenn die I/O-Schaltung 20 den Testvektor erzeugt, indem jede Verzögerung des Bereichs 100 geprüft wird. Die Tabelle 200 umfaßt drei Zeilen 202, in denen die Durchführungsbedingungen erfüllt sind, und zwei Zeilen 204, in denen Ausfallbedingungen auftreten und bewirken, daß die I/O-Schaltung 20 die herstellungsmäßig eingestellte Standardverzögerung benutzt.
  • Genauer, bewirkt in der ersten Zeile (bezeichnet von der Oberseite der Tabelle 200 her) der Tabelle 200 ein Testvektor ”1000111111111111”, daß die I/O-Schaltung 20 die linke Grenze 101 an einer Positionszahl Eins des Testvektors erfaßt und die rechte Grenze 103 an einer Positionszahl Vier des Eingabevektors erfaßt. Dieser Testvektor führt zu einem Durchführungszustand. Mit anderen Worten werden die linke und die rechte Grenze benutzt, um die Mittelpunktverzögerung zu bestimmen, die sich zwischen der linken und der rechten Grenze befindet.
  • Die zweite Zeile der Tabelle 200 umfaßt einen Testvektor nur mit Nullen. Für diesen Testvektor wird die linke Grenze an der Bitposition Null erfaßt. Obwohl die I/O-Schaltung 20 die rechte Grenze nicht erfassen kann (d. h. es gibt keine ”01” in dem Testvektor in Zeile zwei der Tabelle 200), bezeichnet die I/O-Schaltung dies weiterhin als eine Durchführungsbedingung und weist die Verzögerung der Positionszahl Acht zu, da alle geprüften Verzögerungen positiv waren.
  • Zeile Nummer 3 der Tabelle 200 veranschaulicht einen Testvektor mit ”0111111111111111”. Für diesen Testvektor erfaßt die I/O-Schaltung 20 die linke Grenze an der Bitposition Null und die rechte Grenze an der Bitposition Eins. Somit ist dies ein Durchführungszustand.
  • Zeile Nummer 4 der Tabelle 200 veranschaulicht einen Testvektor mit ”1111111111111110”. Für diesen Testvektor erfaßt die I/O-Schaltung 20 die linke Grenze an der Bitposition Fünfzehn, kann aber die rechte Grenze nicht erfassen. Jedoch wird dieser Vektor weiter als positiv festgestellt, und eine Abtastverzögerung, die der Bitposition Fünfzehn entspricht, wird verwendet.
  • Die Zeilen 204 der Tabelle 200 veranschaulichen Ausfallbedingungen, bei denen der Testvektor kein Ergebnis erzeugt, das verwendet werden kann, um die Abtastverzögerung zu bestimmen. Bei jedem der Testvektoren, die in den Zeilen 204 veranschaulicht sind, weist die I/O-Schaltung 20 eine herstellungsmäßig festgelegte Standardverzögerung zu. Genauer veranschaulicht die Zeile 5 der Tabelle 200 einen Testvektor mit ”1110010111111111”. Dieser Testvektor verfehlt, da zwei linke Grenzen erfaßt werden: eine erste linke Grenze an der Bitposition Drei und eine zweite linke Grenze an der Position Nummer Sechs. Somit ist der einzige Durchführungsbereich 102, in 2 veranschaulicht, in diesem Testvektor nicht vorhanden.
  • Die Zeile 6 der Tabelle 200 veranschaulicht einen Testvektor mit ”1111111111111111”. Für diesen Testvektor kann die I/O-Schaltung 20 (keine Durchführungsgrenze ist erfaßt worden) weder die linke noch die rechte Grenze erfassen.
  • Mit Bezug auf 7 kann gemäß einigen Ausführungsformen der Erfindung die I/O-Schaltung 20 mehrere Taktverzögerungsschaltungen 400 umfassen (wobei als Beispiele N Taktverzögerungsschaltungen 400 0, 400 1...400 N dargestellt sind), wobei jede von ihnen mit einer bestimmten Dateneingabeleitung verknüpft ist, die ”I/O[]” genannt wird. Als ein genaueres Beispiel ist die Taktverzögerung 400 mit dem Datenbitsignal I/O[0] verknüpft; die Taktverzögerungsschaltung 400 1 ist mit dem Datenbitsignal I/O[1] verknüpft; und die Taktverzögerungsschaltung 400 N ist mit dem Datenbitsignal I/O[N] verknüpft.
  • Für jedes Datenbitsignal I/O[] bewertet jede Taktverzögerungsschaltung 400 die geeignete Verzögerung und bringt sie auf das BCLK-Signal (d. h. das Abtastsignal) von dem FSB 16 (siehe 1) auf, um ein verzögertes BCLK-Signal zu erzeugen, das ”BCLK_ADJ[]” genannt wird. Somit bewertet und bestimmt zum Beispiel die Taktverzögerungsschaltung 400 1 die Verzögerung, die auf das BCLK-Signal aufgegeben wird, um das BCLK_ADJ[1]-Signal zu erzeugen. Das BCLKADJ[1]-Signal wird wiederum verwendet, um Daten aus dem I/O[1]-Datenbitsignal einzufangen.
  • Jede Taktverzögerungsschaltung 400 arbeitet entsprechend dem anfänglichen Verbindungstraining-Modus, in dem die Taktverzögerungsschaltung 400 die linke und die rechte Verzögerungsgrenze bestimmt und die anfängliche Verzögerung einrichtet, die dementsprechend auf das BCLK-Signal aufgegeben wird. Anschließend, in einem aktiven Verbindungstraining-Modus, prüft die Taktverzögerungsschaltung 400 die Grenzen des Durchführungsbereiches zum Zwecke des Optimierens der Verzögerung, die dem BCLK-Signal aufgegeben wird.
  • Mit Bezug auf 8 umfaßt bei manchen Ausführungsformen der Erfindung die Taktverzögerungsschaltung 400 eine Verzögerungsleitung 402, die einen Eingangsanschluß 404 hat, der das BCLK-Signal empfängt. Die Verzögerungsleitung 402 legt eine Abtastverzögerung entsprechend einem digitalen Signal an, das auf den Eingangsleitungen 411 der Verzögerungsleitung 402 empfangen worden ist. Dieses digitale Signal wird wiederum durch eine Verzögerungsanpaßschaltung 410 zur Verfügung gestellt. Die Verzögerungsanpaßschaltung 410 empfängt ein Signal, das ”V1” genannt wird, ein Signal, das angibt, ob eine bestimmte Verzögerung positiv ist oder verfehlt ist. Mit anderen Worten wird das V1 verwendet, um die ”1” en und ”0” en des Testvektors bei manchen Ausführungsformen der Erfindung zu bilden. Wie in 8 veranschaulicht, liefert bei manchen Ausführungsformen der Erfindung die Verzögerungsleitung 402 das BCLK_ADJ-Signal an einen Takteingangsanschluß eines Datenbitpuffers 600, eines Puffers, der auch das zugewiesene I/O[]-Datenbitsignal empfängt.
  • Wenn eine Bewertungsschaltung 605 (die an den Datenbitpuffer 600 gekoppelt ist) feststellt, daß der Puffer das Verbindungstrainingmuster der Daten nicht eingefangen hat, dann bestätigt (treibt es zum Beispiel hoch) die Bewertungsschaltung 605 das V1-Signal. Anderenfalls, wenn die Bewertungsschaltung 605 bestimmt, daß der Puffer 600 das Testmuster empfangen hat, dann deaktiviert die Bewertungsschaltung 605 das V1-Signal (treibt das V1-Signal zum Beispiel auf niedrig).
  • Die Verzögerungsanpaßschaltung 410 benutzt den Testvektor, der von dem V1-Signal zur Verfügung gestellt wird, für das Einrichten der Verzögerung für die Verzögerungsleitung 402 in dem anfänglichen Verbindungstraining-Modus. Die Verzögerungsanpaßschaltung 410 antwortet auf das V1-Signal während des aktiven Trainingsverbindungs-Modus zum Optimieren der Verzögerung. Bei manchen Ausführungsformen der Erfindung wird der anfängliche Trainingsmodus durch die Bestätigung eines Signals angegeben, das ”INIT_TRAIN” genannt wird, und der aktive Trainingsverbindungs-Modus wird durch die Bestätigung eines Signals angegeben, das ”ACT_TRAIN” genannt wird.
  • Als ein genaueres Beispiel veranschaulicht 9 eine Ausführungsform der Verzögerungsanpaßschaltung 410 gemäß einer Ausführungsform der Erfindung. Die Verzögerungsanpaßschaltung 410 umfaßt einen Mehrbit-Multiplexer 422, der auf ein Auswahlsignal (das ”SEL[1:0]” genannt wird, antwortet, zum Zwecke des Auswählens des digitalen Verzögerungswertes, der auf den Eingangsleitungen 411 der Verzögerungsleitung 402 (siehe 8) erscheint. Wie in 9 gezeigt, liefert abhängig von dem Wert der Bits des SEL[1:0]-Signals der Multiplexer 422 entweder einen Wert ”1111” (der Wert, der in Verbindung mit dem Testvektor verwendet wurde, welcher in Zeile 4 der Tabelle 200 (6) als Beispiel gezeigt worden ist), ein Signal; das ”FD[3:0]” genannt wird (einen Wert, der einen herstellungsgemäßen Standard angibt), ein Signal, das ”TEST[3:0]” genannt wird (die gegenwärtige Verzögerung, die während des anfänglichen oder des aktiven Verbindungstraining-Modus verwendet wird, oder ein digitales Signal, das ”MR[3:0]” genannt wird (ein Signal, das den Mittelpunkt des Durchführungsbereichs 102 (2) angibt).
  • Wenn sie in den aktiven Verbindungstraining-Modus gebracht wird, bewirkt die Verzögerungsanpaßschaltung 410, daß der Multiplexer 422 das TEST[3:0]-Signal auswählt, ein Signal, das von einer Verzögerungswert-Erzeugerschaltung 426 zur Verfügung gestellt wird. Der Verzögerungswert-Erzeuger 426 ist mit einem Zähler 430 gekoppelt, der sechzehn Trainingszyklen über dem FSB 16 zählt. Somit gibt zum Beispiel der Zähler 430 während des ersten Trainingszyklus einen Wert ”0000” an, gibt den Wert ”0001” während des zweiten Trainingszyklus an, usw. Der Verzögerungswert-Erzeuger 426 antwortet auf jeden Wert, der von dem Zähler 430 erzeugt wird, um eine digitale Angabe (über das TEST[3:0]) der Abtastverzögerung zu erzeugen, die von der Verzögerungsleitung 402 (8) aufgegeben werden soll. Somit wird über den Zähler 430, den Verzögerungswert-Erzeuger 426 und die Verzögerungsleitung 402 (siehe 8) durch die Verzögerungsleitung 402 für jeden Trainingszyklus während des anfänglichen Verbindungstraining-Modus eine unterschiedliche Verzögerung aufgebracht.
  • Für jeden Trainingszyklus setzt die Bewertungsschaltung 605 (siehe 8) den Zustand des V1 entsprechend, um anzuzeigen, ob die Verzögerung bestanden oder versagt hat. Eine Erfassungsschaltung 440 für die linke Grenze der Verzögerungsanpaßschaltung 410 empfängt das V1-Signal zum Zwecke des Erfassens einer linken Grenze in dem Testvektor. Mit anderen Worten erfaßt die Erfassungsschaltung 440 für die linke Grenze, wenn das V1-Signal bei einigen Ausführungsformen der Erfindung von einem logischen Eins-Zustand in einen logischen Null-Zustand übergeht. Der Ausgangsanschluß der Erfassungsschaltung 440 für die linke Grenze ist mit einem Freigabeeingang eines linken Registers 442 gekoppelt. Die Dateneingangsanschlüsse des linken Registers 442 sind wiederum mit den Ausgangsanschlüssen des Zählers 430 verbunden. Daher, wenn die Erfassungsschaltung 440 für die linke Grenze die linke Grenze des Testvektors erfaßt, speichert das linke Register 442 den Ausgangswert von dem Zähler 430, der die Position angibt, an der die linke Grenze auftritt.
  • In ähnlicher Weise umfaßt die Verzögerungsanpaßschaltung 410 eine Erfassungsschaltung 450 für die rechte Grenze, eine Schaltung, die einen Übergang von einer logischen Null zu einer logischen Eins in dem Testvektor erfaßt. Beim Erfassen der rechten Grenze bestätigt die Erfassungsschaltung 450 für die rechte Grenze ein Signal, das an ein rechtes Register 460 gegeben wird. Ähnlich wie das linke Register 442 sind bei dem rechten Register 460 dessen Dateneingangsanschlüsse mit den Ausgangsanschlüssen des Zählers 430 gekoppelt. Daher speichert beim Erfassen der rechten Grenze das rechte Register 460 einen Wert, der die Bitposition der rechten Grenze in dem Testvektor angibt.
  • Somit enthält am Schluß der sechzehn Prüfzyklen in dem anfänglichen Verbindungstraining-Modus das linke Register 442 Daten, die die linke Grenze 101 angeben (siehe 2), und das rechte Register 410 enthält Daten, die die rechte Grenze 103 angeben (siehe 2). Die Ausgangsanschlüsse des linken Register 442 liefern ein digitales Signal (das „L[3:0]” genannt wird), das die linke Grenze angibt, und die Ausgangsanschlüsse des rechten Registers 460 liefern ein digitales Signal (das „R[3:0]” genannt wird), das die Position der rechten Grenze 103 angibt.
  • Ein Mehrbit-Addierer 490 der Verzögerungsanpaßschaltung 410 empfängt die Signale L[3:0] und R[3:0] und addiert die rechte und die linke Grenze, um ein Ausgangssignal zu erzeugen, das die Summe der rechten und der linken Grenze angibt. Dieses Ausgangssignal wird um eine Bitposition nach rechts verschoben, um die Summe durch Zwei zu dividieren. Das Ergebnis wird in einem Mittelregister 494 gespeichert. Somit speichert das Mittelregister 494 den geeigneten Mittelwert der linken und der rechten Grenze, d. h. den ungefähren Mittelpunkt des Durchführungsbereiches. Dieser Wert wird durch das Signal MR[3:0] angegeben. Somit gibt am Schluß des anfänglichen Verbindungstrainings-Modus der Eingangsanschluß 411 der Verzögerungsleitung 402 die Mitte des Durchführungsbereiches an.
  • Die Verzögerungsanpaßschaltung 410 umfaßt auch Schaltung zum Erfassen mehrerer rechter oder linker Grenzen in dem Testvektor. Genauer umfaßt bei manchen Ausführungsformen der Erfindung die Verzögerungseinstellschaltung 410 eine Fehlererfassungsschaltung 470 für die linke Grenze, die, wie der Name sagt, das Ausgangssignal beim Erfassen zweier linker Grenzen in dem Testvektor bestätigt. In ähnlicher Weise umfaßt die Verzögerungsanpaßschaltung 410 eine Fehlererfassungsschaltung 472 für die rechte Grenze, die ihr Ausgangssignal als Antwort auf die Erfassung von mehr als einer rechten Grenze bestätigt. Ein ODER-Gatter 480 empfängt die Ausgangssignale von den Fehlererfassungsschaltungen 470 und 472 und alarmiert die Steuerlogik 420, wenn mehr als eine linke Grenze oder mehr als eine rechte Grenze erfaßt wird. Das ODER-Gatter 480 alarmiert auch die Steuerlogik 420, wenn keine der Verzögerungen des Testvektors bestanden hat (d. h. wenn der Testvektor gleich „1111111111111111” ist).
  • Die Steuerlogik 420 steuert die Modi der Verzögerungsanpaßschaltung 410 ebenso wie sie die Anpassung der Verzögerung während des aktiven Verbindungstraining-Modus steuert. Genauer steuert bei manchen Ausführungsformen der Erfindung die Steuerlogik 420 (über die Steuerleitungen 491) den Zähler 430 und steuert den Verzögerungswert-Erzeuger 426 (über die Steuerleitungen 493) in der folgenden Weise in dem aktiven Verbindungstraining-Modus. Die Steuerlogik 430 bewirkt zunächst, daß der Verzögerungswert-Erzeuger 426 die Verzögerung erzeugt, auf die von dem Signal L[3:0] gezeigt wird, d. h. den Inhalten des linken Registers 442. Somit gibt in Antwort auf den Trainingszyklus das Signal V1 das Ergebnis an, ob die Verzögerung an der linken Grenze gültig ist. Wenn die Verzögerung nicht gültig ist, bestätigt die Steuerlogik 420 ein Signal (das „LI” genannt wird), um zu bewirken, daß das linke Register 442 seinen gespeicherten Wert um eins inkrementiert, um die linke Grenze nach rechts zu verschieben. Wenn jedoch der Test erfolgreich war, dann bestätigt die Steuerlogik 420 ein Signal (das „LD” genannt wird), um zu bewirken, daß das linke Register 442 seinen gespeicherten Wert um eins dekrementiert, um tatsächlich die linke Grenze nach links zu verschieben.
  • Anschließend bewirkt die Steuerlogik 420, daß der Verzögerungswert-Erzeuger 426 das Signal R[3:0] lädt, d. h. die Inhalte des rechten Registers 460, so daß ein weiterer Testzyklus beginnen kann, um die Verzögerung zu prüfen, die der rechten Grenze entspricht. Falls, wie es durch das Signal V1 angegeben wird, die Verzögerung an der rechten Grenze gültig ist, dann inkrementiert die Steuerlogik 420 über die Bestätigung eines Signals (das „RI” genannt wird), die Inhalte des rechten Registers 460, um die rechte Grenze um Eins nach rechts zu verschieben. Wenn jedoch die Prüfung versagt, dann bestätigt die Steuerlogik 420 ein Signal (das „RD” genannt wird), um zu bewirken, daß das rechte Register 460 seinen gespeicherten Wert dekrementiert, um die rechte Grenze um eins nach links zu verschieben.
  • Es wird angemerkt, daß die Verzögerungsanpaßschaltung 410 eine von vielen möglichen Ausführungsformen der Erfindung ist. Somit können Abänderungen vorgenommen werden, die in den Umfang der angefügten Ansprüche fallen. Zum Beispiel können bei anderen Ausführungsformen der Erfindung die Techniken, die hierin beschrieben sind, angewandt werden, indem Software anstelle von Hardware verwendet wird. Als ein genaueres Beispiel veranschaulicht 10 ein Computersystem 500 gemäß einer weiteren Ausführungsform der Erfindung.
  • Das Computersystem 500 umfaßt einen Prozessor 502, einen Busagenten 504 und eine Northbridge oder einen Speicherhub 520, die alle an einen Frontsidebus (FSB) 506 gekoppelt sind. Anstatt daß die oben beschriebene I/O-Schaltung enthalten ist, umfaßt jeder Agent, der mit dem FSB 506 gekoppelt ist, einen Satz Register 510b, und der Speicherhub 520 umfaßt die Register 510c. Jeder Satz Register 510 speichert Daten, die Verzögerungen angeben, welche bei den Datenbitsignalen angewendet werden, die von dem entsprechenden Busagenden empfangen werden. Um die Verzögerungen für diese Register 510 einzurichten, führt gemäß einigen Ausführungsformen der Erfindung der Prozessor 502 ein Programm 526 aus, das in einem Systemspeicher 524 zum Implementieren einer oder mehrerer der Techniken 120 (3), 150 (4) und 180 (5), die oben diskutiert sind, gespeichert ist.
  • Somit sind viele Abänderungen möglich und liegen innerhalb des Umfangs der angefügten Ansprüche.
  • Obwohl die Erfindung in bezug auf eine beschränkte Anzahl von Ausführungsformen offenbart worden ist, werden die. Fachleute, die den Nutzen aus dieser Offenbarung ziehen, zahlreiche Modifikationen und Variationen für diese erkennen. Es ist beabsichtigt, daß die angefügten Ansprüche alle solchen Modifikationen und Variationen abdecken, wie sie in den wahren Gedanken und Umfang der Erfindung fallen.

Claims (19)

  1. Verfahren, das aufweist: als Antwort auf einen Trainingsmodus, Kommunizieren zwischen einer Vorrichtung und einem Prozessor eines Computersystems über eine Datenbitleitung eines Busses; basierend auf der Kommunikation, Regulieren eines Taktes zwischen einem Abtastsignal und einem Signal, das sich über die Datenbitleitung fortpflanzt, wobei das Regulieren aufweist: basierend auf der Kommunikation, Bestimmen einer Untermenge von Verzögerungen innerhalb eines Bereiches von Verzögerungen, die auf das Abtastsignal aufgegeben werden können, um zu bewirken, daß das Abtastsignal mit dem Datenauge jedes Datenbitsignals synchronisiert wird, und Aufgeben einer Verzögerung innerhalb des Bereiches auf das Abtastsignal, um ein verzögertes Abtastsignal zu erzeugen; als Antwort auf den Trainingsmodus Bestimmen der Grenzen des Bereiches; und ausgewähltes Bewegen der auf dem Bestimmen basierenden Grenzen.
  2. Verfahren nach Anspruch 1, das weiter aufweist: basierend auf der Kommunikation, Regulieren des Taktes zwischen dem Abtastsignal und zusätzlicher Signale, die sich über weitere Datenbitleitungen des Busses fortpflanzen.
  3. Verfahren nach Anspruch 1, das weiter aufweist: Synchronisieren des Einfangens von Daten aus dem Datenbitsignal als Antwort auf das verzögerte Abtastsignal.
  4. Verfahren nach Anspruch 1, das weiter aufweist: Bestimmen von Grenzen des Bereichs; und Auswählen der Verzögerung innerhalb des Bereiches als Antwort auf das Bestimmen der Grenzen des Bereiches.
  5. Verfahren nach Anspruch 1, bei dem die Verzögerung innerhalb des Bereiches eine Verzögerung nahe einem Mittelpunkt zwischen den Grenzen aufweist.
  6. Verfahren nach Anspruch 1, das weiter aufweist: Anpassen der Verzögerung als Antwort darauf, daß sich wenigstens eine der Grenzen bewegt.
  7. Verfahren nach Anspruch 1, bei dem das Bewerten aufweist: Auswählen einer Verzögerung nahe einer der Grenzen; Aufgeben der Verzögerung auf das Taktsignal, um ein verzögertes Taktsignal zu erzeugen; Bestimmen, ob das verzögerte Taktsignal mit einem weiteren Datenbitsignal aus der Datenbitleitung synchronisiert ist; und basierend darauf, ob das verzögerte Taktsignal synchronisiert ist, Bewegen der einen Grenze und Bestimmen der Verzögerung basierend wenigstens teilweise auf der bewegten Grenze.
  8. Verfahren nach Anspruch 1, bei dem die Taktleitung und die Datenbitleitung ein Teil eines Frontsidebusses sind.
  9. Verfahren nach Anspruch 1, bei dem der Prozessor eine zentrale Verarbeitungseinheit aufweist.
  10. System, das aufweist: einen Bus, der eine Datenbitleitung und eine Taktleitung aufweist; einen dynamischen Speicher mit wahlfreiem Zugriff, der mit dem Bus gekoppelt ist; einen Prozessor, der mit dem Bus gekoppelt ist; einen Agenten, der mit dem Bus gekoppelt ist; und eine Schaltung, um, basierend auf einer Kommunikation zwischen dem Prozessor und dem Agenten in einem Trainingsmodus, einen Takt zwischen einem Abtastsignal und einem Signal, das sich über die Datenbitleitung fortpflanzt, zu regulieren, wobei das Regulieren basierend auf der Kommunikation Bestimmen einer Untermenge der Verzögerungen innerhalb eines Bereiches von Verzögerungen und Aufgeben einer Verzögerung innerhalb des Bereiches auf das Abtastsignal, um ein verzögertes Abtastsignal zu erzeugen, umfasst, wobei die Schaltung geeignet ist, als Antwort auf den Trainingsmodus die Grenzen des Bereiches zu bestimmen und die auf dem Bestimmen basierenden Grenzen ausgewählt zu bewegen.
  11. System nach Anspruch 10, bei dem, basierend auf der Kommunikation, die Schaltung den Takt zwischen dem Abtastsignal und zusätzlichen Signalen, die sich über weitere Datenbitleitungen des Busses fortpflanzen, reguliert.
  12. System nach Anspruch 10, bei dem die Schaltung den Einfang von Daten aus dem Datenbitsignal als Antwort auf das verzögerte Abtastsignal synchronisiert.
  13. System nach Anspruch 10, bei dem die Schaltung Grenzen des Bereiches bestimmt und die Verzögerung innerhalb des Bereiches als Antwort auf die Bestimmung der Grenzen des Bereiches auswählt.
  14. Bus-Schnittstelle, die aufweist: Verzögerungsschaltungen, wobei jede Verzögerungsschaltung dazu dient, ein Abtastsignal zu verzögern, um ein verzögertes Abtastsignal zu erzeugen, das mit einer unterschiedlichen Datenbitleitung eines Busses verknüpft ist; Pufferschaltungen, wobei jeder Puffer mit einem unterschiedlichen der verzögerten Abtastsignale verknüpft ist und eine Pufferschaltung Daten aus unterschiedlichen der Datenbitleitungen als Antwort auf das zugewiesene verzögerte Abtastsignal einfängt; und Schaltung, die mit den Verzögerungsschaltungen gekoppelt ist, um, basierend auf Kommunikation über den Bus in einem Trainingsmodus, den Takt der verzögerten Abtastsignale zu regulieren, wobei das Regulieren basierend auf der Kommunikation Bestimmen einer Untermenge von Verzögerungen innerhalb eines Bereiches von Verzögerungen und Anwenden einer Verzögerung innerhalb des Bereiches auf das Abtastsignal, um ein verzögertes Abtastsignal zu erzeugen, umfasst.
  15. Bus-Schnittstelle nach Anspruch 14, bei der für wenigstens eines der verzögerten Abtastsignale die Schaltung, basierend auf der Kommunikation, eine Untermenge der Verzögerungen innerhalb eines Bereiches von Verzögerungen bestimmt, die verwendet werden können, um das wenigstens eine der verzögerten Abtastsignale zu erzeugen, und die Schaltung eine Verzögerung innerhalb der Untermenge aufgibt, um das wenigstens eine der Abtastsignale zu erzeugen.
  16. Gegenstand, der ein durch einen Computer zugreifbares Speichermedium aufweist, welches Befehle speichert, um, wenn sie ausgeführt werden, zu bewirken, daß ein Computer: basierend auf einer Kommunikation zwischen Busagenten in einem Trainingsmodus einen Takt zwischen einem Abtastsignal und einem Signal, das sich über eine Datenbitleitung eines Busses fortpflanzt, zu regulieren, wobei das Regulieren, basierend auf der Kommunikation, Bestimmen einer Untermenge von Verzögerungen innerhalb eines Bereiches von Verzögerungen, die auf das Abtastsignal aufgegeben werden können, um zu bewirken, dass das Abtastsignal mit einem Datenauge des Datenbitsignals synchronisiert wird, und Aufgeben einer Verzögerung innerhalb des Bereiches auf das Abtastsignal, um ein verzögertes Abtastsignal zu erzeugen, umfasst; als Antwort auf den Trainingsmodus Bestimmen der Grenzen des Bereiches; und ausgewähltes Bewegen der auf dem Bestimmen basierenden Grenzen.
  17. Gegenstand nach Anspruch 16, bei dem das Speichermedium Befehle speichert, um, wenn sie ausgeführt werden, zu bewirken, daß der Computer den Takt zwischen dem Abtastsignal und zusätzlichen Signalen, die sich über weitere Datenbitleitungen des Busses fortpflanzen, reguliert.
  18. Gegenstand nach Anspruch 16, bei dem das Speichermedium Befehle speichert, um, wenn sie ausgeführt werden, zu bewirken, daß der Computer basierend auf der Kommunikation: eine Untermenge von Verzögerungen innerhalb eines Bereiches von Verzögerungen bestimmt, die auf ein Abtastsignal aufgebracht werden können, um zu bewirken, daß das Abtastsignal mit dem Datenauge des Datenbitsignals synchronisiert wird, und eine Verzögerung innerhalb des Bereiches auf das Abtastsignal aufgibt, um ein verzögertes Abtastsignal zu erzeugen.
  19. Gegenstand nach Anspruch 18, bei dem das Speichermedium Befehle speichert, um, wenn sie ausgeführt werden, zu bewirken, daß der Computer Grenzen des Bereiches bestimmt und die Verzögerung innerhalb des Bereiches als Antwort auf die Bestimmung der Grenzen des Bereiches auswählt.
DE112006001132.4T 2005-05-06 2006-04-28 Regulieren der Taktung zwischen einem Abtastsignal und einem Datensignal Expired - Fee Related DE112006001132B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/124,553 US7480360B2 (en) 2005-05-06 2005-05-06 Regulating a timing between a strobe signal and a data signal
US11/124,553 2005-05-06
PCT/US2006/016712 WO2006121692A1 (en) 2005-05-06 2006-04-28 Regulating the timing between a strobe signal and a data signal

Publications (2)

Publication Number Publication Date
DE112006001132T5 DE112006001132T5 (de) 2008-04-30
DE112006001132B4 true DE112006001132B4 (de) 2014-09-25

Family

ID=36808860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006001132.4T Expired - Fee Related DE112006001132B4 (de) 2005-05-06 2006-04-28 Regulieren der Taktung zwischen einem Abtastsignal und einem Datensignal

Country Status (5)

Country Link
US (1) US7480360B2 (de)
CN (1) CN101171788B (de)
DE (1) DE112006001132B4 (de)
TW (1) TWI330321B (de)
WO (1) WO2006121692A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996168B2 (en) * 2009-03-06 2011-08-09 Advantest Corporation Method and apparatus for time vernier calibration
US8687441B2 (en) * 2011-04-13 2014-04-01 Himax Technologies Limited Method for searching optimum value of memory
TWI474334B (zh) * 2011-04-26 2015-02-21 Himax Tech Ltd 記憶體的最佳化數值搜尋方法
TWI508087B (zh) * 2013-07-01 2015-11-11 Mstar Semiconductor Inc 記憶體信號的動態相位追蹤方法及其相關控制電路
US10261697B2 (en) * 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US9812183B2 (en) * 2016-03-04 2017-11-07 Adesto Technologies Corporation Read latency reduction in a memory device
US9715907B1 (en) * 2016-05-09 2017-07-25 Invecas, Inc. Optimal data eye for improved Vref margin
US10014036B1 (en) 2016-12-29 2018-07-03 Intel Corporation Low power and area efficient memory receiver
US20210255147A1 (en) * 2018-06-22 2021-08-19 iNDTact GmbH Sensor arrangement, use of the sensor arrangement and method for detecting structure-borne noise
KR20200077077A (ko) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 메모리 시스템, 메모리 시스템의 동작 방법 및 메모리 콘트롤러

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401213B1 (en) * 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US6889334B1 (en) * 2001-10-02 2005-05-03 Advanced Micro Devices, Inc. Multimode system for calibrating a data strobe delay for a memory read operation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1188553A (zh) * 1995-05-02 1998-07-22 艾利森电话股份有限公司 延迟匹配时钟和数据信号发生器
CN100413245C (zh) * 2001-10-31 2008-08-20 英特尔公司 提高通信网络中抖动容限的方法、定时恢复系统及接收器系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401213B1 (en) * 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US6889334B1 (en) * 2001-10-02 2005-05-03 Advanced Micro Devices, Inc. Multimode system for calibrating a data strobe delay for a memory read operation

Also Published As

Publication number Publication date
WO2006121692A1 (en) 2006-11-16
US20060265161A1 (en) 2006-11-23
TW200708974A (en) 2007-03-01
CN101171788A (zh) 2008-04-30
US7480360B2 (en) 2009-01-20
TWI330321B (en) 2010-09-11
DE112006001132T5 (de) 2008-04-30
CN101171788B (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
DE112006001132B4 (de) Regulieren der Taktung zwischen einem Abtastsignal und einem Datensignal
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE10010440B9 (de) Synchrones dynamisches Speicherbauelement mit wahlfreiem Zugriff und Verfahren zur CAS-Latenzsteuerung
DE102010013668B4 (de) Aktives Training von Speicherbefehl-Timing
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE69831732T2 (de) Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem
DE60302184T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm
DE102007044110B4 (de) Verfahren und Schaltung zum Einstellen der Phasenverschiebung
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
DE102018002309B4 (de) Slave-gerät, system für serielle kommunikation und kommunikationsverfahren für system für serielle kommunikation
DE4018505C2 (de)
DE102007044131B4 (de) Speichersteuerung und Speichersystem mit einer Speichersteuerung und einer Speicherschaltung
DE10300540A1 (de) Digitale DLL-Vorrichtung zum Korrigieren des Tastverhältnisses und dessen Verfahren
DE112004002222T5 (de) Taktwiedergewinnungsschaltung und Kommunikationsvorrichtung
DE3702408C2 (de)
DE112007000253T5 (de) Prüfvorrichtung und Prüfverfahren
DE112012002684T5 (de) Verbesserter phasenunterscheider für eine schnelle phasenausrichtung
DE69821461T2 (de) Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren
DE10132241A1 (de) Verfahren und Vorrichtung zum Testen von Halbleiterbauelementen
DE102007019826B4 (de) Phasenselektor für Datenübertragungsvorrichtung
EP0471207B1 (de) Schaltungsanordnung zum Regenerieren und Synchronisieren eines digitalen Signals
DE19514814B4 (de) Übertragungsvorrichtung und Übertragungsverfahren für Kalibrierungsdaten eines Halbleiter-Testgeräts
DE102006011706A1 (de) Halbleiter-Bauelement, sowie Halbleiter-Bauelement-Test-Verfahren
DE112016007132T5 (de) Anzeigesteuervorrichtung, anzeigesteuerverfahren und anzeigesteuerprogramm
DE19900974C2 (de) Verfahren und System zum Suchen kritischer Pfade in Halbleitervorrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
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