DE102019003979B4 - System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle - Google Patents

System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle Download PDF

Info

Publication number
DE102019003979B4
DE102019003979B4 DE102019003979.3A DE102019003979A DE102019003979B4 DE 102019003979 B4 DE102019003979 B4 DE 102019003979B4 DE 102019003979 A DE102019003979 A DE 102019003979A DE 102019003979 B4 DE102019003979 B4 DE 102019003979B4
Authority
DE
Germany
Prior art keywords
ipg
data
repair
block
data stream
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.)
Active
Application number
DE102019003979.3A
Other languages
English (en)
Other versions
DE102019003979A1 (de
Inventor
Maurice D. Caldwell
Gary S. Huff
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies International Sales Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avago Technologies International Sales Pte Ltd filed Critical Avago Technologies International Sales Pte Ltd
Publication of DE102019003979A1 publication Critical patent/DE102019003979A1/de
Application granted granted Critical
Publication of DE102019003979B4 publication Critical patent/DE102019003979B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0084Formats for payload data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Kommunikationsvorrichtung, die Folgendes aufweist:
mindestens einen Datenport (608a, ..., 608N), der dafür konfiguriert ist, das Empfangen von Daten, die quer durch ein Kommunikationsnetzwerk übertragen werden, in Übereinstimmung mit einem Kommunikationsprotokoll zu ermöglichen; und
eine IPG-(Interpacket Gap)-Reparaturschaltung (622), die dafür konfiguriert ist, ein IPG-Intervall innerhalb eines Datenstroms zu erfassen (828), das eine IPG-Intervall-Bedingung verletzt (832), die von dem Kommunikationsprotokoll definiert ist, wobei das Erfassen erfolgt, indem eine Anzahl von Leerzeichen in einem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist, verglichen wird, und
in Reaktion auf das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, eine IPG-Reparatur bei dem Datenstrom durchzuführen und das IPG-Intervall in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen (836).

Description

  • Die vorliegende Offenbarung ist allgemein auf Kommunikationssysteme und -verfahren gerichtet, und genauer gesagt ist sie auf PCS-(Physical Coding Sub-Layer; physische Codierungs-Unterschicht)-Protokolle gerichtet.
  • Bestimmte Kommunikationsprotokolle benötigen oder definieren eine Mindestanzahl von Interpacket Gaps (IPGs) (IPG = zeitlicher Abstand zwischen zwei aufeinanderfolgenden Datenpaketen), die von einer sendeseitigen Medienzugriffssteuerung (MAC; Media Access Control) gesendet werden soll. Als ein Beispiel benötigt das IEEE Ethernet einen Mindest-IPG von 12 Byte, der von der Sende-MAC gesendet werden muss. Während der Datenverkehr die Reconciliation-Sub-Layer (RS-Schicht) (Abstimmungsunterschicht) und die PCS-(Physical Coding Sub-Layer) (physische Codierungs-Unterschicht) durchquert, kann es sein, dass die 12 Byte des IPG bis herunter auf ein Minimum reduziert werden, und zwar an dem Punkt, an dem der Datenverkehr weiter zu der medienabhängigen Schnittstelle (MDI; Media Dependent Interface) gesendet wird. Dieser Minimum-Herabsetzungs-Schwellenwert des IPG-Verlusts wird benötigt, um die Ende-zu-Ende-Interoperabilität zu ermöglichen, während der Datenverkehr zu dem entfernten Gerät im Netzwerk am fernen Ende durchläuft. Als ein spezifischeres Beispiel sollte der Mindest-IPG an der Sende-MDI für MII (10M/100M)- und GMII (1G)-Ethernet etwa 11 Byte betragen. Als ein anderes Beispiel sollte für XGMII der Mindest-IPG an der Sende-MDI etwa 9 Byte betragen. Die US-Patentschrift US 4,849,970 offenbart ein Verfahren und eine Vorrichtung zur Beibehaltung einer minimalen oder maximalen Lückenlänge zwischen den Paketen in einem unabhängig getakteten Datennetz, das typischerweise dem ANSI-FDDI-Standard folgt. Die US-Patentschrift US 4,878,219 offenbart eine Ausgangssteuerung in einem Repeater-Knoten zur Steuerung von Datenübertragungen in einem Datenkommunikationssystem, in dem jeder Knoten mit einem unabhängigen lokalen Taktgeber betrieben wird.
  • In Übereinstimmung mit einem Aspekt der Erfindung weist eine Kommunikationsvorrichtung Folgendes auf:
    • mindestens einen Datenport, der dafür konfiguriert ist, das Empfangen von Daten, die quer durch ein Kommunikationsnetzwerk gesendet werden, in Übereinstimmung mit einem Kommunikationsprotokoll zu ermöglichen; und
    • eine IPG-(Interpacket Gap)-Reparaturschaltung, die dafür konfiguriert ist, ein IPG-Intervall innerhalb eines Datenstroms zu erfassen, das eine IPG-Intervall-Bedingung verletzt, die von dem Kommunikationsprotokoll definiert ist, und in Reaktion auf das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, eine IPG-Reparatur bei dem Datenstrom durchzuführen und das IPG-Intervall in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen.
  • Vorteilhafterweise erfasst die IPG-Reparaturschaltung das IPG-Intervall, das die IPG-Intervall-Bedingung verletzt, indem sie den Datenstrom nach einem Abschlussblock durchsucht.
  • Vorteilhafterweise erfasst die IPG-Reparaturschaltung des Weiteren das IPG-Intervall, das die IPG-Intervall-Bedingung verletzt, indem sie eine Anzahl von Leerlaufblöcken (Idle Blocks) zählt, die direkt auf den Abschlussblock folgen.
  • Vorteilhafterweise erfasst die IPG-Reparaturschaltung des Weiteren das IPG-Intervall, das die IPG-Intervall-Bedingung verletzt, indem sie eine Anzahl von Leerzeichen (Idle Characters) in dem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist, vergleicht.
  • Vorteilhafterweise führt die IPG-Reparaturschaltung die IPG-Reparatur bei dem Datenstrom durch, indem sie eine ausreichende Anzahl von Leerzeichen, die auf den Abschlussblock folgen, hinzufügt, so dass diese gleich groß wie oder größer als die vorbestimmte Mindestanzahl von Leerzeichen ist.
  • Vorteilhafterweise ist die IPG-Reparaturschaltung dafür konfiguriert, mindestens einen Leeraufblock direkt vor oder direkt nach dem Leerlaufblock, der direkt auf den Abschlussblock folgt, hinzuzufügen.
  • Vorteilhafterweise enthält der mindestens eine Leerlaufblock vier Leerzeichen.
  • Vorteilhafterweise ist die IPG-Reparaturschaltung dafür konfiguriert, die IPG-Reparatur bei dem Datenstrom durchzuführen, indem sie ein oder mehrere IPG-Intervalle zu dem Datenstrom hinzufügt.
  • Vorteilhafterweise ist eine Ausrichtungsmarkierungs-(AM; Alignment Marker)-Einfügungsschaltung dafür konfiguriert, mindestens einen Leerlaufblock zu entfernen und den entfernten mindestens einen Leerlaufblock durch eine AM zu ersetzen.
  • Vorteilhafterweise verursacht das Entfernen des mindestens einen Leerlaufblocks, dass der Datenstrom die IPG-Intervall-Bedingung verletzt.
  • Vorteilhafterweise weist der mindestens eine Port einen ersten Port und einen zweiten Port auf, und wobei die Kommunikationsvorrichtung des Weiteren Folgendes aufweist:
    • eine Block-Entschachtelungseinrichtungs-(Deinterleaver)-Schaltung, die dafür konfiguriert ist, Daten zwischen dem ersten Port und dem zweiten Port zu entschachteln.
  • In Übereinstimmung mit einem Aspekt ist ein Verfahren zum Durchführen einer IPG-(Interpacket Gap)-Reparaturfunktion bei einem Datenstrom bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst:
    • Analysieren des Datenstroms;
    • Erfassen eines IPG-(Interpacket Gap)-Intervalls innerhalb des Datenstroms, das eine IPG-Intervall-Bedingung verletzt, die von einem Kommunikationsprotokoll definiert ist, das für das Kommunizieren von Daten innerhalb des Datenstroms verwendet wird; und
    • in Reaktion auf das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, das Durchführen eines IPG-Reparaturprozesses bei dem Datenstrom, um das IPG-Intervall in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen.
  • Vorteilhafterweise umfasst das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, die folgenden Schritte:
    • Durchsuchen des Datenstroms nach einem Abschlussblock; und
    • Zählen einer Anzahl von Leerlaufblöcken, die direkt auf den Abschlussblock folgen.
  • Vorteilhafterweise umfasst das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, des Weiteren den folgenden Schritt:
    • Vergleichen einer Anzahl von Leerzeichen in dem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist.
  • Vorteilhafterweise umfasst das Durchführen des IPG-Reparaturprozesses bei dem Datenstrom den folgenden Schritt:
    • Hinzufügen einer Anzahl von Leerzeichen, die auf den Abschlussblock folgen, um die Anzahl von Leerzeichen, die in dem Abschlussblock und in den Leerlaufblöcken enthalten sind, auf ein Niveau zu erhöhen, das gleich groß wie oder größer als die vorbestimmte Mindestanzahl von Leerzeichen ist.
  • Vorteilhafterweise wird die Anzahl von Leerzeichen über eine Einfügung eines Leerlaufblocks, der vier Leerzeichen enthält, hinzugefügt.
  • Vorteilhafterweise umfasst das Verfahren des Weiteren die folgenden Schritte:
    • Entfernen von mindestens einem Leerlaufblock aus dem Datenstrom; und
    • Ersetzen des entfernten mindestens einen Leerlaufblocks durch eine Ausrichtungsmarkierung (AM).
  • Vorteilhafterweise umfasst das Verfahren des Weiteren den folgenden Schritt:
    • Entschachteln von Daten zwischen einem ersten Datenport und einem zweiten Datenport.
  • In Übereinstimmung mit einem Aspekt weist ein Datenübertragungssystem Folgendes auf:
    • einen ersten Port, der Folgendes aufweist:
      • eine erste MAC, die dafür konfiguriert ist, gemäß einem ersten Kommunikationsprotokoll zu arbeiten;
      • eine zweite MAC, die dafür konfiguriert ist, gemäß einem zweiten Kommunikationsprotokoll zu arbeiten, das sich von dem ersten Kommunikationsprotokoll unterscheidet; und
      • eine Mapping-Schaltung, die dafür konfiguriert ist, Daten für die zweite MAC von dem ersten Kommunikationsprotokoll in das zweite Kommunikationsprotokoll zu übersetzen;
    • einen zweiten Port, der Folgendes aufweist:
      • eine dritte MAC, die dafür konfiguriert ist, gemäß dem ersten Kommunikationsprotokoll zu arbeiten;
      • eine vierte MAC, die dafür konfiguriert ist, gemäß dem zweiten Kommunikationsprotokoll zu arbeiten; und
      • eine zweite Mapping-Schaltung, die dafür konfiguriert ist, Daten für die vierte MAC von dem ersten Kommunikationsprotokoll in das zweite Kommunikationsprotokoll zu übersetzen;
    • eine Block-Entschachtelungseinrichtungs-Schaltung, die dafür konfiguriert ist, Daten zwischen dem ersten Port und dem zweiten Port zu verteilen; und
    • eine IPG-(Interpacket Gap)-Reparaturschaltung, die dafür konfiguriert ist, einen Datenstrom zu analysieren, der von der Block-Entschachtelungseinrichtungs-Schaltung ausgegeben wird, um festzustellen, ob ein Entfernen von mindestens einem Leerlaufblock bewirkt, dass der Datenstrom die Übereinstimmung mit einer IPG-Intervall-Bedingung des ersten Kommunikationsprotokolls nicht mehr einhält, und dann einen Leerlaufblock einzufügen, um den Datenstrom wieder zurück in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen.
  • Vorteilhafterweise ist die IPG-Reparaturschaltung dafür konfiguriert, eine Anzahl von Leerlaufblöcken in dem Datenstrom, die direkt auf einen Abschlussblock folgen, zu zählen, und sie vergleicht eine Anzahl von Leerzeichen in dem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem ersten Kommunikationsprotokoll definiert ist.
  • Figurenliste
  • Die vorliegende Offenbarung wird in Verbindung mit den angehängten Figuren beschrieben, die nicht notwendigerweise maßstabsgetreu gezeichnet sind:
    • 1 ist ein Blockdiagramm, das ein Datenübertragungssystem in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 2 ist ein Blockdiagramm, das zusätzliche Einzelheiten eines Datenübertragungssystems in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 3 ist ein Blockdiagramm, das zusätzliche Einzelheiten eines Datenübertragungssystems in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 4 ist ein Blockdiagramm, das zusätzliche Einzelheiten eines Datenübertragungssystems in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 5 ist ein Blockdiagramm, das Einzelheiten eines Port-ASIC (ASIC = anwendungsspezifischer integrierter Schaltkreis) in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 6 ist ein Blockdiagramm, das eine Sendeseite einer Systemschnittstelle in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 7A bis 7C sind Blockdiagramme, die eine Empfangsseite einer Systemschnittstelle in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellen; und
    • 8 ist ein Ablaufdiagramm, das ein Verfahren zum Durchführen einer IPG-Reparatur in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung stellt nur Ausführungsformen bereit, und sie ist nicht dazu gedacht, den Schutzumfang, die Anwendbarkeit oder die Konfiguration der Ansprüche zu beschränken. Vielmehr wird die folgende Beschreibung die Fachleute auf dem Gebiet mit einer ermöglichenden Beschreibung für die Implementierung der beschriebenen Ausführungsformen versehen. Es ist klar, dass verschiedene Änderungen bei der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne dass von dem Erfindungsgedanken und dem Schutzumfang der angehängten Ansprüche abgewichen wird.
  • Es wird aus der folgenden Beschreibung verstanden werden, und aus Gründen der rechnerischen Effizienz, dass die Komponenten des Systems an jeder Stelle innerhalb eines verteilten Netzwerks von Komponenten angeordnet werden können, ohne dass der Betrieb des Systems beeinträchtigt wird.
  • Des Weiteren sollte es klar sein, dass die verschiedenen Verbindungen, die die Elemente verbinden, verdrahtet, Leiterbahnen oder drahtlose Verbindungen oder irgendeine Kombination davon oder irgendein anderes bekanntes Element oder irgendwelche anderen bekannten Elemente oder irgendein anderes später entwickeltes Element oder irgendwelche anderen später entwickelten Elemente sein kann bzw. können, das bzw. die in der Lage ist bzw. sind, Daten zu und von den verbundenen Elementen zuzuführen und/oder zu kommunizieren. Übertragungsmedien, die als Verbindungen benutzt werden, können zum Beispiel jeder geeignete Träger für elektrische Signale sein, einschließlich Koaxialkabel, Kupferdraht und Glasfaser, elektrische Leiterbahnen auf einer gedruckten Leiterplatte öder dergleichen.
  • So, wie sie hier verwendet werden, sind die Wendungen „mindestens eine(r)“, „eine(r) oder mehrere“ und „und/oder“ unbegrenzte Ausdrücke, die in der Anwendung sowohl konjunktiv als auch disjunktiv sind. So steht zum Beispiel jeder der Ausdrücke „mindestens einer von A, B und C“, „mindestens einer von A, B oder C“, „einer oder mehrere von A, B und C“, „einer oder mehrere von A, B oder C“, „A, B und/oder C“ und „A, B oder C“ für A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
  • Der Begriff „eine“ Entität bezieht sich auf eine oder mehrere von dieser Entität. Somit können die Begriffe „ein“ (oder „eine“), „ein(e) oder mehrere“ und „mindestens einer“ bzw. „mindestens eine“ hier untereinander austauschbar verwendet werden. Es sollte auch angemerkt werden, dass die Begriffe „aufweisen“, „umfassen“ bzw. „enthalten“ und „haben“ untereinander austauschbar verwendet werden können.
  • Der Begriff „feststellen“ und Variationen davon, wie sie hier verwendet werden, umfassen jegliche Art von Methodologie, Prozess, mathematischer Operation oder Technik.
  • Verschiedene Aspekte der vorliegenden Offenbarung werden hier unter Bezugnahme auf Zeichnungen beschrieben werden, die schematische Veranschaulichungen von idealisierten Konfigurationen sind.
  • Soweit dies nicht anders definiert ist, haben alle hier verwendeten Begriffe (einschließlich technische und wissenschaftliche Begriffe) die gleiche Bedeutung, wie sie allgemein von einem Durchschnittsfachmann auf dem Gebiet, zu dem die vorliegende Offenbarung gehört, verstanden wird. Es wird weiter verstanden werden, dass Begriffe, wie etwa solche, die in allgemein verwendeten Wörterbüchern definiert sind, so interpretiert werden sollen, dass sie eine Bedeutung haben, die konsistent mit ihrer Bedeutung in dem Kontext des relevanten Fachgebiets und der vorliegenden Offenbarung ist.
  • So, wie sie hier verwendet werden, sollen die Singularformen „ein“, „eine“, „einer“ und „der“, „die“, „das“ auch die Pluralformen einschließen, es sei denn, der Kontext gibt dies eindeutig anders an. Es wird weiterhin verstanden werden, dass die Begriffe „aufweisen“, „aufweist“ und/oder „aufweisend“, wenn sie in der vorliegenden Patentspezifikation verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen bzw. Vorgängen, Elementen und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder das Hinzufügen von einem bzw. einer oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen bzw. Vorgängen, Elementen, Komponenten und/oder Gruppen davon ausschließen. Der Begriff „und/oder“ umfasst jegliche und alle Kombinationen von einem oder mehreren der zugehörigen aufgelisteten Dinge.
  • Nun werden unter Bezugnahme auf die 1 bis 8 verschiedene Systeme und Verfahren zum Ermöglichen einer Datenübertragung und zum Einhalten eines Protokolls beschrieben werden. Obwohl bestimmte Ausführungsformen in Verbindung mit dem Ermöglichen von Kommunikationen unter Verwendung eines bestimmten Kommunikationsprotokolls (z.B. Ethernet) beschrieben werden, sollte es klar sein, dass Ausführungsformen der vorliegenden Offenbarung nicht darauf beschränkt sind. So können die hier beschriebenen Verfahren und Systeme zum Beispiel in Verbindung mit jeglicher Art von Kommunikationsprotokoll verwendet werden, das einen Mindest-IPG oder einen ähnlichen Pakettyp definiert.
  • Das Problem der IPG-Reduzierung wird oftmals eingeführt, weil bestimmte Protokolle es erfordern, dass Ausrichtungsmarkierungen (AMs) periodisch in den Datenverkehr an festen Plätzen oder Intervallen eingefügt werden sollen. Die AMs helfen dabei, eine Synchronisierung zwischen der Sendeseite und der Empfangsseite des Systems aufrecht zu erhalten. Um eine konstante Datenverkehr-Durchflussrate aufrecht zu erhalten, erfordert es die PCS manchmal, dass ein IPG proportional zu der Menge an AMs, die eingefügt werden, entfernt/gelöscht wird. Diese IPG-Entfernung/Löschung kann ein katastrophales Ereignis auslösen, wenn nicht darauf geachtet wird, den IPG wieder zurück auf den Mindestschwellenwertbetrag zu reparieren.
  • Ein Aspekt der vorliegenden Offenbarung liegt darin, eine IPG-Reparaturfunktion oder IPG-Reparaturschaltung auf der Empfangsseite eines Datenübertragungssystems bereitzustellen. In einigen Ausführungsformen arbeitet die IPG-Reparaturfunktion an dem ankommenden Verkehr und gewährleistet, dass die IPG-Intervalle, die einen definierten Mindestschwellenwertbetrag verletzen, (i) erfasst werden und dann (ii) repariert werden, indem der Betrag an IPG, der den IPG auf mindestens den Mindestschwellenwertbetrag erhöht, hinzugefügt/eingefügt wird. In einigen Ausführungsformen fügt die IPG-Reparaturfunktion genau den Betrag an IPG ein, der benötigt wird, um den IPG zurück auf den Mindestschwellenwertbetrag zu erhöhen.
  • In einigen Ausführungsformen erfasst die IPG-Reparaturfunktion für jedes Intervall in dem Datenverkehr, ob der IPG kleiner als ein definierter Mindestschwellenwertbetrag ist. Wenn ein IPG-Intervall erfasst wird, dass kleiner als der definierte Mindestschwellenwertbetrag ist (z.B. weniger als 9 Byte), dann fügt die IPG-Reparaturfunktion mindestens eine Blindspalte (IDLE Column) (z.B. vier Leerzeichen) direkt nach dem erfassten IPG-Intervall hinzu oder fügt diese ein. Diese Einfügung von mindestens einer Blindspalte repariert das IPG-Intervall so, dass es größer als oder gleich groß wie der definierte Mindestschwellenwert wird (z.B. zurück auf mindestens 9 Byte).
  • Ein Aspekt der vorliegenden Offenbarung ermöglicht es, dass die IPG-Reparaturfunktion die Reparatur unter Verwendung eines minimalen Inband-FIFO-Puffers durchführen kann. Die Verwendung eines Inband-Puffers ermöglicht es der IPG-Reparaturfunktion, die IPG-Intervall-Verletzung direkt nach dem Erfassen des verletzten IPG-Intervalls zu reparieren. Einige Vorteile, die durch das Verwenden des Inband-FIFO-Puffers realisiert werden können, umfassen eine verringerte Latenz und eine reduzierte FIFO-Größe. Außerdem können die FIFO-Zeiger-Trennungsabstände aufgelöst werden, indem eine IPG-Fensterfunktion verwendet wird, die die Lese-/Schreibzeiger auswertet, um festzustellen, dass (und in welchen Ausmaß) zusätzliche Blindspalten hinzugefügt werden müssen. In einigen Ausführungsformen kann die IPG-Reparaturfunktion eine programmierbare IPG-Mindestschwellenwertgrenze benutzen, um die Flexibilität zu erlauben, verschiedene unterschiedliche Arten von PCS-Protokollen (egal ob standardmäßig oder proprietär) unterstützen zu können.
  • Nun werden unter Bezugnahme auf 1 zusätzliche Einzelheiten eines ersten Datenübertragungssystems 100 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Das Datenübertragungssystem 100 ist so gezeigt, dass es zwei Kommunikationsvorrichtungen 108 aufweist, von denen jede mit einem Kommunikationsnetzwerk 104 verbunden ist. Die Kommunikationsvorrichtungen 108 können als kommunikativ miteinander über das Kommunikationsnetzwerk 104 gekoppelt betrachtet werden. Obwohl die Kommunikationsvorrichtungen 108 als irgendeine Art von Maschine oder einer Sammlung von Komponenten vorgesehen sein können, umfassen einige nicht einschränkende Beispiele einer Kommunikationsvorrichtung 108 ein Mobiltelefon, ein Smartphone, einen persönlichen Computer (PC), ein Laptop, ein Telefon, ein Tablet, einen Server, einen Schalter (Switch) oder eine Datenspeicherungsvorrichtung, etc. Es sollte klar sein, dass eine oder beide Kommunikationsvorrichtungen 108 Anwender- bzw. Benutzergeräte sein können (z.B. Geräte, die von einem Benutzer herumgetragen und verwendet werden), die eine Benutzerschnittstelle haben. Alternativ dazu kann eine oder können beide der Kommunikationsvorrichtungen 108 Server, Schalter oder andere Arten von Maschinen sein, die keine robuste Benutzerschnittstelle haben. Oder anders gesagt, die Kommunikationsvorrichtungen 108 können jeder Art von Maschine entsprechen, die in der Lage ist, mit einer anderen Maschine über das Kommunikationsnetzwerk 104 zu kommunizieren.
  • Das Kommunikationsnetzwerk 104 kann jeder Art von Kommunikationsbus, einer Sammlung von Kommunikationsvorrichtungen, Kombinationen davon oder dergleichen entsprechen. Beispielshalber kann das Kommunikationsnetzwerk 104 einem paketbasierten Kommunikationsnetzwerk entsprechen. Noch genauer gesagt kann das Kommunikationsnetzwerk 104 einem IP-basierten Kommunikationsnetzwerk entsprechen und kann Kommunikationsprotokolle wie etwa das Ethernet-Protokoll verwenden. Es sollte klar sein, dass das Kommunikationsnetzwerk 104 nicht notwendigerweise auf ein Ethernet-basiertes Kommunikationsnetzwerk beschränkt sein muss, sondern dass sich stattdessen auch jede miteinander verbundene Sammlung von Rechnergeräten, die irgendeine Art von Kommunikationsprotokoll oder eine Kombination von Kommunikationsprotokollen verwenden, als das Kommunikationsnetzwerk 104 eignen kann. Das Kommunikationsnetzwerk 104 kann verdrahtete und/oder drahtlose Kommunikationsprotokolle verwenden.
  • Nun werden unter Bezugnahme auf 2 zusätzliche Einzelheiten eines Datenübertragungssystems 200 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Das Datenübertragungssystem 200 kann als Teil einer Kommunikationsvorrichtung 108, als Teil einer Komponente einer Kommunikationsvorrichtung 108 oder als Teil einer Komponente innerhalb des Kommunikationsnetzwerks 104 bereitgestellt werden. Als ein nicht einschränkendes Beispiel kann das System 200 als Teil eines Netzwerkadapters innerhalb einer Kommunikationsvorrichtung 108 (z.B. eine Komponente der Kommunikationsvorrichtung 108, die Kommunikationen über das Netzwerk 104 ermöglicht) vorgesehen sein. Somit kann das System 200 auf einer Netzwerkkarte oder Netzschnittstellenkarte innerhalb eines Host-Geräts vorgesehen sein. In einigen Ausführungsformen ist das System 200 dafür konfiguriert, den Transfer von Daten von einer Kommunikationsvorrichtung 108 zu einer anderen Kommunikationsvorrichtung 108 zu ermöglichen.
  • Das System 200 ist so gezeigt, dass es eine Sender-MAC (TX MAC) 204, eine Sender-PCS (TX PCS) 208, eine Empfänger-PCS (RX PCS) 212 und eine Sender-PHY (TX PHY) 216 aufweist. Die TX MAC 204 ist so gezeigt, dass sie eine RS-Schicht einschließt. Ein erster Datenweg 220 ist so gezeigt, dass er die TX MAC 204 mit der TX PCS 208 verbindet. Der erste Datenweg 220 kann Datenverkehr von einer ersten Art übertragen. Als ein nicht einschränkendes Beispiel kann der erste Datenweg 220 XGMII-Verkehr von der TX MAC 204 zu der TX PCS 208 übertragen. Der XGMII-Verkehr, der auf dem ersten Datenweg 220 fließt, kann jede Anzahl von IPG-Intervallen von verschiedenen Größen haben, die von einem ersten Schwellenwert-Wert bis zu einem zweiten Schwellenwert-Wert reichen. Als ein nicht einschränkendes Beispiel kann der XGMII-Verkehr, wenn er den IEEE 802.3-Standards entspricht (z.B. die Sende-MAC sieht ein Minimum von 12 Byte eines IPG vor), irgendwo zwischen 9 Byte und 15 Byte eines IPG pro IPG-Intervall übertragen, als ein Ergebnis des sogenannten Deficit Idle Counter (DIC) (Defizitleerlaufzähler).
  • Die TX PCS 208 kann den Datenverkehr, der von der TX MAC 204 empfangen wird, verarbeiten und einen AM-Einfügungsprozess bei dem empfangenen Datenverkehr durchführen. Als Teil des Durchführens dieses AM-Einfügungsprozesses kann die TX PCS 208 eine oder mehrere IPG-Spalten aus einem IPG-Intervall entfernen. Es kann sein, dass die TX PCS 208 die AM-Intervalle einfügen muss, um eine Portabgrenzung (Port Delineation) an der Empfangsseite des Kommunikationsnetzwerks 104 zu ermöglichen. Leider kann dieser Prozess des Einfügens von AMs in den Datenverkehr dazu führen, dass eine oder mehrere IPG-Spalten aus dem Datenverkehr entfernt werden. Als ein nicht einschränkendes Beispiel kann die TX PCS 208 eine oder mehrere IPG-Spalten aus dem Datenverkehr entfernen, was schließlich bewirkt, dass der Datenstrom einen Mindestschwellenwertbetrag eines IPG für ein IPG-Intervall verletzt. Genauer gesagt kann der Mindestschwellenwertbetrag eines IPG für ein IPG-Intervall 9 oder mehr Bytes sein. Wenn ein IPG-Intervall in dem Datenverkehr, der an dem ersten Datenweg 220 empfangen wird, anfänglich nur 9 Byte eines IPG hat, könnte die TX PCS 208 zunächst einmal möglicherweise vier Byte des IPG (z.B. eine ganze IPG-Spalte) entfernen, wodurch der Datenstrom mit nur 5 Byte an IPG zurückbleibt. Dies kann einer Verletzung eines Mindestschwellenwertbetrags von IPG-Bytes, die für ein IPG-Intervall zulässig sind, entsprechen. Somit kann die Systemschnittstelle 224 zwischen der TX PCS 208 und der RX PCS 212 Datenverkehr unter Verletzung des Mindestschwellenwertbetrags des IPG pro IPG-Intervall übertragen. Ausführungsformen der vorliegenden Offenbarung sehen eine IPG-Reparaturfunktion auf der Empfangsseite des Übertragungssystems vor, um diese Verletzung zu korrigieren.
  • Insbesondere kann eine IPG-Reparaturfunktion vorgesehen sein, um Datenverkehr zwischen der RX PCS 212 und der TX PHY 216 und/oder bevor der Datenverkehr auf die MDI 232 geschickt wird, zu korrigieren. Die IPG-Reparaturfunktion, die in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung vorgesehen ist, ermöglicht es der RX PCS 212, eine oder mehrere IPG-Spalten einzufügen/hinzuzufügen, um die vorherige IPG-Spalten-Entfernung, die in Verbindung mit der AM-Einfügung vorgenommen wurde, auszugleichen. Ohne eine IPG-Reparaturfunktion, die auf das AM-Entfernen folgt, kann die Größe irgendeines vorgegebenen IPG-Intervalls möglicherweise unter die vorab definierte Mindestschwellenwertgröße fallen.
  • Nun werden unter Bezugnahme auf 3 zusätzliche Einzelheiten eines Datenübertragungssystems 300 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Das System 300 kann ähnlich wie das System 100 und/oder 200 sein. Die Ansicht des Systems 300 zeigt spezifisch einen ersten Port-ASIC 304 und einen zweiten Port-ASIC 316 in Kommunikation miteinander über ihre jeweiligen PHYs 308, 312 und eine Netzwerkschnittstelle 328. Die Netzwerkschnittstelle 328 kann ähnlich zu der oder identisch zu der MDI 232 sein, die in 2 gezeigt ist. Ebenso können die PHYs 308, 312 ähnlich zu der oder identisch zu der TX PHY 216 sein, die in 2 gezeigt ist. Des Weiteren können die ASICs 304, 316 auch MACs entsprechen, wie etwa der MAC 204, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird.
  • 3 hilft dabei, die verschiedenen Taktbereiche (Clock Domains) eines Datenübertragungssystems 300 zu veranschaulichen, und sie stellt weitere Einzelheiten der Netzwerkschnittstelle 328 dar. Insbesondere ist eine erste Systemschnittstelle 320 zwischen dem Port-ASIC 304 und der TX PHY 308 gezeigt. Die erste Systemschnittstelle 320 kann einer USXGMII-M-Systemschnittstelle entsprechen. Die Netzwerkschnittstelle 328 kann, wie oben erwähnt ist, einem Beispiel einer MDI entsprechen. In einigen Ausführungsformen kann die Netzwerkschnittstelle 328 einer Kupfer-MDI entsprechen, obwohl jede Art von MDI oder Medienschnittstelle verwendet werden kann, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird.
  • Die Netzwerkschnittstelle 328 ist so gezeigt, dass sie eine Vielzahl von Signalleitungen 324a-N einschließt. Die Anzahl N von Leitungen 324 kann in Abhängigkeit von dem Kommunikationsprotokoll variieren, das innerhalb des Systems 300 verwendet wird. Jede Leitung 324 kann so konfiguriert sein, dass sie ein anderes Signal von einer Übertragungsseite des Systems 300 (z.B. von der PHY 308) zu der Empfangsseite des Systems 300 (z.B. zu der PHY 312) überträgt.
  • Die PHY 312 ist so gezeigt, dass sie mit dem Port-ASIC 316 durch eine andere Systemschnittstelle 320 verbunden ist. Die Systemschnittstelle 320 auf der Empfangsseite des Systems 300 kann ähnlich zu der oder identisch zu der Systemschnittstelle 320 auf der Sendeseite des Systems 300 sein, obwohl eine solche Konfiguration nicht notwendig ist.
  • Die Sendeseite ist so gezeigt, dass sie unter Verwendung eines ersten Taktbereichs 332 arbeitet, der getrennt von dem zweiten Taktbereich 336 ist, in dem die Empfangsseite arbeitet. Die Taktbereiche 332, 336 sind durch den Netzwerkschnittstellen-Taktbereich 340 getrennt. In einigen Ausführungsformen kann jeder Taktbereich miteinander nahezu synchronisiert sein, aber er kann durch unterschiedliche Prozessore oder Zeitsteuerungsquarze, die geringfügig andere Zeitsteuerungscharakteristiken als Prozessoren oder Zeitsteuerungsquarze in den anderen Taktbereichen haben können, angetrieben werden. Aufgrund der Unterschiede in den Taktbereichen 332, 336 kann eine Takt-Daten-Rückgewinnungs-(CDR; Clock-Data Recovery)-Schaltung auf der Empfängerseite des Übertragungssystems vorgesehen sein. In Systemen, die Daten von mehreren Ports auf einen einzigen Draht legen, können AMs verwendet werden, um die Portabgrenzung für den Empfänger zu erleichtern bzw. zu ermöglichen. Als ein nicht einschränkendes Beispiel können vier AMs (z.B. AM0, AMI, AM2, AM3) zusammenhängend als eine Gruppe in einem festen Abstandsintervall eingefügt werden. In einem einfachen Fall wird der allererste codierte/verwürfelte 66-Bit-Block, der auf AM3 folgt, dem PortO zugeordnet, sequentiell in aufsteigender Reihenfolge gefolgt von den restlichen Blöcken der anderen Ports; dann wird die Reihenfolge wiederholt.
  • Nun werden unter Bezugnahme auf 4 zusätzliche Einzelheiten eines Datenübertragungssystems in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Die Komponenten, die in dem System dargestellt sind, können spezifischen Komponenten entsprechen, die in einer PHY enthalten sind. So können zum Beispiel ein Sendeseitensatz von Komponenten 404 und ein Empfangsseitensatz von Komponenten 408 jeweils eine Anzahl von Komponenten umfassen, die die Sendeverarbeitung und die Empfangsverarbeitung von Datenströmen in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung ermöglichen. Die Sätze von Komponenten 404, 408 können als Teil einer PHY 216, 308, 312, als Teil eines ASIC 304, 316 und/oder als Teil einer MAC 204 vorgesehen sein, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird.
  • Der Sendeseitensatz von Komponenten 404 ist so gezeigt, dass er eine Anzahl von Sende-Port-MACs 412 einschließt. Paare von Sende-Port-MACs 412 können mit einer Übertragungsratenanpassungsschaltung 416 verbunden sein, die dafür konfiguriert ist, eine Replikation von Datenpaketen zu entfernen und andere bekannte Übertragungsratenanpassungsprozesse durchzuführen. Es können zum Beispiel Daten repliziert werden, um einen Port auf eine langsamere Übertragungsrate zu setzen (damit alle Übertragungsraten von allen Ports zu der Port-MUX- und Framing-Schaltung 424 passen). In einigen Ausführungsformen kann eine erste von den Sende-Port-MACs 412 mit der Übertragungsratenanpassungsschaltung 416 unter Verwendung eines ersten Protokolls (z.B. XGMII) kommunizieren, wohingegen die zweite von den Sende-Port-MACs 412 mit der Übertragungsratenanpassungsschaltung 416 unter Verwendung eines zweiten Protokolls (z.B. GMII (10M/100M/1G)) kommunizieren kann. Die Übertragungsratenanpassungsschaltung 416 ermöglicht es einem einzelnen Port 420, Informationen mit einer Sende-Port-MAC 412 unter Verwendung von einem von mehreren verschiedenen Arten von Protokollen zu teilen, und sie hilft, die Übertragungsraten der verschiedenen Ports abzustimmen. Der Sendeseitensatz von Komponenten 404 ist auch so gezeigt, dass er eine Vielzahl von Port-PCSs 420 umfasst (z.B. eine Port-PCS für jeden der Ports 0 bis N-1). Die verschiedenen Port-PCSs 420 können mit einer gemeinsamen Port-MUX- und Framing-Schaltung 424 verbunden sein, die die verschiedenen Eingänge auf dem SERDES 428 für die Ausgangsleitung 436 zusammenfasst.
  • Der Empfangsseitensatz von Komponenten 408 kann so konfiguriert sein, dass er mit dem Sendeseitensatz von Komponenten 404 über eine Autonegotiationsschaltung oder einen Satz von Schaltungen 440 kommuniziert. Die Autonegotiationsschaltung oder der Satz von Schaltungen 440 kann so konfiguriert sein, dass sie bzw. er die Synchronisation zwischen den Übertragungsratenanpassungsschaltungen 416 auf der Sendeseite 404 und den Übertragungsratenanpassungsschaltungen 416 auf der Empfangsseite 408 ermöglicht. Die verschiedenen Komponenten auf der Empfangsseite 408 können ähnlich zu denen auf der Sendeseite 404 sein; aber die Verbindung von Komponenten kann in Bezug auf die Sendeseite 404 umgekehrt sein. Insbesondere können die Empfangs-Port-MACs 412 einen Datenstrom von den Port-PCSs 420 über die Übertragungsratenanpassungsschaltungen 416 zugeführt bekommen. Wiederum kann jede Übertragungsratenanpassungsschaltung 416 ein Paar von Empfangs-Port-MACs 412 haben, die damit verbunden sind. Eine erste Empfangs-Port-MAC 412 kann mit der Übertragungsratenanpassungsschaltung 416 unter Verwendung von XGMII kommunizieren, während die zweite Empfangs-Port-MAC 412 mit der Übertragungsratenanpassungsschaltung 416 unter Verwendung von GMII (z.B. 10M/100M/1G) kommunizieren kann. Mit anderen Worten, die Port-MACs 412, die mit einer bestimmten Übertragungsratenanpassungsschaltung 416 verbunden sind, können unterschiedliche Protokolle für die Kommunikation mit der Übertragungsratenanpassungsschaltung 416 verwenden, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird. Die Vielzahl von Port-PCSs 420 ist mit einer gemeinsamen Port-Multiplexer-(MUX)-und Framing-Schaltung 424 verbunden. Die Port-MUX- und Framing-Schaltung 424 kann so konfiguriert sein, dass sie verschiedene Datenpakete unter den verschiedenen Empfangs-Port-PCSs 420 verteilt. Die Port-MUX- und Framing-Schaltung 424 kann so konfiguriert sein, dass sie einen Datenstrom von einer SERDES-(Serialisierer/Deserialisierer)-Schaltung 428 empfängt, die mit einem Empfangseingang 432 verbunden ist. Somit kann jeder Datenstrom, der an dem Eingang 432 empfangen wird, zuerst von dem SERDES 428 verarbeitet werden und kann dann der Port-MUX- und Framing-Schaltung 424 zugeführt werden. Danach verteilt die Port-MUX- und Framing-Schaltung 424 den Datenverkehr unter den verschiedenen Port-PCSs 420.
  • Nun werden unter Bezugnahme auf 5 zusätzliche Einzelheiten eines Port-ASIC 504 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Der Port-ASIC 504 kann einem Sende-Port-ASIC 504 entsprechen und kann ähnlich zu oder identisch zu einem Port-ASIC 304, 316 und/oder einer TX MAC 204 sein, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird.
  • Der Sende-Port-ASIC 504 kann eine Anzahl von Komponenten einschließen, die die Übertragung von Datenströmen in Übereinstimung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung ermöglichen. Insbesondere kann der Sende-Port-ASIC 504 eine Vielzahl von Ports 508a-N zusammen mit einer Vielzahl von zusätzlichen Schaltungen, die dafür konfiguriert sind, Informationen von den verschiedenen Ports 508a-N zu verarbeiten, einschließen. Jeder der Ports 508a-N kann mit einer ersten Sende-(Tx)-MAC 512a und einer zweiten Tx MAC 512b versehen sein. Die erste Tx MAC 512a kann mit einer Replikationschaltung 520 direkt verbunden sein, wohingegen die zweite Tx MAC 512b mit der Replikationsschaltung 520 über eine Mapping-Schaltung 516 verbunden sein kann. Die Mapping-Schaltung 516 kann so konfiguriert sein, dass sie Eingänge von der zweiten Tx MAC 512b in ein Format mappt, das konsistent mit der ersten Tx MAC 512a ist. Als ein spezifischeres, aber nicht einschränkendes Beispiel kann die erste Tx MAC 512a XGMII-Protokolle verwenden, um mit der Replikationsschaltung 520 zu kommunizieren, wohingegen die zweite Tx MAC 512b 10M/10M/1G-Kommunikationsprotokolle oder irgendein anderes Kommunikationsprotokoll, das unterschiedlich zu der ersten Tx MAC 512a ist, verwenden kann.
  • Die Mapping-Schaltung 516 ermöglicht das Mapping des zweiten Protokolls auf das erste Protokoll. Genauer gesagt kann die Mapping-Schaltung 516 dafür konfiguriert sein, ein Protokoll-Mapping durchzuführen, das es der Replikationsschaltung 520 ermöglicht, Datenströme von beiden Tx MACs 512a, 512b in einem gemeinsamen Format (z.B. entweder dem ersten Protokollformat oder dem zweiten Protokollformat) zu empfangen. Als ein spezifischeres Beispiel kann die Mapping-Schaltung 516 dafür konfiguriert sein, Bezugstaktumwandlungen, Frequenzumwandlungen, eine Paketeinfügung, ein Paket entfernen oder Kombinationen davon durchzuführen, um das erste Protokoll auf das zweite Protokoll innerhalb jedes Ports 508a-N zu mappen.
  • Die Replikationsschaltung 520 kann dafür konfiguriert sein, eine Datenreplikation bei den Datenströmen durchzuführen, die von einer von oder von beiden von den Tx MACs 512a, 512b empfangen werden, um zu gewährleisten, dass Datenübertragungsraten von irgendeinem speziellen Port zu den Datenübertragungsraten von anderen Ports 508 passen. Insbesondere kann die Replikationsschaltung 520 Datenpakete, Blöcke, Bits oder andere Darstellungen von Daten von den Tx MACs 512a, 512b eine vorbestimmte Anzahl von Malen reproduzieren, um die Datenübertragungsrate je nachdem, wie dies angemessen ist, zu verlangsamen. In Übereinstimmung mit einigen Ausführungsformen kann die Replikationsschaltung 520 die Daten irgendwo von 10 bis 1000 Mal reproduzieren, was von dem/den verwendeten Kommunikationsprotokoll(en) abhängt.
  • Die Replikationsschaltung 520 führt ihre Ausgabe zu der PCS-Schicht 524 an jedem Port 508a-N zu. Die PCS-Schicht 524 kann die Daten innerhalb jedes Ports 508a-N codieren und dann Daten zu der Block-Verschachtelungs-(Interleave)-Schaltung 528 in Stapeln von einer vorbestimmten Größe (z.B. 64 Bit bis 66 Bit) in Abhängigkeit von dem verwendeten Protokoll senden. Jede PCS-Schicht 524 von jedem Port 508a-N führt ihre Ausgabe zu der Block-Verschachtelungs-Schaltung 528 zu. In einigen Ausführungsformen verschachtelt die Block-Verschachtelungs-Schaltung 528 die Daten, die sie von jedem der Ports 508a-N empfängt, in einer Rundlaufweise, beginnend mit dem ersten Port 508a, dann folgt der zweite Port 508b, bis dies den letzten Port 508N erreicht. Nachdem die Daten von dem letzten Port 508N verschachtelt worden sind, kehrt die Block-Verschachtelungs-Schaltung 528 zu dem ersten Port 508a zurück, um den nächsten Stapel von Daten von dort zu empfangen. Die Block-Verschachtelungs-Schaltung 528 ermöglicht es, dass Daten von mehreren Ports (z.B. 2, 4, 6, 8, ..., etc.) über eine einzige Leitung/ einen einzigen Draht übertragen werden können. Eine solche Architektur hilft dabei, die Größe eines IC-Chips zu minimieren, der verwendet wird, um eine solche Datenübertragung zu ermöglichen, und/oder um die Gesamt-Hardware-Kosten, die mit der Herstellung eines solchen IC-Chips verbunden sind, zu reduzieren.
  • Daten von jedem von den Ports 508a-N werden von der Block-Verschachtelungs-Schaltung 528 verschachtelt und dann einer Verwürfelungseinrichtungs-(Scrambler)-Schaltung 532 zugeführt, die einen Verwürfelungsvorgang (Scrambling Operation) bei allen von den empfangenen Daten durchführt. Die Verwürfelungseinrichtungs-Schaltung 532 wird verwendet, um die Daten zu verwürfeln und somit alle Daten von jedem von den Ports 508a-N so erscheinen zu lassen, als ob sie von einer einzigen MAC stammen.
  • Nach dem Verwürfelungsvorgang werden die verwürfelten Daten einer AM-Einfügungsschaltung 536 zugeführt. Der AM-Einfügungsprozess wird durchgeführt, um eine Portabgrenzung an der Empfangsseite des Datenübertragungssystems zu ermöglichen. In einigen Ausführungsformen manipuliert die AM-Einfügungsschaltung 536 den Datenstrom, der von der Verwürfelungeinrichtungs-Schaltung 532 empfangen wird, indem sie ein oder mehrere AM-Intervalle einfügt. Eine AM-Einfügung kann einmal pro einer vorbestimmten Anzahl von Blöcken stattfinden. So kann eine AM-Einfügung zum Beispiel alle 16400 Blöcke stattfinden. In einer Situation, in der der ASIC 504 vier Ports 508a, 508b, 508c, 508d (z.B., wobei N = 3) umfasst, wird die AM-Einftigungsschaltung 536 vier (4) AMs mit einem Abstand von 16400 Blöcken zwischen jeder AM einfügen.
  • Der Prozess des Einfügens von einer oder mehreren AMs in den Datenstrom kann zu einem Entfernen von einer oder von mehreren IPG-Spalten aus einem IPG-Intervall führen. Die Ausgabe der AM-Einfügungsschaltung 536 wird einer Getriebe-(Gearbox)-Schaltung 540 zugeführt, die dafür konfiguriert ist, die Daten schließlich für eine Übertragung über die Übertragungsleitung 552 in Übereinstimmung mit den Datenübertragungsraten, die für die Übertragungsleitung 552 definiert sind, in geeigneter Weise umzuwandeln. Das Getriebe 540 kann zum Beispiel einen Datenstrom oder eine Sammlung von Datenströmen, der bzw. die eine bestimmte Taktfrequenz und eine parallele Schnittstelle mit einer bestimmten Bitbreite hat bzw. haben, in eine andere Anzahl von Datenströmen umwandeln, die eine andere Taktfrequenz und eine andere Bitbreite haben. Die Übertragungsfrequenz, die für die Übertragungsleitung 552 (z.B. die MDI 232) verwendet wird, kann in Abhängigkeit von dem verwendeten Protokoll variieren.
  • Die Ausgabe des Getriebes 540 wird einem Übertragungspuffer 544 zugeführt, der die empfangenen Daten in geeigneter Weise zwischenspeichert, bis die Daten bereit sind für die Verarbeitung durch den SERDES 548. Der Übertragungspuffer 544 kann jedem Typ von bekanntem Datenpuffer entsprechen und kann jede Art von Pufferspeicher verwenden. In einigen Ausführungsformen entspricht der Übertragungspuffer 544 einem FIFO-Puffer und arbeitet auf einer FIFO-(First-in-First-Out; Zuerst herein, zuerst heraus)-Basis. Natürlich können auch andere Arten von Puffern verwendet werden, und es kann jede Art von Pufferspeichervorrichtung für den Übertragungspuffer 544 verwendet werden.
  • Der SERDES 548 ist dafür konfiguriert, die endgültigen Datenserialisierungsprozesse bei dem Datenstrom durchzuführen, der von dem Übertragungspuffer 544 empfangen wird. Der SERDES 548 kann eine oder mehrere Schaltungen wie etwa Schieberegisterschaltungen, Ausgleichsschaltungen, Verstärkerschaltungen, Digital-Analog-Wandler-Schaltungen, Analog-Digital-Wandler-Schaltungen, Filterschaltungen und/oder Daten-Latches umfassen. Die Ausgabe des SERDES 548 wird zu der Übertragungsleitung 552 für die Übertragung quer durch ein Kommunikationsnetzwerk 104 zugeführt.
  • Nun werden unter Bezugnahme auf 6 zusätzliche Einzelheiten eines Port-ASIC 604 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Der Port-ASIC 604 kann einem Empfangs-Port-ASIC 604 entsprechen und kann ähnlich zu oder identisch zu einem Port-ASIC 304, 316 sein.
  • Der Empfangs-Port-ASIC 604 kann eine Anzahl von Komponenten umfassen, die das Empfangen und das Verarbeiten von Datenströmen in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung ermöglichen. Insbesondere kann der Empfangs-Port-ASIC 604, sehr ähnlich wie der Sende-Port-ASIC 504, eine Vielzahl von Ports 608aN zusammen mit einer Vielzahl von zusätzlichen Schaltungen umfassen, die dafür konfiguriert sind, Informationen für die verschiedenen Ports 608a-N zu verarbeiten. Jeder von den Ports 608a-N kann mit einer ersten Empfänger-(Rx)-MAC 612a und einer zweiten Rx MAC 612b versehen sein. Die erste Rx MAC 612a kann mit einer Dereplikationsschaltung 620 direkt verbunden sein, wohingegen die zweite Rx MAC 612b mit der Dereplikationsschaltung 620 über eine Mapping-Schaltung 616 verbunden sein kann.
  • Jeder Port 608a-N ist auch so gezeigt, dass er eine IPG-Reparaturschaltung 622 umfasst. Die IPG-Reparaturschaltung 622 kann dafür konfiguriert sein, eine IPG-Reparaturfunktion durchzuführen, um bei der Korrektur von jeglichen Verletzungen der IPG-Intervallgröße zu helfen, die in den Datenstrom durch den AM-Einfügungsprozess eingeführt worden ist. In einigen Ausführungsformen ist die IPG-Reparaturschaltung 622 dafür konfiguriert, nach dem Erfassen, dass ein IPG-Intervall einen Mindestschwellenwertbetrag an IPG-Spalten verletzt hat (z.B. das Entfernen eines IPG, um den AM-Einfügungsprozess unterzubringen, was zu einem Entfernen von zu vielen IPG-Spalten unter Verletzung der Protokollbedingungen geführt hat), eine oder mehrere IPG-Spalten einzufügen. Die IPG-Reparaturschaltung 622 fügt eine geeignete Anzahl von IPG-Spalten ein, um den Datenstrom wieder zurück in Übereinstimmung mit dem verwendeten Kommunikationsprotokoll zu bringen, das verwendet worden ist, bevor der Datenstrom zu den MACs 612a, 612b zugeführt worden ist. Weitere Einzelheiten der Funktionalität der IPG-Reparaturschaltung 622 werden in Verbindung mit 7A bis 7C und 8 beschrieben werden. Obwohl 6 die IPG-Reparaturschaltung 622 so darstellt, dass diese zwischen der PCS-Schicht 624 und der Dereplikationsschaltung 620 positioniert ist, sollte es klar sein, dass die IPG-Reparaturschaltung 622 alternativ dazu auch oberhalb/hinter der Dereplikationsschaltung 620 positioniert sein kann. Mit anderen Worten, die IPG-Reparaturschaltung 622 kann zwischen der Dereplikationsschaltung 620 und der Mapping-Schaltung 616/den Rx MACS 612a, 612b positioniert sein.
  • Bestimmte Komponenten der Ports 608a-N können ähnlich zu ähnlich benannten Komponenten der Ports 508a-N sein, mit der Ausnahme, dass die Komponenten der Ports 608a-N in umgekehrter Reihenfolge verbunden sind, um eine umgekehrte Verarbeitung der Ports 508a-N durchzuführen. So mappt zum Beispiel die Mapping-Schaltung 616 das Kommunikationsprotokoll zurück zu dem zweiten Protokoll, wohingegen die Mapping-Schaltung 516 verwendet worden war, um das Kommunikationsprotokoll von dem zweiten Protokoll zu dem ersten Protokoll zu mappen (übereinstimmend mit dem Protokoll, das von der anderen MAC verwendet wurde). Als ein spezifischeres, aber nicht einschränkendes Beispiel kann die erste Rx MAC 612a XGMII-Protokolle verwenden, um mit der Dereplikationsschaltung 620 zu kommunizieren, wohingegen die zweite Rx MAC 612b 10M/100M/1G-Kommunikationsprotokolle oder irgendein anderes Kommunikationsprotokoll, das anders als das von der ersten Rx MAC 612a ist, verwenden kann. Somit kann die Mapping-Schaltung 616 das Protokoll zurück zu 10M/100M/1G ausgehend von dem XGMII-Protokoll mappen. Die Dereplikationsschaltung 620 kann die Replikation von Daten, die von der Replikationsschaltung 520 bereitgestellt wurde, rückgängig machen. In ähnlicher Weise kann die PCS-Schicht 624 die Codierung decodieren, die von der PCS-Schicht 524 durchgeführt worden war.
  • Wie oben erwähnt worden ist, ist der Hauptunterschied zwischen den Ports auf der Sendeseite und den Ports auf der Empfangsseite derjenige, dass die Ports auf der Empfangsseite eine IPG-Reparaturschaltung 622 umfassen, um dabei zu helfen, jegliche Situation zu korrigieren, in der ein IPG-Intervall zu wenige IPG-Spalten hat (z.B. einen Mindest-IPG-Größen-Schwellenwert verletzt). In einigen Ausführungsformen kann die Funktionalität der IPG-Reparaturschaltung 622 in der PCS 624 und/oder der Dereplikationsschaltung 620 integriert sein. Als ein nicht einschränkendes Beispiel kann eine gewisse Kombination aus der Dereplikationsschaltung 620, der IPG-Reparaturschaltung 622 und der PCS 624 dafür konfiguriert sein, Daten von der Block-Entschachtelungs-Schaltung 628 zu empfangen und vorübergehend zu speichern. Nach dem Empfangen eines Blocks von Daten kann ein Zähler verwendet werden, um mit dem Rückwärtszählen zu beginnen und um es der IPG-Reparaturschaltung 622 zu ermöglichen, nach IPG-Größenverletzungen zu suchen. Wenn eine Verletzung der Mindest-IPG-Intervallgröße erfasst wird, dann kann die IPG-Reparaturschaltung 622 das IPG-Intervall korrigieren, indem sie eine oder mehrere IPG-Spalten wieder zurück zu dem IPG-Intervall hinzufügt.
  • Unabhängig von jeglichen IPG-Reparatur-Korrektur-Ereignissen über eine spezifische Anzahl von Blöcken kann die IPG-Reparaturschaltung gewährleisten, dass die Schreib-/Lesezeiger-Beziehung (d.h. die Zeigertrennung) des FIFO innerhalb eine vernünftige Trennung aufrecht erhält, um eine Datenkorruption zu verhindern. Dies wird erreicht, indem ein IPG-Reparaturfenster-Zähler verwendet wird, der dazu dient, zwischen der IPG-Reparatur von verletzten IPG-Intervallen und der von der FIFO-Schreib-/Lesezeiger-Beziehung abzugrenzen. Der IPG-Fenster-Zähler ist auf einen vorab definierten anfänglichen Wert konfiguriert und wird um Eins dekrementiert, wenn ein Block von decodiertem Verkehr (z.B. ein XGMII-Wort) empfangen wird. Während der IPG-Reparaturfenster-Zähler nicht Null ist, erfassen und korrigieren die IPG-Reparaturschaltungen kontinuierlich alle IPG-Intervalle, die den Mindest-IPG-Schwellenwert verletzten. Wenn der IPG-Reparaturfenster-Zähler abläuft (z.B. zurück auf einen Wert von Null zählt), dann geht die IPG-Reparaturschaltung weiter zu dem Schreib-/Lesezeiger-Reparaturmodus. Während sie sich in diesem Modus befindet, wird sie so viele Blindspalten hinzufügen, wie notwendig ist, um die Schreib-/Lesezeiger-Beziehung auf einen vorab definierten Zeigertrennungswert einzustellen. Wenn dies erzielt ist, dann wird der IPG-Reparatur-Zähler zurück auf den vorab definierten anfänglichen Wert konfiguriert, wodurch bewirkt wird, dass die IPG-Reparaturschaltung den tatsächlichen Reparaturmodus wiederholt, d.h. kontinuierlich alle IPG-Intervalle erfasst und korrigiert, die den Mindest-IPG-Schwellenwert verletzen. (ANMERKUNG: Das Entfernen der AMs bewirkt eine Schreib-/Lese-FIFO-Taktfrequenzdifferenz, die bewirkt, dass die FIFO-Zeiger von ihrem anfänglichen Rücksetztrennungswert wegdriften. Außerdem wird das IPG-Reparieren von IPG-Intervallen, die den Mindestschwellenwert-Wert verletzen, auch bewirken, dass die FIFO-Zeiger-Beziehung angepasst wird). Für jede gegebene IPG-Reparaturfenster-Dauer gibt es drei mögliche Szenarien der zwei Modi der IPG-Reparaturschaltung: 1) Die IPG-Reparaturschaltung führt genügend IPG-Reparaturkorrekturen bei einer Anzahl N von verletzten IPG-Intervallen durch, so dass sich die Schreib-/Lese-FIFO-Zeiger-Beziehung in einem idealen Zustand befindet; 2) der Verkehr ist derart, dass es keine IPG-Intervalle gibt, die den Mindestschwellenwertbetrag verletzen (d.h. keine IPG-Korrekturen), wodurch bewirkt wird, dass der Schreib-/Lese-Zeiger-Reparaturmodus die Zeiger-Beziehung in Ordnung bringt; und 3) die IPG-Reparaturschaltung führt genügend IPG-Reparaturkorrekturen bei einer Anzahl N von verletzten IPG-Intervallen durch, aber der Schreib-/Lesezeiger-Reparaturmodus wird immer noch benötigt, um die restlichen kleinen Veränderungen bei der Zeigerbeziehung in Ordnung zu bringen.
  • Aber bevor jeder Port 608a-N Daten empfängt, sollte der Datenstrom, der auf der Empfangsleitung 656 empfangen wird, verarbeitet werden, um die Operationen umzukehren, die von den anderen Komponenten des Übertragungs-Port-ASIC 504 durchgeführt wurden. Insbesondere ist der Empfangs-Port-ASIC 604 so gezeigt, dass er einen SERDES 652, ein Getriebe (Gearbox) 648, einen Empfangspuffer 644, eine Synchronisierungsschaltung 640, eine AM-Drop-(Fallenlassen)-Schaltung 636, eine Entwürfelungseinrichtungs-(Descrambler)-Schaltung 632 und die Block-Entschachtelungs-(Deinterleave)-Schaltung 628 umfasst. Die Daten, die auf der Empfangsleitung 656 empfangen werden, werden von dem SERDES 652 deserialisiert (z.B. parallelisiert) und dann dem Getriebe 648 zugeführt, das das sogenannte „Übersetzungsverhältnis“ der Daten von der Empfangsleitung 656 auf eine geeignete Geschwindigkeit und Anzahl von Kanälen für die Verarbeitung durch die anderen Komponenten des ASIC 604 einstellt. Als ein nicht einschränkendes Beispiel kann das Getriebe 648 die Daten aus einem 32-Bit-Datenstrom zurück in einen 66-Bit-Datenstrom umwandeln (wohingegen das Getriebe 544 die Daten von einem 66-Bit-Datenstrom in einen 32-Bit-Datenstrom umgewandelt hat).
  • Die Ausgabe des Getriebes 648 wird dem Empfangspuffer 644 zugeführt, der in der Form eines FIFO-Puffers 644 vorliegen kann. In einigen Ausführungsformen ist der Empfangspuffer 644 ein asynchroner FIFO-Puffer, der als die Taktgrenze zwischen dem Netzwerk und dem Empfangs-Port-ASIC 604 dient und der dafür konfiguriert ist, unter Verwendung des Taktbereichs der PCS 624 zu arbeiten und nicht unter Verwendung des Netzwerk-Taktbereichs zu arbeiten.
  • Daten von dem Empfangspuffer 644 werden der Synchronisierungsschaltung 640 zugeführt. Die FIFO-Schaltung 644 verwendet den nicht verwürfelten Sync-Header der codierten/verwürfelten Nutzlast des empfangenen Blocks, um die Blockgrenze auszurichten. Der Block könnte zum Beispiel aus einem nicht verwürfelten 2-Bit-Sync-Header und einer verwürfelten 64-Bit-Nutzlast aufgebaut sein, was zu einem 66-Bit-Block führt. Außerdem befinden sich die periodisch eingefügten AMs in einem 66-Bit-Format, aber die gesamten 66 Bit von jeder der vier AMs sind nicht verwürfelt. Die Synchronisierungsschaltung 640 sucht nach den festen und periodisch eingefügten AMs und erfasst diese und setzt sich dort fest.
  • In einigen Ausführungsformen kann eine AM einen 2-Bit-Synchronisations-Header aufweisen, der ein vorbestimmtes Format (z.B. eine „01“ oder „10“) hat, das dabei hilft, zu gewährleisten, dass die Grenzen von codierten Daten korrekt aufrecht erhalten werden, und um die Portabgrenzung zu ermöglichen. Die AMs, die an der Sendeseite eingefügt werden, werden an der Sendeseite nicht codiert, und deshalb stellen sie einen schnellen und effektiven Mechanismus zur Identifizierung von Grenzen von Daten bereit, die von verschiedenen Sende-Ports 508a-N empfangen werden (schließlich für eine Zuweisung zu entsprechenden Empfangs-Ports 608a-N). Nachdem die Synchronisierungsschaltung 640 die empfangenen Daten verarbeitet hat, entfernt die AM-Drop-Schaltung 636 diejenigen AMs, die vorher durch die AM-Einfügungsschaltung 536 eingefügt worden sind, wodurch nur die codierten Daten für die weitere Verarbeitung zurückbleiben.
  • Der Datenstrom wird dann durch die Entwürfelungseinrichtungs-Schaltung 632 entwürfelt. In einigen Ausführungsformen wendet die Entwürfelungseinrichtungs-Schaltung 632 einen Umkehralgorithmus zu dem Verwürfelungsalgorithmus an, der von der Verwürfelungseinrichtungs-Schaltung 532 angelegt worden war. Die entwürfelten Daten werden dann durch die Block-Entschachtelungseinrichtungs-Schaltung 628 entschachtelt. Die Block-Entschachtelungseinrichtungs-Schaltung 628 verteilt die Daten aus einem einzigen Strom auf die Vielzahl von Ports 608a-N. Die Datenverteilung unter den Ports 608a-N kann in einer Rundlaufweise stattfinden (die dem Verschachtelungsprozess folgt, der an der Sendeseite durchgeführt wird), ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird.
  • Jeder Port 608a-N empfängt Daten von der Block-Entschachtelungseinrichtungs-Schaltung 628 und verwendet die PCS-Schicht 624, um die Daten zu decodieren, bevor er die decodierten Daten in die IPG-Reparaturschaltung 622 und dann in die Dereplikationsschaltung 620 platziert. An diesem Punkt werden die Daten zu den unterschiedlichen Rx MACs 612a, 612b in Abhängigkeit davon zugeführt, welches Protokoll aktuell an jedem Port 608a-N verwendet wird. Somit kann jeder Port 608a-N mehrere Protokolle unterstützen, ohne dass von dem Schutzumfang der vorliegenden Offenbarung abgewichen wird. Die Daten, die zu der passenden Rx MAC 612a, 612b zugeführt werden, können ähnlich zu oder identisch zu den Daten sein, die von der entsprechenden Tx MAC 512a, 512b eines entsprechenden Ports 508a-N zugeführt worden sind.
  • Nun werden unter Bezugnahme auf 7A bis 7C und 8 weitere Einzelheiten der Operation der IPG-Reparaturschaltung 622 in Übereinstimmung mit mindestens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben werden. Insbesondere wird ein Verfahren 800 zum Durchführen einer IPG-Reparaturfunktion unter Bezugnahme auf einen veranschaulichenden Datenstrom 700, der eine Vielzahl von Blöcken hat, beschrieben werden.
  • Das Verfahren 800 beginnt damit, dass die IPG-Reparaturschaltung 622 eine Analyse von ankommenden Blöcken bei dem Datenstrom 700 durchführt (Schritt 804). Die IPG-Reparaturschaltung 622 stellt fest, ob ein IPG-Reparaturfenster-Zähler von einem vorbestimmten Wert nach unten auf Null dekrementiert worden ist (Schritt 808). Wenn der IPG-Reparaturfenster-Zähler abgelaufen ist (z.B. die Frage von Schritt 808 bejahend beantwortet wird), dann stellt die IPG-Reparaturschaltung 622 fest, ob ein IPG-Intervall in einem Block 712 des Datenstroms 700 erfasst wird (Schritt 812). Wenn nicht, dann kehrt das Verfahren 800 zu dem Schritt 804 zurück. Wenn doch, dann geht das Verfahren weiter, wobei die IPG-Reparaturschaltung 622 eine oder mehrere Blindspalte(n) einfügt, um eine Schreib-/Lese-FIFO-Zeiger-Trennung in Ordnung zu bringen (Schritt 816). Dann setzt die IPG-Reparaturschaltung 622 einen IPG-Reparaturfenster-Zähler zurück auf den anfänglichen vorab definierten Wert (Schritt 820).
  • Unter Rückbezug auf Schritt 808 fährt das Verfahren 800 dann, wenn die IPG-Reparaturschaltung den IPG-Reparaturfenster-Zähler nicht vollständig dekrementiert hat, damit fort, dass die IPG-Reparaturschaltung 622 den IPG-Reparaturfenster-Zähler um einen vorbestimmten Wert (z.B. Eins) dekrementiert (Schritt 824). Danach fährt das Verfahren 800 damit fort, dass die IPG-Reparaturschaltung 622 feststellt, ob ein IPG-Intervall erfasst worden ist (Schritt 828). Alternativ oder zusätzlich dazu (im Schritt 828 und/oder Schritt 812) kann die IPG-Reparaturschaltung 622 nach anderen Arten von Datenblöcken 712 oder Spalten 716 innerhalb des Datenstroms 700 in Verbindung mit der Suche nach einer IPG-Intervall-Verletzung suchen. Wenn kein IPG-Intervall oder irgendeine andere Art von einem vorbestimmten Datenblock 712 oder einer vorbestimmten Spalte 716 erfasst wird, dann kehrt das Verfahren zum Schritt 804 zurück.
  • Wie in 7C gezeigt ist, kann jeder Datenblock 712 auch als eine Datenspalte 716 repräsentiert werden. Eine Datenspalte 716 kann eine Vielzahl von Zeilen 720a, 720b, 720c, 720d umfassen. Jede andere Art von Datenspalte 716 kann andere Zeilen von Daten haben. Als ein nicht einschränkendes Beispiel kann ein XGMII-Verkehr vier Achtbitzeichen pro Datenblock 712 aufweisen. Mit anderen Worten, vier Achtbitzeichen können eine XGMII-Schnittstelle bilden, die alternativ auch als eine XGMII-Spalte 716 bezeichnet werden kann. Unter Fortsetzung des nicht einschränkenden Beispiels umfasst ein Starterblock „S“ ein Starterzeichen „/S/“ in der ersten Zeile 720a, gefolgt von drei Zeilen von Daten-„/d/“-Zeichen. Der Starterblock „Sa“ stellt eine Ausgabe der Replikation 520 des Starterblocks „S“ dar und umfasst eine Kennung „aa“ in der ersten Zeile 720a, auf die drei Reihen von Daten-„/d/“-Zeichen folgen. Ein Datenspaltenblock „D“ umfasst vier Zeilen von Daten-„/d/“-Zeichen. Ein Leerlaufblock „I“ umfasst vier Leer-(Idle)-„/I/“-Zeichen. Ein Abschlussblock „T“ kann in vier verschiedenen Varianten vorgesehen sein. Ein Abschlussblock „T“ ist vorgesehen, um ein Ende eines Satzes von Datenblöcken zu repräsentieren, die zu einem gemeinsamen Datensatz (z.B. einem Datenpaket) gehören. Wenn alle Daten für ein Datenpaket gleichmäßig mit nur Datenspalten gefüllt werden können, dann kann die erste Abschlussspalte T0 verwendet werden. Die erste Abschlussspalte T0 stellt keine zusätzlichen Daten für das Datenpaket bereit, das in den vorhergehenden Datenblöcken repräsentiert ist. Somit umfasst die erste Abschlussspalte T0 ein Abschluss-„/T/“-Zeichen in der ersten Zeile 720a, auf das drei Leer-„/I/“-Zeichen folgen. Somit sieht die erste Abschlussspalte T0 inhärent drei Leer-„/I/“-Zeichen vor, bevor der vorangehende Leerlaufblock zusätzliche vier Leer„/I/“-Zeichen vorsehen wird. Die zweite Abschlussspalte T1 enthält ein zusätzliches Datenzeichen in der ersten Zeile 720a und umfasst dann das Abschluss-„/T/“-Zeichen in der zweiten Zeile 720b, gefolgt von zwei Leer-„/I/“-Zeichen. Die dritte Abschlussspalte T2 enthält zwei zusätzliche Datenzeichen in den ersten und zweiten Zeilen 720a, 720b und umfasst dann das Abschluss„/T/“-Zeichen in der dritten Zeile 720c, gefolgt von einem einzigen Leer-„/I/“-Zeichen. Schließlich enthält die vierte Abschlussspalte T3 drei zusätzliche Datenzeichen in den ersten drei Zeilen 720a, 720b, 720c, gefolgt von einem Abschluss-„/T/“-Zeichen in der vierten Zeile 720d.
  • Auf der Basis des Formats von Abschlussspalten können die meisten Kommunikationsprotokolle es erfordern, dass mindestens zwei Leerlaufblöcke auf einen Abschlussblock folgen. Mit anderen Worten, ein Leerlaufblock repräsentiert eine IPG-Größe von 4 Byte (aufgrund der Tatsache, dass die vier Leer-„/I/“-Zeichen darin vorgesehen sind). Wenn ein Kommunikationsprotokoll zum Beispiel eine Mindest-IPG-Intervallgröße von 9 Byte hat, dann sollten auf jeden Abschlussblock „T“ mindestens zwei Leerlaufblöcke folgen (z.B. zwei IPG-Spalten, die inhärent acht Bytes an Leer-„/I/“-Zeichen vorsehen). Es sollte klar sein, dass ein IPG-Intervall größer als das Minimum sein kann (z.B. wenn kein Datenverkehr für einige Zeit zwischen aufeinanderfolgenden Paketen existiert), aber die Mindest-IPG-Intervallgröße wird verwendet, um eine Mindestanzahl von IPG-Spalten (oder eine Mindestgröße von IPG, gemessen in Byte) so zu definieren, dass diese nicht kleiner als ein vorbestimmter minimaler Wert ist.
  • Unter Rückbezug auf das Verfahren 800 wird die IPG-Reparaturschaltung 622 dann, wenn die IPG-Reparaturschaltung 622 ein IPG-Intervall 704 beim Schritt 828 (oder einen Leerlaufblock „I“ oder Abschlussblock „T“) erfasst, weitermachen, indem sie feststellt, ob eine IPG-Verletzung innerhalb des IPG-Intervalls 704 erfasst worden ist (Schritt 832). Insbesondere dann, wenn die IPG-Reparaturschaltung 622 erfasst, dass weniger als eine vorbestimmte Mindestanzahl von Leerzeichen (oder IPG-Spalten) in aufeinanderfolgenden Blöcken vorhanden ist, oder dass auf einen Abschlussblock „T“ nicht mindestens zwei Leerlaufblöcke „I“ folgen, um eine vorbestimmte IPG-Größe zu unterstützen, wird die IPG-Reparaturschaltung 622 dann den Prozess des Reparierens des Datenstroms 700 beginnen, um den Strom 700 zurück in Ubereinstimung mit den IPG-Intervall-Bedingungen zu bringen (Schritt 836). Als ein nicht einschränkendes Beispiel kann ein bzw. eine oder mehrere Leerlaufblöcke/Spalten 708 in den Datenstrom 700 eingefügt werden, um das IPG-Intervall 704 zu reparieren, das als die IPG-Intervall-Bedingungen des Kommunikationsprotokolls verletzend erfasst wurde. In einigen Ausführungsformen repräsentiert der Abschlussblock „T“ den Start des IPG-Intervalls. Solange eine vorbestimmte Anzahl von Leerzeichen innerhalb des Abschlussblocks „T“ und von direkt darauf folgenden Leerlaufblöcken „I“ vorgesehen sind, können die IPG-Intervall-Bedingungen erfüllt werden. Aber wenn eine AM-Einfügung oder irgendein anderer Prozess zu dem Entfernen von einem der Leerlaufblöcke „I“ geführt hat, dann ist die IPG-Reparaturfunktion 622 mit der Fähigkeit versehen, einen oder mehrere Leerlaufblöcke „I“ zurück einzufügen oder zurück hinzuzufügen, um den Datenstrom 700 zurück in Übereinstimmung mit den IPG-Intervall-Bedingungen zu bringen.
  • Es wurden in der Beschreibung spezifische Einzelheiten angegeben, um ein umfassendes Verständnis der Ausführungsformen bereitzustellen. Aber es wird von einem Durchschnittsfachmann auf dem Gebiet verstanden werden, dass die Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen können allgemein bekannte Schaltungen, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötige Einzelheiten gezeigt sein, um zu vermeiden, dass die Ausführungsformen undeutlich werden.
  • Obwohl veranschaulichende Ausführungsformen der Offenbarung hier im Einzelnen beschrieben worden sind, soll es klar sein, dass die erfindungsgemäßen Konzepte auf andere Weise verschiedentlich verkörpert und verwendet werden können, und dass die angehängten Ansprüche so ausgelegt werden sollen, dass sie solche Variationen einschließen, mit Ausnahme dessen, wie dies vom Stand der Technik beschränkt ist.

Claims (10)

  1. Kommunikationsvorrichtung, die Folgendes aufweist: mindestens einen Datenport (608a, ..., 608N), der dafür konfiguriert ist, das Empfangen von Daten, die quer durch ein Kommunikationsnetzwerk übertragen werden, in Übereinstimmung mit einem Kommunikationsprotokoll zu ermöglichen; und eine IPG-(Interpacket Gap)-Reparaturschaltung (622), die dafür konfiguriert ist, ein IPG-Intervall innerhalb eines Datenstroms zu erfassen (828), das eine IPG-Intervall-Bedingung verletzt (832), die von dem Kommunikationsprotokoll definiert ist, wobei das Erfassen erfolgt, indem eine Anzahl von Leerzeichen in einem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist, verglichen wird, und in Reaktion auf das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, eine IPG-Reparatur bei dem Datenstrom durchzuführen und das IPG-Intervall in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen (836).
  2. Kommunikationsvorrichtung nach Anspruch 1, wobei die IPG-Reparaturschaltung (622) das IPG-Intervall, das die IPG-Intervall-Bedingung verletzt, erfasst, indem sie den Datenstrom nach dem Abschlussblock durchsucht.
  3. Kommunikationsvorrichtung nach Anspruch 2, wobei die IPG-Reparaturschaltung (622) des Weiteren das IPG-Intervall, das die IPG-Intervall-Bedingung verletzt, erfasst, indem sie die Anzahl von Leerlaufblöcken zählt, die direkt auf den Abschlussblock folgen.
  4. Kommunikationsvorrichtung nach Anspruch 1, die eine Ausrichtungsmarkierungs-(AM; Alignment Marker)-Einfügungsschaltung aufweist, die dafür konfiguriert ist, mindestens einen Leerlaufblock zu entfernen und den entfernten mindestens einen Leerlaufblock durch eine Ausrichtungsmarkierung zu ersetzen.
  5. Kommunikationsvorrichtung nach Anspruch 1, wobei die IPG-Reparaturschaltung (622) die IPG-Reparatur bei dem Datenstrom durchführt, indem sie eine ausreichende Anzahl von Leerzeichen, die auf den Abschlussblock folgen, hinzufügt, so dass diese gleich groß wie oder größer als die vorbestimmte Mindestanzahl von Leerzeichen ist.
  6. Kommunikationsvorrichtung nach Anspruch 5, wobei die IPG-Reparaturschaltung (622) dafür konfiguriert ist, mindestens einen Leerlaufblock direkt vor oder direkt nach dem Leerlaufblock hinzuzufügen, der direkt auf den Abschlussblock folgt.
  7. Kommunikationsvorrichtung nach Anspruch 6, wobei der mindestens eine Leerlaufblock vier Leerzeichen enthält.
  8. Kommunikationsvorrichtung nach Anspruch 1, wobei die IPG-Reparaturschaltung (622) dafür konfiguriert ist, die IPG-Reparatur bei dem Datenstrom durchzuführen, indem sie ein oder mehrere IPG-Intervalle zu dem Datenstrom hinzufügt.
  9. Verfahren zum Durchführen einer IPG-(Interpacket Gap)-Reparaturfunktion bei einem Datenstrom, wobei das Verfahren die folgenden Schritte umfasst: Analysieren des Datenstroms (804); Erfassen (828) eines IPG-(Interpacket Gap)-Intervalls innerhalb des Datenstroms, das eine IPG-Intervall-Bedingung verletzt (832), die von einem Kommunikationsprotokoll definiert ist, das für das Kommunizieren von Daten innerhalb des Datenstroms verwendet wird, wobei das Erfassen erfolgt, indem eine Anzahl von Leerzeichen in einem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist, verglichen wird; und in Reaktion auf das Erfassen des IPG-Intervalls, das die IPG-Intervall-Bedingung verletzt, das Durchführen eines IPG-Reparaturprozesses bei dem Datenstrom, um das IPG-Intervall in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen (836).
  10. Datenübertragungssystem, das Folgendes aufweist: einen ersten Port (608a), der Folgendes aufweist: eine erste MAC (612a), die dafür konfiguriert ist, gemäß einem ersten Kommunikationsprotokoll zu arbeiten; eine zweite MAC (612b), die dafür konfiguriert ist, gemäß einem zweiten Kommunikationsprotokoll zu arbeiten, das sich von dem ersten Kommunikationsprotokoll unterscheidet; und eine Mapping-Schaltung (616), die dafür konfiguriert ist, Daten für die zweite MAC (612b) von dem ersten Kommunikationsprotokoll in das zweite Kommunikationsprotokoll zu übersetzen; einen zweiten Port (608N), der Folgendes aufweist: eine dritte MAC, die dafür konfiguriert ist, gemäß dem ersten Kommunikationsprotokoll zu arbeiten; eine vierte MAC, die dafür konfiguriert ist, gemäß dem zweiten Kommunikationsprotokoll zu arbeiten; und eine zweite Mapping-Schaltung, die dafür konfiguriert ist, Daten für die vierte MAC von dem ersten Kommunikationsprotokoll in das zweite Kommunikationsprotokoll zu übersetzen; eine Block-Entschachtelungseinrichtungs-Schaltung (628), die dafür konfiguriert ist, Daten zwischen dem ersten Port und dem zweiten Port zu verteilen; und eine IPG-(Interpacket Gap)-Reparaturschaltung (622), die dafür konfiguriert ist, einen Daten-strom zu analysieren, der von der Block-Entschachtelungseinrichtungs-Schaltung (628) ausgegeben wird, um festzustellen, ob ein Entfernen von mindestens einem Leerlaufblock bewirkt, dass der Datenstrom die Übereinstimmung mit einer IPG-Intervall-Bedingung des ersten Kommunikationsprotokolls nicht mehr einhält, wobei das Feststellen erfolgt, indem eine Anzahl von Leerzeichen in einem Abschlussblock und in den Leerlaufblöcken, die direkt auf den Abschlussblock folgen, mit einer vorbestimmten Mindestanzahl von Leerzeichen, die von dem Kommunikationsprotokoll definiert ist, verglichen wird, und dann einen Leerlaufblock einzufügen, um den Datenstrom wieder zurück in Übereinstimmung mit der IPG-Intervall-Bedingung zu bringen.
DE102019003979.3A 2018-06-20 2019-06-05 System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle Active DE102019003979B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/012,980 2018-06-20
US16/012,980 US11082539B2 (en) 2018-06-20 2018-06-20 System and method for performing interpacket gap repair for lossy protocols

Publications (2)

Publication Number Publication Date
DE102019003979A1 DE102019003979A1 (de) 2019-12-24
DE102019003979B4 true DE102019003979B4 (de) 2022-02-24

Family

ID=68805959

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019003979.3A Active DE102019003979B4 (de) 2018-06-20 2019-06-05 System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle

Country Status (3)

Country Link
US (1) US11082539B2 (de)
CN (1) CN110620809B (de)
DE (1) DE102019003979B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128742B2 (en) * 2019-03-08 2021-09-21 Microsemi Storage Solutions, Inc. Method for adapting a constant bit rate client signal into the path layer of a telecom signal
US11916662B2 (en) 2021-06-30 2024-02-27 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a fixed number of idle blocks for transmission over a metro transport network (MTN)
US11838111B2 (en) 2021-06-30 2023-12-05 Microchip Technology Inc. System and method for performing rate adaptation of constant bit rate (CBR) client data with a variable number of idle blocks for transmission over a metro transport network (MTN)
US11736065B2 (en) 2021-10-07 2023-08-22 Microchip Technology Inc. Method and apparatus for conveying clock-related information from a timing device
US11799626B2 (en) 2021-11-23 2023-10-24 Microchip Technology Inc. Method and apparatus for carrying constant bit rate (CBR) client signals

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849970A (en) 1988-05-19 1989-07-18 Advanced Micro Devices, Inc. Smoothing apparatus for an independently clocked network
US4878219A (en) 1988-04-28 1989-10-31 Digital Equipment Corporation Method and apparatus for nodes in network to avoid shrinkage of an interframe gap

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226290B1 (en) * 1998-04-28 2001-05-01 Nortel Networks Limited Method and apparatus for adjusting an interpacket gap using a network device in a data communications network
US7089485B2 (en) * 2000-02-03 2006-08-08 Agere Systems Inc. Simple link protocol providing low overhead coding for LAN serial and WDM solutions
US6768841B2 (en) * 2001-03-16 2004-07-27 Metrophotonics Inc. Integrated optical interleaver/de-interleaver
US8649398B2 (en) * 2011-03-14 2014-02-11 Xilinx, Inc. Packet network interface apparatus and method
US9628396B2 (en) * 2013-07-11 2017-04-18 Mediatek Inc. Network device and method for outputting data to bus with data bus width at each cycle by generating end of packet and start of packet at different cycles
US9544237B1 (en) * 2013-10-23 2017-01-10 Marvell International Ltd. Method and apparatus for inserting idle bytes in a data stream
US9483209B2 (en) * 2014-09-22 2016-11-01 Freescale Semiconductor, Inc. Interface system and method
CN107925557B (zh) * 2015-06-30 2020-11-06 Macom 连接解决有限公司 用于数据流的速率适配版本的识别码字
US10038450B1 (en) * 2015-12-10 2018-07-31 Xilinx, Inc. Circuits for and methods of transmitting data in an integrated circuit
CN107786299B (zh) * 2016-08-25 2021-06-08 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878219A (en) 1988-04-28 1989-10-31 Digital Equipment Corporation Method and apparatus for nodes in network to avoid shrinkage of an interframe gap
US4849970A (en) 1988-05-19 1989-07-18 Advanced Micro Devices, Inc. Smoothing apparatus for an independently clocked network

Also Published As

Publication number Publication date
CN110620809B (zh) 2022-06-10
CN110620809A (zh) 2019-12-27
DE102019003979A1 (de) 2019-12-24
US20190394309A1 (en) 2019-12-26
US11082539B2 (en) 2021-08-03

Similar Documents

Publication Publication Date Title
DE102019003979B4 (de) System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle
DE60018559T2 (de) Verfahren und vorrichtung für eine multi-gigabit ethernet architektur
DE4228316C2 (de) Adapter für Übertragungsleitungen unter Verwendung von HDLC-Rahmen
DE2837214C2 (de)
DE3687133T2 (de) Schaltung und verfahren zur geschwindigkeitsanpassung fuer asynchrone daten in digitalen netzwerken.
DE102015209196A1 (de) Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmern eines Bussystems
DE2838757A1 (de) Schnittstellenschaltung fuer zeitmultiplexleitungen von nachrichtenvermittlungsanlagen
EP3864780B1 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
EP0408130A2 (de) Anordnung zur Bitratenanpassung zweier Signale
DE102019003978A1 (de) System und verfahren zum ermöglichen von verlustfreien interpacket gaps für verlustbehaftete protokolle
DE60038589T2 (de) Verfahren und Einrichtung zur Steuerung der Synchronisation zwischen zwei seriellen Kommunikationsbussen eines Netzes
DE2707820B2 (de) Datenverarbeitungsanlage
DE3881621T2 (de) Jitterregelung in digitalen uebertragungsstrecken.
DE3328834C2 (de)
EP3744021B1 (de) Teilnehmerstation für ein serielles kommunikationsnetzwerk und verfahren zur korrektur von einzelfehlern in einer nachricht eines seriellen kommunikationsnetzwerks
DE102017002804B4 (de) Koppler für ein Automatisierungssystem
DE3616556C2 (de) Schaltungsanordnung zum ermitteln des synchronzustandes einer datenuebertragungsanlage
EP0802646A2 (de) Fehlerrobustes Multiplexverfahren mit HEADER-Kontrollfeld
DE4123007C2 (de) Verfahren und Anordnung zur Anpassung von Datenraten
DE102019121506A1 (de) Filter und Verfahren zum Verarbeiten eines Eingangssignals
WO2018215285A1 (de) Eingebettete zyklische redundanzprüfungswerte
DE4038561A1 (de) Verfahren zur getakteten korrelations- und signalverarbeitung mittels risc-prozessor fuer drahtlose empfaenger in von sendern ausgestrahlten digitalen rahmennetzen, mobilfunknetzen und gleichwertigen einrichtungen und vorrichtung hierzu
DE102008004819B4 (de) Schaltung und Verfahren zur Detektion von Netzknotenalterung in Kommunikationsnetzen
DE602004009310T2 (de) System und verfahren zur kommunikation über einen bus
DE3223878A1 (de) Digitale koppeleinrichtung fuer lokale netze

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

R020 Patent grant now final