DE102022213577A1 - Erfassung des verlinkungsstatus für eine hochgeschwindigkeitssignalisierungsverbindung - Google Patents

Erfassung des verlinkungsstatus für eine hochgeschwindigkeitssignalisierungsverbindung Download PDF

Info

Publication number
DE102022213577A1
DE102022213577A1 DE102022213577.6A DE102022213577A DE102022213577A1 DE 102022213577 A1 DE102022213577 A1 DE 102022213577A1 DE 102022213577 A DE102022213577 A DE 102022213577A DE 102022213577 A1 DE102022213577 A1 DE 102022213577A1
Authority
DE
Germany
Prior art keywords
bits
pulses
period
link
clock signal
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.)
Pending
Application number
DE102022213577.6A
Other languages
English (en)
Inventor
Seema Kumar
Ish Chada
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022213577A1 publication Critical patent/DE102022213577A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

Ein System umfasst eine erste Vorrichtung und eine zweite Vorrichtung, die mit einer Verlinkung gekoppelt sind, die einen oder mehrere Pfade aufweist, die mit der Übertragung eines Taktsignals assoziiert sind. Die erste Vorrichtung soll einen Satz von Bits, die mit einem Muster assoziiert sind, über den einen oder die mehreren Pfade übertragen. Der Satz von Bits wird unter Verwendung eines ersten Taktsignals übertragen, das eine erste Frequenz aufweist, die niedriger ist als eine zweite Frequenz, die mit Datenübertragungsoperationen assoziiert ist. Die zweite Vorrichtung soll Folgendes ausführen: Empfangen des Satzes von Bits, die dem Muster assoziiert sind, Bestimmen einer Anzahl von Impulsen, die dem Satz von Bits über eine erste Periode assoziiert sind, und Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt. Die zweite Vorrichtung soll als Reaktion auf die Feststellung, dass die Anzahl von Impulsen die vorbestimmte Bedingung erfüllt, ein Training der Verlinkung initiieren.

Description

  • TECHNISCHES GEBIET
  • Mindestens eine Ausführungsform betrifft Verarbeitungsressourcen, die zur Durchführung und Erleichterung von Hochgeschwindigkeitskommunikation verwendet werden. Zum Beispiel betrifft mindestens eine Ausführungsform die Technologie zur Erfassung des Verlinkungsstatus in einer bodenbezogenen Signalisierungsverbindung (Ground-Referenced Signaling, GRS).
  • HINTERGRUND
  • Kommunikationssysteme übertragen Signale von einem Sender zu einem Empfänger über einen Kommunikationskanal oder ein Kommunikationsmedium (z. B. Kabel, Leiterplatten, Verlinkungen, drahtlos usw.). Um sicherzustellen, dass Daten bei der Chip-to-Chip- (C2C) Kommunikation zuverlässig übertragen werden, kann der Kommunikationskanal (z. B. die Verlinkung) trainiert werden, bevor die Daten übertragen werden. Vor dem Training der Verlinkung kann jeder Chip bestimmen, ob der andere Chip bereit ist, das Verlinkungstraining zu beginnen - z. B. ob der andere Chip eingeschaltet und bereit für das Verlinkungstraining ist. Einige Kommunikationssysteme versuchen, den Verlinkungsstatus (z. B. ob der andere Chip für das Verlinkungstraining bereit ist) durch eine softwaregesteuerte Initialisierung zu erfassen. Beispielsweise kann das Kommunikationssystem die Software des einen Chips mit der Software des anderen Chips kommunizieren lassen. Softwarekommunikation kann in Kommunikationssystemen, die mehrere Chips mit unterschiedlichen Softwarestapeln (z. B. Softwareprotokollen) verwenden und bei denen die Verlinkung die primäre Form der Kommunikation zwischen den Chips ist, unzuverlässig oder nicht durchführbar sein. Andere Kommunikationssysteme können zusätzliche Hardware verwenden, um den Verlinkungsstatus zu übermitteln. Solche Verfahren können zusätzliche Fläche beanspruchen, mehr kosten und zusätzliche Ressourcen verbrauchen.
  • KURZE ZUSAMMENFASSUNG
  • Die Erfindung ist durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hierin Aspekte und Ausführungsformen beschrieben, die in den Umfang der Ansprüche fallen können oder auch nicht.
  • Ein System umfasst: eine Verlinkung, die einen oder mehrere mit der Übertragung von Daten assoziierte Pfade und einen oder mehrere mit der Übertragung eines Taktsignals assoziierte Pfade umfasst; und eine erste Vorrichtung, die mit der Verlinkung gekoppelt ist und einen Sender umfasst, wobei die erste Vorrichtung Folgendes ausführt: Übertragen eines Satzes von mit einem Muster assoziierten Bits über den einen oder die mehreren mit der Übertragung des Taktsignals assoziierten Pfade, wobei der Satz von Bits unter Verwendung eines ersten Taktsignals übertragen wird, das eine erste Frequenz aufweist, die geringer ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; und eine zweite Vorrichtung, die mit der Verlinkung gekoppelt ist und einen Empfänger umfasst, wobei die zweite Vorrichtung Folgendes ausführt: Empfangen des Satzes von mit dem Muster assoziierten Bits; Bestimmen einer Anzahl von mit dem Satz von Bits über eine erste Periode assoziierten Impulsen; Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings der Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  • Die zweite Vorrichtung kann ferner einen Sender umfassen, wobei die zweite Vorrichtung ferner Folgendes ausführt: Übertragen eines zweiten Satzes von Bits, die mit dem Muster assoziiert sind, an einen Empfänger der ersten Vorrichtung für eine zweite Periode, wobei der zweite Satz von Bits gleichzeitig mit dem Satz von Bits für einen Teil der zweiten Periode übertragen wird. Die zweite Vorrichtung kann ferner Folgendes ausführen: Stoppen der Übertragung des zweiten Satzes von Bits, nachdem bestimmt wurde, dass die Anzahl von Impulsen die vorbestimmte Bedingung in Bezug auf die Anzahl von Impulsen erfüllt.
  • Die zweite Vorrichtung kann ferner einen Sender umfassen, wobei die zweite Vorrichtung ferner Folgendes ausführt: Übertragen eines zweiten Satzes von Bits, die mit dem Muster assoziiert sind, an einen Empfänger der ersten Vorrichtung zu einem ersten Zeitpunkt, wobei der erste Zeitpunkt sich von einem zweiten Zeitpunkt unterscheidet, zu dem die erste Vorrichtung den Satz von Bits überträgt.
  • Die erste Vorrichtung kann ferner Folgendes ausführen: Stoppen der Übertragung des Satzes von Bits, die mit dem Muster assoziiert sind, nach der Initiierung des Trainings der Verlinkung; und Übertragen eines zweiten Satzes von Bits, der dem zweiten Taktsignal entspricht, über den einen oder die mehreren Pfade, die mit dem Übertragen des Taktsignals assoziiert sind, wobei der zweite Satz von Bits mit der zweiten Frequenz übertragen wird.
  • Die zweite Vorrichtung kann ferner einen Abtaster umfassen, der dafür konfiguriert ist, den Satz von Bits abzutasten, wobei die zweite Vorrichtung die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert sind, als Reaktion auf das Abtasten des Satzes von Bits bestimmen soll.
  • Die zweite Vorrichtung kann ferner Folgendes ausführen: Auswählen der ersten Periode, während der die Anzahl der Impulse bestimmt wird, aus einer Vielzahl von Perioden, wobei jede Periode mit einem anderen Wert assoziiert ist.
  • Die zweite Vorrichtung kann ferner Folgendes ausführen: Bestimmen, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse über eine Anzahl von Perioden erfüllt, wobei jede Periode der Anzahl von Perioden einen gleichen Wert hat, und wobei die Anzahl der Perioden eine Schwellenanzahl von Perioden zur Bestimmung der Anzahl von Impulsen erfüllt.
  • Ein Verfahren umfasst Folgendes: Empfangen eines Satzes von Bits, die mit einem Muster assoziiert sind, durch eine erste Vorrichtung, wobei der Satz von Bits als ein erstes Taktsignal mit einer ersten Frequenz empfangen wird, die kleiner ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; Bestimmen, an der ersten Vorrichtung, einer Anzahl von Impulsen, die mit dem Satz von Bits über eine erste Periode assoziiert sind; Bestimmen, an der ersten Vorrichtung, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings einer Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  • Das Verfahren kann ferner Folgendes umfassen: Übertragen eines zweiten Satzes von Bits, der mit dem Muster assoziiert ist, durch die erste Vorrichtung an eine zweite Vorrichtung für eine zweite Periode, wobei der zweite Satz von Bits gleichzeitig mit dem Empfang des Satzes von Bits für einen Teil der zweiten Periode übertragen wird. Das Verfahren kann ferner Folgendes umfassen: Stoppen des Übertragens des zweiten Satzes von Bits, nachdem bestimmt wurde, dass die Anzahl von Impulsen die vorbestimmte Bedingung in Bezug auf die Anzahl von Impulsen erfüllt. Das Verfahren kann ferner Folgendes umfassen: Warten für eine zweite Periode nach dem Stoppen der Übertragung des zweiten Satzes von Bits; und Übertragen eines dritten Satzes von Bits, der dem zweiten Taktsignal entspricht, über einen oder mehrere Pfade der Verlinkung, die mit dem Übertragen des ersten Taktsignals und des zweiten Taktsignals assoziiert sind, nach der zweiten Periode, wobei der dritte Satz von Bits mit der zweiten Frequenz übertragen wird.
  • Der Satz von Bits kann zu einem ersten Zeitpunkt übertragen werden und der zweite Satz von Bits kann zu einem zweiten Zeitpunkt übertragen werden, wobei sich der erste Zeitpunkt von dem zweiten Zeitpunkt unterscheidet.
  • Das Verfahren kann ferner Folgendes umfassen: Übertragen eines zweiten Satzes von Bits, der dem zweiten Taktsignal entspricht, über den einen oder die mehreren Pfade der Verlinkung, die mit dem Übertragen des zweiten Taktsignals assoziiert sind, nachdem das Training der Verlinkung eingeleitet wurde, wobei der zweite Satz von Bits mit der zweiten Frequenz übertragen wird.
  • Das Verfahren kann ferner Folgendes umfassen: Auswählen der ersten Periode, während der die Anzahl von Impulsen bestimmt wird, aus einer Vielzahl von Perioden, wobei jede Periode mit einem anderen Wert assoziiert ist.
  • Das Verfahren kann ferner Folgendes umfassen: Bestimmen, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse über eine Anzahl von Perioden erfüllt, wobei jede Periode der Anzahl von Perioden einen gleichen Wert hat, und wobei die Anzahl der Perioden eine Schwellenanzahl von Perioden zur Bestimmung der Anzahl von Impulsen erfüllt.
  • Das Verfahren kann ferner Folgendes umfassen: Initiieren eines Empfängers der ersten Vorrichtung; und als Reaktion auf das Initiieren des Empfängers, Initiieren eines Senders der ersten Vorrichtung, wobei der Sender initiiert wird, bevor der Satz von Bits, der dem Muster entspricht, empfangen wird.
  • Das Verfahren kann ferner Folgendes umfassen: Teilen des ersten Taktsignals an einem Teiler, wobei das Bestimmen der Anzahl von Impulsen über die erste Periode mindestens teilweise auf der Teilung des ersten Taktsignals basiert.
  • Eine Vorrichtung umfasst Folgendes: einen Empfänger, der mit einer Verlinkung gekoppelt ist, die einen oder mehrere Pfade umfasst, die mit dem Übertragen von Daten assoziiert sind, und einen oder mehrere Pfade, die mit dem Übertragen eines Taktsignals assoziiert sind, wobei die Vorrichtung dazu dient, einen Satz von Bits zu empfangen, die mit einem Muster assoziiert sind, wobei der Satz von Bits als ein erstes Taktsignal mit einer ersten Frequenz empfangen wird, die kleiner ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; Bestimmen einer Anzahl von mit dem Satz von Bits über eine erste Periode assoziierten Impulsen; Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings der Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  • Die Vorrichtung kann ferner Folgendes umfassen: einen Sender, der mit der Verlinkung gekoppelt ist, wobei der Sender dazu dient, einen zweiten Satz von Bits zu senden, der mit dem Muster für eine zweite Periode assoziiert ist, wobei der zweite Satz von Bits gleichzeitig mit dem Empfang des Satzes von Bits für mindestens einen Teil der zweiten Periode gesendet wird.
  • Ein System umfasst eine erste Vorrichtung und eine zweite Vorrichtung, die mit einer Verlinkung gekoppelt sind, die einen oder mehrere Pfade aufweist, die mit der Übertragung eines Taktsignals assoziiert sind. Die erste Vorrichtung soll einen Satz von Bits, die mit einem Muster assoziiert sind, über den einen oder die mehreren Pfade übertragen. Der Satz von Bits wird unter Verwendung eines ersten Taktsignals übertragen, das eine erste Frequenz aufweist, die niedriger ist als eine zweite Frequenz, die mit Datenübertragungsoperationen assoziiert ist. Die zweite Vorrichtung soll Folgendes ausführen: Empfangen des Satzes von Bits, die mit dem Muster assoziiert sind, Bestimmen einer Anzahl von mit dem Satz von Bits über eine erste Periode assoziierten Impulsen; und Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt. Die zweite Vorrichtung soll als Reaktion auf die Feststellung, dass die Anzahl von Impulsen die vorbestimmte Bedingung erfüllt, ein Training der Verlinkung initiieren.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann in jeder geeigneten Kombination auf andere Aspekte oder Ausführungsformen angewendet werden. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer Ausführungsform auf einen Vorrichtungsaspekt oder eine Ausführungsform angewandt werden und umgekehrt.
  • Figurenliste
  • Verschiedene Ausführungsformen gemäß der vorliegenden Offenbarung werden mit Bezug auf die Zeichnungen beschrieben. Dabei zeigt:
    • 1 ist ein Beispiel für ein Kommunikationssystem, das ein Verfahren zur Erfassung des Verlinkungsstatus gemäß mindestens einigen Ausführungsformen verwendet;
    • 2 zeigt ein Beispiel für ein Kommunikationssystem, das ein Verfahren zur Erfassung des Verlinkungsstatus gemäß mindestens einigen Ausführungsformen verwendet;
    • 3 ist ein Beispiel für ein Kommunikationssystem, das ein Verfahren zur Erfassung des Verlinkungsstatus gemäß mindestens einigen Ausführungsformen verwendet;
    • 4 ist ein Flussdiagramm eines Verfahrens zur Verlinkungsstatuserfassung für ein Hochgeschwindigkeits-Verbindungssystem gemäß mindestens einigen Ausführungsformen;
    • 5 zeigt ein Beispiel-Computersystem mit einem Transceiver, der eine Chip-to-Chip-Verbindung zur Erfassung des Verlinkungsstatus enthält, gemäß mindestens einigen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Kommunikationssysteme übertragen Signale von einem Sender zu einem Empfänger über einen Kommunikationskanal oder ein Kommunikationsmedium (z. B. Kabel, Leiterplatten, Verlinkungen, drahtlos usw.). Einige Kommunikationssysteme trainieren den Kommunikationskanal oder das Kommunikationsmedium (z. B. die Verlinkung) während einer Initialisierungssequenz (z. B. bevor Daten übertragen werden), um sicherzustellen, dass die Signale zuverlässig übertragen werden. Bevor die Verlinkung trainiert wird, kann jede Vorrichtung oder jeder Chip in dem Kommunikationssystem bestimmen, ob die anderen Vorrichtungen in dem Kommunikationssystem eingeschaltet und für das Verlinkungstraining bereit sind - z. B. sie bzw. er kann einen Verlinkungsstatus bestimmen. Wenn die andere Vorrichtung nicht bereit ist (z. B. nicht initialisiert ist), kann das Training der Verlinkung fehlschlagen - z. B. können bestimmte Komponenten jeder Vorrichtung initialisiert werden, bevor das Verlinkungstraining stattfinden kann. Einige Kommunikationssysteme können mehrere Vorrichtungen umfassen, die getrennte (z. B. isolierte) Software-Stacks ausführen. Das Kommunikationssystem kann beispielsweise eine erste Vorrichtung (z. B. eine(n) ersten integrierte(n) Schaltung (IC) oder Chip) und eine zweite Vorrichtung (z. B. eine(n) zweite(n) IC oder Chip) umfassen und Daten über eine Boden-referenzierte Signalisierungs- (Ground-Referenced Signaling, GRS) Verlinkung kommunizieren; z. B. kann das Kommunikationssystem eine Chip-to-Chip-(C2C)-Verbindung sein, bei der beide Vorrichtungen einen Sender und einen Empfänger enthalten. Die erste Vorrichtung und die zweite Vorrichtung können isolierte Software-Stapel ausführen, was dazu führen kann, dass die erste Vorrichtung und die zweite Vorrichtung in ihrer Initialisierungssequenz nicht synchronisiert sind - z. B. kann die erste Vorrichtung eingeschaltet und bereit für das Training sein, während die zweite Vorrichtung ausgeschaltet ist. Das heißt, aufgrund der isolierten Softwarestapel kann sich keine der beiden Vorrichtungen auf die Software verlassen, um zu bestimmen, ob die andere Vorrichtung ein- oder ausgeschaltet ist, sich initialisiert, aus dem Reset kommt usw., und kann daher kein Verlinkungstraining per Software einleiten.
  • In einigen Kommunikationssystemen kann das Senden statischer Muster, die den Status der Verlinkung anzeigen, unzuverlässig sein. Da die Verlinkung nicht trainiert ist, kann es zum Beispiel zu Kanalrauschen oder Empfänger-Offset kommen, d. h. Daten können zu unterschiedlichen Zeiten auf den verschiedenen Datenspuren oder Datenpfaden der Verlinkung empfangen werden. Das Kanalrauschen oder der Offset des Empfängers kann Aliasing des übertragenen statischen Musters verursachen, was zu falschen Erfassungen und Initialisierungsfehlern führt - z. B. kann die erste Vorrichtung, die das statische Muster empfängt, fälschlicherweise bestimmen, dass die zweite Vorrichtung aufgrund des Aliasing des statischen Musters bereit für das Verlinkungstraining ist. In einem GRS-Kommunikationssystem kann es beispielsweise zu Kanalrauschen kommen, wenn Daten nicht aktiv übertragen werden, weil die Verlinkung massebezogen ist und der Abschluss ebenfalls auf Masse liegt. In solchen Beispielen kann der Empfänger einer der beiden Vorrichtungen aufgrund des Kanalrauschens verfälschte statische Muster empfangen und fälschlicherweise bestimmen, dass die andere Vorrichtung zum Verlinkungstraining bereit ist. In ähnlicher Weise ist die Suche nach einem Spannungsübergang zur Bestimmung des Verlinkungsstatus aufgrund des Kanalrauschens nicht durchführbar - z. B. kann ein Empfänger der ersten Vorrichtung oder der zweiten Vorrichtung nicht bestimmen, ob ein Spannungsübergang das Ergebnis eines von der anderen Vorrichtung gesendeten Signals oder das Ergebnis von Kanalrauschen ist. Außerdem kann das Hinzufügen eines dedizierten Pins zur Anzeige der Verlinkungsbereitschaft die Fläche auf der Verlinkung verringern, die Kosten erhöhen und zusätzliche Ressourcen verbrauchen. z. B. kann das Hinzufügen eines Allzweck-Eingangs-/Ausgangs- (General Purpose Input/Output, GPIO) Pins zur Anzeige der Verlinkungsbereitschaft eine Leiterbahn auf der Platine erfordern, die Kosten erhöhen und zusätzliche Ressourcen verbrauchen.
  • Vorteilhafterweise können Aspekte der vorliegenden Offenbarung die oben genannten Mängel und andere Herausforderungen angehen, indem ein Verfahren zur Erfassung des Verlinkungsstatus unter Verwendung eines dynamischen Musters bereitgestellt wird, das über eine Taktspur der Verlinkung übertragen wird. Zum Beispiel kann jede Vorrichtung, wenn sie eingeschaltet wird (z. B. wenn sie aus dem Reset kommt oder einen Initialisierungsprozess beginnt), ihre Empfänger und dann ihre Sender initialisieren. Jede Vorrichtung kann damit beginnen, ein dynamisches Muster mit einem Niedriggeschwindigkeitstakt über die Taktspur der Verlinkung zu übertragen. Zum Beispiel kann jede Vorrichtung das Muster mit einer Taktgeschwindigkeit übertragen, die geringer ist als eine Taktgeschwindigkeit, die mit der Datenübertragung assoziiert ist - z. B. mit einer Geschwindigkeit, die niedriger ist als die Hochgeschwindigkeitskommunikation. Da das Muster mit der niedrigeren Taktgeschwindigkeit übertragen wird, wird das Muster weniger durch Kanalrauschen und Offset beeinflusst. Darüber hinaus kann jede Vorrichtung ihre Empfänger nutzen, um alle eingehenden Muster zu erfassen. Beispielsweise kann jede Vorrichtung eine Zählerlogik konfigurieren, um eine Anzahl von Impulsen zu ermitteln, die über einen konfigurierbaren Zeitraum empfangen wurden - z. B. kann die Vorrichtung die durchschnittliche Häufigkeit eingehender Muster durch Erkennen von Flanken in dem Muster für die Zeitperiode bestimmen. Die Vorrichtung kann längere oder kürzere Zeiträume einstellen, die auf dem Ausmaß des Kanalrauschens oder des Offsets im System basieren. So kann z. B. eine längere Zeitspanne zum Zählen der Impulse gewählt werden, wenn im System eine relativ große Menge an Kanalrauschen oder Offset vorhanden ist. Jede Vorrichtung kann dann die ermittelte Anzahl von Impulsen mit einem erwarteten Impulszähler - z. B. der erwarteten durchschnittlichen Frequenz des dynamischen Musters - vergleichen. Wenn die Vorrichtung bestimmt, dass die über den Zeitraum ermittelte Anzahl von Impulsen mit der erwarteten Anzahl von Impulsen übereinstimmt, kann die Vorrichtung bestimmen, dass die Verlinkung für das Training bereit ist, z. B. bestimmen, dass die andere Vorrichtung eingeschaltet und initialisiert ist. Die Vorrichtung kann auch aufhören, das Niedriggeschwindigkeitstaktmuster zu übertragen, auf die volle Taktgeschwindigkeit umschalten und die Initialisierungssequenz und das Training der Verlinkung wieder aufnehmen.
  • Zum Beispiel kann die erste Vorrichtung einschalten, initialisieren und beginnen, das Muster mit dem Niedriggeschwindigkeitstakt über die Verlinkung zur zweiten Vorrichtung zu übertragen. Die erste Vorrichtung kann auch mit der Erfassung am Empfänger beginnen, indem sie die Anzahl der während der Periode empfangenen Impulse bestimmt. Einige Zeit später kann die zweite Vorrichtung einschalten, initialisieren und mit der Übertragung des Niedriggeschwindigkeitstakts über die Verlinkung zur ersten Vorrichtung beginnen. Die zweite Vorrichtung kann auch mit der Erfassung am Empfänger beginnen, indem sie die Anzahl der während der Periode empfangenen Impulse bestimmt. Dementsprechend kann der Empfänger der ersten Vorrichtung das von der zweiten Vorrichtung mit dem Niedriggeschwindigkeitstakt übertragene Muster empfangen und bestimmen, dass die Verlinkung für das Training bereit ist, während der Empfänger der zweiten Vorrichtung ebenfalls das Muster mit dem Niedriggeschwindigkeitstakt von der ersten Vorrichtung empfangen und bestimmen kann, dass die Verlinkung bereit für das Training ist. Selbst wenn die Initialisierung der ersten und der zweiten Vorrichtung asynchron beginnt, kann jede Vorrichtung zu einem bestimmten Zeitpunkt während der Initialisierung gleichzeitig das Muster mit dem Niedriggeschwindigkeitstakt übertragen und das Muster mit dem Niedriggeschwindigkeitstakt am Empfänger erfassen. In solchen Beispielen können beide Vorrichtungen bestimmen, ob die andere Seite bereit für das Verlinkungstraining ist, die Übertragung des Musters mit dem Niedriggeschwindigkeitstakt stoppen und auf den Hochgeschwindigkeitstakt umschalten.
  • Durch Nutzung der Taktspur der Verlinkung zur Übertragung des dynamischen Musters mit langsamer Taktgeschwindigkeit kann jede Vorrichtung des Kommunikationssystems den Status der Verlinkung bestimmen. Da das Muster über die Taktspur übertragen wird, kann das Kommunikationssystem die Verwendung zusätzlicher Hardware vermeiden - z. B. kann die Übertragung des Musters mit dem Niedriggeschwindigkeitstakt über die Datenspuren dazu führen, dass dem System zusätzliche Hardware hinzugefügt werden muss. Darüber hinaus kann das Kommunikationssystem den Verlinkungsstatus ohne Softwareeingriff oder zusätzliche GIPO-Pins, die für die Bereitschaft zum Verlinkungsstatus vorgesehen sind, zuverlässig erfassen. Dementsprechend ermöglichen Ausführungsformen der vorliegenden Anwendung ein zuverlässigeres Verfahren zum Trainieren der Verlinkung in einem Hochgeschwindigkeits-Verbindungssystem.
  • 1 veranschaulicht ein beispielhaftes Kommunikationssystem 100 gemäß mindestens einer beispielhaften Ausführungsform. Das System 100 umfasst eine Vorrichtung 110, ein Kommunikationsnetzwerk 108 mit einem Kommunikationskanal 109 und eine Vorrichtung 112. In mindestens einer Ausführungsform entsprechen die Vorrichtungen 110 und 112 einem oder mehreren von einem Personal Computer (PC), einem Laptop, einem Tablet, einem Smartphone, einem Server, einer Sammlung von Servern oder dergleichen. In einigen Ausführungsformen können die Vorrichtungen 110 und 112 jeder geeigneten Art von Vorrichtung entsprechen, die mit anderen Vorrichtungen kommuniziert, die mit einer gemeinsamen Art von Kommunikationsnetzwerk 108 assoziiert sind. Gemäß Ausführungsformen kann der Empfänger 104 der Vorrichtungen 110 oder 112 Folgendem entsprechen: einer Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), einem Switch (z. B. einem Hochgeschwindigkeits-Netzwerk-Switch), einem Netzwerkadapter, einer Zentralverarbeitungseinheit (Central Processing Unit, CPU), einer Speichervorrichtung, einer Eingabe-/Ausgabe- (Input/Output, I/O) Vorrichtung, anderen peripheren Vorrichtungen oder Komponenten auf einem System-on-Chip (SoC) oder anderen Vorrichtungen und Komponenten, an denen ein Signal empfangen oder gemessen wird, usw. Als weiteres spezifisches, aber nicht einschränkendes Beispiel können die Vorrichtungen 110 und 112 Servern entsprechen, die Informationsressourcen, Dienste und/oder Anwendungen für Benutzervorrichtungen, Client-Vorrichtungen oder andere Hosts im System 100 anbieten.
  • Beispiele für das Kommunikationsnetz 108, das zur Verlinkung der Vorrichtungen 110 und 112 verwendet werden kann, umfassen ein Internetprotokoll (IP)-Netzwerk, ein Ethernet-Netzwerk, ein InfiniBand (IB)-Netzwerk, ein Fibre Channel-Netzwerk, das Internet, ein zellulares Kommunikationsnetzwerk, ein drahtloses Kommunikationsnetzwerk, eine Ground Referenced Signaling- (GRS) Verlinkung, Kombinationen davon (z. B. Fibre Channel over Ethernet), Varianten davon und/oder dergleichen. In einem spezifischen, aber nicht einschränkenden Beispiel ist das Kommunikationsnetzwerk 108 ein Netzwerk, das die Datenübertragung zwischen den Vorrichtungen 110 und 112 unter Verwendung von Datensignalen (z. B. digitale, optische, drahtlose Signale) ermöglicht.
  • Die Vorrichtung 110 umfasst einen Transceiver 116 zum Übertragen und Empfangen von Signalen, beispielsweise von Datensignalen. Bei den Datensignalen kann es sich um digitale oder optische Signale handeln, die mit Daten oder anderen geeigneten Signalen zur Datenübertragung moduliert sind.
  • Der Transceiver 116 kann eine digitale Datenquelle 120, einen Sender 102, einen Empfänger 104 und eine Verarbeitungsschaltung 132 umfassen, die den Transceiver 116 steuert. Die digitale Datenquelle 120 kann geeignete Hardware und/oder Software zur Ausgabe von Daten in einem digitalen Format (z. B. in Binärcode und/oder Thermometercode) umfassen. Die von der digitalen Datenquelle 120 ausgegebenen digitalen Daten können aus einem Speicher (nicht dargestellt) abgerufen oder entsprechend einer Eingabe (z. B. einer Benutzereingabe) erzeugt werden.
  • Der Sender 124 umfasst geeignete Software und/oder Hardware zum Empfang digitaler Daten von der digitalen Datenquelle 120 und zur Ausgabe von Datensignalen entsprechend den digitalen Daten zur Übertragung über das Kommunikationsnetz 108 an einen Empfänger 104 der Vorrichtung 112. Weitere Details zum Aufbau des Senders 124 werden im Folgenden unter Bezugnahme auf die Figuren näher erläutert.
  • Der Empfänger 104 der Vorrichtung 110 und 112 kann eine geeignete Hardware und/oder Software zum Empfangen von Signalen, wie z. B. Datensignalen aus dem Kommunikationsnetz 108, aufweisen. Beispielsweise kann der Empfänger 104 Komponenten zum Empfangen von Verarbeitungssignalen umfassen, um die Daten zum Speichern in einem Speicher zu extrahieren, wie unten mit Bezug auf 2 bis 4 im Detail beschrieben. In mindestens einer Ausführungsform kann der Empfänger 104 eine Taktschaltung 115 umfassen. In einigen Ausführungsformen kann die Taktschaltung 115 so konfiguriert sein, dass sie Taktsignale von Taktspuren des Kommunikationsnetzes 108 empfängt. In einigen Ausführungsformen kann die Taktschaltung 115 einen Verlinkungsstatus des Kommunikationsnetzwerks 108 erfassen, bevor die Verlinkung trainiert wird, z. B. kann die Taktschaltung 115 den Verlinkungsstatus erfassen, wenn die erste Vorrichtung 110 und/oder die zweite Vorrichtung 112 eingeschaltet und initialisiert werden. Zum Beispiel kann der Sender 124 während der Initialisierungssequenz ein dynamisches Muster mit einer niedrigen Taktgeschwindigkeit (z. B. mit einer Taktgeschwindigkeit, die langsamer ist als eine Taktgeschwindigkeit, die mit der Datenübertragung assoziiert ist) über die Taktspuren übertragen. In solchen Ausführungsformen kann der Empfänger 104 so konfiguriert sein, dass er das Muster mit der niedrigen Taktgeschwindigkeit empfängt und eine Anzahl von Impulsen bestimmt, die über einen vordefinierten Zeitraum oder eine vordefinierte Dauer erfasst werden. Wenn der Empfänger 104 bestimmt, dass die Anzahl der Impulse mit einer erwarteten Anzahl von Impulsen für die Dauer übereinstimmt, kann die Vorrichtung 110 oder die Vorrichtung 112 bestimmen, dass die Verlinkung bereit ist, trainiert zu werden. Weitere Details zur Erfassung des Verlinkungsstatus werden unter Bezugnahme auf 2 bis 4 beschrieben.
  • Die Verarbeitungsschaltung 132 kann aus Software, Hardware oder einer Kombination davon bestehen. Die Verarbeitungsschaltung 132 kann beispielsweise einen Speicher mit ausführbaren Anweisungen und einen Prozessor (z. B. einen Mikroprozessor) umfassen, der die Anweisungen im Speicher ausführt. Der Speicher kann jedem geeigneten Typ von Speichervorrichtung oder einer Sammlung von Speichervorrichtungen entsprechen, die zum Speichern von Anweisungen konfiguriert sind. Nicht-einschränkende Beispiele für geeignete Speichervorrichtungen, die verwendet werden können, sind Flash-Speicher, Direktzugriffsspeicher (Random Access Memory, RAM), Festwertspeicher (Read Only Memory, ROM), Varianten davon, Kombinationen davon oder ähnliches. In einigen Ausführungsformen können der Speicher und der Prozessor in einer gemeinsamen Vorrichtung integriert sein (z. B. kann ein Mikroprozessor einen integrierten Speicher enthalten). Zusätzlich oder alternativ kann die Verarbeitungsschaltung 132 aus Hardware bestehen, wie z. B. einer anwendungsspezifischen integrierten Schaltung (ASIC). Andere nicht einschränkende Beispiele für den Verarbeitungsschaltkreis 132 umfassen einen Chip einer integrierten Schaltung (Integrated Circuit, IC), eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU), eine allgemeine Verarbeitungseinheit (General Processing Unit, GPU), einen Mikroprozessor, eine feldprogrammierbare Gate-Anordnung (Field Programmable Gate Array, FPGA), eine Sammlung von Logikgattern oder Transistoren, Widerständen, Kondensatoren, Induktoren, Dioden oder dergleichen. Einige oder alle der Verarbeitungsschaltungen 132 können auf einer Leiterplatte (PCB) oder einer Sammlung von PCBs bereitgestellt werden. Es ist ersichtlich, dass jede geeignete Art von elektrischen Komponenten oder eine Sammlung von elektrischen Komponenten für die Aufnahme in die Verarbeitungsschaltung 132 geeignet sein kann. Die Verarbeitungsschaltung 132 kann Signale an andere Elemente des Transceivers 116 übertragen und/oder von diesen empfangen, um den Gesamtbetrieb des Transceivers 116 zu steuern.
  • Der Transceiver 116 oder ausgewählte Elemente des Transceivers 116 können die Form einer steckbaren Karte oder eines Controllers für die Vorrichtung 110 annehmen. Beispielsweise können der Transceiver 116 oder ausgewählte Elemente des Transceivers 116 auf einer Netzwerkschnittstellenkarte (Network Interface Card, NIC) implementiert sein.
  • Die Vorrichtung 112 kann einen Transceiver 136 zum Senden und Empfangen von Signalen, z. B. von Datensignalen, über einen Kanal 109 des Kommunikationsnetzes 108 umfassen. Die gleiche oder eine ähnliche Struktur des Transceivers 116 kann auf den Transceiver 136 angewandt werden, und daher wird die Struktur des Transceivers 136 nicht gesondert beschrieben.
  • Obwohl nicht explizit dargestellt, wird darauf hingewiesen, dass die Vorrichtungen 110 und 112 und die Transceiver 116 und 120 auch andere Verarbeitungsvorrichtungen, Speichervorrichtungen und/oder Kommunikationsschnittstellen umfassen können, die im Allgemeinen mit Rechenaufgaben, wie dem Senden und Empfangen von Daten, assoziiert sind.
  • 2 veranschaulicht ein beispielhaftes Kommunikationssystem 200 gemäß mindestens einer beispielhaften Ausführungsform. Das System 200 umfasst eine Vorrichtung 110 und eine Vorrichtung 112, wie mit Bezug auf 1 beschrieben. Die Vorrichtung 110 und die Vorrichtung 112 können mit einer Verlinkung 220 gekoppelt sein. In mindestens einer Ausführungsform kann die Verlinkung 220 ein Beispiel für ein Kommunikationsnetz 108 sein, wie unter Bezugnahme auf 1 beschrieben. In mindestens einer Ausführungsform kann die Verlinkung 220 ein Beispiel für eine Hochgeschwindigkeitsverbindung sein. Beispielsweise kann die Verlinkung 220 ein Beispiel für eine Ground Referenced Signaling (GRS) Verlinkung 220 sein. In einer Ausführungsform kann die GRS-Verlinkung 220 ein Signalisierungsschema sein, das für die serielle Datenübertragung zwischen den Vorrichtungen 110 und 112 verwendet wird. In mindestens einer Ausführungsform kann die GRS-Verlinkung 220 eine Hochgeschwindigkeitsverlinkung sein (z. B. Übertragung von 40 Gigabit pro Sekunde (GBPS) bei einer Frequenz von 20 Gigahertz bei der Durchführung von Hochgeschwindigkeitskommunikation). In mindestens einer Ausführungsform kann die Verlinkung 220 RC-dominierte Kanäle und LC-Übertragungsleitungen umfassen. Außerdem kann die GRS-Verlinkung 220 eine On-Chip-Verlinkung, eine Verlinkung über ein Substrat (z. B. ein organisches Gehäuse) oder eine Verlinkungssignalisierung über eine Leiterplatte (PCB) sein. In einigen Beispielen kann die GRS-Verlinkung 220 ein Massennetzwerk als Signalreferenzspannung verwenden, z. B. kann Masse die Rücksignalisierung sein.
  • In mindestens einer Ausführungsform kann die Verlinkung 220 Datenspuren 202 und Datenspuren 203 umfassen, die zur Übertragung von Signalen, Daten, Nachrichten usw. zwischen der Vorrichtung 110 und der Vorrichtung 112 konfiguriert sind. Beispielsweise können die Datenspuren 202 mit der Übertragung von Signalen, Daten oder Nachrichten von der Vorrichtung 110 zur Vorrichtung 112 assoziiert sein. Datenspuren 203 können der Übermittlung von Signalen, Daten oder Nachrichten von der Vorrichtung 112 zur Vorrichtung 110 zugeordnet sein. Beispielsweise können die Datenspuren 202 mit einem Sender 102 der Vorrichtung 110 und die Datenspuren 203 mit einem Sender der Vorrichtung 112 assoziiert sein. In mindestens einer Ausführungsform kann die Verlinkung 220 eine gleiche Anzahl von Datenspuren 202 und Datenspuren 203 umfassen. In dieser Ausführungsform kann eine Datenspur 202 einer Datenspur 203 zugeordnet sein, z. B. können die Datenspur 202-a und die Datenspur 203-a ein einziges Sender/Empfänger-Datenspurpaar 204 sein. In mindestens einer Ausführungsform kann die Verlinkung 220 eine Anzahl „N“ von Datenspurpaaren, z. B. eine Anzahl „N“ von Datenspuren 202 und Datenspuren 203, umfassen. In einigen Ausführungsformen können die Datenspuren 202 mit einer weitergeleiteten Taktspur 205-a und die Datenspuren 203 mit einer weitergeleiteten Taktspur 205-b assoziiert sein. In mindestens einer Ausführungsform kann jede Taktspur mit zwei oder mehr Datenspuren, z. B. mit mindestens zwei Datenspuren 202 oder Datenspuren 203, assoziiert sein. In mindestens einer Ausführungsform übertragen die Datenspuren 202 Daten an die Vorrichtung 112. In solchen Ausführungsformen werden die Daten mit dem weitergeleiteten Takt am Empfänger der Vorrichtung 112 zwischengespeichert. In einigen Ausführungsformen sind die Datenspur 202 und die entsprechende Datenspur 203 identisch, d. h. jede Datenspur 202 und die entsprechende Datenspur 203 unterstützen die gleiche Signalisierungsgeschwindigkeit und enthalten identische Treiber und Hardware.
  • In mindestens einer Ausführungsform können die Vorrichtung 110 und die Vorrichtung 112 isolierte (z. B. unterschiedliche) Softwarestapel ausführen. In solchen Ausführungsformen kann die Verlinkung 220 die primäre Kommunikation zwischen der Vorrichtung 110 und der Vorrichtung 112 sein, z. B. die Vorrichtung 110 und die Vorrichtung 112 können sich nicht auf eine softwaregesteuerte Initialisierung verlassen. In mindestens einer Ausführungsform können die Vorrichtung 110 und die Vorrichtung 112 asynchron initialisieren. Das heißt, die Vorrichtung 110 und die Vorrichtung 112 können zu unterschiedlichen Zeiten eingeschaltet werden, zu unterschiedlichen Zeiten aus dem Reset gebracht werden oder sich anderweitig in unterschiedlichen Stadien des Initialisierungsprozesses befinden.
  • In mindestens einer Ausführungsform kann die Verlinkung 220 vor der Übertragung von Daten (z. B. Funktionsdaten) trainiert werden, um sicherzustellen, dass die Daten zuverlässig übertragen werden, z. B. um unterschiedliche Verzögerungen zwischen den Datenspuren 202 und den Datenspuren 203 zu vermeiden. Um die Verlinkung 220 zu trainieren, können die Vorrichtung 110 und die Vorrichtung 112 eingeschaltet sein und eine gewisse Initialisierung abgeschlossen haben, z. B. initialisierte Empfänger und Sender, die mit der Verlinkung 220 gekoppelt sind. Dementsprechend kann jede Vorrichtung 110 und jede Vorrichtung 112 bestimmen, ob die andere Vorrichtung für das Training der Verlinkung bereit ist, bevor sie das Training der Verlinkung einleitet, z. B. kann jede Vorrichtung einen Verlinkungsstatus bestimmen, bevor sie das Training der Verlinkung einleitet. Da die Vorrichtung 110 und die Vorrichtung 112 nicht über Software kommunizieren können, können die Vorrichtung 110 und die Vorrichtung 112 ihren Verlinkungsstatus (z. B. dass die Vorrichtung für das Verlinkungstraining bereit ist) über die Taktspur 205 kommunizieren, um mit dem Verlinkungstraining wie hierin beschrieben fortzufahren.
  • Zum Beispiel können die Vorrichtung 110 und die Vorrichtung 112 mit der Initialisierung beginnen, wenn sie eingeschaltet oder aus dem Reset herausgebracht werden. In einigen Ausführungsformen können die Vorrichtung 110 und die Vorrichtung 112 zuerst einen Empfänger (z. B. den Empfänger 104) initialisieren und dann einen Sender (z. B. den Sender 124) initialisieren - z. B. kann die Vorrichtung 110 oder die Vorrichtung 112 initialisiert werden, um eingehende Signale zu empfangen und zu erfassen, bevor sie mit dem Senden von Signalen beginnt. Nach der Initialisierung des Empfängers und des Senders kann die Vorrichtung 110 oder die Vorrichtung 112 damit beginnen, ein Niedriggeschwindigkeitsmuster (z. B. mit einer Geschwindigkeit, die niedriger ist als die Geschwindigkeit des Hochgeschwindigkeitstaktes) auf der Taktspur 205 zu übertragen. In einer Ausführungsform kann die niedrige Geschwindigkeit zwischen 0,5 Gigahertz und 2,5 Gigahertz liegen. In einigen Ausführungsformen kann die andere Vorrichtung, wenn sie initialisiert wird, auch damit beginnen, das Niedriggeschwindigkeitsmuster auf der Taktspur 205 in die andere Richtung zu senden. Wenn beispielsweise die Vorrichtung 110 zuerst initialisiert wird, kann die Vorrichtung 110 zuerst damit beginnen, das Niedriggeschwindigkeitsmuster zu erfassen und zu senden, und wenn die Vorrichtung 112 initialisiert wird, kann die Vorrichtung 112 ebenfalls damit beginnen, das Niedriggeschwindigkeitsmuster zu erfassen und zu senden. Dementsprechend können, obwohl die Vorrichtung 110 und die Vorrichtung 112 die Initialisierungssequenz asynchron beginnen können, zu einem bestimmten Zeitpunkt sowohl die Vorrichtung 110 als auch die Vorrichtung 112 gleichzeitig das Niedriggeschwindigkeitsmuster übertragen.
  • In einer Ausführungsform kann die Vorrichtung 110 oder die Vorrichtung 112 während der Übertragung des Niedriggeschwindigkeitsmusters auch eingehende Signale auf der Taktspur 205 erfassen. Beispielsweise kann die Vorrichtung 110 oder die Vorrichtung 112 eine Anzahl von Impulsen erfassen, die in einem vordefinierten Zeitraum empfangen wurden. Die Vorrichtung 110 oder die Vorrichtung 112 kann die Anzahl der erfassten Impulse mit einer erwarteten Anzahl von Impulsen für ein eingehendes Niedriggeschwindigkeitsmuster vergleichen. Dementsprechend kann die Vorrichtung 110 oder die Vorrichtung 112 den Verlinkungsstatus bestimmen, wenn die erfasste Anzahl von Impulsen der erwarteten Anzahl von Impulsen für das Niedriggeschwindigkeitsmuster entspricht (z. B. übereinstimmt oder gleich ist). Das heißt, wenn sowohl die Vorrichtung 110 als auch die Vorrichtung 112 das Niedriggeschwindigkeitsmuster übertragen, kann die andere Vorrichtung durch Erkennen des Niedriggeschwindigkeitsmusters bestimmen, dass die Verlinkung bereit ist. In solchen Ausführungsformen können die Vorrichtung 110 und die Vorrichtung 112 die Übertragung des Niedriggeschwindigkeitsmusters stoppen, von dem Niedriggeschwindigkeitsmuster zu dem Hochgeschwindigkeitsmuster übergehen und ein Verlinkungstraining einleiten oder eine andere Restinitialisierung durchführen, bevor sie ein Verlinkungstraining einleiten.
  • 3 veranschaulicht ein beispielhaftes Kommunikationssystem 300 gemäß mindestens einer beispielhaften Ausführungsform. In mindestens einer Ausführungsform ist das Kommunikationssystem 300 ein Beispiel für ein Kommunikationssystem 100 oder 200, wie es mit Bezug auf 1 und 2 beschrieben ist. Das System 300 umfasst eine Vorrichtung 110 und eine Vorrichtung 112, wie mit Bezug auf 1 beschrieben. Die Vorrichtung 110 und die Vorrichtung 112 können mit einer Verlinkung 220, z. B. einer GRS-Verlinkung 220, gekoppelt sein, wie mit Bezug auf 2 beschrieben. Die Vorrichtung 110 kann einen Sender 124 umfassen, wie mit Bezug auf 1 beschrieben, und die Vorrichtung 112 kann einen Empfänger 104 umfassen, wie mit Bezug auf 1 beschrieben. In mindestens einer Ausführungsform können die im Empfänger 104 dargestellten Komponenten als Teil der Taktschaltung 115 betrachtet werden, die unter Bezugnahme auf 1 beschrieben ist. Obwohl 3 eine Schaltung zeigt, die der Taktspur 205-a entspricht, kann das Kommunikationssystem 300 eine ähnliche Schaltung enthalten, die der Taktspur 205-b entspricht, wie mit Bezug auf 2 beschrieben. Das heißt, die Vorrichtung 110 kann auch einen Empfänger 104 enthalten, und die Vorrichtung 112 kann einen Sender 124 enthalten, der mit der Taktspur 205-b assoziiert ist. Der Sender 124 kann einen DQ-Mustergenerator 305 und einen Treiber 315 umfassen. Der Empfänger 104 kann einen Abtaster 320, einen oder mehrere Teiler 325, einen Multiplexer 330, einen Tiefpassfilter (Low Pass Filter, LPF) 335, eine lokale Phasenregelschleife (Phase Lock Loop, PLL) 340, einen Taktzähler 345 und einen erwarteten Impulszähler 350 umfassen. In einigen Ausführungsformen können der LPF 335, die lokale PLL 340, der erwartete Impulszähler 350 und der Taktzähler 345 digitale Logik sein. In mindestens einer Ausführungsform können der Taktzähler 345 und der erwartete Impulszähler 350 mit einem Controller gekoppelt sein oder anderweitig durch Signale gesteuert werden, die von der Verarbeitungsschaltung 132 empfangen werden, wie unter Bezugnahme auf 1 beschrieben.
  • In einigen Ausführungsformen kann die Vorrichtung 110 eingeschaltet werden, aus dem Reset gebracht werden oder anderweitig Initialisierungsschritte durchgeführen. In solchen Ausführungsformen kann die Vorrichtung 110 zuerst ihren Empfänger 104 initialisieren und dann den Sender 124 initialisieren. Nach der Initialisierung des Senders 124 kann der Sender 124 mit dem Senden eines Musters mit niedriger Taktgeschwindigkeit beginnen, wie in 2 beschrieben. In solchen Ausführungsformen kann der DQ-Mustergenerator 305 so konfiguriert sein, dass er ein zu übertragendes Muster erzeugt. Zum Beispiel kann der DQ-Mustergenerator 305 einen Satz von Bits erzeugen, die dem Muster entsprechen. In einigen Ausführungsformen kann der DQ-Mustergenerator 305 so konfiguriert sein, dass er einen lokalen Verlinkungsstatus 310 vom Empfänger 104 in der Vorrichtung 110 empfängt. In einigen Ausführungsformen kann der lokale Verlinkungsstatus 310 anzeigen, ob der Empfänger an der Vorrichtung 110 ein Niedriggeschwindigkeitstaktmuster oder Signal von der Vorrichtung 112 erfasst hat. Das heißt, der DQ-Mustergenerator 305 kann so konfiguriert sein, dass er das Muster von der Initialisierung der Vorrichtung 110 bis zur Erfassung des Niedriggeschwindigkeitstaktmusters von der anderen Vorrichtung erzeugt - z. B. kann der DQ-Mustergenerator 305 so konfiguriert sein, dass er das Muster erzeugt, bis der Empfänger 104 der Vorrichtung 110 ein Niedriggeschwindigkeitsmuster von der Vorrichtung 112 erkennt. Wenn beispielsweise der lokale Verlinkungsstatus 310 anzeigt, dass die Verlinkung nicht bereit für das Training ist (z. B. weil kein Niedriggeschwindigkeitsmuster von der Vorrichtung 112 erfasst wurde), kann der DQ-Mustergenerator 305 damit fortfahren, das Muster zu erzeugen und das Muster an den Treiber 315 zu übermitteln. Wenn der lokale Verlinkungsstatus 310 anzeigt, dass die Verlinkung für das Training bereit ist (z. B. hat der Empfänger 104 der Vorrichtung 110 ein Niedriggeschwindigkeitsmuster von der Vorrichtung 112 erfasst), kann der DQ-Mustergenerator 305 die Erzeugung des Musters und die Übertragung von Bits an den Treiber 315 stoppen.
  • In einer Ausführungsform ist der Treiber 315 so konfiguriert, dass er den vom DQ-Mustergenerator 305 erzeugten Satz von Bits mit niedriger Geschwindigkeit über die Taktspur 205-a treibt (z. B. überträgt). Zum Beispiel kann der Treiber 315 den Satz von Bits, der dem Muster entspricht, unter Verwendung eines Niedriggeschwindigkeitstaktsignals (z. B. einer ersten Frequenz) übertragen. In einigen Ausführungsformen kann die erste Frequenz zwischen 0,5 und 2,5 Gigahertz liegen, wie mit Bezug auf 2 beschrieben. Das heißt, der Treiber 315 ist so konfiguriert, dass er das Muster mit einer Frequenz ansteuert, die niedriger ist als eine Frequenz, die mit Datenübertragungsoperationen assoziiert ist. In einigen Ausführungsformen kann der Treiber 315 eine Schaltung enthalten, um das Muster mit der niedrigen Taktgeschwindigkeit zu übertragen. In einigen Ausführungsformen kann der Treiber 315 einen Serialisierer enthalten, um den vom DQ-Generator 305 empfangenen Satz von Bits über die Taktspur 205-a zu serialisieren - z. B. den parallelen Satz von Bits in serielle Bits umzuwandeln und den Satz von Bits über die Taktspur 205-a zu übertragen.
  • In einer Ausführungsform kann der Abtaster 320 so konfiguriert sein, dass er den Satz von Bits empfängt und den Satz von Bits abtastet. In mindestens einer Ausführungsform kann der Abtaster 320 den abgetasteten Satz von empfangenen Bits an einen Teiler 325 übertragen. In einigen Ausführungsformen kann der Abtaster 320 die Abtastung des Bitsatzes an den Multiplexer 330 übertragen, d. h. er kann darauf verzichten, den abgetasteten Bitsatz an den Teiler 325 zu übertragen. In einigen Ausführungsformen kann der Teiler 325 so konfiguriert sein, dass er die Frequenz des von der Vorrichtung 110 empfangenen Bitsatzes herunterteilt. Zum Beispiel kann der Teiler 325 so konfiguriert werden, dass er eine empfangene Taktgeschwindigkeit durch 2, 4, 8, 16 usw. teilt. In einigen Ausführungsformen kann die Vorrichtung 112 den Teiler 325 während der Initialisierung des Empfängers 104 konfigurieren. Das heißt, die Vorrichtung 112 kann bestimmen, dass das über die Taktspur 205-b übertragene Niedriggeschwindigkeitstaktmuster zu schnell ist - z. B. kann das Kanalrauschen des Datenoffsets dazu führen, dass das vom Sender 124 der Vorrichtung 112 übertragene Niedriggeschwindigkeitstaktmuster unzuverlässig gesendet wird. Dabei kann es eine Grenze dafür geben, wie langsam der Sender 124 ein Signal senden kann. In Ausführungsformen, in denen die minimale Taktgeschwindigkeit unzuverlässig ist, kann die Vorrichtung 112 den Teiler 325 so konfigurieren, dass er die von der Vorrichtung 110 empfangene Taktgeschwindigkeit weiter unterteilt, um sicherzustellen, dass das von der Vorrichtung 110 empfangene Taktmuster zuverlässig ist. Obwohl ein Teiler 325 dargestellt ist, kann der Empfänger 104 mehrere Teiler enthalten - z. B. kann er 2, 4, 8, 16, usw. Teiler 325 basierend auf der bevorzugten Taktgeschwindigkeit der Vorrichtung 104 enthalten. Der Teiler 325 kann so konfiguriert sein, dass er das geteilte Taktmuster (z. B. den geteilten abgetasteten Satz von Bits) an den Multiplexer 330 überträgt. In einigen Ausführungsformen ist der Multiplexer 330 so konfiguriert, dass er den vom Abtaster 320 empfangenen Satz von Bits oder den vom Teiler 325 empfangenen geteilten Satz von Bits multiplexiert und die gemultiplexten Bits an den Tiefpassfilter 325 überträgt.
  • In einer Ausführungsform kann der Tiefpassfilter 335 so konfiguriert sein, dass es den abgetasteten Satz von Bits (oder die geteilten Abtastwerte) vom Multiplexer 330 weiter verfeinert. Das heißt, der Tiefpassfilter kann kurzfristige Schwankungen entfernen und das Rauschen der abgetasteten Bits reduzieren, damit der Taktzähler 345 eine verbesserte Abtastung oder ein verbessertes Signal empfangen kann. In mindestens einer Ausführungsform kann der Tiefpassfilter 335 mit einer lokalen PLL 340 gekoppelt sein. In einigen Ausführungsformen kann die lokale PLL 340 Ausgangssignale für den Tiefpassfilter 335 erzeugen. Beispielsweise kann die lokale PLL 340 so initialisiert oder konfiguriert werden, dass sie mit der Hochgeschwindigkeitsfrequenz (z. B. der für Datenübertragungsoperationen verwendeten Frequenz) arbeitet. In solchen Ausführungsformen kann die lokale PLL 340 verwendet werden, um die empfangenen Abtastwerte am Tiefpassfilter 335 abzutasten. Dabei können die lokale PLL 340 und der Tiefpassfilter 335 verwendet werden, um hochfrequente Komponenten in einem Ausgang eines Phasendetektors zu beseitigen, z. B. um die höheren Frequenzen zu beseitigen und ein Signal mit reduziertem Rauschen für den Taktzähler 345 zu erzeugen.
  • In einer Ausführungsform kann der Taktzähler 345 so konfiguriert sein, dass er eine Anzahl von Impulsen in dem abgetasteten Satz von Bits (z. B. das erfasste Muster) erkennt, die von dem Tiefpassfilter 335 während einer vordefinierten Periode - z. B. oder vom Multiplexer 330 in Ausführungsformen, in denen ein Tiefpassfilter 335 nicht verwendet wird, empfangen wurden. In einigen Ausführungsformen kann der Taktzähler 345 die Anzahl der Impulse ermitteln, indem er eine Anzahl von Flanken (z. B. die Anzahl der Male, die das Signal ansteigt oder fällt) während der vordefinierten Dauer bestimmt. Dabei kann der Taktzähler die durchschnittliche Frequenz des abgetasteten Satzes von Bits bestimmen, z. B. die durchschnittliche Frequenz des Musters bestimmen, das am Empfänger 104 von der Vorrichtung 110 empfangen wird. In einigen Ausführungsformen kann die vordefinierte Periode konfigurierbar sein. Beispielsweise kann der Verarbeitungsschaltkreis 132 oder ein mit dem Taktzähler 345 gekoppelter Controller eine Periode zum Erfassen der Anzahl von Impulsen auswählen - z. B. kann die Verarbeitungsschaltung 132 eine Periode aus einer Liste mit einer programmierten Anzahl von möglichen Perioden auswählen. In einigen Ausführungsformen ist die Wahrscheinlichkeit, dass Rauschen das empfangene Signal beeinflusst, umso geringer, je größer die gewählte Periode ist - z. B. kann das Niedriggeschwindigkeitstaktmuster genauer erfasst werden. Je kleiner die gewählte Periode ist, desto schneller kann der Status der Verlinkung bestimmt werden - z. B. kann die gesamte Initialisierungszeit reduziert werden. Dementsprechend kann die Verarbeitungsschaltung 132 die Periode basierend auf einer gewichteten Abwägung zwischen Genauigkeit und Zeit auswählen - z. B. kann die Verarbeitungsschaltung 132 kleinere Zeiträume auswählen, wenn weniger Rauschen im Kommunikationssystem 300 vorhanden ist, und größere Zeiträume, wenn mehr Rauschen im Kommunikationssystem 300 vorhanden ist. Nach dem Erfassen der Anzahl von Impulsen in der Periode kann der Taktzähler die erfasste Anzahl von Impulsen mit einer erwarteten Anzahl von Impulsen vergleichen, die von einem erwarteten Impulszähler 350 empfangen werden. Das heißt, der erwartete Impulszähler 350 kann die erwartete Anzahl von Impulsen für das im Kommunikationssystem 300 gesendete und empfangene Niedriggeschwindigkeitstaktmuster speichern.
  • In einigen Ausführungsformen kann der Taktzähler 345 bestimmen, dass die andere Vorrichtung (z. B. die Vorrichtung 110) nicht bereit ist, die Verlinkung zu trainieren, d. h. er kann bestimmen, dass die Verlinkung nicht bereit ist, trainiert zu werden, wenn die erfasste Anzahl von Impulsen von der erwarteten Anzahl von Impulsen abweicht. In solchen Ausführungsformen kann der Taktzähler 345 einen lokalen Verlinkungsstatus 355 an den Sender 124 der Vorrichtung 112 senden, der anzeigt, dass die Verlinkung nicht bereit ist, trainiert zu werden. Dementsprechend kann der Sender 124 weiterhin das Niedriggeschwindigkeitstaktmuster an die Vorrichtung 110 senden. Das heißt, wenn die zweite Vorrichtung 112 zuerst initialisiert wird, kann die Vorrichtung 112 das Niedriggeschwindigkeitstaktmuster erfassen und das Niedriggeschwindigkeitstaktmuster an die Vorrichtung 110 übertragen. Da die Vorrichtung 110 nicht initialisiert werden kann, wenn die Vorrichtung 112 das Niedriggeschwindigkeitstaktmuster sendet und erkennt, kann der Taktzähler 345 bestimmen, dass die Anzahl der empfangenen Impulse nicht mit der erwarteten Anzahl von Impulsen übereinstimmt und dem Sender 124 der Vorrichtung 112 signalisieren, das Niedriggeschwindigkeitsmuster weiter zu senden.
  • In einigen Ausführungsformen kann der Taktzähler 345 bestimmen, dass die andere Vorrichtung (z. B. die Vorrichtung 110) bereit ist, die Verlinkung zu trainieren, d. h., er kann bestimmen, dass die Verlinkung bereit ist, trainiert zu werden, wenn die erfasste Anzahl von Impulsen die gleiche ist wie die erwartete Anzahl von Impulsen (z. B. dieser entspricht). In solchen Ausführungsformen kann der Taktzähler 345 einen lokalen Verlinkungsstatus 355 an den Sender 124 der Vorrichtung 112 senden, der anzeigt, dass die Verlinkung bereit ist, trainiert zu werden. Dementsprechend kann der Sender 124 der Vorrichtung 112 aufhören, das Niedriggeschwindigkeitstaktmuster zu senden. Das heißt, wenn die Vorrichtung 112 das Niedriggeschwindigkeitstaktmuster von der Vorrichtung 110 erfasst, dann kann die Vorrichtung 110 auch das Niedriggeschwindigkeitstaktmuster von der Vorrichtung 112 erfassen, und so können sowohl die Vorrichtung 110 als auch die Vorrichtung 112 aufhören, das Niedriggeschwindigkeitstaktmuster zu übertragen. In solchen Ausführungsformen, selbst wenn die Vorrichtung 110 und die Vorrichtung 112 asynchron mit der Initialisierung beginnen, übertragen die Vorrichtung 110 und die Vorrichtung 112 zu einem bestimmten Zeitpunkt gleichzeitig das Niedriggeschwindigkeitstaktmuster und stellen fest, dass die andere Vorrichtung für das Verlinkungstraining bereit ist.
  • In einigen Ausführungsformen kann der Taktzähler 345 so konfiguriert sein, dass er die Anzahl der Impulse als gleich der erwarteten Anzahl von Impulsen für mehrere Perioden erkennt. Zum Beispiel kann der Taktzähler 345 so konfiguriert sein, dass er die Anzahl der Impulse als gleich der erwarteten Anzahl von Impulsen für zwei (2) Perioden erkennt, wobei jede Periode den gleichen Wert hat. In anderen Ausführungsformen kann der Taktzähler 345 die Anzahl der Impulse als gleich der erwarteten Anzahl von Impulsen für mehr als zwei (2) Perioden erfassen. Das heißt, auch wenn der Taktzähler 345 nicht anzeigen kann, dass die Verlinkung für das Training bereit ist, bis das Niedriggeschwindigkeitstaktmuster für die festgelegte Anzahl von Perioden erfasst wird. In einigen Ausführungsformen kann die spezifizierte Anzahl von Perioden größer als eins (1) sein, um die Genauigkeit zu erhöhen und Fehlalarme zu reduzieren.
  • In einigen Ausführungsformen können die Vorrichtung 110 und die Vorrichtung 112 mit dem Training der Verlinkung fortfahren, nachdem sie den Verlinkungsstatus bestimmt haben, z. B. nachdem sie bestimmt haben, dass die Verlinkung bereit für das Training ist. In anderen Beispielen kann entweder die Vorrichtung 110 oder die Vorrichtung 112 für eine zweite Periode warten - z. B. können die Vorrichtungen so konfiguriert sein, dass sie nach der Bestimmung des Verlinkungsstatus die zweite Periode abwarten, um sicherzustellen, dass die andere Seite den Verlinkungsstatus ebenfalls erfasst hat oder die andere Seite mit der Durchführung anderer Initialisierungsschritte fertig ist, bevor sie mit dem Verlinkungstraining fortfahren. In einigen Ausführungsformen kann die Vorrichtung 110 oder die Vorrichtung 112 restliche Schritte des Initialisierungsprozesses durchführen, bevor das Verlinkungstraining eingeleitet wird - z. B. können die Vorrichtungen alle verbleibenden Schritte des Initialisierungsprozesses abschließen, bevor sie mit dem Verlinkungstraining fortfahren.
  • 4 zeigt ein Flussdiagramm eines Verfahrens 400 zur Erfassung des Verlinkungsstatus in einer Hochgeschwindigkeitsverbindung. Das Verfahren 400 veranschaulicht beispielsweise die Übertragung und Erfassung eines Niedriggeschwindigkeitstaktmusters auf einer Taktspur der Hochgeschwindigkeitsverbindung. Das Verfahren 400 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware, Software, Firmware oder eine beliebige Kombination davon umfasst. In mindestens einer Ausführungsform wird das Verfahren 400 von dem Sender 124 oder dem Empfänger 104 der ersten Vorrichtung 110 oder der zweiten Vorrichtung 112 durchgeführt, wie unter Bezugnahme auf 4 beschrieben. In einigen Ausführungsformen können die Nachrichten über eine GRS-Verlinkung 220 kommuniziert werden, wie unter Bezugnahme auf 2 beschrieben. Obwohl in einer bestimmten Abfolge oder Reihenfolge dargestellt, kann die Reihenfolge der Prozesse, sofern nicht anders angegeben, geändert werden. So sind die dargestellten Ausführungsformen nur als Beispiele zu verstehen, und die dargestellten Prozesse können in einer anderen Reihenfolge ausgeführt werden, und einige Prozesse können parallel ausgeführt werden. Zudem können in verschiedenen Ausführungsformen ein oder mehrere Prozesse ausgelassen werden. Es sind also nicht alle Prozesse in jeder Ausführungsform erforderlich. Andere Diagramme zur Veranschaulichung eines Verfahrens zum Verlinkungs-Training durch Handshaking sind möglich.
  • Bei Operation 405 kann die erste Vorrichtung 110 den Empfänger 104 und den Sender 124 initialisieren. In einigen Ausführungsformen kann die Vorrichtung 110 (z. B. die erste Vorrichtung oder die zweite Vorrichtung) den Empfänger 104 vor der Initialisierung des Senders 124 initialisieren. In einigen Ausführungsformen kann die Vorrichtung 110 die lokale PLL 340 initialisieren, während sie den Empfänger 104 initialisiert, z. B. indem sie die lokale PLL 340 auf die Hochgeschwindigkeitsfrequenz einstellt. In einigen Ausführungsformen kann die Vorrichtung 110 während der Initialisierung des Empfängers 104 den Taktzähler 345 initialisieren. Beispielsweise kann die Vorrichtung 110 eine Periode zum Erfassen einer Anzahl von Impulsen auswählen, wie mit Bezug auf 3 beschrieben - z. B. kann die Vorrichtung 110 oder die Vorrichtung 112 (z. B. entweder die erste Vorrichtung oder die zweite Vorrichtung) eine erste Periode auswählen, während der die Anzahl von Impulsen aus einer Vielzahl von Perioden bestimmt wird, wobei jede Periode einen anderen Wert aufweist. In einigen Ausführungsformen kann die Vorrichtung 110 auch auswählen, wie viele Erfassungsperioden die erfasste Anzahl von Impulsen mit der erwarteten Anzahl von Impulsen übereinstimmt, bevor sie bestimmt, dass die Verlinkung für das Training bereit ist, wie unter Bezugnahme auf 4 beschrieben - z. B. das Erfassen, dass die Anzahl der Impulse mit der erwarteten Anzahl von Impulsen für zwei (2) oder mehr Perioden übereinstimmt. Zum Beispiel kann die Vorrichtung 110 oder die Vorrichtung 112 bestimmen, dass die Anzahl der Impulse eine vorbestimmte Bedingung bezüglich der Anzahl der Impulse über eine Anzahl von Perioden erfüllt, wobei jede Periode der Anzahl von Perioden einen gleichen Wert aufweist und wobei die Anzahl von Perioden eine Schwellenanzahl von Perioden zur Bestimmung der Anzahl von Impulsen erfüllt. In mindestens einer Ausführungsform kann die Vorrichtung 110 auch einen oder mehrere Teiler 325 initialisieren, wie unter Bezugnahme auf 3 beschrieben. In einigen Ausführungsformen kann die Vorrichtung 110 eine lokale PLL des Senders 124 während der Initialisierung des Senders 124 initialisieren. In solchen Ausführungsformen kann die Vorrichtung 110 den Sender 124 so konfigurieren, dass er mit einer niedrigen Geschwindigkeit sendet, z. B. unter Verwendung eines ersten Taktsignals mit einer ersten Frequenz, die geringer ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für Datenübertragungsoperationen assoziiert ist, wie unter Bezugnahme auf 3 beschrieben.
  • Bei Operation 410 kann die Vorrichtung 110 einen Satz von Bits, die einem Muster zugeordnet sind, über einen oder mehrere Pfade übertragen, die mit der Übertragung des Taktsignals assoziiert sind. Beispielsweise kann die Vorrichtung 110 den Satz von Bits im DQ-Mustergenerator 305 erzeugen und den Satz von Bits unter Verwendung des ersten Taktsignals mit der ersten Frequenz übertragen. In einigen Ausführungsformen kann der Sender 124 den Satz von Bits auf der Taktspur 205-a übertragen, z. B. auf der weitergeleiteten Taktspur der GRS-Verlinkung 220.
  • Bei Operation 415 kann die Vorrichtung 112 den Satz von Bits von der Vorrichtung 110 empfangen. In mindestens einer Ausführungsform kann sich die Vorrichtung 112 initialisieren (z. B. einschalten oder aus dem Reset kommen), bevor sie den Satz von Bits empfängt. Das heißt, die Vorrichtung 112 kann ihren Empfänger 104 initialisieren (z. B. den Taktzähler 345 aktivieren) und dann ihren Sender 124 initialisieren, wie unter Bezugnahme auf Operation 405 beschrieben. In einigen Ausführungsformen kann die Vorrichtung 112 den Satz von Bits abtasten, der an einem Abtaster empfangen wird, wie mit Bezug auf 3 beschrieben - z. B. kann die Vorrichtung 112 die Anzahl der Impulse als Reaktion auf das Abtasten des Satzes von Bits bestimmen. In mindestens einer Ausführungsform kann die Vorrichtung 112 einen oder mehrere Teiler 325 verwenden, um das erste Taktsignal weiter zu unterteilen, wie mit Bezug auf 3 beschrieben. Beispielsweise kann die Vorrichtung 112 die Anzahl der Impulse als Reaktion auf die Teilung des ersten Taktsignals bestimmen. In mindestens einer Ausführungsform kann die Vorrichtung 112 den Tiefpassfilter 335 und die lokale PLL 340 verwenden, um die Zuverlässigkeit des ersten Taktsignals zu erhöhen, wie unter Bezugnahme auf 3 beschrieben - z. B. kann die Vorrichtung 112 die Anzahl der Impulse in der Periode als Reaktion auf das Durchlaufen des ersten Taktsignals durch einen Tiefpassfilter 335 bestimmen.
  • In einigen Ausführungsformen kann die Vorrichtung 112 einen zweiten Satz von Bits senden, der dem Muster mit der ersten Frequenz entspricht, während sie den Satz von Bits von der Vorrichtung 110 empfängt, wie unter Bezugnahme auf 3 beschrieben. Beispielsweise kann die Vorrichtung 112 den zweiten Satz von Bits zu einem ersten Zeitpunkt senden, wobei sich der erste Zeitpunkt von einem zweiten Zeitpunkt unterscheidet, zu dem die erste Vorrichtung den Satz von Bits sendet, d. h. die Vorrichtung 112 kann den zweiten Satz von Bits senden, nachdem die Vorrichtung 110 den ersten Satz von Bits sendet. Dabei können die Vorrichtung 110 und die Vorrichtung 112 die Initialisierung asynchron beginnen, wie mit Bezug auf 3 beschrieben. In solchen Ausführungsformen können sich die Vorrichtung 110 und die Vorrichtung 112 synchronisieren, während sie den Verlinkungsstatus ermitteln, wie mit Bezug auf 3 beschrieben. Zum Beispiel kann der zweite Satz von Bits gleichzeitig mit dem ersten Satz von Bits für einen Teil der zweiten Periode übertragen werden. In einigen Ausführungsformen können sich die Vorrichtung 110 und die Vorrichtung 112 synchron initialisieren. In solchen Ausführungsformen kann die Vorrichtung 112 den zweiten Satz von Bits für eine zweite Periode übertragen, wobei der zweite Satz von Bits gleichzeitig mit dem ersten Satz von Bits übertragen wird, der von der Vorrichtung 110 für einen Teil der zweiten Periode übertragen wird.
  • Bei Operation 420 kann die Vorrichtung 112 die Anzahl der Impulse bestimmen, die mit dem Satz von Bits über die erste Periode assoziiert sind. Beispielsweise kann die Vorrichtung 112 eine Anzahl von Flanken in dem abgetasteten (z. B. oder abgetasteten und geteilten) ersten Taktsignal erfassen. In einigen Ausführungsformen kann die Vorrichtung 112 eine Durchschnittsfrequenz für das erste Taktsignal für die erste Periode bestimmen. In einigen Ausführungsformen kann die Vorrichtung 110 die Anzahl von Impulsen bestimmen, die dem zweiten Satz von Bits zugeordnet sind, während die Vorrichtung 112 die Anzahl von Impulsen bestimmt, die dem Satz von Bits zugeordnet sind. In einigen Ausführungsformen kann die Vorrichtung 110 die Anzahl von Impulsen, die dem zweiten Satz von Bits zugeordnet sind, gleichzeitig mit der zweiten Vorrichtung 112 bestimmen, die die Anzahl von Impulsen für den Satz von Bits für einen Teil der ersten Periode bestimmt. Das heißt, die Vorrichtung 110 kann den Verlinkungsstatus gleichzeitig mit der Vorrichtung 112 bestimmen.
  • Bei Operation 425 kann die Vorrichtung 112 bestimmen, ob die erfasste Anzahl von Impulsen eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen erfüllt. Zum Beispiel kann der Taktzähler 345 die Anzahl der über die erste Periode erfassten Impulse mit einer erwarteten Anzahl von Impulsen aus dem erwarteten Impulszähler 350 vergleichen. In mindestens einer Ausführungsform, wenn die ermittelte Anzahl von Impulsen der erwarteten Anzahl von Impulsen entspricht (z. B. übereinstimmt oder gleich ist), kann der Empfänger 104 der Vorrichtung 112 dem Sender 124 der Vorrichtung 112 einen Verlinkungsstatus anzeigen,
    z. B. kann der Empfänger 104 anzeigen, dass die Verlinkung bereit für das Training ist. In solchen Ausführungsformen kann die Vorrichtung 112 die Übertragung des zweiten Satzes von Bits stoppen, nachdem bestimmt wurde, dass die Anzahl der Impulse die vorbestimmte Bedingung in Bezug auf die Anzahl der Impulse erfüllt. In einigen Ausführungsformen kann die Vorrichtung 112 warten, nachdem sie bestimmt hat, dass die Anzahl der Impulse die vorbestimmte Bedingung erfüllt - z. B. kann die Vorrichtung 112 auf die Vorrichtung 110 warten oder zusätzliche Initialisierungsoperationen durchführen, bevor sie mit dem Training der Verlinkung beginnt. In einigen Ausführungsformen kann die Vorrichtung 110 auch bestimmen, dass die erfasste Anzahl von Impulsen die vorbestimmte Bedingung bezüglich der Anzahl von Impulsen erfüllt, und die Übertragung des Satzes von Bits stoppen. In einigen Ausführungsformen, wenn die ermittelte Anzahl von Impulsen die erwartete Anzahl von Impulsen nicht erfüllt, kann der Empfänger 104 der Vorrichtung 112 dem Sender 124 der Vorrichtung 112 anzeigen, dass die Verlinkung nicht bereit ist, trainiert zu werden. In solchen Ausführungsformen kann der Sender 124 fortfahren, den zweiten Satz von Bits zu senden, und der Empfänger 104 kann fortfahren, eingehende Muster oder Signale zu erfassen.
  • Bei Operation 430 kann die Vorrichtung 112 das Training der Verlinkung als Reaktion auf die Bestimmung der Anzahl von Impulsen einleiten, die die vorbestimmte Bedingung bezüglich der Anzahl von Impulsen erfüllt. Beispielsweise kann die Vorrichtung 112 von dem Niedriggeschwindigkeitstaktsignal zum Hochgeschwindigkeitstaktsignal übergehen, z. B. auf die zweite Frequenz übergehen. Beispielsweise kann die Vorrichtung 112 einen dritten Satz von Bits, der dem zweiten Taktsignal entspricht, über den einen oder die mehreren Pfade übertragen, die mit der Übertragung des Taktsignals nach dem Initiieren der Verlinkung assoziiert sind, wobei der dritte Satz von Bits mit der zweiten Frequenz übertragen wird. In einigen Ausführungsformen kann die Vorrichtung 112 den dritten Satz von Bits nach der zweiten Periode, z. B. nach der Warteperiode, übertragen. In einigen Ausführungsformen kann die Vorrichtung 110 auch ihren Sender 124 von dem Niedriggeschwindigkeitsbetrieb auf den Hochgeschwindigkeitsbetrieb umstellen. In einigen Ausführungsformen können die Vorrichtung 110 und die Vorrichtung 112 mit dem Verlinkungstraining fortfahren, nachdem sie den Verlinkungsstatus erfasst haben, z. B. nachdem sie bestimmt haben, dass die andere Vorrichtung bereit für das Verlinkungstraining ist.
  • 5 veranschaulicht ein Computersystem 500 mit einem Transceiver, der eine Chip-to-Chip-Verbindung umfasst, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 500 ein System mit miteinander verbundenen Vorrichtungen und Komponenten, ein SOC oder eine Kombination davon sein. In mindestens einer Ausführungsform ist das Computersystem 500 mit einem Prozessor 502 gebildet, der Ausführungseinheiten zum Ausführen eines Befehls enthalten kann. In mindestens einer Ausführungsform kann das Computersystem 500 ohne Einschränkung eine Komponente wie den Prozessor 502 umfassen, um Ausführungseinheiten einschließlich Logik zur Durchführung von Algorithmen zur Verarbeitung von Daten einzusetzen. In mindestens einer Ausführungsform kann das Computersystem 500 Prozessoren enthalten, wie z. B. die PENTIUM®-Prozessorfamilie, XeonTM, Itanium®, XScaleTM und/oder StrongARMTM, Intel® Core™ oder Intel® Nervana™-Mikroprozessoren, die von der Intel Corporation in Santa Clara, Kalifornien, USA, erhältlich sind, obwohl auch andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, technische Workstations, Set-Top-Boxen und dergleichen) verwendet werden können. In mindestens einer Ausführungsform kann das Computersystem 500 eine Version des Betriebssystems WINDOWS ausführen, das von der Microsoft Corporation in Redmond, Wash., USA, erhältlich ist, obwohl auch andere Betriebssysteme (z. B. UNIX und Linux), eingebettete Software und/oder graphische Benutzeroberflächen verwendet werden können.
  • In mindestens einer Ausführungsform kann das Computersystem 500 in anderen Vorrichtungen wie Handheld-Vorrichtungen und eingebetteten Anwendungen verwendet werden. Einige Beispiele für Handheld-Vorrichtungen umfassen Mobiltelefone, InternetProtokoll-Vorrichtungen, Digitalkameras, persönliche digitale Assistenten („PDAs“) und Handheld-PCs. In mindestens einer Ausführungsform können eingebettete Anwendungen einen Mikrocontroller, einen digitalen Signalprozessor (DSP), einen SoC, Netzwerkcomputer („NetPCs“), Set-Top-Boxen, Netzwerk-Hubs, Weitverkehrs- (Wide-Area-Network, „WAN“) Switches oder jedes andere System umfassen, das eine oder mehrere Anweisungen ausführen kann. In einer Ausführungsform kann das Computersystem 600 in Vorrichtungen wie Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs), Netzwerkadaptern, zentralen Verarbeitungseinheiten und Netzwerkvorrichtungen wie Switches (z. B. eine direkte Hochgeschwindigkeits-GPU-to-GPU-Verlinkung wie der NVIDIA GH100 NVLINK oder der NVIDIA Quantum 2 64 Ports InfiniBand NDR Switch) verwendet werden.
  • In mindestens einer Ausführungsform kann das Computersystem 500 ohne Einschränkung einen Prozessor 502 umfassen, der ohne Einschränkung eine oder mehrere Ausführungseinheiten 507 umfassen kann, die so konfiguriert sein können, dass sie ein vereinheitliches Berechnungsvorrichtungsarchitektur- (Compute Unified Device Architecture-(„CUDA“) Programm ausführen (CUDA® wurde von der NVIDIA Corporation in Santa Clara, CA, USA, entwickelt). In mindestens einer Ausführungsform ist ein CUDA-Programm mindestens ein Teil einer Software-Anwendung, die in einer CUDA-Programmiersprache geschrieben ist. In mindestens einer Ausführungsform ist das Computersystem 500 ein Einzelprozessor-Desktop- oder Serversystem. In mindestens einer Ausführungsform kann das Computersystem 500 ein Multiprozessorsystem sein. In mindestens einer Ausführungsform kann der Prozessor 502 ohne Einschränkung einen CISC-Mikroprozessor, einen RISC-Mikroprozessor, einen VLIW-Mikroprozessor, einen Prozessor, der eine Kombination von Befehlssätzen implementiert, oder eine beliebige andere Prozessoreinheit, wie z. B. einen digitalen Signalprozessor, umfassen. In mindestens einer Ausführungsform kann der Prozessor 502 mit einem Prozessorbus 510 assoziiert sein, der Datensignale zwischen dem Prozessor 502 und anderen Komponenten im Computersystem 500 übertragen kann.
  • In mindestens einer Ausführungsform kann der Prozessor 502 ohne Einschränkung einen internen Cache-Speicher („Cache“) 504 der Ebene 1 (Level 1, „L1“) umfassen. In mindestens einer Ausführungsform kann der Prozessor 502 einen einzigen internen Cache oder mehrere Ebenen von internen Caches aufweisen. In mindestens einer Ausführungsform kann sich der Cache-Speicher außerhalb des Prozessors 502 befinden. In mindestens einer Ausführungsform kann der Prozessor 502 auch eine Kombination von sowohl internen als auch externen Caches umfassen. In mindestens einer Ausführungsform kann eine Registerdatei 506 verschiedene Arten von Daten in verschiedenen Registern speichern, einschließlich, ohne Einschränkung, Ganzzahlregister, Gleitkommaregister, Statusregister und Befehlszeigerregister.
  • In mindestens einer Ausführungsform befindet sich die Ausführungseinheit 507, einschließlich, ohne Einschränkung, der Logik zur Durchführung von Ganzzahl- und Gleitkommaoperationen, ebenfalls im Prozessor 50. Der Prozessor 502 kann auch einen Microcode- („Ucode“) Festwertspeicher („ROM“) enthalten, der Microcode für bestimmte Makrobefehle speichert. In mindestens einer Ausführungsform kann die Ausführungseinheit 502 eine Logik zur Verarbeitung eines gepackten Befehlssatzes 509 enthalten. In mindestens einer Ausführungsform können durch die Aufnahme eines gepackten Befehlssatzes 509 in einen Befehlssatz eines Mehrzweckprozessors 502 zusammen mit einer zugehörigen Schaltung zur Ausführung von Befehlen Operationen, die von vielen Multimedia-Anwendungen verwendet werden, unter Verwendung gepackter Daten in einem Mehrzweckprozessor 502 durchgeführt werden. In mindestens einer Ausführungsform können viele Multimedia-Anwendungen beschleunigt und effizienter ausgeführt werden, indem die volle Breite des Datenbusses eines Prozessors für die Durchführung von Operationen mit gepackten Daten genutzt wird, wodurch die Notwendigkeit entfallen kann, kleinere Dateneinheiten über den Datenbus eines Prozessors zu übertragen, um eine oder mehrere Operationen mit einem Datenelement nach dem anderen durchzuführen.
  • In mindestens einer Ausführungsform kann eine Ausführungseinheit auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikvorrichtungen, DSPs und anderen Arten von Logikschaltungen verwendet werden. In mindestens einer Ausführungsform kann das Computersystem 500, ohne Einschränkung, einen Speicher 520 umfassen. In mindestens einer Ausführungsform kann der Speicher 520 als DRAM-Vorrichtung, SRAM-Vorrichtung, Flash-Speichervorrichtung oder andere Speichervorrichtung implementiert sein. Der Speicher 520 kann Anweisungen 519 und/oder Daten 521 speichern, die durch Datensignale dargestellt werden, die vom Prozessor 502 ausgeführt werden können.
  • In mindestens einer Ausführungsform kann ein Systemlogikchip mit dem Prozessorbus 510 und dem Speicher 520 assoziiert sein. In mindestens einer Ausführungsform kann der Systemlogikchip, ohne Einschränkung, einen Speicher-Controller-Hub (Memory Controller Hub, „MCH“) 516 umfassen, und der Prozessor 502 kann mit dem MCH 516 über den Prozessorbus 510 kommunizieren. In mindestens einer Ausführungsform kann der MCH 516 einen Speicherpfad 518 mit hoher Bandbreite zum Speicher 520 für die Befehls- und Datenspeicherung und für die Speicherung von Grafikbefehlen, Daten und Texturen bereitstellen. In mindestens einer Ausführungsform kann der MCH 516 Datensignale zwischen dem Prozessor 502, dem Speicher 520 und anderen Komponenten im Computersystem 500 leiten und Datensignale zwischen dem Prozessorbus 510, dem Speicher 520 und einer System-E/A 522 überbrücken. In mindestens einer Ausführungsform kann der Systemlogikchip einen Grafikport zur Verlinkung mit einem Grafikcontroller bereitstellen. In mindestens einer Ausführungsform kann der MCH 516 über einen Speicherpfad 518 mit hoher Bandbreite mit dem Speicher 520 gekoppelt sein, und die Grafik-/Videokarte 512 kann über eine beschleunigte Grafik-Port- (Accelerated Graphics Port, „AGP“)-Verbindung 514 mit dem MCH 516 gekoppelt sein.
  • In mindestens einer Ausführungsform kann das Computersystem 500 System-I/O 522 verwenden, das ein proprietärer Hub-Schnittstellenbus ist, um MCH 516 mit dem I/O-Controller-Hub („ICH“) 530 zu verbinden. In mindestens einer Ausführungsform kann der ICH 530 direkte Verlinkungen zu einigen E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellen. In mindestens einer Ausführungsform kann der lokale E/A-Bus, ohne Einschränkung, einen Hochgeschwindigkeits-E/A-Bus für die Verlinkung von Peripherievorrichtungen mit dem Speicher 520, einem Chipsatz und dem Prozessor 502 umfassen. Beispiele können ohne Einschränkung einen Audio-Controller 529, einen Firmware-Hub („Flash-BIOS“) 528, einen Transceiver 526, einen Datenspeicher 524, einen Legacy-E/A-Controller 523 mit einer Benutzereingabeschnittstelle 525 und einer Tastaturschnittstelle, einen seriellen Erweiterungsport 527, wie z. B. USB, und einen Netzwerk-Controller 534 umfassen. Der Datenspeicher 524 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Speichervorrichtung oder eine andere Massenspeichervorrichtung umfassen. In einer Ausführungsform umfasst der Transceiver 526 einen eingeschränkten FFE 508.
  • In mindestens einer Ausführungsform zeigt 5 ein System, das miteinander verbundene Hardware-Vorrichtungen oder „Chips“ im Transceiver 526 umfasst - z. B. umfasst der Transceiver 526 eine Chip-to-Chip-Verbindung, die die erste Vorrichtung 110 und die zweite Vorrichtung 112 umfasst, wie unter Bezugnahme auf 1 beschrieben). In mindestens einer Ausführungsform kann 5 einen beispielhaften SoC zeigen. In mindestens einer Ausführungsform können die in 5 gezeigten Vorrichtungen mit proprietären Verlinkungen, standardisierten Verlinkungen (z. B. PCIe) oder einer Kombination davon assoziiert sein und eine GRS-Verlinkung 220 verwenden, wie unter Bezugnahme auf 2 beschrieben. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten des Systems 500 über Computer-Expressverlinkungs- (Compute Express Link, „CXL“)-Verlinkungen miteinander assoziiert. In einer Ausführungsform kann der Transceiver 526 eine Taktschaltung 115 enthalten, wie mit Bezug auf 1 beschrieben. In solchen Ausführungsformen kann die Taktschaltung 115 ein Verfahren zur Erfassung des Verlinkungsstatus auf einer Hochgeschwindigkeitsverbindung, wie oben beschrieben, erleichtern. In einer Ausführungsform kann die Taktschaltung 115 empfangene Muster erfassen. Beispielsweise kann die Taktschaltung 115 eingehende Muster mit einem Niedriggeschwindigkeitstakt erfassen und eine Anzahl von Impulsen in dem Muster in einer vordefinierten Periode erfassen. Die Taktschaltung 115 kann die erfasste Anzahl von Impulsen mit einer erwarteten Anzahl von Impulsen vergleichen. Wenn die Taktschaltung 115 bestimmt, dass die Anzahl der erfassten Impulse der erwarteten Anzahl von Impulsen entspricht (z. B. die Anzahl der erfassten Impulse ist gleich der Anzahl der erwarteten Impulse), kann die Taktschaltung 115 bestimmen, dass die Verlinkung für das Training bereit ist. Dementsprechend kann die Taktschaltung für die Erfassung des Verlinkungsstatus konfiguriert werden, wie in 2 bis 4 beschrieben.
  • Andere Variationen sind im Sinne der vorliegenden Offenbarung. Während bei den offenbarten Techniken verschiedene Modifikationen und alternative Konstruktionen möglich sind, sind bestimmte illustrierte Ausführungsformen davon in den Zeichnungen gezeigt und oben im Detail beschrieben worden. Es sollte jedoch verstanden werden, dass es nicht die Absicht ist, die Offenbarung auf eine bestimmte Form oder bestimmte Formen zu beschränken, sondern im Gegenteil, die Absicht ist, alle Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in den Geist und den Umfang der Offenbarung fallen, wie in den beigefügten Ansprüchen definiert.
  • Die Verwendung der Begriffe „ein“, „eine“ und „der“, „die“, „das“ und ähnlicher Bezeichnungen im Zusammenhang mit der Beschreibung der offenbarten Ausführungsformen (insbesondere im Zusammenhang mit den folgenden Ansprüchen) ist so auszulegen, dass sie sowohl die Einzahl als auch die Vielzahl umfassen, sofern nicht anders angegeben oder durch den Kontext eindeutig widerlegt, und nicht als Definition eines Begriffs. Die Begriffe „umfassend“, „mit“, „einschließlich“ und „enthaltend“ sind als offene Begriffe zu verstehen (im Sinne von „einschließlich, aber nicht beschränkt auf‟), sofern nicht anders angegeben. „Verbunden“ ist, wenn es unverändert bleibt und sich auf physische Verlinkungen bezieht, als teilweise oder ganz in einem Teil enthalten, an ihm angebracht oder mit ihm assoziiert zu verstehen, auch wenn etwas dazwischen liegt. Die Erwähnung von Wertebereichen soll lediglich als Abkürzungsverfahren dienen, um sich auf jeden einzelnen Wert zu beziehen, der in den Bereich fällt, sofern hier nicht anders angegeben, und jeder einzelne Wert wird in die Beschreibung aufgenommen, als ob er hier einzeln aufgeführt wäre. In mindestens einer Ausführungsform ist die Verwendung des Begriffs „Menge“ (z. B. „eine Menge von Gegenständen“) oder „Teilmenge“, sofern nicht anders vermerkt oder durch den Kontext widerlegt, als eine nicht leere Sammlung zu verstehen, die ein oder mehrere Mitglieder umfasst. Ferner bezeichnet der Begriff „Teilmenge“ einer entsprechenden Menge, sofern nicht anders vermerkt oder durch den Kontext widerlegt, nicht notwendigerweise eine echte Teilmenge der entsprechenden Menge, sondern Teilmenge und entsprechende Menge können gleich sein.
  • Konjunktivische Ausdrücke, wie z. B. Sätze der Form „mindestens eines von A, B und C“ oder „mindestens eines von A, B und C“, werden, sofern nicht ausdrücklich anders angegeben oder durch den Kontext eindeutig widerlegt, im Zusammenhang verstanden, wie allgemein verwendet, um darzustellen, dass ein Gegenstand, Begriff usw. entweder A oder B oder C oder eine beliebige nicht leere Teilmenge der Menge von A und B und C sein kann. In einem anschaulichen Beispiel für eine Menge mit drei Mitgliedern beziehen sich die konjunktivischen Ausdrücke „mindestens eines von A, B, und C“ und „mindestens eines von A, B und C“ auf eine der folgenden Mengen: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Eine solche konjunktivische Formulierung soll also im Allgemeinen nicht bedeuten, dass bei bestimmten Ausführungsformen jeweils mindestens eines von A, mindestens eines von B und mindestens eines von C vorhanden sein muss. Darüber hinaus, sofern nicht anders vermerkt oder durch den Kontext widerlegt, bezeichnet der Begriff „Vielzahl“ einen Zustand der Pluralität (z. B. „eine Vielzahl von Gegenständen“ bezeichnet mehrere Gegenstände). In mindestens einer Ausführungsform beträgt die Anzahl der Gegenstände in einer Vielzahl mindestens zwei, sie kann aber auch mehr sein, wenn dies entweder ausdrücklich oder durch den Kontext angegeben wird. Wenn nicht anders angegeben oder es aus dem Kontext klar hervorgeht, bedeutet die Formulierung „basierend auf“ „mindestens teilweise basierend auf‟ und nicht „ausschließlich basierend auf‟.
  • Die Operationen der hierin beschriebenen Prozesse können in jeder geeigneten Reihenfolge durchgeführt werden, sofern hierin nichts anderes angegeben ist oder sich aus dem Kontext nichts anderes ergibt. In mindestens einer Ausführungsform wird ein Prozess wie die hierin beschriebenen Prozesse (oder Variationen und/oder Kombinationen davon) unter der Kontrolle eines oder mehrerer Computersysteme durchgeführt, die mit ausführbaren Anweisungen konfiguriert und als Code implementiert sind (z. B. ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen), die gemeinsam auf einem oder mehreren Prozessoren, durch Hardware oder Kombinationen davon ausgeführt werden. In mindestens einer Ausführungsform ist der Code auf einem computerlesbaren Speichermedium gespeichert, z. B. in Form eines Computerprogramms, das eine Vielzahl von Anweisungen umfasst, die von einem oder mehreren Prozessoren ausgeführt werden können. In mindestens einer Ausführungsform ist ein computerlesbares Speichermedium ein nichtflüchtiges computerlesbares Speichermedium, das flüchtige Signale (z. B. eine sich ausbreitende transiente elektrische oder elektromagnetische Übertragung) ausschließt, aber nicht-flüchtige Datenspeicherschaltungen (z. B. Puffer, Cache und Warteschlangen) innerhalb von Transceivern für flüchtige Signale umfasst. In mindestens einer Ausführungsform ist Code (z. B. ausführbarer Code oder Quellcode) auf einem Satz von einem oder mehreren nicht-flüchtigen, computerlesbaren Speichermedien gespeichert, auf denen ausführbare Anweisungen (oder ein anderer Speicher zum Speichern ausführbarer Anweisungen) gespeichert sind, die, wenn sie von einem oder mehreren Prozessoren eines Computersystems ausgeführt werden (d. h. als Ergebnis der Ausführung), ein Computersystem veranlassen, hierin beschriebene Operationen durchzuführen. In mindestens einer Ausführungsform umfasst ein Satz nicht-flüchtiger computerlesbarer Speichermedien mehrere nicht-flüchtige computerlesbare Speichermedien, und einem oder mehreren der einzelnen nicht-flüchtigen Speichermedien der mehreren nicht-flüchtigen computerlesbaren Speichermedien fehlt der gesamte Code, während mehrere nicht-flüchtige computerlesbare Speichermedien gemeinsam den gesamten Code speichern. In mindestens einer Ausführungsform werden die ausführbaren Anweisungen so ausgeführt, dass verschiedene Anweisungen von verschiedenen Prozessoren ausgeführt werden.
  • Dementsprechend sind in mindestens einer Ausführungsform Computersysteme so konfiguriert, dass sie einen oder mehrere Dienste implementieren, die einzeln oder gemeinsam Operationen der hierin beschriebenen Prozesse durchführen, und solche Computersysteme sind mit anwendbarer Hardware und/oder Software konfiguriert, die die Durchführung von Operationen ermöglichen. Ferner ist ein Computersystem, das mindestens eine Ausführungsform der vorliegenden Offenbarung implementiert, eine einzelne Vorrichtung, und in einer anderen Ausführungsform ist sie ein verteiltes Computersystem mit mehreren Vorrichtungen, die unterschiedlich arbeiten, so dass ein verteiltes Computersystem die hierin beschriebenen Operationen durchführt und so dass eine einzelne Vorrichtung nicht alle Operationen durchführt.
  • Die Verwendung von Beispielen oder beispielhaften Ausdrücken (z. B. „wie z. B.“) dient lediglich der besseren Veranschaulichung von Ausführungsformen der Offenbarung und stellt keine Einschränkung des Umfangs der Offenbarung dar, sofern nichts anderes behauptet wird. Keine Formulierung in der Beschreibung sollte so ausgelegt werden, dass sie ein nicht beanspruchtes Element als wesentlich für die Praxis der Offenbarung bezeichnet.
  • Alle hierin zitierten Referenzen, einschließlich Veröffentlichungen, Patentanmeldungen und Patente, werden hiermit durch Verweis in demselben Umfang einbezogen, als ob jede Referenz einzeln und ausdrücklich als durch Verweis einbezogen angegeben wäre und hier in ihrer Gesamtheit wiedergegeben würde.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt“ und „verbunden“ sowie ihre Ableitungen verwendet werden. Es sollte verstanden werden, dass diese Begriffe nicht als Synonyme füreinander gedacht sind. Vielmehr kann in bestimmten Beispielen „verbunden“ oder „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem oder indirektem physikalischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt“ kann auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt zueinander stehen, aber dennoch miteinander kooperieren oder interagieren.
  • Sofern nicht ausdrücklich etwas anderes angegeben ist, beziehen sich Begriffe wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ oder dergleichen in der gesamten Beschreibung auf Aktionen und/oder Prozesse eines Computers oder eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung, die Daten, die als physikalische, z. B. elektronische, Größen in den Registern und/oder Speichern des Rechensystems dargestellt werden, manipulieren und/oder in andere Daten umwandeln, die in ähnlicher Weise als physikalische Größen in den Speichern, Registern oder anderen derartigen Informationsspeicher, -übertragungs- oder -anzeigevorrichtungen des Rechensystems dargestellt werden.
  • In ähnlicher Weise kann sich der Begriff „Prozessor“ auf eine Vorrichtung oder einen Teil einer Vorrichtung beziehen, die elektronische Daten aus Registern und/oder Speichern verarbeitet und diese elektronischen Daten in andere elektronische Daten umwandelt, die in Registern und/oder Speichern gespeichert werden können. Eine „Datenverarbeitungsplattform“ kann einen oder mehrere Prozessoren umfassen. Der hier verwendete Begriff „Software“-Prozesse kann z. B. Software- und/oder Hardware-Einheiten umfassen, die im Laufe der Zeit Arbeit verrichten, wie z. B. Aufgaben, Threads und intelligente Agenten. Jeder Prozess kann sich auch auf mehrere Prozesse beziehen, um Anweisungen nacheinander oder parallel, kontinuierlich oder intermittierend auszuführen. In mindestens einer Ausführungsform werden die Begriffe „System“ und „Verfahren“ hier austauschbar verwendet, da das System ein oder mehrere Verfahren umfassen kann und die Verfahren als ein System betrachtet werden können.
  • Im vorliegenden Dokument kann auf das Erhalten, Erfassen, Empfangen oder Eingeben von analogen oder digitalen Daten in ein Teilsystem, Computersystem oder eine computerimplementierte Maschine Bezug genommen werden. In mindestens einer Ausführungsform kann der Prozess des Erhaltens, Erfassens, Empfangens oder Eingebens von analogen und digitalen Daten auf verschiedene Weise durchgeführt werden, beispielsweise durch Empfangen von Daten als Parameter eines Funktionsaufrufs oder eines Aufrufs einer Anwendungsprogrammierschnittstelle. In mindestens einer Ausführungsform können Prozesse des Erhaltens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch Übertragen von Daten über eine serielle oder parallele Schnittstelle durchgeführt werden. In mindestens einer Ausführungsform können Prozesse des Erhaltens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch Übertragen von Daten über ein Computernetzwerk von der anbietenden Einheit zur erfassenden Einheit durchgeführt werden. In mindestens einer Ausführungsform kann auch auf das Bereitstellen, Ausgeben, Übertragen, Senden oder Präsentieren von analogen oder digitalen Daten Bezug genommen werden. In verschiedenen Beispielen können Prozesse des Bereitstellens, Ausgebens, Übertragens, Sendens oder Darstellens analoger oder digitaler Daten durch Übertragen von Daten als Eingabe- oder Ausgabeparameter eines Funktionsaufrufs, eines Parameters einer Anwendungsprogrammierschnittstelle oder eines Interprozess-Kommunikationsmechanismus durchgeführt werden.
  • Obwohl die hierin enthaltenen Beschreibungen beispielhafte Ausführungsformen der beschriebenen Techniken darstellen, können andere Architekturen verwendet werden, um die beschriebene Funktionalität zu implementieren, und es ist beabsichtigt, dass sie in den Anwendungsbereich dieser Offenbarung fallen. Darüber hinaus können, obwohl oben zu Beschreibungszwecken spezifische Verteilungen von Verantwortlichkeiten definiert sind, verschiedene Funktionen und Verantwortlichkeiten je nach den Umständen auf unterschiedliche Weise verteilt und aufgeteilt werden.
  • Obwohl der Gegenstand in einer Sprache beschrieben wurde, die sich auf strukturelle Merkmale und/oder methodische Handlungen bezieht, ist zu verstehen, dass der in den beigefügten Ansprüchen beanspruchte Gegenstand nicht notwendigerweise auf die beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden bestimmte Merkmale und Handlungen als beispielhafte Ausführungsformen der Ansprüche offenbart.
  • Es versteht sich, dass die vorstehend beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass Änderungen im Detail im Rahmen der Ansprüche vorgenommen werden können.
  • Jede Vorrichtung, jedes Verfahren und jedes Merkmal, die in der Beschreibung und (optional) in den Ansprüchen und Zeichnungen offenbart werden, können unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen verwendeten Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (20)

  1. System, das Folgendes umfasst: eine Verlinkung, die einen oder mehrere mit der Übertragung von Daten assoziierte Pfade und einen oder mehrere mit der Übertragung eines Taktsignals assoziierte Pfade umfasst; eine erste Vorrichtung, die mit der Verlinkung gekoppelt ist und einen Sender umfasst, wobei die erste Vorrichtung Folgendes ausführt: Übertragen eines Satzes von mit einem Muster assoziierten Bits über den einen oder die mehreren mit der Übertragung des Taktsignals assoziierten Pfade, wobei der Satz von Bits unter Verwendung eines ersten Taktsignals übertragen wird, das eine erste Frequenz aufweist, die geringer ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; und eine zweite Vorrichtung, die mit der Verlinkung gekoppelt ist und einen Empfänger umfasst, wobei die zweite Vorrichtung Folgendes ausführt: Empfangen des Satzes von mit dem Muster assoziierten Bits; Bestimmen einer Anzahl von mit dem Satz von Bits über eine erste Periode assoziierten Impulsen; Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings der Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  2. System nach Anspruch 1, wobei die zweite Vorrichtung ferner einen Sender umfasst, wobei die zweite Vorrichtung ferner Folgendes ausführt: Übertragen eines zweiten Satzes von Bits, die mit dem Muster assoziiert sind, an einen Empfänger der ersten Vorrichtung für eine zweite Periode, wobei der zweite Satz von Bits gleichzeitig mit dem Satz von Bits für einen Teil der zweiten Periode übertragen wird.
  3. System nach Anspruch 2, wobei die zweite Vorrichtung ferner Folgendes ausführt: Stoppen der Übertragung des zweiten Satzes von Bits, nachdem bestimmt wurde, dass die Anzahl der Impulse die vorbestimmte Bedingung in Bezug auf die Anzahl der Impulse erfüllt.
  4. System nach Anspruch 1, wobei die zweite Vorrichtung ferner einen Sender umfasst, wobei die zweite Vorrichtung ferner Folgendes ausführt: Übertragen eines zweiten Satzes von Bits, die mit dem Muster assoziiert sind, an einen Empfänger der ersten Vorrichtung zu einem ersten Zeitpunkt, wobei der erste Zeitpunkt sich von einem zweiten Zeitpunkt unterscheidet, zu dem die erste Vorrichtung den Satz von Bits überträgt.
  5. System nach Anspruch 1, wobei die erste Vorrichtung ferner Folgendes ausführt: Stoppen der Übertragung des Satzes von Bits, die mit dem Muster assoziiert sind, nach der Initiierung des Trainings der Verlinkung; und Übertragen eines zweiten Satzes von Bits, der dem zweiten Taktsignal entspricht, über den einen oder die mehreren Pfade, die mit dem Übertragen des Taktsignals assoziiert sind, wobei der zweite Satz von Bits mit der zweiten Frequenz übertragen wird.
  6. System nach einem der vorhergehenden Ansprüche, wobei die zweite Vorrichtung ferner einen Abtaster umfasst, der dafür konfiguriert ist, den Satz von Bits abzutasten, und wobei die zweite Vorrichtung die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert sind, als Reaktion auf das Abtasten des Satzes von Bits bestimmen soll.
  7. System nach einem der vorhergehenden Ansprüche, wobei die zweite Vorrichtung ferner Folgendes ausführt: Auswählen der ersten Periode, während der die Anzahl von Impulsen bestimmt wird, aus einer Vielzahl von Perioden, wobei jede Periode mit einem anderen Wert assoziiert ist.
  8. System nach einem der vorhergehenden Ansprüche, wobei die zweite Vorrichtung ferner Folgendes ausführt: Bestimmen, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse über eine Anzahl von Perioden erfüllt, wobei jede Periode der Anzahl von Perioden einen gleichen Wert hat, und wobei die Anzahl der Perioden eine Schwellenanzahl von Perioden zur Bestimmung der Anzahl von Impulsen erfüllt.
  9. Verfahren, das Folgendes umfasst: Empfangen eines Satzes von Bits, die mit einem Muster assoziiert sind, durch eine erste Vorrichtung, wobei der Satz von Bits als ein erstes Taktsignal mit einer ersten Frequenz empfangen wird, die kleiner ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; Bestimmen, an der ersten Vorrichtung, einer Anzahl von Impulsen, die mit dem Satz von Bits über eine erste Periode assoziiert sind; Bestimmen, an der ersten Vorrichtung, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings einer Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  10. Verfahren nach Anspruch 9, das ferner Folgendes umfasst: Übertragen, durch die erste Vorrichtung an eine zweite Vorrichtung, eines zweiten Satzes von Bits, der mit dem Muster assoziiert ist, für eine zweite Periode, wobei der zweite Satz von Bits gleichzeitig mit dem Empfang des Satzes von Bits für einen Teil der zweiten Periode übertragen wird.
  11. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Stoppen der Übertragung des zweiten Satzes von Bits, nachdem bestimmt wurde, dass die Anzahl der Impulse die vorbestimmte Bedingung in Bezug auf die Anzahl der Impulse erfüllt.
  12. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Warten für eine zweite Periode nach dem Stoppen der Übertragung des zweiten Satzes von Bits; und Übertragen eines dritten Satzes von Bits, der dem zweiten Taktsignal entspricht, über einen oder mehrere Pfade der Verlinkung, die mit dem Übertragen des ersten Taktsignals und des zweiten Taktsignals assoziiert sind, nach der zweiten Periode, wobei der dritte Satz von Bits mit der zweiten Frequenz übertragen wird.
  13. Verfahren nach Anspruch 10, wobei der Satz von Bits zu einem ersten Zeitpunkt übertragen wird und der zweite Satz von Bits zu einem zweiten Zeitpunkt übertragen wird, wobei sich der erste Zeitpunkt von dem zweiten Zeitpunkt unterscheidet.
  14. Verfahren nach Anspruch 9, das ferner Folgendes umfasst: Übertragen eines zweiten Satzes von Bits, der dem zweiten Taktsignal entspricht, über den einen oder die mehreren Pfade der Verlinkung, die mit dem Übertragen des zweiten Taktsignals assoziiert sind, nachdem das Training der Verlinkung eingeleitet wurde, wobei der zweite Satz von Bits mit der zweiten Frequenz übertragen wird.
  15. Verfahren nach einem der Ansprüche 9 bis 14, das ferner Folgendes umfasst: Auswählen der ersten Periode, während der die Anzahl von Impulsen bestimmt wird, aus einer Vielzahl von Perioden, wobei jede Periode mit einem anderen Wert assoziiert ist.
  16. Verfahren nach einem der Ansprüche 9 bis 15, das ferner Folgendes umfasst: Bestimmen, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse über eine Anzahl von Perioden erfüllt, wobei jede Periode der Anzahl von Perioden einen gleichen Wert hat, und wobei die Anzahl der Perioden eine Schwellenanzahl von Perioden zur Bestimmung der Anzahl von Impulsen erfüllt.
  17. Verfahren nach einem der Ansprüche 9 bis 16, das ferner Folgendes umfasst: Initiieren eines Empfängers der ersten Vorrichtung; und als Reaktion auf das Initiieren des Empfängers, Initiieren eines Senders der ersten Vorrichtung, wobei der Sender initiiert wird, bevor der Satz von Bits, der dem Muster entspricht, empfangen wird.
  18. Verfahren nach einem der Ansprüche 9 bis 17, das ferner Folgendes umfasst: Teilen des ersten Taktsignals an einem Teiler, wobei das Bestimmen der Anzahl von Impulsen über die erste Periode mindestens teilweise auf der Teilung des ersten Taktsignals basiert.
  19. Vorrichtung, die Folgendes umfasst: einen Empfänger, der mit einer Verlinkung gekoppelt ist, die einen oder mehrere mit der Übertragung von Daten assoziierte Pfade und einen oder mehrere mit der Übertragung eines Taktsignals assoziierte Pfade umfasst; wobei die Vorrichtung Folgendes ausführt: Empfangen eines Satzes von mit einem Muster assoziierten Bits, wobei der Satz von Bits als ein erstes Taktsignal mit einer ersten Frequenz empfangen wird, die kleiner ist als eine zweite Frequenz, die mit einem zweiten Taktsignal für den Datenübertragungsbetrieb assoziiert ist; Bestimmen einer Anzahl von mit dem Satz von Bits über eine erste Periode assoziierten Impulsen; Bestimmen, dass die Anzahl von Impulsen, die mit dem Satz von Bits assoziiert ist, eine vorbestimmte Bedingung bezüglich der Anzahl von Impulsen für die erste Periode erfüllt; und Initiieren eines Trainings der Verlinkung als Reaktion auf die Feststellung, dass die Anzahl der Impulse die vorbestimmte Bedingung bezüglich der Anzahl der Impulse erfüllt.
  20. Vorrichtung nach Anspruch 19, die ferner Folgendes umfasst: einen Sender, der mit der Verlinkung gekoppelt ist, wobei der Sender Folgendes ausführt: Übertragen eines zweiten Satzes von Bits, die mit dem Muster assoziiert sind, für eine zweite Periode, wobei der zweite Satz von Bits gleichzeitig mit dem Empfang des Satzes von Bits für mindestens einen Teil der zweiten Periode gesendet wird.
DE102022213577.6A 2021-12-20 2022-12-13 Erfassung des verlinkungsstatus für eine hochgeschwindigkeitssignalisierungsverbindung Pending DE102022213577A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/556,512 US11575494B1 (en) 2021-12-20 2021-12-20 Link status detection for a high-speed signaling interconnect
US17/556,512 2021-12-20

Publications (1)

Publication Number Publication Date
DE102022213577A1 true DE102022213577A1 (de) 2023-06-22

Family

ID=85156754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022213577.6A Pending DE102022213577A1 (de) 2021-12-20 2022-12-13 Erfassung des verlinkungsstatus für eine hochgeschwindigkeitssignalisierungsverbindung

Country Status (3)

Country Link
US (1) US11575494B1 (de)
CN (1) CN116303194A (de)
DE (1) DE102022213577A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989081B2 (en) * 2022-07-13 2024-05-21 Dell Products L.P. Method for CXL fallback in a CXL system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3934224A (en) * 1974-10-29 1976-01-20 Honeywell Information Systems, Inc. Apparatus for continuous assessment of data transmission accuracy in a communication system
US4611336A (en) * 1984-02-21 1986-09-09 Calculagraph Company Frame synchronization for distributed framing pattern in electronic communication systems
US4672556A (en) * 1984-09-17 1987-06-09 Sundstrand Corporation Frequency detector system
US4736377A (en) * 1986-02-11 1988-04-05 Bradley Telcom Corp. Method for determining reliability of high speed digital transmission by use of a synchronized low speed side channel
DE4129205A1 (de) * 1991-03-28 1992-10-01 Bosch Gmbh Robert Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen
JPH07255073A (ja) * 1994-03-15 1995-10-03 Fujitsu Ltd クロスコネクト装置
JP3297249B2 (ja) * 1995-05-26 2002-07-02 三菱電機株式会社 分散型リモートi/o式制御システムの制御方法
US7373565B2 (en) * 2005-08-23 2008-05-13 Hewlett-Packard Development Company, L.P. Start/stop circuit for performance counter
US8761324B1 (en) * 2009-07-10 2014-06-24 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for phase signaling
JP2017098905A (ja) * 2015-11-27 2017-06-01 富士通株式会社 受信装置及び同期検出方法

Also Published As

Publication number Publication date
CN116303194A (zh) 2023-06-23
US11575494B1 (en) 2023-02-07

Similar Documents

Publication Publication Date Title
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102015117019B4 (de) Serielle Peripherieschnittstellen-Kettenkommunikation mit rahmengebundener Antwort
DE102013224636B4 (de) Masse-referenziertes-Einzel-Ende-Signalisierung-verbundenes-Grafik-Verarbeitungs-Einheit-Mehr-Chip-Modul
DE102016116721A1 (de) Reduzieren der Ethernet-Latenz in einem Multi-Server Chassis
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112011105674T5 (de) Datenwiederherstellung bei niedriger Energie unter Verwendung von Übertaktung
DE102013224640B4 (de) System und Verfahren zum Übermitteln von Daten innerhalb eines Mehr-Chip-Modul-(MCM)-Pakets
DE112007000443T5 (de) Gemeinsame analoge Schnittstelle für mehrere Prozessorkerne
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE102022213577A1 (de) Erfassung des verlinkungsstatus für eine hochgeschwindigkeitssignalisierungsverbindung
DE202009019093U1 (de) Vorrichtung und System für automatische Datenausrichter für mehrere serielle Empfänger
CN108766434A (zh) 一种手语识别翻译系统及方法
DE112017004963T5 (de) Spannunsgmodulierte steuer-lane
DE102009036631A1 (de) Überwachen eines internen Links über einen zweiten Link
DE112011103225T5 (de) Drosseln einer integrierten Verbindung
DE112014006264T5 (de) Vorrichtung, Verfahren und System zur asymmetrisch, Vollduplex-Kommunikation
DE102020102820A1 (de) Zeitstempel-Ausrichtung über mehrere Rechenknoten
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE112013001382T5 (de) Bestimmen der Signalqualität eines elektrischen Interconnects
DE102014116454A1 (de) Verfügbarkeit von Inhalt für Aufgaben zur Verarbeitung von natürlicher Sprache
DE102013114390A1 (de) Datensynchronisierung über asynchrone Grenzen hinweg unter Anwendung selektierbarer Synchronisiereinheiten zur Minimierung der Latenz
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE102013114341B4 (de) Ein System, ein Verfahren und ein Computerprogrammprodukt zur automatischen Zwei-Phasen-Taktung
DE112020006359T5 (de) Autonome sendungsfehlererkennung serieller kommunikationsverbindungs-sender-empfänger und mikrocontrollersystem-peripheriegeräte, welche diese implementieren
DE112016005989T5 (de) Zuverlässiges, ausserhalb der reihenfolge liegendes end-to-end-protokoll mit robustem fensterstatusüberlaufmanagement und einem mehrknotensystem durch verwenden desselben

Legal Events

Date Code Title Description
R012 Request for examination validly filed