DE60316680T2 - Busumsetzungseinrichtung, system und verfahren - Google Patents

Busumsetzungseinrichtung, system und verfahren Download PDF

Info

Publication number
DE60316680T2
DE60316680T2 DE60316680T DE60316680T DE60316680T2 DE 60316680 T2 DE60316680 T2 DE 60316680T2 DE 60316680 T DE60316680 T DE 60316680T DE 60316680 T DE60316680 T DE 60316680T DE 60316680 T2 DE60316680 T2 DE 60316680T2
Authority
DE
Germany
Prior art keywords
data frame
mii
bytes
data
xgmii
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60316680T
Other languages
English (en)
Other versions
DE60316680D1 (de
Inventor
Harlan McDade BEVERLY
Percy Austin WONG
Bradley Austin BOOTH
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 DE60316680D1 publication Critical patent/DE60316680D1/de
Application granted granted Critical
Publication of DE60316680T2 publication Critical patent/DE60316680T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone

Description

  • Gebiet:
  • Der hier offenbarte Gegenstand betrifft das Übertragen von Daten gemäß einem Datenübertragungsformat. Insbesondere betrifft der hier offenbarte Gegenstand das Übertragen von Daten zwischen unterschiedlichen Datenübertragungsformaten.
  • Information:
  • Datenübertragungsprotokolle definieren typisch, wie Daten in einem Datenlink zu übertragen sind. Ein Datenübertragungsprotokoll kann zum Beispiel ein Format für einen Daten-Frame definieren, der zu übertragen ist, sowie Datenraten zum Übertragen von Daten-Frames in Datenlinks. Da sich die Datenlink-Kommunikationsprotokolle weiterentwickeln, kann die Datenübertragung von einer Quelle zu einem Zielort das Übertragen von Daten-Frames auf Datenlinks aufweisen, die Daten gemäß unterschiedlichen Datenübertragungsprotokollen übertragen. Ein Kommunikationspfad, der Daten zwischen der Quelle und dem Zielort überträgt, weist typisch mehrere Datenlinks auf, wobei die unterschiedlichen Datenlinks in der Kommunikation Daten-Frames gemäß unterschiedlichen Datenübertragungsprotokollen übertragen.
  • US-A-6 064 674 beschreibt ein Verfahren und ein Gerät für Material zum Weiterleiten von LAN-Frames über ATM-Netze in Zusammenhang mit den Merkmalen des Oberbegriffs der unabhängigen Ansprüche. EP-A2-0 300 350 und US-A-561 002 beschreiben Datenkommunikationssysteme in Zusammenhang mit dem technischen Hintergrund der Erfindung.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Nicht einschränkende Ausführungsformen, die keinen Anspruch auf Vollständigkeit erheben, der vorliegenden Erfindung werden unter Bezugnahme auf die folgenden Figuren beschrieben, wobei gleiche Bezugszeichen gleiche Teile in allen verschiedenen Figuren bezeichnen, außer wenn anders angegeben.
  • 1 zeigt eine Schnittstelle zwischen zwei medienunabhängigen Schnittstellen (MIIs) gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames, die an einer GigabitMII (GMII) empfangen werden, zu einer 10-Gigabit-MII (XGMII) gemäß einer Ausführungsform der in 1 gezeigten Schnittstelle.
  • 3 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames, die an einer XGMII empfangen werden, zu einem GMII gemäß einer Ausführungsform der in 1 gezeigten Schnittstelle.
  • 4 zeigt eine Ausführungsform der vorliegenden Erfindung, die eine XGMII aufweist, die zum Kommunizieren mit mehreren GMIIs, die eine GMII enthalten, zu der XGMII-Schnittstelle, wie in 1 gezeigt gekoppelt ist.
  • 5 zeigt eine alternative Ausführungsform der vorliegenden Erfindung, die eine XGMII aufweist, die zum Kommunizieren mit mehreren GMIIs, die eine GMII aufweisen, zu der XGMII-Schnittstelle wie in 1 gezeigt gekoppelt ist.
  • 6 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames von mehreren GMIIs zu einer einzelnen XGMII gemäß einer der alternativen Ausführungsformen, die in den 4 und 5 gezeigt sind.
  • 7 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames von einer einzelnen XGMII zu mehreren GMIIs gemäß einer der alternativen Ausführungen, die in den 4 und 5 gezeigt sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wenn in dieser Spezifikation auf „eine Ausführungsform" oder „irgendeine Ausführungsform" Bezug genommen wird, bedeutet das, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristik, die in Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Steht daher der Satz „in einer Ausführungsform" oder „in einer beliebigen Ausführungsform" an verschiedenen Stellen in dieser Spezifikation, bezieht er sich nicht notwendigerweise auf die gleiche Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristiken in einer oder mehreren Ausführungsformen kombiniert sein.
  • „Logik", wie hier erwähnt, betrifft eine Struktur zum Ausführen einer oder mehrerer logischer Operationen. Zum Beispiel kann die Logik Schaltungen aufweisen, die ein oder mehrere Ausgangssignale basierend auf einem oder mehreren Eingangssignalen bereitstellen. Derartige Schaltungen können einen endlichen Automaten aufweisen, der einen digitalen Eingang empfängt und einen digitalen Ausgang bereitstellt, oder Schaltungen, die ein oder mehrere analoge Ausgangssignale als Reaktion auf ein oder mehrere analoge Eingangssignale bereitstellt. Derartige Schaltungen können in einer anwendungsspezifischen integrierten Schaltung (ASIC) oder einem feldprogrammierbaren Gate-Array (FPGA) bereitgestellt werden. Logik kann auch maschinenausführbare Anweisungen enthalten, die in einem Speicher kombiniert mit Verarbeitungsschaltkreisen zum Ausführen solcher maschinenlesbarer Anweisungen gespeichert sind. Es handelt sich hier aber nur um Beispiele für Strukturen, die Logik bereitstellen können, und die Ausführungsformen der vorliegenden Erfindung sind diesbezüglich nicht eingeschränkt.
  • Eine „medienunabhängige Schnittstelle" (MII), wie sie hier verwendet wird, betrifft eine Schnittstelle zum Empfangen von Daten von einer Quelle oder zum Übertragen von Daten zu einem Zielort in einem Format, das von einem bestimmten Übertragungsmedium zum Übertragen der Daten unabhängig ist. Ein Daten-Transceiver kann zum Beispiel Daten zu einem Übertragungsmedium in einem Datenübertragungsformat als Reaktion auf die an einer MII empfangenen Daten übertragen. Ein Daten-Transceiver kann auch Daten zu einer MII als Reaktion auf den Empfang von Daten von einem Übertragungsmedium in einem Datenübertragungsformat bereitstellen. Eine „Gigabit-MII" (GMII), wie sie hier verwendet wird, betrifft eine MII, die Daten von einer Quelle empfangen oder Daten zu einem Zielort mit einer Datenrate von etwa einem Gigabit pro Sekunde übertragen kann. Eine "10-Gigabit-MII" (XGMII), wie sie hier erwähnt wird, betrifft eine MII, die Daten von einer Quelle empfangen oder Daten zu einem Zielort mit einer Datenrate von etwa zehn Gigabit pro Sekunde übertragen kann. Es handelt sich hier bloß um Beispiele für eine MII, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Eine „Extended Attachment Unit Interface", wie sie hier erwähnt wird, betrifft einen Datenlink, der Daten zwischen einer MII und einem Daten-Transceiver übertragen kann. Eine 10-Gigabit Extended Attachment Unit Interface (XAUI), wie sie hier erwähnt wird, betrifft einen Datenlink, der Daten zwischen einer XGMII und einem Daten-Transceiver übertragen kann. Weitere Extended Attachment Unit Interfaces können für höhere Datenraten definiert werden, wie zum Beispiel 40 oder 100 Gigabit pro Sekunde.
  • Ein „Datenbyte", wie es hier erwähnt wird, betrifft eine fixe Menge von Daten, wie zum Beispiel acht Bits. Ein „Datenwort", wie es hier erwähnt wird, betrifft eine Menge von Daten, die eine ganze Zahl zusammengehören der Datenbytes enthält. Es sind dies bloße Beispiele für ein Datenbyte und ein Datenwort, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Ein „Daten-Frame", wie er hier verwendet wird, betrifft eine Menge von Daten, die von einer Quelle zu einem Zielort gemäß einem Datenübertragungsprotokoll übertragen werden kann. Zum Beispiel kann ein Daten-Frame Daten enthalten, die von einer Quelle zu einem Zielort in einem Datenlink gemäß einem Datenlink-Layer-Protokoll zu übertragen sind. Ein Daten-Frame kann mit einer Größe verbunden sein, die auf einer Menge von Daten beruht, wie zum Beispiel einer Anzahl von Bytes in dem Daten-Frame. Das ist jedoch allein beispielhaft für einen Daten-Frame, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Ein Daten-Frame kann als eine Sequenz von Datenbytes übertragen werden, die in der Sequenz an einem Zielort zu verarbeiten sind. In einem oder mehreren Anfangsbytes einer solchen Sequenz von Bytes, kann ein Daten-Frame einen „Start-Code" als ein Symbol aufweisen, das den Anfang eines Daten-Frames anzeigt. Ebenso können eines oder mehrere Trail-Datenbytes in einer solchen Sequenz von Datenbytes „Abschluss-Codes" als ein Symbol aufweisen, das das Ende eines Datenpakets anzeigt. Es sind dies jedoch bloß Beispiele für einen Start-Code und Abschluss-Codes und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Ein Daten-Frame kann auch zum Übertragen von einer Quelle zu einem Zielort gemäß einem Ethernet-Protokoll formatiert werden, wie es in den Versionen des IEEE-Standards 802.3 bereitgestellt ist. Ein derartiger Ethernet-Daten-Frame weist Felder auf, die Adressfelder enthalten, um eine „Ethernet-Adresse" für einen Zielort und eine Quelle bereitzustellen. Diese Ethernet-Adresse kann auch als physikalische Adresse, Materialadresse oder MAC-Adresse bekannt sein. Beim Empfang eines Ethernet-Frame kann eine Vorrichtung die Zieladresse des Frames mit einer physikalischen Adresse vergleichen, die zu der Vorrichtung gehört. Wenn die Zieladresse und die der empfangenden Vorrichtung übereinstimmen, kann die Vorrichtung den gesamten Daten-Frame lesen und liefern.
  • Eine „Medienzugangskontrolle" (MAC)-Vorrichtung, wie sie hier verwendet wird, betrifft eine Vorrichtung, die den Zugang zu einem Übertragungsmedium zum Übertragen oder Empfangen von Daten ermöglicht. Eine MAC-Vorrichtung kann mit einer MII gekoppelt werden, um es einem Client-Prozess zu erlauben, Daten-Frames über ein Übertragungsmedium zu senden oder zu empfangen. Eine MAC-Vorrichtung kann auch mit einer Ethernet-Adresse verbunden sein, um Daten-Frames, die die dazugehörende Ethernet-Adresse haben, zu empfangen und weiterzuleiten. Es sind dies jedoch bloß Beispiele für eine MAC-Vorrichtung, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Ein „optisches Übertragungsmedium" wie er hier verwendet wird, betrifft ein Übertragungsmedium der Lichtenergie in einem optischen Signal übertragen kann, das durch ein Datensignal moduliert wird, das durch Demodulieren des optischen Signals zurückgewonnen werden kann. Ein optisches Übertragungsmedium kann zum Beispiel Lichtleitfaserverkabelung gekoppelt zwischen einem Sendepunkt und einem Empfangspunkt aufweisen. Dies ist jedoch bloß ein Beispiel für ein optisches Übertragungsmedium, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Eine „Rückwandplatine", wie sie hier verwendet wird, betrifft eine oder mehrere Leiterplatten auf Unter systemniveau. Eine Rückwandplatine kann zum Beispiel eine oder mehrere Buchsen als „Rückwandplatinenschnittstellen" zum Integrieren von Untersystem-Leiterplatten oder Erweiterungskarten aufweisen. Eine Rückwandplatinen-Schnittstelle kann auch eine Rückwandplatine mit einem externen Übertragungsmedium koppeln. Es sind dies bloße Beispiele für eine Rückwandplatine und eine Rückwandplatinen-Schnittstelle, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Kurz gesagt betrifft eine Ausführungsform der vorliegenden Erfindung ein Verfahren und ein Gerät zum Übertragen von Daten-Frames zwischen einer ersten MII und einer zweiten MII. Die erste MII kann die Größe des empfangenen Daten-Frames bestimmen, um es der zweiten MII zu erlauben, die empfangenen Daten-Frames zu einem Zielort bereitzustellen. Es ist dies jedoch nur ein Beispiel einer Ausführungsform, und andere Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • 1 zeigt eine Schnittstelle 12 zwischen zwei MIIs. Eine Gigabit-MII (GMII) weist eine Übertragungsschnittstelle 18 und eine Empfangsschnittstelle 20 auf, während eine 10-Gigabit-MII (XGMII) eine Übertragungsschnittstelle 14 und eine Empfangsschnittstelle 16 aufweist. Die Übertragungs- und die Empfangsschnittstellen 18 und 20 können gemäß der Norm IEEE 802.3z oder 802.3-2000, Absatz 35 gebildet werden, während die Übertragungs- und Empfangsschnittstelle 14 und 16 gemäß IEEE P802.3ae, Absatz 46 gebildet werden können. Die Schnittstelle 12 kann eine anwendungsspezifische Leiterplatte (ASIC) oder eine feldprogrammierbare Gate-Array-(FPGA)-Schaltung aufweisen. Es sind dies jedoch bloß Beispiele für das Umsetzen einer Busumwandlungsvorrichtung in Logik, und die Ausführungsformen der vorliegenden Erfindungen sind in dieser Hinsicht nicht eingeschränkt.
  • Bei einer Ausführungsform können die Schnittstellen 18 und 20 mit einer MAC-Vorrichtung (nicht gezeigt) gekoppelt werden, die zum Übertragen oder Empfangen von Daten von der Schnittstelle 12 gemäß der Norm IEEE 802.3-2000 geeignet ist. Alternativ können die Schnittstellen mit einer Vorrichtung gekoppelt werden, die eine physikalische Codier-Sublayer (PCS) (nicht gezeigt) zum Übertragen von Daten oder Senden von Daten von einem Kabel der Kategorie 5 gemäß der Norm IEEE 802.3-2000, Absatz 40 aufweist. Es sind dies jedoch bloß Beispiele für Vorrichtungen, die gekoppelt werden können, um mit einer GMII zu kommunizieren, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Die Übertragungs- und Empfangsschnittstellen 14 und 16 können mit einer von mehreren Vorrichtungen zum Übertragen von Daten zu einem Zielort oder zum Empfangen von Daten von einer Quelle gekoppelt werden. Bei einer Ausführungsform können die Schnittstellen 14 und 16 mit einer physikalischen Layer-Vorrichtung gekoppelt werden, die einen physikalischen Medien-Anhang (PMA) und eine physikalische medienabhängige (PMD) und physikalische Codier-Sublayer (PCS)-Abschnitte zum Kommunizieren mit einem optischen Übertragungsmedium gemäß IEEE P802.3ae, Absätze 48 bis 51 aufweist. Bei einer weiteren Ausführungsform können die Schnittstellen 14 und 16 mit einer MAC (nicht gezeigt) zum Übertragen von Daten zwischen der XGMII und einem E/A-System, wie zum Beispiel einem Switch Fabric- oder gemultiplexten Datenbus zu übertragen, gekoppelt werden. Alternativ können die Schnittstellen mit einer XGMII-Extended Sublayer (XGXS)-Schaltung (nicht gezeigt) gekoppelt werden, um eine 10-Gigabit-Attachement Unit Interface (XAUI) gemäß IEEE P802.3ae, Absatz 47 bereitzustellen. Es sind dies jedoch bloß Beispiele des Kommunizierens einer XGMI mit Vorrichtungen, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • 2 zeigt eine Schnittstelle 50 zum Weiterleiten von Daten-Frames, die an einer GMII empfangen werden, zu einer XGMII gemäß einer Ausführungsform der Schnittstelle 12, die in 1 gezeigt ist. Eine GMII-Transmit-State-Machine 52 empfängt sequenziell getaktete Byte-Wide-Daten 78 eines empfangenen Daten-Frames als Reaktion auf ein Aktivierungssignal GMII_TXEN. Die Register 56 und 58 weisen jeweils vierundsechzig Bits auf, um acht der empfangenen Datenbytes zu empfangen. Ein Multiplexer 54 alterniert Laderegister 56 und 58 mit den empfangenen Datenbytes, um zu erlauben, dass die Daten von einem Register zu einem First-In-First-Out (FIFO)-Puffer 72 geschrieben werden, während die empfangenen Datenbytes zu dem anderen Register geladen werden.
  • Die GMII-Transmit-State-Machine 52 kann auch die Größe des empfangenen Daten-Frames bestimmen, indem die Anzahl empfangener Bytes als Byte-Wide-Daten 78 gezählt werden. Die GMII-Transmit-State-Machine 52 kann den Anfang eines Daten-Frames zum Beispiel durch Erfassen eines Übergangs in dem Signal GMII_TX_EN von „0" auf „1" bestimmen. Alle Datenbytes, die als Byte-Wide-Daten 78 empfangen werden, können dann gezählt werden, bis ein Übergang in dem Signal GMII_TX_EN von „1" auf „0" erfasst wird, der das das Ende des Frames anzeigt. Die daraus resultierende Bytezählung kann dann in einem Puffer 62 gespeichert werden, der mit dem Daten-Frame verbunden ist, der in dem Puffer 72 gespeichert ist. Alternativ kann die GMII-Transmit-State-Machine 52 die Bytezählung in dem Puffer 72 verbunden mit dem gespeicherten Daten-Frame speichern. Es sind dies jedoch bloß Beispiele zum Bestimmen der Größe und Aufzeichnen eines empfangenen Daten-Frames, und die Ausführungformen der vorliegenden Erfindungen sind in dieser Hinsicht nicht eingeschränkt.
  • Der Puffer 72 stellt die gespeicherten Daten-Frames als Multi-Byte-Wörter bereit, die jeweils acht Bytes haben, als Reaktion auf Anfragen von einer XGMII-Transmit-State-Machine 66. Die XGMII-Transmit-State-Machine 66 steuert auch Multiplexer 64 und 70 als Reaktion auf das Erfassen eines Anfangs eines Daten-Frames (Herauslesen aus dem Puffer 72) und eines Endes des Daten-Frames. Die XGMII-Transmit-State-Machine 66 kann den Anfang eines Daten-Frames zum Beispiel durch Erfassen von Größeninformation (zum Beispiel Bytezählung), die in den Puffer 62 geschrieben wird, oder durch Erfassen von Änderungen in der Größeninformation (zum Beispiel Bytezählung) des Puffers 72 erfassen. An dem Anfang des Daten-Frames kann die XGMII-Transmit-State-Machine 66 das idle en-Signal deassertieren, um den Multiplexer 64 zu veranlassen, mit dem Senden von Multibyte-Wörtern 74, die aus dem Puffer 72 gelesen werden, zu beginnen, und den Multiplexer 70 zu veranlassen, einen Steuercode 8'b00000001 auf den Bytes XGMII_TXC_[7:0] zu übertragen. Ein XGMII-Decoder 68 stellt einen Steuercode auf Signal txc_delayed[7:0] durch den Multiplexer 70 als Reaktion auf ein Anfangs- oder Trail-Multi-Byte-Wort XGMII_TXD_d[63:0], das von dem Multiplexer 64 übertragen wird, bereit. Bei einer Ausführungsform kann der Anfangscode „FB" als Anfangsbyte des Daten-Frames, der in dem Puffer 72 gespeichert ist, eingefügt werden, so dass der Start-Code das Anfangsbyte des auf XGMII_TXD_d[63:0] ausgegebenen Frames ist.
  • Gemäß einer Ausführungsform kann die GMII-Transmit-State-Machine 52 einen Anfangs- oder Abschluss-Code in die Register 56 oder 58 einfügen, um den Anfang oder das Ende eines Daten-Frames anzuzeigen. Wenn die GMII-Transmit-State-Machine 52 bestimmt, dass die restlichen Bytes eines Daten-Frames, die in den Puffer 72 zu laden sind, geringer sind als ein komplettes Multi-Byte-Wort (zum Beispiel weniger als acht Bytes in der hier veranschaulichten Ausführungsform), wird in das letzte Multi-Byte-Wort, das zu XGMII_TXD_d[63:0] herausgelesen wird, ein Abschluss-Code „FD" gefolgt von einem Idle-Code „07" in jedem restlichen Byte des Multi-Byte-Worts eingefügt wird. Die unten stehende Tabelle 1 zeigt das Format des letzten Multi-Byte-Worts, das einen Abschluss-Code basierend auf der Anzahl restlicher Daten-Frame-Bytes in dem letzten Multi-Byte-Wort enthält.
  • Die XGMII-Transmit-State-Machine 66 kann das Ende eines Daten-Frames (herausgelesen als 64-Bit-Wörter) durch Dekrementieren eines Bytezählers bei dem Herauslesen aus dem Puffer 72 jedes Multi-Byte-Worts bestimmen (zum Beispiel bei der hier veranschaulichten Ausführungsform durch acht Vierundsechzig-Bit-Wörter). Die XGMII-Transmit-State-Machine 66 kann auch Steuercodes bestimmen, die in XGMII_TXC_[7:0] als Reaktion auf das Erfassen eines Anfangs und Endes eines Daten-Frames eingefügt werden. Wenn sich in dem Puffer 72 keine Daten-Frames befinden, die durch die XGMII zu übertragen sind, kann der Multiplexer 70 einen Idle-Steuercode 8'b11111111 ausgeben, und der Multiplexer 64 kann den Wert 64'h07070707070707 als Reaktion auf ein assertiertes idle en-Signal ausgeben. Wie oben besprochen, kann der Multiplexer 70 beim Erfassen des Anfangs eines Daten-Frames an der XGMII-Transmit-State-Machine 66 und Deassertieren des idle en-Signals den Steuercode 8'b00000001 ausgeben. Zwischen den Anfangs- und Abschlussbedingungen kann der Multiplexer 70 8'00000000 ausgeben, um anzuzeigen, dass Daten gegenwärtig sind. Wenn die XGMII-Transmit-State-Machine 66 bestimmt, dass die restlichen Bytes in dem Daten-Frame in dem Puffer 72 weniger sind als ein komplettes Multi-Byte-Wort (zum Beispiel weniger als acht Bytes in der hier veranschaulichten Ausführungsform), gibt der Multiplexer 70 den Steuercode XGMII_TXC_[7:0] basierend auf den restlichen Bytes wie in Tabelle 1 gezeigt aus.
    Trail-Bytes des XGMII_TXD[63:0] XGMII_TXC[7:0]
    Daten-Frames im letzten 8-Byte-Wort
    7 07070707070707FD 8'b11111111
    6 070707070707FDxx 8'b11111110
    5 0707070707FDxxxx 8'b11111100
    4 07070707FDxxxxxx 8'b11111000
    3 070707FDxxxxxxxx 8'b11110000
    2 0707FDxxxxxxxxxx 8'b11100000
    1 07FDxxxxxxxxxxxx 8'b11000000
    0 FDxxxxxxxxxxxxxx 8'b10000000
    Tabelle 1
  • In der hier veranschaulichten Ausführungsform stellt der Multiplexer 64 den Ausgang 74 als sequenziell getaktete Vierundsechzig-Bit-Wörter bereit, und der Multiplexer 70 stellt den Ausgang 76 als sequenziell getaktete Acht-Bit-Bytes bereit. Bei dieser Ausführungsform können Latch-Schaltungen (nicht gezeigt) zum Partionieren des Vierundsechzig-Bit-Ausgangs 74 in Zweiunddreißig-Bit-Wörter und zum Partionieren des Acht-Bit-Ausgang 76 in Vier-Bit-Mengen verwendet werden, um einen mit XGMII kompatiblen Ausgang bereitzustellen. Alternativ können die GMII-Transmit-State-Machine 52 und der Puffer 72 Abschnitte empfangener Daten-Frames als Zweiunddreißig-Bit-Wörter speichern.
  • Der Multiplexer 64 kann dann den Ausgang als Dreißig-Bit-Wörter mit etwa zweimal der Geschwindigkeit des Herauslesens der Vierundsechzig-Bit-Wörter bei der oben genannten Ausführungsform herauslesen. Ähnlich können der Multiplexer 70 und die XGMII-Transmit-State-Machine 66 Vier-Bit-Steuercodes in dem Ausgang 76 bereitstellen, der mit dem Zweiunddreißig-Bit-Ausgang synchronisiert ist.
  • 3 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames, die an einer XGMII empfangen werden, zu einer GMII gemäß einer Ausführungsform der Schnittstelle 12, die in 1 gezeigt ist. Ein Daten-Frame wird an eine XGMII als sequenziell getaktete Vierundsechzig-Bit-Eingabewörter 106 empfangen, die in einen FIFO-Puffer 124 gespeichert werden. Ein Multiplexer 104 kann dann den gespeicherten Daten-Frame als sequenziell getakteten Acht-Bit-Ausgang 116 als GMII_RXD[7:0] zu einer GMII herauslesen. Ein XGMII-Decode-Abschnitt 108 empfängt ebenfalls die Eingabewörter 106, um einen Anfangscode (zum Beispiel „FB") in einem ersten Byte des empfangenen Daten-Frames und einen Abschlusscode (zum Beispiel „FD") in einem letzten Byte des empfangenen Daten-Frames zu erfassen. Der XGMII-Decode-Abschnitt 108 kann Anfangs- und Abschlusssignale zu einer XGMII Receive State Machine 110 als Reaktion auf das Erfassen des Anfangs- und des Abschluss-Codes bereitstellen. Die Anfangs- und Abschluss-Signale können es der XGMII Receive State Machine 110 erlauben, die Größe (zum Beispiel die Anzahl von Acht-Bit-Bytes) des empfangenen Daten-Frames, durch Zählen der Anzahl von Acht-Bit-Bytes in dem empfangenen Daten-Frame zu bestimmen. Die XGMII Receive State Machine 110 kann dies zum Beispiel durchführen, indem sie einen Unterschied in der Zeit zwischen dem Empfang des Anfangssignals und dem Empfang des Abschlusssignals bestimmt. Es ist dies jedoch bloß ein Beispiel des Bestimmens der Größe eines Daten-Frames, der an einer XGMII empfangen wird, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Nach dem Bestimmen der Größe des empfangenen Daten-Frames, kann die XGMII Receive State Machine 110 Größeninformation als die Anzahl empfangener Bytes in einen Puffer 112 verbunden mit dem empfangenen Daten-Frame, der in dem Puffer 124 gespeichert ist, schreiben. Alternativ kann die XGMII Receive State Machine 110 die Größe des empfangenen Daten-Frames mit den empfangenen Datenbytes in dem Puffer 124 speichern. Dies sind jedoch bloß Beispiele des Speicherns der Größe eines Daten-Frames verbunden mit Daten-Frame-Bytes, und die Ausführungen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Gemäß einer Ausführungsform gibt ein Multiplexer 104 Byte-Abschnitte des Daten-Frames, der in dem Puffer 124 gespeichert ist, als Reaktion auf ein byte_en[2:0]-Signal von einer GMII Receive State Machine 102 aus. Der Multiplexer 104 kann den gespeicherten Daten-Frame in Multi-Byte-Wide-Mengen (zum Beispiel Vierundsechzig-Bit-Wörter) empfangen und den Daten-Frame als einen sequenziell getakteten Acht-Bit-Bytes-GMII_RXD[7:0] ausgeben. In der veranschaulichten Ausführungsform können die Eingabedaten zu dem Multiplexer 104 alle acht Taktgeberzyklen der GMII wieder gefüllt werden, wenn Daten zu dem Multiplexer 104 direkt von dem Puffer 124 präsentiert werden. Gleichzeitig mit der Ausgabe des gespeicherten Daten-Frames als Acht-Bit-Byte-GMII_RXD[7:0], kann die GMII Receive State Machine 102 das Signal GMII_RXDV assertieren, um das Erfassen eines Fehlers in Daten anzuzeigen, die an der XGMII empfangen werden (zum Beispiel als Reaktion auf einen Fehlersteuercode, der an XGMII_RXC[7:0] empfangen wird). Ein solcher Fehlerzustand kann von der XGMII Receive State Machine 110 erfasst werden und einen solchen Fehlerzustand durch Setzen eines Bits in dem Puffer 112 oder Puffer 124 in Verbindung mit dem empfangenen Daten-Frame, der in dem Puffer 124 gespeichert ist, anzeigen. Als Reaktion auf das Anzeigen des Fehlerzustands kann die GMII Receive State Machine 102 das Weiterleiten des gespeicherten Daten-Frames durch den Multiplexer 104 durch Überspringen der Bytes des gespeicherten Daten-Frames in dem Puffer 124 inhibieren.
  • Gemäß einer Ausführungsform kann die XGMII Receive State Machine 110 Fehlerzustände an einem empfangenen Daten-Frame erfassen, indem sie ein XGMII_RXC[7:0]-Bit erkennt, das während einer Frameübertragung (eingeschlossen zwischen START und TERMINATE) gesetzt wird, während das entsprechende Byte in XGMII_RXD[63:0] nicht der START, TERMINATE oder IDLE-Code ist. In diesem Zustand kann die XGMII Receive State Machine 110 von dem XGMII-Decode-Abschnitt 108 das Signal erhalten, dass das oben genannte Fehlerbit entweder im Puffer 112 oder Puffer 124 gesetzt ist. Ein Fehler zwischen Paketen kann von dem XGMII-Decode-Abschnitt 108 auch durch ein XGMII_RXC[7:0]-Bit erfasst werden, das während der Pausenzeit (umgeben von TERMINATE- und START-Codes) gesetzt wurde, während das entsprechende XGMII_RXD[63:0]-Byte nicht der START, TERMINATE oder IDLE-Code ist. Diese Bedingung kann ignoriert werden. Wenn XGMII_RXC[7:0] zusätzlich Daten anzeigt, (mit 0 in jedem beliebigen Bit), können diese Daten ignoriert werden, denn das würde dem Erfassen des START-Codes vorausgehen.
  • Gemäß einer Ausführungsform wählt das Drei-Bit-Signal-byte_en[2:0] ein bestimmtes Byte (bei der hier veranschaulichten Ausführungsform aus acht möglichen Bytes) zum Ausgeben durch den Multiplexer 104 aus. Ferner bestimmt die GMII Receive State Machine 102 eventuell das letzte Byte des gespeicherten Daten-Frames, das basierend auf der Größeninformation zu übertragen ist, die von der XGMII Receive State Machine 110 wie oben besprochen gespeichert wird. Die GMII Receive State Machine 102 kann zum Beispiel einen Bytezähler dekrementieren, der entweder in dem Puffer 112 oder 124 gespeichert und mit dem gespeicherten Daten-Frame verbunden ist. Nach dem Bestimmen des letzten Bytes in dem Daten-Frame kann die GMII Receive State Machine 102 einen Wert für das Signal byte_en[2:0] zum Überspringen des Abschluss-Codes in dem gespeicherten Daten-Frame (zum Beispiel „FD") bereitstellen und das Signal GMII_RXER nach dem Übertragen des letzten Bytes vor dem Abschluss-Code deassertieren.
  • Die 4 und 5 zeigen Systeme, die eine GMII-zu-XGMII-Schnittstelle gemäß der Schnittstelle 12, die in 1 gezeigt ist, enthalten. In 4 ist eine XGMII-zu-GMII-Schnittstelle 126 zum Übertragen von Daten zwischen einer 10-Gigabit-Attachement Unit Interface (XAUI)-Datenlink 130 (gekoppelt mit der Schnittstelle 126 an einer XGMII) und mehreren GMIIs 128 gekoppelt. Bei der veranschaulichten Ausführungsform kann sich der XAUI-Datenlink 130 über eine Leiterplatte oder eine Rückwandplatine erstrecken, um eine serielle Verbindung zwischen einem externen Element und GMII-kompatiblen Vorrichtungen, die mit den GMIIs 128 verbunden sind, bereitzustellen.
  • Der XAUI-Datenlink 130 weist eine erste XGMII Extended Sublayer (XGXS)-Vorrichtung 134 auf, die mit einer XGMII auf der Schnittstelle 126 und einer zweiten XGXS-Vorrichtung 135, die mit dem Daten-Transceiver 132 gemäß der Norm IEEE 802.3ae, Absatz 47, gekoppelt ist. Es ist jedoch klar, dass die Extended Sublayer-Vorrichtungen verwendet werden können, um physikalische Übertragungsprotokolle für gesteigerte Datenraten zu unterstützen, zum Beispiel 40- oder 100-Gigabit-Ethernet-Formate. Die erste und die zweite XGXS-Vorrichtung 134 und 135 können auf einer Leiterplatte durch Pisten gekoppelt sein, die sich bis zu etwa 50 cm weit erstrecken. Der Daten-Transceiver 132 kann einen physikalischen Codier-Sublayer (PCS)-Abschnitt, einen physikalischen Medien-Anhängabschnitt (PMA) und einen physikalischen medienabhängigen (PMD)-Abschnitt aufweisen, um Daten von einem optischen Übertragungsmedium durch eine medienabhängige Schnittstelle (MDI) gemäß der Norm IEEE 803.3ae, Absätze 49 bis 52 bereitgestellt zu übertragen oder empfangen.
  • Bei dieser Ausführungsform kann eine GMII 128 mit einer beliebigen von mehreren Vorrichtungen gekoppelt werden, die über eine GMII kommunizieren können, darunter zum Beispiel eine MAC-Vorrichtung oder ein Daten-Transceiver mit PCS- und PMA-Abschnitten zum Kommunizieren über ein Übertragungsmedium. Es sind dies jedoch Beispiele für Vorrichtungen, die mit einer GMII gekoppelt werden können, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • In 5 ist eine XGMII-zu-GMII-Schnittstelle 136 zum Übertragen von Daten zwischen einem Daten-Transceiver 142 und mehreren MAC-Vorrichtungen 140 (gekoppelt mit GMIIs 138) gekoppelt, um es mehreren unabhängigen Vorrichtungen zu ermöglichen, Daten über eine gemeinsame XGMII zu übertragen und empfangen. Bei einer Anwendung befähigen die MAC-Vorrichtungen 140 mehrere Netz-Clients in einem Local Area Network (LAN), eine gemeinsame XGMII zu verwenden. Es sind dies jedoch bloß Beispiele für den Einsatz mehrerer MACs zum Kommunizieren in einer gemeinsamen XGMII, und die Ausführungsformen der vorliegenden Erfindung sind in dieser Hinsicht nicht eingeschränkt.
  • Die 6 und 7 zeigen eine Schnittstelle zum Weiterleiten von Daten-Frames zwischen einer XGMII und mehreren GMIIs gemäß alternativen Ausführungsformen der vorliegenden Erfindung, die in den 4 und 5 gezeigt sind. 6 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames für mehrere GMIIs 178 zu einer einzelnen XGMII gemäß einer Ausführungsform der Schnittstelle 126 oder 136, die in den 4 und 5 gezeigt ist. Jede der GMIIs 178 weist einen Puffer 172 zum Speichern von Daten-Frames auf, die als sequenziell getaktete Acht-Bit-Bytes an einer GMII-Transmit-State-Machine 152 wie oben unter Bezugnahme auf 2 besprochen empfangen werden. Die GMII-Transmit-State-Machine 152 kann auch die Größe des empfangenen Daten-Frames durch Zählen der empfangenen Datenbytes bestimmen, während das Signal GMII_TX_EN assertiert wird, wie ebenfalls unter Bezugnahme auf 2 besprochen.
  • Die XGMII kann Daten-Frames aus den Puffern 122 über einen Multiplexer 180 als sequenziell getaktete Vierundsechzig-Bit-Wörter herauslesen. Während jede der GMIIs 178 unabhängig Daten-Frames zum Speichern in einem dazugehörenden Puffer 172 empfangen kann, kann eine XGMII-Transmit-State-Machine 166 die Auswahl von GMII-Schnittstellen 178 zum Bereitstellen der gespeicherten Daten-Frames steuern. Bei der veranschaulichten Ausführungsform wählt die XGMII-Transmit-State-Machine 166 aus, einen kompletten Daten-Frame von einer GMII 178 zu empfangen, bevor sie beschließt, einen beliebigen Abschnitt eines Daten-Frames von einer darauf folgenden GMII 178 zu empfangen. Die XGMII-Transmit-State-Machine 166 kann beschließen, eine GMII 178 auszuwählen, um das Weiterleiten eines Daten-Frames (aus einem dazugehörenden Puffer 172) von nur den GMIIs 178 zu beginnen, die einen kompletten Daten-Frame in dem dazugehörenden Puffer 172 gespeichert haben. Nach dem Abschließen des Herauslesens eines Daten-Frames aus einer GMII 178, kann die XGMII-Transmit-State-Machine 166 eine darauf folgende GMII 178 (die einen kompletten Daten-Frame in ihrem dazugehörenden Puffer 172 gespeichert hat), um das Bereitstellen eines Daten-Frames zu dem Multiplexer 180 durch Assertieren des Signals fifo read auf einem Bus 182 zu beginnen.
  • Wie unter Bezugnahme auf 2 besprochen, können die GMIIs 178 einen Bytezähler in einem Puffer 162 führen, auf den die XGMII-Transmit-State-Machine 166 beim Herauslesen von Daten-Frames zugreifen kann. Die XGMII-Transmit-State-Machine 166 kann das Ende eines Daten-Frames (der als Vierundsechzig-Bit-Wörter herausgelesen wird) bestimmen, indem sie die Bytezählung dekrementiert, während jedes Multi-Byte-Wort aus dem Puffer 162 herausgelesen wird. Wenn die XGMII-Transmit-State-Machine 166 feststellt, dass die restlichen Bytes in dem Daten-Frame in dem Pufferspeicher 72 weniger sind als ein komplettes Multi-Byte-Wort, wird in das letzte zu XGMII_TXD_d[63:0] herausgelesene Multi-Byte-Wort ein Abschluss-Code „FD" eingefügt, auf den ein Idle-Code „07" in jedem restlichen Byte des Multi-Byte-Worts folgt. Die oben stehende Tabelle 1 zeigt ein Format der Trail-Bytes, die in das Vierundsechzig-Bit-Wort basierend auf der Anzahl der restlichen Daten-Frame-Bytes in dem letzten Multi-Byte-Wort einzufügen sind.
  • Die XGMII-Transmit-State-Machine 166 kann auch Fehlercodes bestimmen, die in XGMII_TXC_[7:0] (wie oben unter Bezugnahme auf 2 besprochen) als Reaktion auf das Erfassen eines Anfangs und Abschlusses eines Daten-Frames einzufügen sind. Wenn die XGMII-Transmit-State-Machine 166 bestimmt, dass die restlichen Bytes in dem Daten-Frame in dem Puffer 72 weniger sind als ein komplettes Multi-Byte-Wort (zum Beispiel weniger als acht Bytes in der hier veranschaulichten Ausführungsform), gibt der Multiplexer 70 einen Fehlercode XGMII_TXC_[7:0] basierend auf den restlichen Bytes wie in Tabelle 1 gezeigt aus.
  • 7 zeigt eine Schnittstelle zum Weiterleiten von Daten-Frames von einer einzelnen XGMII zu mehreren GMIIs 278 gemäß einer Ausführungsform der Schnittstelle 126 oder 136, die in den 4 und 5 gezeigt ist. In der hier veranschaulichten Ausführungsform weist eine XGMII 280 eine XGMII Receive State Machine 210 zum Weiterleiten empfangener Daten-Frames zu ausgewählten GMIIs 278 auf. Die XGMII Receive State Machine 210 kann empfangene Daten-Frames zu den GMIIs 278 weiterleiten, indem sie eines mehrerer Routing-Systeme verwendet, wie zum Beispiel ein Round Robin-System, TCP/IP-Routing-System zum Routen spezifischer IP-Datagramme zu einer gegebenen Schnittstelle oder einer Ethernet-Adresse, an der die XGMII 280 mit mehreren Adressen verbunden ist (wobei jede Adresse einer der GMIIs 278 entspricht). Es sind dies jedoch bloße Beispiele des Routens empfangener Daten-Frames unter mehreren GMIIs für die XGMII, und die Ausführungsformen der vorliegenden Erfindungen sind in dieser Hinsicht nicht eingeschränkt.
  • Bei einer Ausführungsform ist jede der GMIIs 278 mit einer einzigen Ethernet-Adresse verbunden, so dass die XGMII Receive State Machine 210 empfangene Daten-Frames zu einem entsprechenden Zielort GMII 278 basierend auf einer Ziel-Ethernet-Adresse in dem Daten-Frame routen kann. Die XGMII Receive State Machine 210 kann eine Aufzeichnung oder Tabelle führen, die jede der GMIIs 278 mit ihrer Ethernet-Adresse verbindet. Die XGMII 280 kann diese Tabelle oder Aufzeichnung für jede GMII 278 erstellen, indem sie zum Beispiel einen anfänglichen ausgehenden Daten-Frame von der GMII 278 empfängt und eine Quellen-Ethernet-Adresse des anfänglichen Daten-Frames mit der GMII 278 verbindet. Die XGMII Receive State Machine 210 kann dann darauf folgende eingehende Daten-Frames zu der GMII 278 basierend auf einer Verbindung der Ziel-Ethernet-Adresse der eingehenden Daten-Frames mit der Ethernet-Adresse, die mit der GMII 278 verbunden ist, routen.
  • Wie oben unter Bezugnahme auf 3 besprochen, wird ein Daten-Frame an der XGMII 280 als sequenziell getaktete Vierundsechzig-Bit-Eingabewörter empfangen, die in einem FIFO-Puffer 224 einer ausgewählten Ziel-GMII 278 gespeichert werden. Ein Multiplexer 204 der ausgewählten GMII 278 kann dann den gespeicherten Daten-Frame als sequenziell getakteten Acht-Bit-Ausgang GMII_RXD[7:0] herauslesen. Ein XGMII-Decode-Abschnitt 208 empfängt ebenfalls die Eingabewörter, um einen Anfangs-Code (zum Beispiel „FB") in einem ersten Byte des empfangenen Daten-Frames0 und einen Abschluss-Code (zum Beispiel „FD") in einem letzten Byte des empfangenen Daten-Frames zu erfassen. Der XGMII-Decode-Abschnitt 208 kann Start- und Abschluss-Signale zu der XGMII Receive State Machine 210 als Reaktion auf das Erfassen des Start- und des Abschluss-Codes bereitstellen. Das Start- und das Abschluss-Signal ermöglichen es der XGMII Receive State Machine 210, die Größe (zum Beispiel Anzahl von Acht-Bit-Bytes) des empfangenen Daten-Frames durch Zählen der Anzahl von Acht-Bit-Bytes in dem empfangenen Daten-Frame zu bestimmen.
  • Nach dem Bestimmen der Größe des empfangenen Daten-Frames, kann die XGMII Receive State Machine 210 die Größeninformation als die Anzahl der empfangenen Bytes in einen Puffer 212 der ausgewählten GMII 278 verbunden mit dem empfangenen Daten-Frame schreiben. Alternativ kann die XGMII Receive State Machine 210 die Größe des empfangenen Daten-Frames mit den empfangenen Datenbytes in dem Puffer 224 der ausgewählten Ziel-GMII 278 speichern.
  • Ein Multiplexer 204 der ausgewählten Ziel-GMII 278 gibt Byteabschnitte des Daten-Frames, der in dem Puffer 124 gespeichert ist, als Reaktion auf ein byte_en[2:0]-Signal von einer GMII Receive State Machine 202 aus, während das Signal GMII_RXDV assertiert wird. Die GMII Receive State Machine 202 kann dann das letzte Byte des gespeicherten Daten-Frames, der zu übertragen ist, basierend auf der Größeninformation bestimmen, die von der XGMII Receive State Machine 210 gespeichert wird. Nach dem Bestimmen des letzten Bytes in dem Daten-Frame kann die GMII Receive State Machine 202 einen Wert für das Signal byte_en[2:0] zum Überspringen des Abschluss-Codes in dem gespeicherten Daten-Frame (zum Beispiel „FD") bereitstellen und das Signal GMII_RXDV nach dem Übertragen des letzten Bytes vor dem Abschluss-Code deassertieren.
  • Obwohl hier beschrieben und veranschaulicht wurde, was derzeit als beispielhafte Ausführungsformen der vorliegenden Erfindung betrachtet wird, ist es für den Fachmann klar, dass verschiedene andere Änderungen erfolgen können, und Gleichwertiges ersetzt werden kann, ohne den wahren Geltungsbereich der Erfindung zu verlassen. Zusätzlich können zahlreiche Änderungen vorgenommen werden, um eine besondere Situation an die Lehren der vorliegenden Erfindung anzupassen, ohne das zentrale erfinderische Konzept zu verlassen, das hier beschrieben wird. Es wird daher beabsichtigt, dass die vorliegende Erfindung nicht auf die offenbarten besonderen Ausführungsformen beschränkt ist, sondern dass die Erfindung alle Ausführungsformen enthält, die in den Geltungsbereich der anliegenden Ansprüche fallen.

Claims (26)

  1. Vorrichtung, die Folgendes aufweist: eine erste medienunabhängige Schnittstelle, MII, um einen Daten-Frame zu empfangen, der mehrere Bytes aufweist, und eine zweite MII, um den empfangenen Daten-Frame zu einem Zielort zu senden, dadurch gekennzeichnet, dass die zweite MII dazu ausgebildet ist, vor dem Senden zu dem Zielort ein oder mehrere Trail-Bytes in ein Multi-Byte-Wort einzufügen, das einen End-Abschnitt des empfangenen Daten-Frames aufweist, wobei die Trail-Bytes einen Abschluss-Code umfassen und die Anzahl der Trail-Bytes auf einer Größe des empfangenen Daten-Frames beruht.
  2. Vorrichtung nach Anspruch 1, wobei die erste MII einen Byte-Wide-Eingang aufweist, um den Daten-Frame in sequenziell getakteten Bytes zu empfangen, und wobei die Vorrichtung ferner einen Puffer (72, 172) aufweist, um den Daten-Frame beim Empfang an der ersten MII zu speichern und den gespeicherten Daten-Frame der zweiten MII in sequenziell getakteten Wörtern, die vier oder mehr Bytes enthalten, bereitzustellen.
  3. Vorrichtung nach Anspruch 1, wobei die erste MII eine Gigabit-MII aufweist, und die zweite MII eine 10 Gigabit-MII, XGMII, aufweist.
  4. Vorrichtung nach Anspruch 1, wobei die erste MII einen Bytezähler aufweist, um die Größe des empfangenen Daten-Frames auf der Grundlage einer Zählung der Anzahl von Bytes in dem empfangenen Daten-Frame zu bestimmen.
  5. Verfahren, das Folgendes aufweist: Empfangen eines Daten-Frames, der mehrere Datenbytes an einer ersten MII aufweist, Speichern des empfangenen Daten-Frames als eines oder mehrere Multi-Byte-Wörter, und Senden der Multi-Byte-Datenwörter durch eine zweite MII zu einem Zielort, dadurch gekennzeichnet, dass ein oder mehrere Trail-Bytes in ein Multi-Byte-Wort, das einen End-Abschnitt des empfangenen Daten-Frames aufweist, vor dem Senden zu dem Zielort eingefügt werden, wobei die Trail-Bytes einen Abschluss-Code aufweisen und die Anzahl der Trail-Bytes auf einer Größe des empfangenen Daten-Frames beruht.
  6. Verfahren nach Anspruch 5, wobei das Verfahren ferner Folgendes aufweist: Empfangen des Daten-Frames an der ersten MII an einem Byte-Wide-Eingang als sequenziell getaktete Datenbytes, Speichern der sequenziell getakteten Datenbytes in einem Puffer, und Bereitstellen des gespeicherten Daten-Frames zu der zweiten MII in sequenziell getakteten Wörtern, die vier oder mehr Bytes aufweisen.
  7. Verfahren nach Anspruch 5, wobei die erste MII eine Gigabit-MII aufweist und die zweite MII eine 10-Gigabit-MII aufweist.
  8. Verfahren nach Anspruch 5, wobei das Verfahren ferner das Zählen der Datenbytes in dem empfangenen Daten-Frame aufweist, um die Größe des Daten-Frames zu bestimmen.
  9. Vorrichtung nach Anspruch 1, wobei die zweite MII den empfangenen Daten-Frame von einem Puffer (72, 172) zu dem Zielort senden kann, um das Senden des Abschluss-Codes von dem Puffer auf der Grundlage einer Größe des empfangenen Daten-Frames zu inhibieren.
  10. Vorrichtung nach Anspruch 9, wobei die erste MII einen Eingang aufweist, um den Daten-Frame als sequenziell getaktete Wörter, die vier oder mehr Bytes aufweisen, zu empfangen, und wobei die Vorrichtung ferner einen Puffer aufweist, um den Daten-Frame beim Empfang an der ersten MII zu speichern.
  11. Vorrichtung nach Anspruch 9, wobei die erste MII eine 10-Gigabit-MII aufweist und die zweite MII eine Gigabit-MII aufweist.
  12. Vorrichtung nach Anspruch 9, wobei die erste MII einen Bytezähler aufweist, um die Größe des empfangenen Daten-Frames als Antwort auf einen Start-Code und Abschluss-Code in dem empfangenen Daten-Frame zu bestimmen.
  13. Verfahren nach Anspruch 5, Folgendes aufweisend: Speichern des empfangenen Daten-Frames in einem Puffer, Senden des gespeicherten Daten-Frames von der zweiten MII zu dem Zielort und Inhibieren des Sendens des Abschluss-Codes von dem Puffer auf der Grundlage einer Größe des empfangenen Daten-Frames.
  14. Verfahren nach Anspruch 13, wobei das Verfahren ferner das Empfangen des Daten-Frames an der ersten MII als sequenziell getaktete Wörter, die vier oder mehr Bytes aufweisen, aufweist.
  15. Verfahren nach Anspruch 13, wobei die erste MII eine 10-Gigabit-MII und die zweite MII eine Gigabit-MII aufweist.
  16. Verfahren nach Anspruch 13, wobei das Verfahren ferner das Zählen der Bytes in dem Daten-Frame, der an der ersten MII empfangen wurde, aufweist, um die Größe des empfangenen Daten-Frames als Antwort auf einen Start-Code und Abschluss-Code in dem empfangenen Daten-Frame zu bestimmen.
  17. System, das die Vorrichtung des Anspruchs 1 aufweist, und: einen Extended Attachment Unit Interface (XAUI)-Datenlink zum Senden von Daten-Frames und zum Empfangen von Daten-Frames von einer XGMII, mehrere GMIIs (178, 278), um Daten-Frames zu senden und Daten-Frames von der XGMII zu empfangen, wobei jede GMII mit einer Ethernet-Adresse GMII verbunden ist, und eine Busumwandlungsvorrichtung zum Auswählen einer GMII, um einen Daten-Frame von der XMMII gemäß einer Verbindung einer Ziel-Ethernet-Adresse in dem Daten-Frame und der Ethernet-Adresse der ausgewählten GMII zu empfangen.
  18. System nach Anspruch 17, wobei der XAUI-Datenlink ferner eine erste XGMII Extended Sublayer-Schaltung, XGXS, aufweist, die mit der XGMII gekoppelt ist, und eine zweite XGXS, die mit einer Rückwandplatinen-Schnittstelle gekoppelt ist.
  19. System nach Anspruch 17, bei dem das System mindestens eine MAC-Vorrichtung, die mit einer der GMIIs gekoppelt ist, aufweist.
  20. System nach Anspruch 17, wobei das System ferner mindestens eine Daten-Sende-/Empfangsvorrichtung aufweist, die mit einer der GMIIs gekoppelt ist, wobei die Daten-Sende-/Empfangsvorrichtung einen physikalischen Codier-Sublayer-Abschnitt und einen physikalischen Medien-Anhängabschnitt aufweist.
  21. System nach Anspruch 17, wobei die Busumwandlungsvorrichtung ferner Folgendes aufweist: Logik, um einen Daten-Frame, der von einer GMII empfangen wurde, zu der XGMII in sequenziell getakteten Multi-Byte-Datenwörtern weiterzuleiten, Logik, um ein oder mehrere Trail-Bytes in ein Multi-Byte-Wort einzufügen, das einen End-Abschnitt des empfangenen Daten-Frames zu der XGMII aufweist, wobei die Trail-Bytes einen Abschluss-Code enthalten und die Anzahl der Trail-Bytes auf einer Größe des empfangenen Daten-Frames beruht.
  22. System nach Anspruch 21, wobei jede GMII einen Byte-Wide-Eingang aufweist, um einen Daten-Frame in sequenziell getakteten Bytes zu empfangen, und wobei die Busumwandlungsvorrichtung ferner einen Puffer (72, 172) aufweist, um den Daten-Frame beim Empfang an der GMII zu speichern und den gespeicherten Daten-Frame zu der XGMII in sequenziell getakteten Wörtern, die vier oder mehr Datenbytes enthalten, bereitzustellen.
  23. System nach Anspruch 21, wobei die Busumwandlungsvorrichtung ferner einen Bytezähler aufweist, um die Größe des empfangenen Daten-Frames auf der Grundlage einer Zählung der Anzahl von Bytes in dem empfangenen Daten-Frame zu bestimmen.
  24. System nach Anspruch 17, wobei die Busumwandlungsvorrichtung ferner Folgendes aufweist: Logik, um einen Daten-Frame, der an der XGMII empfangen wurde, an eine GMII als sequenziell getaktete Datenbytes weiterzuleiten, wobei der Daten-Frame einen Abschluss-Code in einem oder mehreren Trail-Bytes aufweist, und Logik, um das Senden des Abschluss-Codes von der GMII auf der Grundlage einer Größe des empfangenen Daten-Frames zu inhibieren.
  25. System nach Anspruch 17, wobei die XGMII einen Eingang aufweist, um den Daten-Frame als sequenziell getaktete Wörter, die vier oder mehr Bytes enthalten, zu empfangen, und wobei die Busumwandlungsvorrichtung ferner einen Puffer aufweist, um den Daten-Frame beim Empfang an der XGMII zu speichern.
  26. System nach Anspruch 17, wobei die Busumwandlungsvorrichtung ferner einen Bytezähler aufweist, um die Größe des empfangenen Daten-Frames als Antwort auf einen Start-Code und Abschluss-Code in dem empfangenen Daten-Frame zu bestimmen.
DE60316680T 2002-05-16 2003-04-24 Busumsetzungseinrichtung, system und verfahren Expired - Lifetime DE60316680T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US150366 1988-01-29
US10/150,366 US7376146B2 (en) 2002-05-16 2002-05-16 Bus conversion device, system and method
PCT/US2003/012793 WO2003098454A2 (en) 2002-05-16 2003-04-24 Bus conversion device, system and method

Publications (2)

Publication Number Publication Date
DE60316680D1 DE60316680D1 (de) 2007-11-15
DE60316680T2 true DE60316680T2 (de) 2008-07-24

Family

ID=29419236

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60316680T Expired - Lifetime DE60316680T2 (de) 2002-05-16 2003-04-24 Busumsetzungseinrichtung, system und verfahren

Country Status (8)

Country Link
US (1) US7376146B2 (de)
EP (1) EP1506489B1 (de)
CN (1) CN100476779C (de)
AT (1) ATE374972T1 (de)
AU (1) AU2003269390A1 (de)
DE (1) DE60316680T2 (de)
TW (1) TWI242136B (de)
WO (1) WO2003098454A2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7619975B1 (en) 2001-11-21 2009-11-17 Marvell International Ltd. Generalized auto media selector
KR100429911B1 (ko) * 2002-05-18 2004-05-03 한국전자통신연구원 가변길이 패킷 다중화 및 역다중화 장치와 방법
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US20050128977A1 (en) * 2003-07-23 2005-06-16 Interdigital Technology Corporation Method and apparatus for determining and managing congestion in a wireless communications system
US8005055B2 (en) * 2003-07-23 2011-08-23 Interdigital Technology Corporation Method and apparatus for determining and managing congestion in a wireless communications system
US7668086B2 (en) * 2003-09-23 2010-02-23 Broadcom Corporation Verification and correction of 10GBASE-X lane routing between nodes
US7664134B2 (en) * 2003-09-23 2010-02-16 Broadcom Corporation Programmable Q-ordered sets for in-band link signaling
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7599391B1 (en) * 2004-12-30 2009-10-06 Marvell International Ltd. Media and speed independent interface
US7593416B1 (en) 2004-12-30 2009-09-22 Marvell International Ltd. Media and speed independent interface
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7720068B2 (en) * 2006-08-23 2010-05-18 Solarflare Communications, Inc. Method and system for a multi-rate gigabit media independent interface
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US8699514B2 (en) 2007-01-12 2014-04-15 Broadcom Corporation Multi-rate MAC to PHY interface
KR101933447B1 (ko) * 2014-03-17 2018-12-28 엘에스산전 주식회사 RAPIEnet 네트워크 시스템에서의 2채널 버스 데이터의 모니터링 장치
CN107562661A (zh) * 2017-08-07 2018-01-09 郑州云海信息技术有限公司 一种mii接口到rmii接口的转换装置
CN110875911B (zh) * 2018-09-03 2022-03-04 厦门奇力微电子有限公司 支持自动识别单个数据包数据位数的通信协议及通信方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3855567T2 (de) 1987-07-20 1997-02-06 Matsushita Electric Ind Co Ltd Übertragungssystem
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US6064674A (en) * 1997-10-22 2000-05-16 International Business Machines Corporation Method and apparatus for hardware forwarding of LAN frames over ATM networks
US6081523A (en) * 1997-12-05 2000-06-27 Advanced Micro Devices, Inc. Arrangement for transmitting packet data segments from a media access controller across multiple physical links
US6556589B2 (en) * 1998-04-17 2003-04-29 Advanced Micro Devices, Inc. Network transceiver for steering network data to selected paths based on determined link speeds
US7031324B1 (en) * 1999-03-22 2006-04-18 Cisco Technology, Inc. Local area network/wide area network switch
US6873630B1 (en) * 1999-05-19 2005-03-29 Sun Microsystems, Inc. Method and apparatus for a multi-gigabit ethernet architecture
US6944163B2 (en) * 2000-02-09 2005-09-13 Nortel Networks Limited 10 Gigabit ethernet mappings for a common LAN/WAN PMD interface with a simple universal physical medium dependent interface
WO2003043271A1 (en) * 2001-11-09 2003-05-22 Vitesse Semiconductor Corporation A means and a method for switching data packets or frames

Also Published As

Publication number Publication date
US7376146B2 (en) 2008-05-20
CN1653437A (zh) 2005-08-10
AU2003269390A1 (en) 2003-12-02
EP1506489B1 (de) 2007-10-03
ATE374972T1 (de) 2007-10-15
US20030214974A1 (en) 2003-11-20
EP1506489A2 (de) 2005-02-16
TW200404216A (en) 2004-03-16
AU2003269390A8 (en) 2003-12-02
DE60316680D1 (de) 2007-11-15
TWI242136B (en) 2005-10-21
WO2003098454A2 (en) 2003-11-27
WO2003098454A3 (en) 2004-04-08
CN100476779C (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
DE60316680T2 (de) Busumsetzungseinrichtung, system und verfahren
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE10059814B4 (de) Verfahren und System zur Verhandlung der höchsten gemeinsamen Verbindungsrate unter Knoten einer Faserkanal-Entscheidungsschleife
DE69133569T2 (de) Netzschnittstelle
DE69827124T2 (de) Bitübertragungsschichtvorrichtung mit medienunabhängiger schnittstelle zur verbindung and entweder einer mediumzugriffsteuerungseinheit oder anderer bitübertragungsschichtvorrichtungen
DE69233664T2 (de) Schnittstelle eines sender-empfängers
DE69837272T2 (de) Mechanismus zum ersetzen eines paketfelds in einem mehrschicht-vermittlungsnetzelement
DE69920782T2 (de) Verfahren unf Vorrichtung zur bidirektionalen Datenübertragung zwischen einem IEEE1394 Bus und einem Gerät
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69937394T2 (de) Verfahren und vorrichtung zur prädikativen zeitstempelung isochroner datenpakete
DE112004002503T5 (de) Serielle Ethernet Gerät-zu-Gerät-Verbindung
DE102019003979B4 (de) System und verfahren zum durchführen einer interpacket-gap-reparatur für verlustbehaftete protokolle
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
DE112020003983T5 (de) Schnittstelle für verbesserten medienzugriff und zugehörige systeme, verfahren und vorrichtungen
DE10354494B4 (de) Verfahren zur Daten- und Signalübertragung zwischen unterschiedlichen Teileinheiten einer medizintechnischen Anlage
DE60109646T2 (de) Ethernet-anpassungsvorrichtung
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE102017127428B4 (de) Verfahren und Vorrichtung zum Wiedergeben von Inhalten basierend auf einer Präsentationszeit im Fahrzeugnetzwerk
DE60126470T2 (de) Netzwerkvorrichtung und Verfahren zum Laufzeitausgleich von Datenpaketen
EP2053802A1 (de) Verfahren zum übertragen von modifizierten Datenrahmen in einem Kommunikationsnetz, Sende- und Empfangsvorrichtung für ein Kommunikationsnetz
DE60037399T2 (de) Verfahren und Vorrichtung zur Erzeugung einer genauen Rahmenrate in digitaler Videoübertragung
DE102006004191B4 (de) Deterministisches Kommunikations-System
DE102014114754A1 (de) Eine Kommunikationsvorrichtung, die ein unterbrechendes Angleichungsmuster verwendet
DE60120072T2 (de) Verfahren und Vorrichtung zur Verteilung eines Zwischenchipbusses für Nachrichtenübertragung und Speicherzugriff

Legal Events

Date Code Title Description
8364 No opposition during term of opposition