DE112017003209T5 - Multiprotokoll-Neusynchronisierer mit geringer Latenz - Google Patents

Multiprotokoll-Neusynchronisierer mit geringer Latenz Download PDF

Info

Publication number
DE112017003209T5
DE112017003209T5 DE112017003209.1T DE112017003209T DE112017003209T5 DE 112017003209 T5 DE112017003209 T5 DE 112017003209T5 DE 112017003209 T DE112017003209 T DE 112017003209T DE 112017003209 T5 DE112017003209 T5 DE 112017003209T5
Authority
DE
Germany
Prior art keywords
data
transmitter
receiver
data path
training
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
DE112017003209.1T
Other languages
English (en)
Inventor
Debendra Das Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112017003209T5 publication Critical patent/DE112017003209T5/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
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

Offenbart sind eine Multiprotokoll-Neusynchronisierereinrichtung und ein Verfahren zum Verwenden derselben. In einer Ausführungsform umfasst eine Vorrichtung zum Durchführen einer Neusynchronisierung zwischen einer ersten und einer zweiten Einrichtung gemäß einer Vielzahl von Protokollen Folgendes: einen Empfänger, der betriebsfähig ist, Daten zu empfangen, einen Sender, um Daten zu senden, einen an den Empfänger und den Sender gekoppelten ersten Datenpfad, der betriebsfähig ist, vom Empfänger empfangene Daten während eines protokollspezifischen Trainings an den Sender zu übermitteln, wobei der erste Datenpfad ein Steuerschaltsystem umfasst, um in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen ein protokollspezifisches Training des Senders und/oder des Empfängers zu steuern, und einen an den Empfänger und den Sender gekoppelten zweiten Datenpfad, wobei der zweite Datenpfad eine geringere Latenz als der erste Datenpfad aufweist und zur Verwendung beim Übermitteln von vom Empfänger empfangenen Daten an den Sender nach dem protokollspezifischen Training vorgesehen ist.

Description

  • GEBIET DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung betreffen das Gebiet der Schnittstellen für Computersysteme. Insbesondere betreffen Ausführungsformen der vorliegenden Erfindung Neusynchronisierer, die konfiguriert werden können, Daten gemäß mehreren Protokollen zu übermitteln.
  • HINTERGRUND DER ERFINDUNG
  • Da die Häufigkeit externer Schnittstellen in Computersystemen zunimmt und die Kanalverbesserung unter Aufrechterhaltung von Abwärtskompatibilität weiterhin mäßig ausfällt, wächst die Notwendigkeit der Verwendung von Neusynchronisierern in Schnittstellen. Beispielsweise benötigt die Peripheral Component Interface Express (PCIe) der 4. Generation, bei der die Schnittstelle mit 16,0 GT/s arbeitet, für die meisten Serverkanäle, bei denen es sich typischerweise um 20"-FR4 mit zwei Verbindungssteckern handelt, einen Neusynchronisierer. Der Universal Serial Bus (USB) der Version 3.1 arbeitet mit 10 GT/s und benötigt bereits für die meisten Plattformen einen Neusynchronisierer. Andere Schnittstellen benötigen für manche der mit 10,4 GT/s arbeitenden Plattformen irgendeine Form von Erweiterungseinrichtung.
  • Bei jeder dieser Schnittstellen bestehen verschiedene Schwierigkeiten. Bei Cachekohärenzprotokollen wie beispielsweise Ultra Path Interconnect (UPI) führt eine zusätzliche Latenz von etwa 30 ns pro Neusynchronisierer-Hop aufgrund der inakzeptablen Leistungseinbuße bereits zu dessen Untragbarkeit. Schon bei PCIe ist die Latenz bei einigen Speicheranwendungen ein Problem, das sich voraussichtlich mit der nächsten Generation nichtflüchtiger Speicher- (NVM-) Technologien verschärfen wird, welche höhere Bandbreite und geringere Latenz bereitstellen, wodurch die Lücke zu synchronen dynamischen Wahlzugriffsspeichern mit doppelter Datenrate (DDR-SDRAM) geschlossen wird. Bei einem analogen Neutreiber besteht das Latenzproblem nicht. Da dieser jedoch nicht an der Verbindungsinitialisierungs- und -entzerrungsphase beteiligt ist, führt der analoge Neutreiber anders als die Neusynchronisierer keinen Neuaufbau des Senderentzerrungsraums durch und findet daher nur begrenzt Anwendung, insbesondere bei Systemen mit offenen Slots/Verbindungssteckern.
  • Eine weitere Schwierigkeit liegt in der Multiprotokollunterstützung durch verschiedene physikalische Schichten (PHYs), wie es sie in einem Verbindungsstecker des C-Typs gibt. Das Vorsehen eines separaten Neusynchronisierers mit einem physikalischen Multiplexer zum Trennen zwischen den verschiedenen PHYs kann eine mögliche Lösung sein, ist jedoch teuer und kann wertvollen Platz auf der Platine und eine höhere Leistung erfordern.
  • Eine dritte Schwierigkeit besteht darin, dass mehrere verschiedene Neusynchronisierer auf bestimmten Plattformen unterstützt werden müssen, sowie die hiermit verbundene Validierung, welche Schwierigkeiten in Bezug auf Interoperabilität bereiten.
  • Figurenliste
  • Ein umfassenderes Verständnis der vorliegenden Erfindung wird durch die nachfolgende ausführliche Beschreibung sowie die beiliegenden Zeichnungen verschiedener Ausführungsformen der Erfindung vermittelt, welche jedoch nicht als die Erfindung auf die konkreten Ausführungsformen einschränkend zu verstehen sind, sondern lediglich der Erläuterung und dem Verständnis dienen.
    • 1A veranschaulicht eine Verbindung ohne Neusynchronisierer.
    • 1B veranschaulicht eine Verbindung mit einem oder mehreren Neusynchronisierern.
    • 1C veranschaulicht ein weiteres Element einer Verbindung mit mehreren Synchronisierern.
    • 2 ist ein Blockdiagramm einer Ausführungsform eines Neusynchronisierers.
    • 3 ist ein weiteres Blockdiagramm einer Ausführungsform eines Neusynchronisierers, das einen Datenpfad zur Trainingsverwendung zeigt.
    • 4 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Übermitteln von Daten zwischen zwei Einrichtungen unter Verwendung mindestens eines Neusynchronisierers.
    • 5 veranschaulicht eine Ausführungsform eines Systemebenendiagramms.
  • AUSFÜHRLICHE BESCHREIBUNG DER VORLIEGENDEN ERFINDUNG
  • In der nachfolgenden Beschreibung werden zahlreiche Einzelheiten angegeben, um die vorliegende Erfindung genauer zu erläutern. Ein Fachmann versteht jedoch, dass die vorliegende Erfindung auch ohne diese konkreten Einzelheiten umgesetzt werden kann. In anderen Fällen werden allgemein bekannte Strukturen und Einrichtungen nicht im Einzelnen, sondern in Blockdiagrammform gezeigt, um die Erfindung deutlicher hervorzuheben.
  • Offenbart sind ein multiprotokollfähiger Neusynchronisierer und ein Verfahren zum Verwenden desselben. In einer Ausführungsform kann eine Verbindung wie beispielsweise eine PCIe-konforme Verbindung einen oder mehrere solche Neusynchronisierer oder andere Erweiterungseinrichtungen beinhalten. Der Neusynchronisierer beinhaltet aktive elektronische Elemente, die digitale Signale empfangen und weitergeben (neu synchronisieren).
  • In einer Ausführungsform beinhaltet der Multiprotokoll-Neusynchronisierer zwei Datenpfade für jede Teilverbindung. Beim ersten Datenpfad handelt es sich um einen Umgehungspfad mit geringer Latenz für normalen Datenverkehr. In einer Ausführungsform wird dieser erste Datenpfad in einem Gleichtaktbetrieb verwendet. Der zweite Datenpfad weist eine längere Latenz auf als der erste Datenpfad. In einer Ausführungsform wird dieser zweite Datenpfad in einem Nicht-Gleichtaktbetrieb oder während eines Trainings (z.B. Verbindungstraining und/oder -initialisierung) verwendet. Dies ist typischerweise dann der Fall, wenn die Latenz nicht kritisch ist.
  • In einer Ausführungsform setzt der Neusynchronisierer mit Multiprotokollerkennung einen gemeinsamen Datenpfad zusammen mit einer konvergierten Verbindungstrainings- und Statuszustandsmaschine (LTSSM) ein, die für die Initialisierung und das Verbindungstraining für mehrere Protokolle, für die der Neusynchronisierer konfiguriert werden kann, wesentlich ist. In einer Ausführungsform identifiziert die LTSSM das auf der Verbindung laufende Protokoll zu Beginn aus der Datenrate sowie den Bitmustern. In einer Ausfiihrungsform kann diese Information durch einen Seitenbandmechanismus wie beispielsweise einen Strap oder Joint Test Action Group (JTAG) oder System Management Bus (SMBUS) dargestellt werden. In einer Ausführungsform umfasst das Training eine Verbindungsentzerrungsprozedur, wie beispielsweise die Verbindungsentzerrungsprozedur von PCIe. In einer Ausführungsform beinhaltet der Neusynchronisierer einen Umgehungspfad zur Verwendung mit geringer Latenz, nachdem ein etwaiges erforderliches Verbindungstraining (z.B. ein Entzerrungsprozess zum Erzeugen von Sender- und/oder Empfängerentzerrungsparametern (z.B. Koeffizienten)) durchgeführt wurde.
  • In einer Ausführungsform ist der Neusynchronisierer in der Lage, zwischen den beiden Pfaden umzuschalten. In einer Ausführungsform stellen Protokollverbesserungen während des Trainings sicher, dass der Neusynchronisierer zwischen diesen zwei Datenpfaden hin und her schalten kann. Diese Protokollverbesserungen werden weiter unten näher beschrieben.
  • In einer Ausführungsform setzt der Neusynchronisierer mit Multiprotokollerkennung Schaltungen ein, um die PHY bzw. das Protokoll, die/das für die Datenübermittlung verwendet wird, zu bestimmen. In einer Ausführungsform sind die Schaltungen gekoppelt, um eine Strap-Option oder einen anderen Seitenbandmechanismus zu empfangen, der die PHY anzeigt. In einer weiteren Ausführungsform erfolgt die Bestimmung der PHY durch Erfassen einer Trainingsmengenmodifikation an einer zum Verbindungstraining verwendeten Trainingsmenge.
  • Der vorliegend beschriebene Neusynchronisierer weist eine geringe Latenz auf und kann über mehrere Zwischenverbindungen hinweg verwendet werden. Dies stellt gegenüber separaten Neusynchronisierern für separate Zwischenverbindungen mit hohen Latenzen eine deutliche Verbesserung dar.
  • 1A veranschaulicht eine Verbindung ohne Neusynchronisierer. Gemäß 1A sind eine Einrichtung 1 und eine Einrichtung 2 über eine Verbindung A und eine Verbindung B zusammengekoppelt. Im Unterschied hierzu veranschaulicht 1B eine Verbindung mit einem oder mehreren Neusynchronisierern. Gemäß 1B sind die Einrichtung 1 und die Einrichtung 12 an den einen oder die mehreren Neusynchronisierer 101 gekoppelt. Bei dem oder den Neusynchronisierern 101 kann es sich um eine Komponente für alle Leitungen der Verbindung oder um mehrere Neusynchronisierer handeln, von denen sich jeder um einen eigenen Satz von Leitungen in der Verbindung kümmert. In einer Ausführungsform gibt es in einer Verbindung mehrere Neusynchronisierer, wie beispielsweise in 1C gezeigt. Im Falle eines einzigen Neusynchronisierers ist der Neusynchronisierer 101 durch eine Teilverbindung A1 und eine Teilverbindung B2 an die Einrichtung 1 und durch eine Teilverbindung A2 und eine Teilverbindung B1 an die Einrichtung 2 gekoppelt. Diese Teilverbindungen folgen einem Protokoll und der (die) Neusynchronisierer 101 ist konfigurierbar, unter diesem Protokoll (d.h. einem aus einer Vielzahl von Protokollen) zu arbeiten, welchem die Teilverbindungen folgen, um Kommunikation zwischen der Einrichtung 1 und der Einrichtung 2 zu ermöglichen.
  • 2 ist ein Blockdiagramm einer Ausführungsform eines Neusynchronisierers. In einer Ausführungsform führt der Neusynchronisierer eine Neusynchronisierung zwischen zwei Einrichtungen durch und ist für beliebige (jeweils eines) einer Vielzahl von Protokollen konfigurierbar.
  • Gemäß 2 empfängt ein Empfänger 201 Daten von einer ersten Einrichtung zur Übermittlung an eine zweite Einrichtung über einen Sender 202. Der Empfänger 201 und der Sender 202 sind über einen ersten Datenpfad 203, einen zweiten Datenpfad 204 und einen Multiplexer (Mux) 206 zusammengekoppelt. In einer Ausführungsform wird der Datenpfad 204 verwendet, um während eines protokollspezifischen Trainings (z.B. Verbindungstraining) vom Empfänger 201 empfangene Daten an den Sender 202 zu übermitteln. Das protokollspezifische Training versetzt den Sender 202 und den Empfänger 201 in die Lage, Daten zwischen den zwei Einrichtungen gemäß dem Protokoll der Verbindung zwischen diesen zu übermitteln. Der Datenpfad 203 wird verwendet, um Daten zwischen dem Empfänger 201 und dem Sender 202 zu übermitteln, nachdem das protokollspezifische Training erfolgt ist. In einer Ausführungsform weist der Datenpfad 203 eine geringere Latenz auf als der Datenpfad 204. In einer Ausfiihrungsform wird der Datenpfad 203 während eines Gleichtaktbetriebs verwendet, während der Datenpfad 204 zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines Trainings vorgesehen ist.
  • In einer Ausführungsform ist der Datenpfad 204 an den Controller 205 (z.B. Steuerschaltsystem) gekoppelt. Der Controller 205 führt das protokollspezifische Training des Senders 202 und/oder des Empfängers 201 durch. In einer Ausführungsform umfasst das protokollspezifische Training Verbindungstraining und -initialisierung. In einer Ausführungsform umfasst ein solches Verbindungstraining ein Durchführen einer Entzerrungsprozedur. In einer Ausführungsform erzeugt der Entzerrungsprozess Senderentzerrungskoeffizienten, um eine durch den Sender 202 durchgeführte Entzerrung zu steuern, wie beispielsweise Cursor-Koeffizienten, um den Pegel der Nachentzerrung und Vorschwingung zu bestimmen. In einer Ausführungsform erzeugt der Entzerrungsprozess Empfängerentzerrungskoeffizienten zur empfangsseitigen Entzerrung in Form kontinuierlicher zeitlinearer Entzerrung (CTLE) und Entscheidungsrückkopplungsentzerrung (DFE). Es ist zu beachten, dass in einer Ausführungsform während des Trainings des Empfängers 201 auch der Datenpfad 204 verwendet wird.
  • In einer Ausführungsform beinhaltet der Datenpfad 204 einen oder mehrere Verbindungstrainings-Zustandsmaschinen für die Vielzahl von Protokollen, wobei die eine oder die mehreren Verbindungstrainings-Zustandsmaschinen durch den Controller 205 ausgeführt werden, um ein Verbindungstraining gemäß dem durch die Protokollanzeige 210 spezifizierten Protokoll durchzuführen. In einer Ausführungsform ist eine Zustandsmaschine in der Lage, ein Training (z.B. Verbindungstraining) für mehrere Protokolle durchzuführen. In einer weiteren Ausführungsform gibt es separate Zustandsmaschinen für jedes der verschiedenen Protokolle. In einer Ausführungsform umfassen die Verbindungstrainings-Zustandsmaschinen eine Verbindungstrainings- und Statuszustandsmaschine (LTSSM). Die Zustandsmaschine ist im Speicher gespeichert und der Zugriff erfolgt durch den Controller 205. In einer Ausführungsform erzeugt der Controller 205 beim Ausführen der LTSSM jedem der Vielzahl von Protokollen zugehörige geordnete Mengen (OSs) für das Verbindungstraining.
  • In einer Ausführungsform spricht der Controller 205 auf eine Protokollanzeige 210 an (z.B. ein oder mehrere Signale), die ein Protokoll (der mehreren Protokolle) spezifiziert, das zum Übermitteln von Daten zwischen den zwei Einrichtungen verwendet wird. Die Protokollanzeige 210 wird durch einen Protokoll-/PHY-Determinator 207 (z.B. eine Bestimmungsschaltung) bereitgestellt, der die Protokollanzeige 210 in Reaktion auf eine Strap-Option und/oder ein Seitenbandsignal 212 und/oder eine Anzeige 213 einer Trainingsmengenmodifikation bereitstellt, die er vom Datenpfad 204 empfängt. Die Trainingsmengenmodifikation wird üblicherweise durch jedes Protokoll spezifiziert, welches eine definierte Trainingsmengen-Modifikationsspezifikation für den Neusynchronisierer aufweist.
  • In einer Ausführungsform erfolgt in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge ein Umschalten von der Verwendung des Datenpfads 203 auf den Datenpfad 204. In einem solchen Fall kann eine Trainingsmengen-Modifikationsanzeige 213 vom Datenpfad 204 an den Protokoll-/PHY-Determinator 207 gehen, die dem Controller 205 eine Protokollanzeige 210 liefert, um zu spezifizieren, dass eine neue Verbindungstrainings-(z.B. Entzerrungs-) Prozedur durchgeführt werden muss. Es ist zu beachten, dass ein solches Umschalten zur Verwendung entweder des Datenpfads 203 oder des Datenpfads 204 teilweise durch den Multiplexer 206 implementiert wird. Ein vom Controller 205 kommendes Datenpfad-Auswahlsignal 211 bewirkt, dass entweder Daten vom Datenpfad 203 oder 204 an den Sender 202 zur Übertragung ausgegeben werden.
  • 3 ist ein weiteres Blockdiagramm einer Ausführungsform eines Neusynchronisierers, das einen Datenpfad zur Trainingsverwendung zeigt. Es ist zu beachten, dass der Controller und dessen Funktion in 3 nicht gezeigt werden, wie dies in 2 geschah. Nichtsdestotrotz versteht ein Fachmann, dass der Controller die Funktion erfüllt, den vorliegend beschriebenen Neusynchronisierungsvorgang zu implementieren.
  • Gemäß 3 beinhaltet der Neusynchronisierer einen Empfänger 301 (z.B. Empfangsschaltungen) und einen Sender 302 (z.B. Sendeschaltungen). In einer Ausführungsform führt der Empfänger 301 in im Stand der Technik bekannter Weise eine kontinuierliche zeitlineare Entzerrung (CTLE) oder eine Entscheidungsrückkopplungsentzerrung (DFE) durch. An den Empfänger 301 ist eine Takt- und Datenrückgewinnungs- (CDR-) Schaltung 340 gekoppelt, die in im Stand der Technik bekannter Weise arbeitet.
  • Der Neusynchronisierer beinhaltet zwei Datenpfade zwischen dem Empfänger 301 und dem Sender 302. Beide sind an den Ausgang des Empfängers 301 und zwei Eingänge eines Multiplexers (Mux) 326 gekoppelt, dessen Ausgang an einen Eingang des Senders 302 gekoppelt ist. Einer der Datenpfade, nämlich der Datenpfad 351, ist zur Verwendung während des Trainings vorgesehen, während der andere Datenpfad, nämlich der Umgehungspfad 350, nach dem Training verwendet wird.
  • Der Datenpfad 351 beinhaltet mehrere Komponenten. Ein Seriell-Parallel- (S2P-) Umsetzer 320 wandelt Daten von seriell in parallel um. Da der Empfänger 301 analog arbeitet, wandelt der S2P-Umsetzer die empfangenen Daten in ein Parallelformat um, so dass die Daten in digitalem Format verarbeitet werden können.
  • Auf Grundlage des den Daten zugehörigen Protokolls durchlaufen die parallelen Daten nötigenfalls Ausrichtung, Decodierung und Entwürfelung durch den Datenprozessor 301. Konkret müssen die Daten entwirrt werden. Dies kann der Geschwindigkeit geschuldet sein, mit der die Daten empfangen werden. Die Bits müssen möglicherweise auch decodiert werden. Beispielsweise müssen die Daten möglicherweise eine 8b/10b-Decodierung oder eine andere Art der Decodierung durchlaufen. Ferner müssen die Daten möglicherweise eine Ausrichtung durchlaufen, um zu bestimmen, wo Zeichen im Bitstrom beginnen. Diese Optionen werden in im Stand der Technik bekannter Weise durchgeführt, um die verschiedenen unterstützten Protokolle zu erfassen. Es ist zu beachten, dass, wenn Ausrichtung, Decodierung und/oder Entwürfelung nicht erforderlich sind, solche Funktionen auch nicht verwendet werden. Die resultierenden Daten werden in einem elastischen Zwischenspeicher 322 gespeichert.
  • In einer Ausführungsform handelt es sich bei dem elastischen Zwischenspeicher 322 um einen gemeinsamen elastischen Zwischenspeicher, der auch als Driftzwischenspeicher für Protokolle (wie beispielsweise UPI, USB, Thunderbolt etc.) fungieren kann, welche diesen benötigen. Der elastische Zwischenspeicher 322 kompensiert auch Bitströme, die gemäß Takten eines Taktbereichs übertragen werden, die nicht den Takten des Taktbereichs entsprechen, an den die Daten übertragen werden.
  • Die Daten aus dem elastischen Zwischenspeicher 322 werden an den Staging-Zwischenspeicher und den Multiplexer (Mux) 324 und den Multiprotokoll-Trainingssteuerblock 323 gesendet.
  • In einer Ausführungsform beinhaltet der Multiprotokoll-Trainingssteuerblock 323 eine gemeinsame Menge von für jedes Protokoll benötigten Verbindungstrainings- und Statuszustandsmaschinen- (LTSSM-) Teilmengen zusammen mit der zugehörigen, für jedes Protokoll benötigten Bitstromerfassung/-modifikation. Falls es sich beispielsweise bei einem der Protokolle um PCIe handelt, dann ist die PCIe-LTSSM als Teilmenge in der gemeinsamen Menge enthalten, und der Multiprotokoll-Trainingssteuerblock 323 ist in der Lage, dem PCIe-Standard zugehörige Bitstromerfassung, Erzeugung einer geordneten Menge (die während des Verbindungstrainings verwendet wird) und Bitstrommodifikation durchzuführen, was im Stand der Technik allgemein bekannt ist. In einer Ausführungsform beinhaltet der Multiprotokoll-Trainingssteuerblock 323 eine gemeinsame Menge von Verbindungstrainings- und Statuszustandsmaschinen- (LTSSM-) Teilmengen für USB, Display Port, Thunderbolt und/oder Kohärenzprotokolle wie beispielsweise UPI.
  • Jegliche vom Multiprotokoll-Trainingssteuerblock 323 zur Übertragung durch den Sender 302 ausgegebenen Daten sowie Daten aus dem elastischen Zwischenspeicher 322 werden durch Eingänge des Mux des Staging-Zwischenspeichers und des Mux 324 empfangen, welcher abhängig von der durch den Mux empfangenen Steuerauswahl (z.B. Signal) eines von beiden ausgibt.
  • Schließlich durchlaufen aus dem Staging-Zwischenspeicher und dem Mux 324 ausgegebene Daten eine etwaige durch das zur Übermittlung der Daten verwendete Protokoll vorgegebene Verwürfelung und Codierung sowie eine Umwandlung in ein serielles Format unter Verwendung des Umsetzers 325. Die seriellen Daten werden an einen Eingang des Mux 326 ausgegeben, welcher die seriellen Daten oder die Daten vom Umgehungspfad 350 an den Sender 325 bereitstellt.
  • Es ist zu beachten, dass in einer Ausführungsform die verschiedenen analogen Steuerschaltsysteme, wie beispielsweise die des Empfängers 301 und des Senders 302, mit allen Datenraten der unterstützten Protokolle arbeiten können.
  • Ein Phasenregelkreis (PLL) oder ein anderer Takterzeuger 311 stellt Taktsignale für die Komponenten des Neusynchronisierers bereit.
  • Der Datenpfad 351 weist somit eine gemeinsame Menge von Verarbeitungsblöcken auf und das vorstehend genannte gemeinsame Schaltsystem weist eine gemeinsame Menge und ein zugehöriges Steuerschaltsystem auf, das die protokoll- und datenratenbezogenen Steuerungen bilden kann, die für den Betrieb zur Übermittlung von Daten gemäß mehr als einem Protokoll benötigt werden. In einer Ausführungsform verwendet der Datenpfad einen Strap oder ein Seitenbandsignal, um die/das verwendete PHY/Protokoll zu bestimmen. Alternativ kann die Logikschicht nach den anfänglichen Trainingsmengen suchen und bestimmen, welche PHY bzw. welches Protokoll verwendet wird. In einer Ausführungsform befindet sich diese Logikschicht im Multiprotokoll-Trainingssteuerblock 323.
  • Der Umgehungspfad 350 ist der zur Verwendung nach dem Verbindungstraining vorgesehene zweite Datenpfad. In einer Ausführungsform ist der Umgehungspfad 350 für Bitübertragung mit geringer Latenz vorgesehen und für reguläre Bitstromübertragung in einem Gleichtaktbetrieb freigegeben.
  • In einer Ausführungsform überwacht die Logikschicht im regulären Pfad 351 auch im Umgehungsbetrieb den Datenverkehr, um zu bestimmen, ob ein Bitstrom modifiziert werden muss. In einer Ausführungsform werden für Übergänge zwischen dem Pfad 351 und dem Umgehungspfad 350 die folgenden Mechanismen verwendet.
  • In einer Ausführungsform ist während des Verbindungstrainings der Pfad 351 am Tx-Entzerrungsmechanismus auf beiden Seiten beteiligt, wie durch die entsprechende PHY-Protokoll-Spezifikation vorgegeben. Die Tx-Entzerrungseinstellung bleibt für diese Geschwindigkeit bestehen, bis eine Neuentzerrungsprozedur erfolgt. Es ist zu beachten, dass in einer Ausführungsform eine Neuentzerrungsprozedur erfolgen kann, wenn eine Komponente gemäß Bestimmung durch die Fehlerrate erfasst, dass die zuvor vorgenommene Entzerrung nicht korrekt funktioniert. In einer weiteren Ausführungsform kann die Neuentzerrungsprozedur erfolgen, wenn Software auf Grundlage ähnlicher Metriken, wie beispielsweise einer über einem Schwellenwert liegenden Fehlerrate, eine Verbindung anweist, eine Entzerrung erneut durchzuführen.
  • In einer Ausführungsform verwendet die PHY-Spezifikation einen oder mehrere spezielle Trainingsmengen (TSs), welche die über die vorliegend beschriebenen Neusynchronisierer (oder andere Erweiterungseinrichtungen) zusammengekoppelten Einrichtungen (z.B. Einrichtung 1 oder Einrichtung 2 der 1B) nach Abschluss der Tx-Entzerrung senden, um dem oder den Neusynchronisierer(n) zu gestatten, in den Umgehungsbetrieb zu schalten, in welchem der Umgehungspfad 350 verwendet wird. Beim Umschalten verlieren der oder die Neusynchronisierer die Bits, die gerade im regulären Datenpfad 351 verarbeitet werden. Somit verpasst die empfangende Einrichtung (z.B. der Einrichtung 2 der 1B) einen Abschnitt des Bitstroms. In einer Ausführungsform wird dieser Situation begegnet wie folgt.
  • Die erste einzelne geordnete Menge (OS) (vorliegend bezeichnet als „Regulär-zu-Umgehung markierende geordnete Menge“) liefert dem oder den Neusynchronisierer(n) die Anweisung, den Pfad vom regulären Pfad 351 auf den Umgehungspfad 350 umzuschalten, nachdem die einzelne geordnete Menge übertragen wurde, was gleichzeitig als Indikator an die Einrichtung fungiert, die Block/Zeichen-Grenze neu festzulegen. In einer Ausführungsform erfolgt das Umschalten nach einer vorab bestimmten Zeit, welche alle Komponenten befolgen. Der Neusynchronisierer stellt sicher, dass die Latenz diese vorab bestimmte Zeit nicht übersteigt, um eine vollständige Übertragung der „Regulär-zu-Umgehung markierenden geordneten Menge“ zu ermöglichen, ohne dass diese abgeschnitten oder fallen gelassen wird.
  • Einige Zeit nach der markierenden geordneten Menge wird eine nachfolgende geordnete Menge gesendet. In einer Ausführungsform ist die verstrichene Zeit länger als die durch die Spezifikation auf dem Pfad maximal gestattete Anzahl an Neusynchronisierern (typischerweise 2) multipliziert mit der vorab bestimmten Zeit, nachdem der Neusynchronisierer auf den Umgehungspfad 350 umschaltet. Diese wird durch die Empfängereinrichtung (z.B. die Einrichtung 2 der 1B) genutzt, um ihre Zeichen/Block-Grenze neu festzulegen, nachdem sie aufgrund des Umschaltens einige Bits verpasst hat.
  • Für Protokolle wie beispielsweise PCI-Express ist eine solche geordnete Menge nicht notwendig, da die geordneten Mengen von TS1 sowie die EIEOS nach Durchführung der Entzerrung fortgesetzt werden. Die Einrichtung (z.B. Einrichtung 2) kann sich bei entsprechender Aufforderung durch eine Spezifikationsmodifikation einfach neu trainieren und eine Blockausrichtung erhalten.
  • Es treten Fälle auf (wie beispielsweise die Neuentzerrung), in denen der Neusynchronisierer vom Umgehungskanal 350 auf den normalen Kanal 351 wechseln muss. Wenn dies eintritt, wiederholt sich ein Teil des Bitstroms. Dies kann dadurch erfolgen, dass auf die gleiche markierende geordnete Menge Trainingsmengen folgen, ähnlich wie vorstehend beschrieben.
  • In einer Ausführungsform erfolgt, wenn eine Verbindung in elektrischen Leerlauf gehen muss, das Senden der anzeigenden geordneten Menge (z.B. geordnete Menge für elektrischen Leerlauf in PCIe) einige Zeit, bevor die Verbindung wirklich in den elektrischen Leerlauf geht. Es ist zu beachten, dass bei PCIe die EIOS lang genug ist und schon nach wenigen ersten Zeichen identifiziert werden kann, was bedeutet, dass je nach Codierung/Geschwindigkeit noch 20 UI bis 96 UI verbleiben, bevor die Verbindung in den elektrischen Leerlauf geht. Auf diese anzeigende geordnete Menge folgt ein gültiger Bitstrom, der fallen gelassen werden kann. Dies gestattet es dem Neusynchronisierer, auf die geordnete Menge zu reagieren (im regulären Pfad 351) und seine Tx-Leitungen in den elektrischen Leerlauf zu schicken. In einer alternativen Ausführungsform erfolgen keine Änderungen und es wird erwartet, dass sich die Einrichtungsseite (z.B. die Einrichtung 2 aus 1B) nach dem Verlassen des elektrischen Leerlaufs neu trainiert (was sie nach dem Verlassen von L1 ohnehin tut).
  • 4 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Übermitteln von Daten zwischen zwei Einrichtungen unter Verwendung mindestens eines Neusynchronisierers. In einer Ausführungsform wird der Prozess durch Verarbeitungslogik durchgeführt, die Hardware (Schaltsysteme, Speziallogik etc.), Software (wie sie auf einem Universalcomputersystem oder einer Spezialmaschine läuft), Firmware oder eine Kombination aus diesen dreien umfassen kann.
  • Der Prozess beginnt damit, dass Verarbeitungslogik den Typ (z.B. PCIe, USB, Display Port etc.) der physikalischen Schicht (PHY) zum Übertragen von Daten vom Empfänger an den Sender bestimmt (Verarbeitungsblock 401). In einer Ausführungsform basiert das Bestimmen des PHY-Typs auf einer Strap-Option. In einer weiteren Ausführungsform basiert das Bestimmen des PHY-Typs auf einem Seitenbandsignal. In einer weiteren Ausführungsform basiert das Bestimmen des PHY-Typs auf einem Überwachen der Trainingsmenge zum Abstimmen des PHY-Typs.
  • In Reaktion auf das Bestimmen des Typs der physikalischen Schicht (PHY) zum Übertragen von Daten vom Empfänger zum Sender stellt Verarbeitungslogik dann eine Protokollanzeige des Protokolls bereit, gemäß welchem die Daten übertragen werden (Verarbeitungsblock 402).
  • In Reaktion auf die Protokollanzeige konfiguriert Verarbeitungslogik wahlweise den Sendeempfänger und/oder den Empfänger (Verarbeitungsblock 403). Die Konfigurierung kann ein Training (z.B. Verbindungstraining) umfassen. In einer Ausführungsform beinhaltet das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses. In einer Ausführungsform umfasst das Durchführen des Entzerrungsprozesses ein Erzeugen von Senderentzerrungskoeffizienten, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  • Anschließend empfängt Verarbeitungslogik mit einem Empfänger eines Multiprotokoll-Neusynchronisierers Daten, wobei die Daten gemäß einem aus einer Vielzahl von Protokollen übermittelt wurden (Verarbeitungsblock 404), und überträgt Daten zwischen dem Empfänger und dem Sender des Neusynchronisierers unter Verwendung eines an den Empfänger und den Sender gekoppelten ersten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten während eines oder vor einem protokollspezifischen Training des Senders und/oder Empfängers über ein Steuerschaltsystem in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen erfolgt, oder eines an den Empfänger und den Sender gekoppelten zweiten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten nach dem protokollspezifischen Training erfolgt, wobei der zweite Datenpfad eine geringere Latenz aufweist als der erste Datenpfad (Verarbeitungsblock 405).
  • In einer Ausführungsform umfasst das Verwenden des ersten Datenpfads ein Laufenlassen einer Verbindungstrainings-Zustandsmaschine, um ein Verbindungstraining gemäß dem durch die Anzeige spezifizierten Protokoll durchzuführen. In einer Ausführungsform umfasst das Laufenlassen einer Verbindungstrainings-Zustandsmaschine zum Durchführen eines Verbindungstrainings ein Durchführen einer Erzeugung einem Protokoll zugehöriger geordneter Mengen für das Verbindungstraining.
  • In einer Ausführungsform wird der zweite Datenpfad während eines Gleichtaktbetriebs verwendet und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines protokollspezifischen Trainings vorgesehen ist. In einer Ausführungsform beinhaltet die Verwendung des ersten oder zweiten Datenpfads ein Senden eines Steuersignals an einen Multiplexer, der einen an den ersten Datenpfad gekoppelten ersten Eingang und einen an den zweiten Datenpfad gekoppelten zweiten Eingang aufweist, um einen an den Sender gekoppelten Ausgang zu erzeugen.
  • Zu einer späteren Zeit schaltet Verarbeitungslogik in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge wahlweise von der Verwendung des zweiten Datenpfads auf den ersten Datenpfad (Verarbeitungsblock 406).
  • Bei 5 handelt es sich um eine Ausführungsform eines Systemebenendiagramms 500, das die vorstehend beschriebenen Methoden beinhalten kann. Beispielsweise können die vorstehend beschriebenen Methoden in eine Zwischenverbindung oder Schnittstelle im System 500 integriert sein.
  • Gemäß 5 beinhaltet das System 500, ohne hierauf eingeschränkt zu sein, einen Desktop-Computer, einen Laptop-Computer, ein Netbook, ein Tablet, einen Notebook-Computer, einen persönlichen digitalen Assistenten (PDA), einen Server, eine Workstation, ein Mobiltelefon, eine mobile Datenverarbeitungseinrichtung, ein Smartphone, ein internetfähiges Gerät oder jedweden anderen Typ von Datenverarbeitungseinrichtung. In einer anderen Ausführungsform implementiert das System 500 die vorliegend offenbarten Verfahren und kann ein Ein-Chip-System (SOC) sein.
  • In einer Ausführungsform weist der Prozessor 510 einen oder mehrere Prozessorkerne 512 bis 512N auf, wobei 512N den N-ten Prozessorkern innerhalb des Prozessors 510 repräsentiert, wobei N eine positive Ganzzahl ist. In einer Ausführungsform beinhaltet das System 500 mehrere Prozessoren, darunter die Prozessoren 510 und 505, wobei der Prozessor 505 eine ähnliche oder identische Logik wie der Prozessor 510 aufweist. In einer Ausführungsform beinhaltet das System 500 mehrere Prozessoren, darunter die Prozessoren 510 und 505, derart, dass der Prozessor 505 eine Logik aufweist, die von der Logik des Prozessors 510 vollkommen unabhängig ist. In einer solchen Ausführungsform handelt es sich bei einem Multi-Package-System 500 um ein heterogenes Multi-Package-System, da die Prozessoren 505 und 510 verschiedene Logikeinheiten aufweisen. In einer Ausführungsform umfasst der Verarbeitungskern 512, ohne hierauf eingeschränkt zu sein, Vorabzugriffslogik, um auf Anweisungen zuzugreifen, Decodierlogik, um die Anweisungen zu decodieren, Ausführungslogik, um Anweisungen auszuführen, und dergleichen. In einer Ausführungsform weist der Prozessor 510 einen Cachespeicher 516 auf, um Anweisungen und/oder Daten des Systems 500 im Cache zu speichern. In einer weiteren Ausführungsform der Erfindung beinhaltet der Cachespeicher 516 Level-1-, Level-2- und Level-3-Cachespeicher oder eine beliebige andere Ausbildung des Cachespeichers innerhalb des Prozessors 510.
  • In einer Ausführungsform beinhaltet der Prozessor 510 eine Memory Control Hub (MCH) 514, die betriebsfähig ist, Funktionen auszuführen, die es dem Prozessor 510 ermöglichen, auf einen Speicher 530, der einen flüchtigen Speicher 532 und/oder einen nichtflüchtigen Speicher 534 beinhaltet, zuzugreifen und mit diesem zu kommunizieren. In einer Ausführungsform ist die Memory Control Hub (MCH) 514 als unabhängige integrierte Schaltung außerhalb des Prozessors 510 positioniert.
  • In einer Ausführungsform ist der Prozessor 510 betriebsfähig, mit dem Speicher 530 und einem Chipsatz 520 zu kommunizieren. In einer solchen Ausführungsform führt die SSD 580 die Computer-ausführbaren Anweisungen aus, wenn die SSD 580 hochgefahren ist.
  • In einer Ausführungsform ist der Prozessor 510 ferner an eine Funkantenne 578 gekoppelt, um mit einer beliebigen Einrichtung zu kommunizieren, die konfiguriert ist, Funksignale zu senden und/oder zu empfangen. In einer Ausführungsform arbeitet die Schnittstelle der Funkantenne 578, ohne hierauf eingeschränkt zu sein, gemäß dem IEEE 802.11-Standard und dessen Familie, HomePlug AV (HPAV), Ultrabreitband (UWB), Bluetooth, WiMAX oder einer beliebigen Form von Funkkommunikationsprotokoll.
  • In einer Ausführungsform beinhaltet der flüchtige Speicher 532, ohne hierauf eingeschränkt zu sein, einen synchronen dynamischen Wahlzugriffsspeicher (SDRAM), dynamischen Wahlzugriffsspeicher (DRAM), dynamischen RAMBUS-Wahlzugriffsspeicher (RDRAM) und/oder einen beliebigen anderen Typ von Wahlzugriffsspeichereinrichtung. Der nichtflüchtige Speicher 534 beinhaltet, ohne hierauf eingeschränkt zu sein, einen Flashspeicher (z.B. NAND, NOR), Phasenwechselspeicher (PCM), Nur-Lese-Speicher (ROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) oder einen beliebigen anderen Typ von nichtflüchtiger Speichereinrichtung.
  • Der Speicher 530 speichert Informationen und durch den Prozessor 510 auszuführende Anweisungen. In einer Ausführungsform ist der Chipsatz 520 mit dem Prozessor 510 über Punkt-zu-Punkt- (PtP- oder P-P-) Schnittstellen 517 und 522 verbunden. In einer Ausführungsform ermöglicht der Chipsatz 520 dem Prozessor 510 eine Verbindung mit weiteren Modulen im System 500. In einer Ausführungsform arbeiten die Schnittstellen 517 und 522 gemäß einem PtP-Kommunikationsprotokoll wie beispielsweise dem Intel QuickPath Interconnect (QPI) oder dergleichen.
  • In einer Ausführungsform ist der Chipsatz 520 betriebsfähig, mit dem Prozessor 510, 505, der Anzeigeeinrichtung 540 und weiteren Einrichtungen 572, 576, 574, 560, 562, 564, 566, 577 etc. zu kommunizieren. In einer Ausführungsform ist der Chipsatz 520 auch an eine Funkantenne 578 gekoppelt, um mit einer beliebigen Einrichtung zu kommunizieren, die konfiguriert ist, Funksignale zu übertragen und/oder zu empfangen.
  • In einer Ausführungsform ist der Chipsatz 520 über eine Schnittstelle 526 mit einer Anzeigeeinrichtung 540 verbunden. In einer Ausführungsform beinhaltet die Anzeigeeinrichtung 540, ohne hierauf eingeschränkt zu sein, eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Kathodenstrahlröhren- (CRT-) Anzeige oder eine beliebige andere Form von optischer Anzeigeeinrichtung. Zudem ist der Chipsatz 520 mit einem oder mehreren Bussen 550 und 555 verbunden, die verschiedene Module 574, 560, 562, 564 und 566 miteinander verbinden. In einer Ausführungsform können die Busse 550 und 555 über eine Busbrücke 572 zusammengeschaltet werden, falls es eine Diskrepanz bezüglich der Busgeschwindigkeit oder des Kommunikationsprotokolls gibt. In einer Ausführungsform ist der Chipsatz 520, ohne hierauf eingeschränkt zu sein, über die Schnittstelle 524 mit einem nichtflüchtigen Speicher 560, einer Massenspeichereinrichtung(en) 562, einer Tastatur/Maus 564 und einer Netzwerkschnittstelle 566, einem Smart-TV 576, Konsumelektronik 577 etc. verbunden.
  • In einer Ausführungsform beinhaltet die Massenspeichereinrichtung 562, ohne hierauf eingeschränkt zu sein, ein Solid State Drive, eine Festplatte, ein „Universal Serial Bus“-Flashspeicherlaufwerk oder eine beliebige andere Form von Computerdatenspeichermedium. In einer Ausführungsform ist die Netzwerkschnittstelle 566 durch einen beliebigen Typ eines allgemein bekannten Netzwerkschnittstellenstandards implementiert, darunter, ohne hierauf eingeschränkt zu sein, eine Ethernet-Schnittstelle, eine „Universal Serial Bus“- (USB-) Schnittstelle, eine „Peripheral Component Interconnect (PCI) Express“-Schnittstelle, eine Funkschnittstelle und/oder ein beliebiger anderer Schnittstellentyp.
  • Zwar sind die in 5 gezeigten Module als separate Blöcke innerhalb des Systems 500 dargestellt, jedoch können die durch einige dieser Blöcke ausgeführten Funktionen in eine einzige Halbleiterschaltung integriert oder unter Verwendung zweier oder mehrerer separater integrierter Schaltungen implementiert sein.
  • In einer ersten beispielhaften Ausführungsform umfasst eine Vorrichtung zum Durchführen einer Neusynchronisierung zwischen einer ersten und einer zweiten Einrichtung gemäß einer Vielzahl von Protokollen Folgendes: einen Empfänger, der betriebsfähig ist, Daten zu empfangen, einen Sender, um Daten zu senden, einen an den Empfänger und den Sender gekoppelten ersten Datenpfad, der betriebsfähig ist, vom Empfänger empfangene Daten während eines protokollspezifischen Trainings an den Sender zu übermitteln, wobei der erste Datenpfad ein Steuerschaltsystem umfasst, um in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen ein protokollspezifisches Training des Senders und/oder des Empfängers zu steuern, und einen an den Empfänger und den Sender gekoppelten zweiten Datenpfad, wobei der zweite Datenpfad eine geringere Latenz als der erste Datenpfad aufweist und zur Verwendung beim Übermitteln von vom Empfänger empfangenen Daten an den Sender nach dem protokollspezifischen Training vorgesehen ist.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise beinhalten, dass das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass der Entzerrungsprozess Senderentzerrungskoeffizienten erzeugt, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise beinhalten, dass der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines Trainings vorgesehen ist.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise beinhalten, dass in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge ein Umschalten von der Verwendung des zweiten Datenpfads auf den ersten Datenpfad erfolgt.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise eine Schaltung beinhalten, um in Reaktion auf ein Bestimmen der physikalischen Schicht (PHY) zum Übermitteln von Daten vom Empfänger an den Sender die Anzeige bereitzustellen. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass die Schaltung betriebsfähig ist, die PHY auf Grundlage einer Strap-Option zu bestimmen, dass die Schaltung betriebsfähig ist, die PHY auf Grundlage eines Seitenbandsignals zu bestimmen oder dass die Schaltung betriebsfähig ist, die PHY auf Grundlage einer Trainingsmengenmodifikation zu bestimmen.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise einen Multiplexer beinhalten, der einen an den ersten Datenpfad gekoppelten ersten Eingang und einen an den zweiten Datenpfad gekoppelten zweiten Eingang und einen an den Sender gekoppelten Ausgang aufweist.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise beinhalten, dass der erste Datenpfad ferner eine oder mehrere Verbindungstrainings-Zustandsmaschinen für die Vielzahl von Protokollen umfasst, wobei die eine oder die mehreren Verbindungstrainings-Zustandsmaschinen vom Steuerschaltsystem verwendet werden, um ein Verbindungstraining gemäß dem durch die Anzeige spezifizierten Protokoll durchzuführen. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass das Steuerschaltsystem betriebsfähig ist, für ein Verbindungstraining eine Erzeugung jedem der Vielzahl von Protokollen zugehöriger geordneter Mengen durchzuführen.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der ersten beispielhaften Ausführungsform wahlweise beinhalten, dass der erste Datenpfad ferner Folgendes umfasst: einen Seriell-Parallel- (S2P-) Umsetzer, der gekoppelt ist, um durch den Empfänger empfangene erste serielle Daten in erste parallele Daten umzuwandeln, erste Logik, die an den S2P-Umsetzer gekoppelt ist, um nötigenfalls Ausrichtung, Decodierung und Entwürfelung durchzuführen, einen elastischen Zwischenspeicher, der an die erste Logik gekoppelt ist, um nach etwaiger Ausrichtung, Decodierung und Entwürfelung Daten zu speichern, ein Staging-Zwischenspeicher-Schaltsystem, das an den elastischen Zwischenspeicher und das Steuerschaltsystem gekoppelt ist, wobei das Staging-Zwischenspeicher-Schaltsystem einen Multiplexer umfasst, der auf ein oder mehrere Steuersignale anspricht, um dem Sender Daten aus dem elastischen Zwischenspeicher oder Trainingsdaten bereitzustellen, und einen Parallel-Seriell- (P2S-) Umsetzer, der gekoppelt und betriebsfähig ist, vom Staging-Zwischenspeicher-Schaltsystem zweite parallele Daten zu empfangen und die zweiten parallelen Daten in zweite serielle Daten umzuwandeln.
  • In einer zweiten beispielhaften Ausführungsform umfasst ein Verfahren ein Empfangen von Daten mit einem Empfänger eines Multiprotokoll-Neusynchronisierers, wobei die Daten gemäß einem aus einer Vielzahl von Protokollen übermittelt wurden, und ein Übertragen von Daten zwischen dem Empfänger und dem Sender des Neusynchronisierers unter Verwendung eines an den Empfänger und den Sender gekoppelten ersten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten während eines oder vor einem protokollspezifischen Training des Senders und/oder Empfängers über ein Steuerschaltsystem in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen erfolgt, oder eines an den Empfänger und den Sender gekoppelten zweiten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten nach dem protokollspezifischen Training erfolgt, wobei der zweite Datenpfad eine geringere Latenz aufweist als der erste Datenpfad.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise beinhalten, dass das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass das Durchführen des Entzerrungsprozesses ein Erzeugen von Senderentzerrungskoeffizienten umfasst, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise beinhalten, dass der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines protokollspezifischen Trainings vorgesehen ist.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise ein Umschalten von der Verwendung des zweiten Datenpfads auf den ersten Datenpfad in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge beinhalten.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise ein Bereitstellen der Anzeige in Reaktion auf ein Bestimmen der physikalischen Schicht (PHY) zum Übermitteln von Daten vom Empfänger an den Sender beinhalten. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass das Bestimmen des PHY-Typs auf einer Strap-Option, einem Seitenbandsignal oder einer Trainingsmengenmodifikation basiert.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise ein Auswählen eines Steuersignals eines Multiplexers beinhalten, der einen an den ersten Datenpfad gekoppelten ersten Eingang und einen an den zweiten Datenpfad gekoppelten zweiten Eingang aufweist, um einen an den Sender gekoppelten Ausgang zu erzeugen.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise ein Laufenlassen einer Verbindungstrainings-Zustandsmaschine beinhalten, um ein Verbindungstraining gemäß dem durch die Anzeige spezifizierten Protokoll durchzuführen. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise ein Durchführen einer Erzeugung einem Protokoll zugehöriger geordneter Mengen für das Verbindungstraining beinhalten.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise beinhalten: Speichern von Daten in einem elastischen Zwischenspeicher während eines Trainings, und Steuern eines Ausgangs eines an den elastischen Zwischenspeicher gekoppelten Multiplexers, um an den Sender Daten vom elastischen Zwischenspeicher oder beim Durchführen des Verbindungstrainings erzeugte Trainingsdaten zu senden, wobei ein Parallel-Seriell- (P2S-) Umsetzer gekoppelt und betriebsfähig ist, zweite parallele Daten vom Staging-Zwischenspeicher-Schaltsystem zu empfangen und die zweiten parallelen Daten in zweite serielle Daten umzuwandeln.
  • In einer dritten beispielhaften Ausführungsform umfasst ein System ein Paar von Einrichtungen, einen zwischen das Paar von Einrichtungen gekoppelten Neusynchronisierer, um einen Datenfluss in beiden Richtungen zwischen dem Paar von Einrichtungen bereitzustellen, wobei der Datenfluss in jeder Richtung durchgeführt wird durch einen Empfänger, der betriebsfähig ist, Daten zu empfangen, einen Sender, um Daten zu senden, einen an den Empfänger und den Sender gekoppelten ersten Datenpfad, der betriebsfähig ist, vom Empfänger empfangene Daten während eines protokollspezifischen Trainings an den Sender zu übermitteln, wobei der erste Datenpfad ein Steuerschaltsystem umfasst, um in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen ein protokollspezifisches Training des Senders und/oder des Empfängers zu steuern, und einen an den Empfänger und den Sender gekoppelten zweiten Datenpfad, wobei der zweite Datenpfad eine geringere Latenz als der erste Datenpfad aufweist und zur Verwendung beim Übermitteln von vom Empfänger empfangenen Daten an den Sender nach dem protokollspezifischen Training vorgesehen ist. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst. In einer weiteren beispielhaften Ausführungsform kann der Gegenstand dieser beispielhaften Ausführungsform wahlweise beinhalten, dass der Entzerrungsprozess Senderentzerrungskoeffizienten erzeugt, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  • In einer weiteren beispielhaften Ausführungsform kann der Gegenstand der zweiten beispielhaften Ausführungsform wahlweise beinhalten, dass der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines Trainings vorgesehen ist.
  • Einige Abschnitte der vorstehenden ausführlichen Beschreibungen wurden im Sinne von Algorithmen und symbolischen Darstellungen von Vorgängen an Datenbits in einem Computerspeicher vorgestellt. Bei diesen algorithmischen Beschreibungen und Darstellungen handelt es sich um das vom Fachmann auf dem Gebiet der Datenverarbeitung verwendete Mittel, um den Inhalt seiner Arbeit einem anderen Fachmann am effektivsten zu vermitteln. Ein Algorithmus wird hier wie auch im Allgemeinen verstanden als eine in sich schlüssige Abfolge von Schritten, die zu einem gewünschten Ergebnis führen. Bei den Schritten handelt es sich um solche, die eine physikalische Manipulation physikalischer Größen erfordern. Üblicherweise, jedoch nicht notwendigerweise, liegen diese Größen in Form elektrischer oder magnetischer Signale vor, die gespeichert, übermittelt, kombiniert, verglichen und anderweitig manipuliert werden können. Es hat sich zuzeiten, vornehmlich aus Gründen des allgemeinen Gebrauchs, als zweckmäßig erwiesen, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder dergleichen zu bezeichnen.
  • Es sei jedoch daran erinnert, dass all diese und ähnliche Ausdrücke den geeigneten physikalischen Größen zuzuordnen sind und lediglich zweckmäßige Kennzeichnungen darstellen, die auf diese Größen angewandt werden. Soweit nicht ausdrücklich anders angegeben, wie aus der nachfolgenden Erörterung ersichtlich, versteht es sich, dass in der gesamten Beschreibung Erörterungen, die Ausdrücke wie „Verarbeiten“ oder „Datenverarbeitung“ oder „Berechnen“ oder „Bestimmen“ oder „Anzeigen“ oder dergleichen verwenden, sich auf Handeln und Prozesse eines Computersystems oder einer ähnlichen elektronischen Datenverarbeitungseinrichtung beziehen, die als physikalische (elektronische) Größen innerhalb der Register und Speicher des Computersystems repräsentierte Daten manipuliert und in andere in ähnlicher Weise als physikalische Größen innerhalb der Speicher oder Register oder anderer solcher Informationsspeicherungs-, Übertragungs- oder Anzeigeeinrichtungen des Computersystems repräsentierte Daten umwandelt.
  • Die vorliegende Erfindung betrifft auch eine Vorrichtung zum Durchführen der vorliegenden Arbeitsschritte. Diese Vorrichtung kann für die erforderlichen Zwecke speziell konstruiert sein oder sie kann einen Universalcomputer umfassen, der durch ein im Computer gespeichertes Computerprogramm gezielt aktiviert oder neu konfiguriert wird. Ein solches Computerprogramm kann auf einem computerlesbaren Speichermedium gespeichert sein, beispielsweise, ohne hierauf eingeschränkt zu sein, einer beliebigen Art von Platten, darunter Floppy Disks, optische Platten, CD-ROMs und magnetisch-optische Platten, Nur-Lese-Speicher (ROMs), Speicher mit wahlfreiem Zugriff (RAMs), EPROMs, EEPROMs, Magnet- oder optische Karten oder eine beliebige Art von Medien, die sich zum Speichern elektronischer Anweisungen eignen, die jeweils an einen Computersystembus gekoppelt sind.
  • Die vorliegend vorgestellten Algorithmen und Anzeigen betreffen nicht inhärent einen bestimmten Computer oder eine andere bestimmte Einrichtung. Es können verschiedene Universalsysteme mit Programmen gemäß den vorliegenden Lehren verwendet werden oder es kann sich als zweckmäßig erweisen, speziellere Vorrichtungen zu konstruieren, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielfalt dieser Systeme geht aus der nachfolgenden Beschreibung hervor. Zudem wird die vorliegende Erfindung nicht mit Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielfalt an Programmiersprachen verwendet werden kann, um die Lehren der Erfindung wie vorliegend beschrieben zu implementieren.
  • Unter ein maschinenlesbares Medium fällt jedweder Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z.B. einen Computer) lesbaren Form. Beispielsweise fallen unter ein maschinenlesbares Medium ein Nur-Lese-Speicher („ROM“), Speicher mit wahlfreiem Zugriff („RAM“), Magnetplatten-Speichermedien, optische Speichermedien, Flashspeichermedien etc.
  • Für einen Durchschnittsfachmann des Fachgebiets sind nach Lektüre der vorstehenden Beschreibung zweifellos viele Änderungen und Modifikationen der vorliegenden Erfindung denkbar, und es versteht sich, dass bestimmte veranschaulichend gezeigte und beschriebene Ausführungsformen keinesfalls als einschränkend anzusehen sind. Bezugnahmen auf Einzelheiten verschiedener Ausführungsformen sollen daher nicht den Umfang der Ansprüche einschränken, welche an sich nur die Merkmale angeben, die als erfindungswesentlich angesehen werden.

Claims (21)

  1. Beansprucht wird:
  2. Vorrichtung zum Durchführen einer Neusynchronisierung zwischen einer ersten und einer zweiten Einrichtung gemäß einer Vielzahl von Protokollen, wobei die Einrichtung Folgendes umfasst: einen Empfänger, der betriebsfähig ist, Daten zu empfangen, einen Sender, um Daten zu senden, einen an den Empfänger und den Sender gekoppelten ersten Datenpfad, der betriebsfähig ist, vom Empfänger empfangene Daten während eines protokollspezifischen Trainings an den Sender zu übermitteln, wobei der erste Datenpfad ein Steuerschaltsystem umfasst, um in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen ein protokollspezifisches Training des Senders und/oder des Empfängers zu steuern, und einen an den Empfänger und den Sender gekoppelten zweiten Datenpfad, wobei der zweite Datenpfad eine geringere Latenz als der erste Datenpfad aufweist und zur Verwendung beim Übermitteln von vom Empfänger empfangenen Daten an den Sender nach dem protokollspezifischen Training vorgesehen ist.
  3. Vorrichtung nach Anspruch 1, wobei das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst.
  4. Vorrichtung nach Anspruch 2, wobei der Entzerrungsprozess Senderentzerrungskoeffizienten erzeugt, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  5. Vorrichtung nach Anspruch 1, wobei der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines Trainings vorgesehen ist.
  6. Vorrichtung nach Anspruch 1, wobei in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge ein Umschalten von der Verwendung des zweiten Datenpfads auf den ersten Datenpfad erfolgt.
  7. Vorrichtung nach Anspruch 1, ferner umfassend eine Schaltung, um in Reaktion auf ein Bestimmen der physikalischen Schicht (PHY) zum Übermitteln von Daten vom Empfänger an den Sender die Anzeige bereitzustellen.
  8. Vorrichtung nach Anspruch 6, wobei die Schaltung betriebsfähig ist, die PHY auf Grundlage einer Strap-Option, eines Seitenbandsignals oder einer Trainingsmengenmodifikation zu bestimmen.
  9. Vorrichtung nach Anspruch 1, ferner umfassend einen Multiplexer, der einen an den ersten Datenpfad gekoppelten ersten Eingang und einen an den zweiten Datenpfad gekoppelten zweiten Eingang und einen an den Sender gekoppelten Ausgang aufweist.
  10. Vorrichtung nach Anspruch 1, wobei der erste Datenpfad ferner eine oder mehrere Verbindungstrainings-Zustandsmaschinen für die Vielzahl von Protokollen umfasst, wobei die eine oder die mehreren Verbindungstrainings-Zustandsmaschinen vom Steuerschaltsystem verwendet werden, um ein Verbindungstraining gemäß dem durch die Anzeige spezifizierten Protokoll durchzuführen.
  11. Vorrichtung nach Anspruch 1, wobei der erste Datenpfad ferner Folgendes umfasst: einen Seriell-Parallel- (S2P-) Umsetzer, der gekoppelt ist, durch den Empfänger empfangene erste serielle Daten in erste parallele Daten umzuwandeln, erste Logik, die an den S2P-Umsetzer gekoppelt ist, um nötigenfalls Ausrichtung, Decodierung und Entwürfelung durchzuführen, einen elastischen Zwischenspeicher, der an die erste Logik gekoppelt ist, um nach etwaiger Ausrichtung, Decodierung und Entwürfelung Daten zu speichern, ein Staging-Zwischenspeicher-Schaltsystem, das an den elastischen Zwischenspeicher und das Steuerschaltsystem gekoppelt ist, wobei das Staging-Zwischenspeicher-Schaltsystem einen Multiplexer umfasst, der auf ein oder mehrere Steuersignale anspricht, um dem Sender Daten aus dem elastischen Zwischenspeicher oder Trainingsdaten bereitzustellen, und einen Parallel-Seriell- (P2S-) Umsetzer, der gekoppelt und betriebsfähig ist, vom Staging-Zwischenspeicher-Schaltsystem zweite parallele Daten zu empfangen und die zweiten parallelen Daten in zweite serielle Daten umzuwandeln.
  12. Verfahren, umfassend: Empfangen von Daten mit einem Empfänger eines Multiprotokoll-Neusynchronisierers, wobei die Daten gemäß einem aus einer Vielzahl von Protokollen übermittelt wurden, und Übertragen von Daten zwischen dem Empfänger und dem Sender des Neusynchronisierers unter Verwendung eines an den Empfänger und den Sender gekoppelten ersten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten während eines oder vor einem protokollspezifischen Training des Senders und/oder Empfängers über ein Steuerschaltsystem in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen erfolgt, oder eines an den Empfänger und den Sender gekoppelten zweiten Datenpfads, falls die Übermittlung der durch den Empfänger empfangenen Daten nach dem protokollspezifischen Training erfolgt, wobei der zweite Datenpfad eine geringere Latenz aufweist als der erste Datenpfad.
  13. Verfahren nach Anspruch 11, wobei das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst, um Senderentzerrungskoeffizienten zu erzeugen, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  14. Verfahren nach Anspruch 11, wobei der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines protokollspezifischen Trainings vorgesehen ist.
  15. Verfahren nach Anspruch 11, ferner umfassend ein Umschalten von der Verwendung des zweiten Datenpfads auf den ersten Datenpfad in Reaktion auf ein Empfangen einer vorab definierten Trainingsmenge.
  16. Verfahren nach Anspruch 11, ferner umfassend ein Bereitstellen der Anzeige in Reaktion auf ein Bestimmen der physikalischen Schicht (PHY) zum Übermitteln von Daten vom Empfänger an den Sender.
  17. Verfahren nach Anspruch 15, wobei das Bestimmen der PHY auf einer Strap-Option, einem Seitenbandsignal oder einer Trainingsmengenmodifikation basiert.
  18. Verfahren nach Anspruch 11, ferner umfassend: Speichern von Daten in einem elastischen Zwischenspeicher während eines Trainings und Steuern eines Ausgangs eines an den elastischen Zwischenspeicher gekoppelten Multiplexers, um an den Sender Daten vom elastischen Zwischenspeicher oder beim Durchführen des Verbindungstrainings erzeugte Trainingsdaten zu senden, wobei ein Parallel-Seriell- (P2S-) Umsetzer gekoppelt und betriebsfähig ist, vom Staging-Zwischenspeicher-Schaltsystem zweite parallele Daten zu empfangen und die zweiten parallelen Daten in zweite serielle Daten umzuwandeln.
  19. System, umfassend, ein Paar von Einrichtungen, einen zwischen das Paar von Einrichtungen gekoppelten Neusynchronisierer, um einen Datenfluss in beiden Richtungen zwischen dem Paar von Einrichtungen bereitzustellen, wobei der Datenfluss in jeder Richtung durchgeführt wird durch einen Empfänger, der betriebsfähig ist, Daten zu empfangen, einen Sender, um Daten zu senden, einen an den Empfänger und den Sender gekoppelten ersten Datenpfad, der betriebsfähig ist, vom Empfänger empfangene Daten während eines protokollspezifischen Trainings an den Sender zu übermitteln, wobei der erste Datenpfad ein Steuerschaltsystem umfasst, um in Reaktion auf eine Anzeige eines Protokolls der Vielzahl von Protokollen ein protokollspezifisches Training des Senders und/oder des Empfängers zu steuern, und einen an den Empfänger und den Sender gekoppelten zweiten Datenpfad, wobei der zweite Datenpfad eine geringere Latenz als der erste Datenpfad aufweist und zur Verwendung beim Übermitteln von vom Empfänger empfangenen Daten an den Sender nach dem protokollspezifischen Training vorgesehen ist.
  20. System nach Anspruch 18, wobei das protokollspezifische Training ein Durchführen eines Entzerrungsprozesses umfasst, um Senderentzerrungskoeffizienten zu erzeugen, um eine durch den Sender durchgeführte Entzerrung zu steuern.
  21. System nach Anspruch 18, wobei der zweite Datenpfad während eines Gleichtaktbetriebs verwendet wird und der erste Datenpfad zur Verwendung während eines Nicht-Gleichtaktbetriebs und während eines Trainings vorgesehen ist.
DE112017003209.1T 2016-06-27 2017-04-26 Multiprotokoll-Neusynchronisierer mit geringer Latenz Pending DE112017003209T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/193,941 2016-06-27
US15/193,941 US9965439B2 (en) 2016-06-27 2016-06-27 Low latency multi-protocol retimers
PCT/US2017/029704 WO2018004811A1 (en) 2016-06-27 2017-04-26 Low latency multi-protocol retimers

Publications (1)

Publication Number Publication Date
DE112017003209T5 true DE112017003209T5 (de) 2019-03-28

Family

ID=60677609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017003209.1T Pending DE112017003209T5 (de) 2016-06-27 2017-04-26 Multiprotokoll-Neusynchronisierer mit geringer Latenz

Country Status (4)

Country Link
US (2) US9965439B2 (de)
CN (1) CN109154927B (de)
DE (1) DE112017003209T5 (de)
WO (1) WO2018004811A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789201B2 (en) * 2017-03-03 2020-09-29 Intel Corporation High performance interconnect
US10437763B2 (en) 2017-04-07 2019-10-08 Nxp B.V. Method and device for universal serial bus (USB) communication
US10366039B2 (en) * 2017-04-13 2019-07-30 Nxp B.V. USB link bridge
CN108418582B (zh) 2018-02-11 2020-08-25 华为技术有限公司 传输信号的方法、驱动器及系统
US11467999B2 (en) 2018-06-29 2022-10-11 Intel Corporation Negotiating asymmetric link widths dynamically in a multi-lane link
CN109857690B (zh) * 2019-01-03 2023-04-28 华为技术有限公司 驱动器的应用系统、驱动器和数据传输方法
CN109857692B (zh) * 2019-01-22 2023-06-02 华为技术有限公司 驱动器和数据传输方法
US10846247B2 (en) * 2019-03-05 2020-11-24 Intel Corporation Controlling partial link width states for multilane links
US11397701B2 (en) * 2019-04-30 2022-07-26 Intel Corporation Retimer mechanisms for in-band link management
US11258696B1 (en) * 2019-06-04 2022-02-22 Asiera Labs, Inc. Low-latency signaling-link retimer
US10901933B2 (en) 2019-06-17 2021-01-26 Hewlett Packard Enterprise Development Lp Programmable link training sequences
US11836101B2 (en) 2019-11-27 2023-12-05 Intel Corporation Partial link width states for bidirectional multilane links
CN111090601A (zh) * 2019-12-07 2020-05-01 苏州浪潮智能科技有限公司 基于bmc芯片的多功能usb控制方法、系统、终端及存储介质
CN115004165A (zh) * 2020-01-22 2022-09-02 华为技术有限公司 一种用于执行重定时的装置以及路径切换的方法
CN111917515B (zh) * 2020-07-30 2023-08-01 牛芯半导体(深圳)有限公司 重定时器芯片的码流切换方法及装置
CN111897580B (zh) * 2020-09-29 2021-01-12 北京清微智能科技有限公司 一种可重构阵列处理器的指令调度系统及方法
TWI737516B (zh) * 2020-10-15 2021-08-21 嘉雨思科技股份有限公司 雙向訊號傳輸連接線
US11683204B2 (en) * 2020-10-15 2023-06-20 Parade Technologies, Ltd. High speed data links with low-latency retimer
US10979258B1 (en) * 2020-10-15 2021-04-13 Parade Technologies, Ltd. Seamless bit-level low-latency retimer for data links
US11792361B2 (en) 2020-11-12 2023-10-17 Texas Instruments Incorporated Redriver capable of switching between linear and limited modes
CN114691558B (zh) * 2021-10-20 2023-06-20 澜起电子科技(上海)有限公司 低延迟重定时器及延迟控制方法
CN114024893A (zh) * 2021-11-18 2022-02-08 群联电子股份有限公司 时钟重整电路模块、信号传输系统及信号传输方法
CN116830488A (zh) * 2022-01-27 2023-09-29 华为技术有限公司 重定时器的路径控制方法、装置及系统
WO2024086657A1 (en) 2022-10-18 2024-04-25 Kandou Labs SA Low latency pcie retimer with skew correction
WO2024092193A1 (en) * 2022-10-27 2024-05-02 Kandou Labs SA Bus transaction security in multi-chip module

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092999B2 (en) * 2002-06-10 2006-08-15 Gutman Levitan Data broadcast network for congestion-free internet access
KR100597588B1 (ko) * 2003-10-02 2006-07-06 한국전자통신연구원 우선순위기반 능동 시험패킷을 이용한 노드간 경로특성측정방법
US7363395B2 (en) 2003-12-31 2008-04-22 Intel Corporation Intermediate device capable of communicating using different communication protocols
US7483412B2 (en) * 2005-07-29 2009-01-27 Microsoft Corporation Range extension between two wireless devices
US20100121969A1 (en) * 2008-11-12 2010-05-13 Gutman Levitan Broadcasting over the internet
US8680969B2 (en) * 2009-03-20 2014-03-25 Lutron Electronics Co., Inc. Method of confirming that a control device complies with a predefined protocol standard
US8373472B2 (en) * 2011-06-20 2013-02-12 Intel Mobile Communications GmbH Digital PLL with automatic clock alignment
US20140281071A1 (en) * 2013-03-15 2014-09-18 Jianping Jane Xu Optical memory extension architecture
US8863059B1 (en) * 2013-06-28 2014-10-14 Altera Corporation Integrated circuit device configuration methods adapted to account for retiming
JP6339198B2 (ja) 2013-12-26 2018-06-06 インテル・コーポレーション インターコネクトリタイマのエンハンスメント
US9940298B2 (en) 2014-03-17 2018-04-10 Texas Instruments Incorporated Signal conditioner discovery and control in a multi-segment data path
US9628220B2 (en) 2014-04-15 2017-04-18 Broadcom Corporation Remote TX training with a re-timer
US9552322B2 (en) * 2014-06-12 2017-01-24 Pericom Semiconductor Corporation Hybrid repeater for supporting backward compatibility
US20160182257A1 (en) 2014-12-23 2016-06-23 Intel Corporation Data rate detection to simplify retimer logic

Also Published As

Publication number Publication date
US9965439B2 (en) 2018-05-08
US20180253397A1 (en) 2018-09-06
US10606793B2 (en) 2020-03-31
US20170371831A1 (en) 2017-12-28
CN109154927A (zh) 2019-01-04
CN109154927B (zh) 2023-07-28
WO2018004811A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
DE112017003209T5 (de) Multiprotokoll-Neusynchronisierer mit geringer Latenz
DE102014114680B4 (de) Rückkanal-Kommunikation zur Initialisierung von Hochgeschwindigkeits-Netzwerken
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112013004799B4 (de) Symmetrisierung von Entzerrungsbestrebungen von Strukturen von Sendefiltern mit endlicher Impulsantwort und Empfangslinearentzerrern oder Entscheidungsrückkopplungsentzerrern in Hochgeschwindigkeits-Serien-Verkettungen
DE102009021865B4 (de) Bereitstellung eines Präfixes für einen Datenkopf
DE112012004451B4 (de) Mehrfachprotokoll-Serdes-PHY-Vorrichtung
DE112017005002T5 (de) Verbindungsphysikalischer schichtschnittstellenadapter
DE112013007732B4 (de) System und Vorrichtung zum Bestimmen und Melden eines Fehlers auf einer Bahn
DE102018128569A1 (de) Nebensprecherzeugung in einem link für mehrere spuren während des spurtestens
DE112017006557T5 (de) Bimodale phy für geringe latenz in hochgeschwindigkeitsverbindungswegen
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112011105674T5 (de) Datenwiederherstellung bei niedriger Energie unter Verwendung von Übertaktung
DE112004002567T5 (de) Lane-zu-Lane-Entzerrung über Nicht-Daten-Symbolverarbeitung für eine serielle Punkt-zu-Punkt-Verbindung
DE102021118048A1 (de) Systemleistungsverwaltung in e/a-hybridsystemen mit mehreren ports
DE102018005753A1 (de) Serdes link training
DE112016001258T5 (de) Multi-gigabit drahtloses tunnelsystem
DE102019128383A1 (de) Verfahren und vorrichtung zum synchronen signalisierenzwischen link-partnern in einer hochgeschwindigkeitsverbindung
DE112015006953T5 (de) Training einer gültigen lane
DE112013000812T5 (de) Variable Bestätigungsrate zum Verringern von Buskonflikt in Gegenwart von Datenübertragungsfehlern
DE102020102820A1 (de) Zeitstempel-Ausrichtung über mehrere Rechenknoten
DE112017002540T5 (de) Kommunikationssystem und sendevorrichtung
DE112011105991T5 (de) Geclusterte On-Package-Ein-/Ausgabe-Schnittstelle mit Voll-und Halbduplexbetrieb

Legal Events

Date Code Title Description
R012 Request for examination validly filed