DE112012004451T5 - Mehrfachprotokoll-Serdes-PHY-Vorrichting - Google Patents
Mehrfachprotokoll-Serdes-PHY-Vorrichting Download PDFInfo
- Publication number
- DE112012004451T5 DE112012004451T5 DE112012004451.7T DE112012004451T DE112012004451T5 DE 112012004451 T5 DE112012004451 T5 DE 112012004451T5 DE 112012004451 T DE112012004451 T DE 112012004451T DE 112012004451 T5 DE112012004451 T5 DE 112012004451T5
- Authority
- DE
- Germany
- Prior art keywords
- synchronous
- asynchronous
- unit
- data
- clock
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/04—Distributors combined with modulators or demodulators
- H04J3/047—Distributors with transistors or integrated circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/323—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0091—Transmitter details
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Communication Control (AREA)
Abstract
Description
- VERWANDTE ANMELDUNGEN
- Diese Anmeldung ist eine Fortsetzung der US-Anmeldung Nr. 13/280,841, eingereicht am 25. Oktober 2011. Die gesamten Lehren der obigen Anmeldung(en) sind hierin durch Bezugnahme aufgenommen.
- HINTERGRUND
- „Physikalische Schicht”-Einheiten (PHYs – Physical Layer Units) unterstützen verschiedene Hochgeschwindigkeits-Serialisieren/Deserialisieren(SerDes – Serialize(Deserialize)-Schnittstellen. SerDes-Schnittstellen werden allgemein in Netzwerkvorrichtungen verwendet, um ein Empfangen und Senden von Daten zu unterstützen. SerDes-Schnittstellen umfassen einen Serialisierer-Block und einen Deserialisierer-Block. Der Serialisierer-Block wandelt im Allgemeinen Daten aus einem parallelen Format in ein serielles Format um. Der Deserialisierer-Block wandelt im Allgemeinen Daten aus einem seriellen Format in ein paralleles Format um.
- ZUSAMMENFASSUNG
- In einem Ausführungsbeispiel umfasst eine Mehrfachprotokoll-Schnittstelle eine „physikalische Schicht”-Sendereinheit, die konfiguriert ist zum Senden von Daten von synchronen Medienzugangssteuerschichteinheiten und asynchronen Medienzugangssteuerschichteinheiten. Die Mehrfachprotokoll-Schnittstelle umfasst auch eine „physikalische Schicht”-Empfängereinheit, die konfiguriert ist zum Empfangen von Daten und Liefern der empfangenen Daten an die synchronen Medienzugangssteuerschichteinheiten und die asynchronen Medienzugangssteuerschichteinheiten.
- In einem Ausführungsbeispiel umfasst die „physikalische Schicht”-Sendereinheit einen synchronen Takt; der mit einer Senderate von Daten synchronisiert ist. Die „physikalische Schicht”-Sendereinheit umfasst weiter einen 8b/10b-Codierer, der mit den synchronen Medienzugangssteuerschichteinheiten als Eingänge und dem synchronen Takt als eine Timing- bzw. Zeitsteuerungsvorrichtung gekoppelt ist. Die „physikalische Schicht”-Sendereinheit umfasst auch eine Asynchron-zu-Synchron-Umwandlungseinheit, die mit den asynchronen Medienzugangssteuerschichteinheiten gekoppelt ist. Zusätzlich umfasst die „physikalische Schicht”-Sendereinheit einen Multiplexer, der konfiguriert ist zum Auswählen zwischen dem 8b/10b-Codierer und der Asynchron-zu-Synchron-Umwandlungseinheit.
- In einem Ausführungsbeispiel umfasst die Mehrfachprotokoll-Schnittstelle einen asynchronen Takt, der mit einer von der Sendedatenrate verschiedenen Datenrate synchronisiert ist. Die Asynchron-zu-Synchron-Umwandlungseinheit ist mit dem asynchronen Takt und dem synchronen Takt als Timing-Vorrichtungen gekoppelt.
- In einem Ausführungsbeispiel umfasst die Mehrfachprotokoll-Schnittstelle einen Sender-Differenzialtreiber und einen Serialisierer. Der Multiplexer ist gekoppelt zur Ausgabe an den Serialisierer und der Sender-Differenzialtreiber ist gekoppelt zum Empfangen der Ausgabe des Serialisierers.
- In einem Ausführungsbeispiel umfasst die Mehrfachprotokoll-Schnittstelle einen synchronen Takt, der mit einer Senderate von Daten synchronisiert ist. Die „physikalische Schicht”-Empfängereinheit umfasst weiter einen Deserialisierer, der konfiguriert ist zur Ausgabe an eine elastische Puffereinheit in einem synchronen Modus und konfiguriert ist zur Ausgabe an eine Synchron-zu-Asynchron-Umwandlungseinheit in einem asynchronen Modus. Die elastische Puffereinheit ist gekoppelt zur Ausgabe einer synchronen Version des eingegebenen Signals an den 8b/10b-Decodierer. Die elastische Puffereinheit ist weiter mit dem synchronen Takt als eine Timing-Vorrichtung gekoppelt. Die 8b/10b-Decodierereinheit ist mit den synchronen Medienzugangssteuerschichteinheiten als Ausgänge und dem synchronen Takt als Timing-Vorrichtung gekoppelt. Die Synchron-zu-Asynchron-Umwandlungseinheit ist mit den asynchronen Medienzugangssteuerschichteinheiten als Ausgänge gekoppelt und konfiguriert zum Umwandeln von Daten mit einer wiedergewonnenen empfangenen Taktrate in eine asynchrone Taktrate.
- In einem Ausführungsbeispiel umfasst die „physikalische Schicht”-Empfängereinheit weiter eine Taktwiedergewinnungseinheit, die konfiguriert ist zum Erzeugen des wiedergewonnen empfangenen Takts aus den empfangenen Daten. Die Taktwiedergewinnungseinheit ist als Timing-Vorrichtung mit dem Deserialisierer gekoppelt. Ein Differenzialempfänger ist zur Ausgabe an den Deserialisierer und die Taktwiedergewinnungseinheit gekoppelt.
- In einem Ausführungsbeispiel ist die Synchron-zu-Asynchron-Umwandlungseinheit mit einem asynchronen Takt und einer Taktwiedergewinnungseinheit als Timing-Vorrichtungen gekoppelt.
- In einem Ausführungsbeispiel senden und empfangen die asynchronen Medienzugangssteuerschichteinheiten Daten gemäß dem Interlaken-Protokoll. Die Daten sind Interlaken-Pakete.
- In einem anderen Ausführungsbeispiel sind die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit beide konfiguriert, um entweder in einem asynchronen Modus oder in einem synchronen Modus zu arbeiten. Die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit senden und empfangen nur mit den asynchronen Medienzugangssteuereinheiten und die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit senden und empfangen nur mit den synchronen Medienzugangssteuereinheiten.
- Ein Verfahren zum Verbinden mit mehreren Protokollen umfasst, in einer „physikalische Schicht”-Sendereinheit, ein Senden von Daten von synchronen Medienzugangssteuerschichteinheiten und asynchronen Medienzugangssteuerschichteinheiten. Das Verfahren umfasst weiter, in einer „physikalische Schicht”-Empfängereinheit, ein Empfangen von Daten und Liefern der empfangenen Daten an die synchronen Medienzugangssteuerschichteinheiten und die asynchronen Medienzugangssteuerschichteinheiten.
- Das Verfahren weist weiter auf ein Führen eines synchronen Takts, der mit einer Senderate von Daten synchronisiert ist, Codieren von Daten aus den synchronen Medienzugangssteuerschichteinheiten mit einem 8b/10b-Codierschema unter Verwendung des synchronen Takts als Timing-Vorrichtung, Umwandeln der Ausgabe der asynchronen Medienzugangssteuerschichteinheiten in eine synchrone Ausgabe und Auswählen, in einem Multiplexer, zwischen den codierten Daten und der synchronen Ausgabe.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Das Obige wird ersichtlich aus der folgenden genaueren Beschreibung von beispielhaften Ausführungsbeispielen der Erfindung, wie in den beigefügten Zeichnungen dargestellt, in denen gleiche Bezugszeichen dieselben Teile in den unterschiedlichen Ansichten bezeichnen. Die Zeichnungen sind nicht unbedingt maßstabsgerecht, stattdessen wird die Betonung auf eine Darstellung von Ausführungsbeispielen der vorliegenden Erfindung gelegt.
-
1 ist ein Blockdiagramm, das einen Netzwerkdiensteprozessor zeigt. -
2 ist ein Blockdiagramm, das Schnittstelleneinheiten zeigt. -
3 ist ein Blockdiagramm, das eine asynchrone MAC-Einheit zeigt. -
4 ist ein Blockdiagramm, das Wege eines Mehrfachprotokoll-Senders zeigt. -
5 ist ein Blockdiagramm, das Wege eines Mehrfachprotokoll-Empfängers zeigt. - DETAILLIERTE BESCHREIBUNG
- Eine Beschreibung von beispielhaften Ausführungsbeispielen folgt.
- Vor der Beschreibung von beispielhaften Ausführungsbeispielen im Detail wird ein beispielhafter Netzwerksicherheitsprozessor, in dem die Ausführungsbeispiele implementiert werden können, unmittelbar im Anschluss beschrieben, um den Leser bei einem Verständnis von erfinderischen Merkmalen zu unterstützen.
-
1 ist ein Blockdiagramm, das einen Netzwerkdiensteprozessor100 zeigt. Der Netzwerkdiensteprozessor100 bietet eine hohe Anwendungsleistung unter Verwendung zumindest eines Prozessorkerns120 . - Der Netzwerkdiensteprozessor
100 verarbeitet OSI(Open Systems Interconnection)-Netzwerk-L2-L7-Schicht-Protokolle in empfangenen Paketen eingekapselt. Wie für Fachleute auf dem Gebiet weithin bekannt, definiert das OSI(Open Systems Interconnection)-Referenzmodell sieben Netzwerkprotokollschichten (L1–L7). Die physikalische Schicht (L1) repräsentiert die tatsächliche Schnittstelle, elektrisch und physikalisch, die eine Vorrichtung mit einem Übertragungsmedium verbindet. Die Datenverbindungsschicht (L2) führt ein Aufteilen von Daten in Rahmen durch. Die Netzwerkschicht (L3) formatiert die Daten in Pakete. Die Transportschicht (L4) handhabt einen Ende-zu-Ende-Transport. Die Sitzungsschicht (L5) verwaltet Kommunikationen zwischen Vorrichtungen, zum Beispiel, ob eine Kommunikation Halbduplex oder Vollduplex ist. Die Darstellungsschicht (L6) verwaltet eine Formatierung und Darstellung von Daten, zum Beispiel, Syntax, Steuercodes, spezielle Grafiken und Zeichensätze. Die Anwendungsschicht (L7) ermöglicht eine Kommunikation zwischen Benutzern, zum Beispiel eine Dateiübertragung und elektronische Mail. - Der Netzwerkdiensteprozessor
100 kann Arbeit (Paketverarbeitungsoperationen) für Netzwerkprotokolle der oberen Schicht, zum Beispiel L4–L7, planen und in eine Warteschlange aufnehmen und ermöglichen, dass eine Verarbeitung von Netzwerkprotokollen der oberen Schicht in empfangenen Pakete durchgeführt wird, um Pakete mit Leitungsgeschwindigkeit weiterzuleiten. Leitungsgeschwindigkeit ist die Geschwindigkeit einer Datenübertragung des Netzwerks, über das Daten gesendet und empfangen werden. Durch eine Verarbeitung der Protokolle, um die Pakete bei Leitungsgeschwindigkeit weiterzuleiten, verlangsamt der Netzwerkdiensteprozessor die Netzwerkdatenübertragungsrate nicht. - Ein Paket wird zur Verarbeitung durch eine Vielzahl von Schnittstelleneinheiten
122a und122b empfangen. Ein Paket kann auch durch eine PCIe-Schnittstelle124 empfangen werden. Die Schnittstelleneinheiten122a und122b führen eine Vorverarbeitung des empfangenen Pakets durch Prüfen verschiedener Felder in dem L2-Netzwerkprotokoll-Header durch, der in dem empfangenen Paket enthalten ist, und leiten dann das Paket an eine Paketeingabeeinheit126 weiter. Zumindest eine Schnittstelleneinheit122a kann Pakete von einer Vielzahl von XAUI (X Attachment Unit Interfaces), RXAUI (Reduced X Attachment Unit Interfaces) oder SGMII (Serial Gigabit Media Independent Interfaces) empfangen. Zumindest eine Schnittstelleneinheit122b kann Verbindungen von einer Interlaken-Schnittstelle (ILK – Interlaken Interface) empfangen. - Die Paketeingabeeinheit
126 führt eine weitere Vorverarbeitung von Netzwerkprotokoll-Headern (zum Beispiel L3- und L4-Header) durch, die in dem empfangenen Paket enthalten sind. Die Vorverarbeitung umfasst Prüfsumme-Prüfungen für TCP/UDP (User Datagram Protocol) (L3-Netzwerkprotokolle). - Ein Freier-Pool-Zuteiler
128 führt Pools von Zeigern zu freiem Speicher in einem Schicht-2-Cachespeicher130 und externem DRAM108 . Der Schicht-2-Cachespeicher130 kann auch eine Steuervorrichtung umfassen. Die Paketeingabeeinheit126 verwendet einen des Pools von Zeigern, um empfangene Paketdaten in dem Schicht-2-Cachespeicher130 oder dem externen DRAM108 zu speichern, und einen anderen des Pools von Zeigern, um Arbeits-Warteschlangeneinträge für die Prozessorkerne120 zuzuteilen. - Die Paketeingabeeinheit
126 schreibt dann Paketdaten in Puffer in dem Schicht-2-Cachespeicher130 oder externen DRAM108 . Vorzugsweise werden die Paketdaten in einem Format in die Speicher geschrieben, die für Software einer höheren Schicht geeignet ist, die in zumindest einem der Prozessorkerne120 ausgeführt wird. Somit wird eine weitere Verarbeitung von Netzwerkprotokollen einer höheren Schicht erleichtert. - Der Netzwerkdiensteprozessor
100 kann auch einen oder mehrere anwendungsspezifische Co-Prozessoren umfassen. Diese Co-Prozessoren, wenn enthalten, nehmen einen Teil der Verarbeitung von den Kernen120 , wodurch ermöglicht wird, dass der Netzwerkdiensteprozessor eine Paketverarbeitung mit hohem Durchsatz erzielt. Zum Beispiel ist ein Komprimierung/Dekomprimierung-Co-Prozessor132 vorgesehen, der dazu bestimmt ist, eine Komprimierung und Dekomprimierung von empfangenen Paketen durchzuführen. Andere Ausführungsbeispiele von Co-Verarbeitungseinheiten umfassen die RAID/De-Dup-Einheit162 , die eine Daten-Striping- und Daten-Duplikations-Verarbeitung für Plattenspeicheranwendungen beschleunigt. - Ein weiterer Co-Prozessor ist eine HFA(Hyper Finite Automata)-Einheit
160 , die zugewiesene HFA-Inspektionsmaschinen umfasst, die ausgebildet sind zum Beschleunigen eines Muster- und/oder Signaturvergleichs, der für Anti-Virus-, Angriffserfassungs-Systeme und andere Inhalt-verarbeitende Anwendungen erforderlich ist. Durch eine Verwendung einer HFA-Einheit160 wird ein Muster- und/oder Signaturvergleich beschleunigt, zum Beispiel in Geschwindigkeiten von mehr als das Vielfache von zehn Gigabits pro Sekunde durchgeführt. Die HFA-Einheit160 , in einigen Ausführungsbeispielen, kann jede einer DFA(Deterministic Finite Automata)-, NFA(Non-deterministic Finite Automata)- oder HFA-Inspektionsmaschine umfassen. - Eine E/A-Schnittstelle
136 verwaltet das gesamte Protokoll und die Entscheidung bzw. Arbitration und sieht eine kohärente E/A-Partitionierung vor. Die E/A-Schnittstelle136 umfasst eine E/A-Brücke138 und eine Hol-und-Addier- bzw. Fetch-And-Add-Einheit140 . Die E/A-Brücke umfasst zwei Brücken, eine E/A-Paket-Brücke (IOBP – I/O Packet Bridge)138a und eine E/A-Bus-Brücke (IOBN – I/O Bus Bridge)138b . Die E/A-Paket-Brücke138a ist konfiguriert zum Verwalten des gesamtes Protokolls und der Arbitration und Vorsehen einer kohärenten E/A-Partitionierung mit primär einer Paketeingabe und -ausgabe. Die E/A-Bus-Brücke138b ist konfiguriert zum Verwalten des gesamte Protokolls und der Arbitration und Vorsehen einer kohärenten E/A-Partitionierung mit primär dem E/A-Bus. Register in der Fetch-And-Add-Einheit140 werden verwendet, um Längen der Ausgangswarteschlangen beizubehalten, die verwendet werden zum Weiterleiten von verarbeiteten Paketen über eine Paketausgabeeinheit146 . Die E/A-Brücke138 umfasst Pufferwarteschlangen zum Speichern von Information zur Übertragung zwischen einer kohärenten Speicherverbindung (CMI – coherent memory interconnect)144 , einem E/A-Bus142 , der Paketeingabeeinheit126 und der Paketausgabeeinheit146 . - Die Sonstiges-E/A-Schnittstelle (MIO – miscellaneous I/O interface)
116 kann Hilfsschnittstellen umfassen, wie GPIO (General Purpose I/O), Flash, MDIO (IEEE 804 two-wire Management Interface), SMI (Serial Management Interrupt), UARTs (Universal Asynchronous Receiver-Transmitters), RGMII (Reduced Gigabit Media Independent Interface), MII (Media Independent Interface), TWSI (two wire serial interface) und andere serielle Schnittstellen. - Der Netzwerkdiensteprozessor
100 kann auch eine JTAG(Joint Test Action Group)-Schnittstelle123 umfassen, die den MIPS-EJTAG-Standard unterstützt. Gemäß den JTAG- und MIPS-EJTAG-Standards hat eine Vielzahl von Kernen in dem Netzwerkdiensteprozessor100 jeweils eine interne TAP(Test Access Port)-Steuervorrichtung. Dies ermöglicht eine Mehrfach-Kern-Debug-Unterstützung des Netzwerkdiensteprozessors100 . - Ein SSO(Schedule/Sync and Order)- bzw. „Planen/Synchronisieren und in Reihenfolge bringen”-Modul
148 setzt Arbeit für die Prozessorkerne120 in Warteschlangen und plant diese. Die Arbeit wird in eine Warteschlange eingereiht durch Hinzufügen eines Arbeits-Warteschlangeneintrags zu einer Warteschlange. Zum Beispiel wird ein Arbeits-Warteschlangeneintrag von der Paketeingabeeinheit126 für jede Paketankunft hinzugefügt. Eine Timer-Einheit150 wird verwendet, um Arbeit für die Prozessorkerne120 zu planen. - Prozessorkerne
120 fordern Arbeit von dem SSO-Modul148 an. Das SSO-Modul148 wählt (d. h. plant) Arbeit für einen der Prozessorkerne120 und gibt einen Zeiger zu dem Warteschlangeneintrag, der die Arbeit beschreibt, an den Prozessorkern120 zurück. - Der Prozessorkern
120 umfasst wiederum einen Anweisungscache152 , einen Schicht-1-Daten-Cache154 und eine Krypto-Beschleunigung156 . In einem Ausführungsbeispiel umfasst der Netzwerkdiensteprozessor100 32 superskalare Prozessorkerne120 des RISC(Reduced Instruction Set Computer)-Typs. In einigen Ausführungsbeispielen umfasst jeder der superskalaren Prozessorkerne120 des RISC-Typs eine Erweiterung des MIPS64-Version-3-Prozessorkerns. In einem Ausführungsbeispiel umfasst jeder der superskalaren Prozessorkerne120 des RISC-Typs einen cnMIPS-II-Prozessorkern. - Der Schicht-2-Cachespeicher
130 und der externe DRAM108 werden durch alle Prozessorkerne120 und E/A-Co-Prozessorvorrichtungen geteilt bzw. gemeinsam verwendet. Jeder Prozessorkern120 ist mit dem Schicht-2-Cachespeicher130 durch die CMI144 gekoppelt. Die CMI144 ist ein Kommunikationskanal für alle Speicher- und E/A-Transaktionen zwischen den Prozessorkernen120 , der E/A-Schnittstelle136 und dem Schicht-2-Cachespeicher130 und der Steuervorrichtung. In einem Ausführungsbeispiel ist die CMI144 auf 32 Prozessorkerne120 skalierbar und unterstützt vollständig kohärente Schicht-1-Daten-Caches154 mit Write-Through. Vorzugsweise ist die CMI144 hoch gepuffert mit der Fähigkeit, E/A zu priorisieren. Die CMI144 ist mit einer Verfolgungssteuereinheit164 gekoppelt, die konfiguriert ist zum Erfassen von Bus-Anforderungen, so dass Software später die Anforderung lesen und eine Verfolgung der Sequenz von Ereignissen auf der CMI144 erzeugen kann. - Der Schicht-2-Cachespeicher
130 und die Steuervorrichtung behalten eine Speicherreferenzkohärenz bei. Sie gibt die letzte Kopie eines Speicherblocks für jede Füllen-Anforderung zurück, ob der Block in dem Schicht-2-Cachespeicher130 , in dem externen DRAM108 gespeichert ist oder „in-flight” ist. Sie speichert auch eine Duplikatskopie der Tags für den Daten-Cache154 in jedem Prozessorkern120 . Sie vergleicht die Adressen der Cache-Block-Speichern-Anforderungen mit den Daten-Cache-Tags und erklärt (beide Kopien) eines Daten-Cache-Tags für einen Prozessorkern120 für ungültig, wenn eine Speichern-Anweisung von einem anderen Prozessorkern oder von einer E/A-Komponente über die E/A-Schnittstelle136 ist. - In einigen Ausführungsbeispielen unterstützt eine Vielzahl von DRAM-Steuervorrichtungen
133 bis zu 128 Gigabyte DRAM. In einem Ausführungsbeispiel umfasst die Vielzahl von DRAM-Steuervorrichtungen vier DRAM-Steuervorrichtungen, wobei jede der DRAM-Steuervorrichtungen133 32 Gigabyte DRAM unterstützt. Vorzugsweise unterstützt jede DRAM-Steuervorrichtung133 eine 64-Bit-Schnittstelle zu DRAM108 . Zusätzlich kann die DRAM-Steuervorrichtung133 bevorzugte Protokolle unterstützen, wie das DDR-III-Protokoll. - Nachdem ein Paket von den Prozessorkernen
120 verarbeitet wurde, liest die Paketausgabeeinheit146 die Paketdaten aus dem Schicht-2-Cachespeicher130 /DRAM108 , führt eine L4-Netzwerkprotokoll-Nachverarbeitung durch (erzeugt zum Beispiel eine TCP/UDP-Prüfsumme), leitet das Paket über die Schnittstelleneinheiten122a und122b oder die PCIe-Schnittstelle124 weiter und gibt den Schicht-2-Cachespeicher130 /DRAM108 frei, der von dem Paket verwendet wird. - Die DRAM-Steuervorrichtungen
133 verwalten „in-flight”-Transaktionen (laden/speichern) an den/von dem DRAM108 . In einigen Ausführungsbeispielen umfassen die DRAM-Steuervorrichtungen133 vier DRAM-Steuervorrichtungen, der DRAM108 umfasst vier DRAM-Speicher, und jede DRAM-Steuervorrichtung ist mit einem DRAM-Speicher verbunden. Die HFA-Einheit160 ist direkt mit den DRAM-Steuervorrichtungen133 auf einem Bypass-Cache-Zugriffspfad135 gekoppelt. Der Bypass-Cache-Zugriffspfad135 ermöglicht der HFA-Einheit, direkt aus dem DRAM-Speicher108 zu lesen, ohne den Schicht-2-Cachespeicher130 zu benutzen, was eine Effizienz für HFA-Operationen verbessern kann. - Das Interlaken-Protokoll hat mehrere unterscheidende Merkmale gegenüber synchronen Protokollen. Zum Beispiel sieht das Interlaken-Protokoll eine 64b/67b-Codierung und Verwürfelung bzw. Scrambling anstelle einer 8b/10b-Codierung vor. Das Interlaken-Protokoll sieht eine komplexe Takt-Kompensierung vor, da es eine MetaFrame-Größe-Invarianz-Anforderung hat. Zusätzlich hat es eine entspannte Weg-zu-Weg-Sende-Skew-Spezifikation, wo 67 Einheit-Intervalle bei einer PMA-Teilschicht erlaubt sind.
-
2 ist ein Blockdiagramm, das die Schnittstelleneinheiten122 zeigt. Die Schnittstelleneinheiten122 umfassen eine Vielzahl von Quad-Lane-Modulen (QLMs – quad-lane modules)202A –202E in einer Serialisierer-Deserialisierer(SerDes)-Schnittstelle206 . Die Schnittstelleneinheiten122 umfassen weiter eine Vielzahl von synchronen Medienzugangssteuer(MAC – media access control)-Einheiten204A –204E und eine asynchrone Medienzugangssteuer(MAC)-Einheit212 . In einem Ausführungsbeispiel ist die asynchrone MAC-Einheit212 eine Interlaken-Schnittstelle. In einigen Ausführungsbeispielen ist die Interlaken-Schnittstelle konfiguriert zum Empfangen oder Senden auf zwei Verbindungen. Die Schnittstelleneinheiten122 umfassen auch eine DMA(Direct Memory Access)-Paketschnittstelle (DPI – DMA Packet Interface)/SLI (Switch Logic Interface)208 . Die DPI/SLI208 ist mit zumindest einem PCIe-Kern210A –B gekoppelt. Die Vielzahl von synchronen MAC-Einheiten204A –E, die asynchrone MAC-Einheit206 und die DPI/SLI208 sind mit dem E/A-Bus142 gekoppelt. - Die synchrone MAC-Einheit
204A ist mit QLM202A gekoppelt. Die synchrone MAC-Einheit204B ist ebenfalls mit QLM202A gekoppelt. Die synchrone MAC-Einheit204C ist mit QLM202C gekoppelt. Die synchrone MAC-Einheit204D ist mit QLM202D gekoppelt. Die synchrone MAC-Einheit204E ist mit QLM202E gekoppelt. - Die asynchrone MAC-Einheit
212 mit QLM202B und QLM202C gekoppelt. Die DPI/SLI208 ist mit PCIe-Kernen210A –210B gekoppelt. Der PCIe-Kern210A ist mit QLM202B und202C gekoppelt. Der PCIe-Kern210B ist mit QLM202D und QLM202E gekoppelt. Der PCIe-Kern210B ist auch mit einem elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM – electrically eraseable programmable read-only memory) gekoppelt. Die asynchrone MAC-Einheit212 umfasst eine „Physical Coding”-Teilschicht und eine „Physical Medium Attachment”-Teilschicht. In einem Ausführungsbeispiel führt die asynchrone MAC-Einheit212 eine Interlaken-spezifische Funktionalität durch. -
3 ist ein Blockdiagramm, das die asynchrone MAC-Einheit212 zeigt. Die asynchrone MAC-Einheit212 umfasst einen Sendepfad302 und einen Empfangspfad312 . Der Sendepfad302 gibt Daten von einer Paketausgabeeinheit146 ein. Die Paketausgabeeinheit146 ist gekoppelt, um Daten an eine Sendeverbindungseinheit304 zu senden. Die Sendeverbindungseinheit304 ist gekoppelt, um Daten an eine Sendewegeinheit306 zu senden. Dann sendet die Sendeverbindung Daten an QLM202B oder QLM202C . - Der Empfangspfad
312 empfängt Daten von den QLMs202B und202C an dem Empfangsweg316 . Der Empfangsweg sendet Daten an die Empfangsverbindung314 . Die Empfangsverbindung sendet Pakete an die Paketeingabeeinheit126 . -
4 ist ein Blockdiagramm, das Wege eines Mehrfachprotokoll-Senders400 zeigt. Der Mehrfachprotokoll-Sender400 umfasst zumindest eine asynchrone MAC-Einheit402 , zumindest eine synchrone MAC-Einheit404 und eine Sender-Serialisierer-Einheit410 . In einem Ausführungsbeispiel kann die zumindest eine asynchrone MAC-Einheit402 die asynchrone (MAC)-Einheit212 von2 sein. In einem Ausführungsbeispiel kann die synchrone MAC-Einheit404 die synchronen MAC-Einheiten204A –204E oder die DPI/SLI208 gekoppelt mit den PCIe-Kernen210A –B von2 sein. - Die Sender-Serialisierer-Einheit
410 umfasst eine Asynchron-zu-Synchron-Umwandlungseinheit412 , einen Sendertakt424 und eine Sendertaktrate-Teilereinheit422 . Der Sendertakt424 ist mit der Sendertaktrate-Teilereinheit422 gekoppelt. Die Sendertaktrate-Teilereinheit422 ist konfiguriert zum Teilen der Taktrate des Sendertakts424 . In einem Ausführungsbeispiel ist die Sendertaktrate-Teilereinheit422 konfiguriert zum Teilen der Taktrate des Sendertakts424 durch einen Faktor von 10. - Die Asynchron-zu-Synchron-Umwandlungseinheit
412 ist mit der asynchronen. MAC-Einheit402 , der Sendertaktrate-Teilereinheit422 und einem asynchronen Takt406 gekoppelt. Die Asynchron-zu-Synchron-Umwandlungseinheit412 ist konfiguriert zum Empfangen von Daten von der asynchronen MAC-Einheit402 auf einer asynchronen Sendedatenleitung450 , die mit dem asynchronen Takt406 zeitlich abgestimmt ist. Der asynchrone Takt406 ist mit einer anderen Rate als der Rate des Sendertakts424 zeitlich abgestimmt. Die asynchrone Sendedatenleitung450 ist ein 10-Bit-Segment von vorcodierten Sendedaten, getrieben durch die asynchrone MAC-Einheit402 . Die asynchrone MAC-Einheit402 sieht ein asynchrones gültiges Sendesignal452 vor, wenn gültige Daten auf der asynchronen Sendedatenleitung450 verfügbar sind. Die Asynchron-zu-Synchron-Umwandlungseinheit412 sieht einen asynchronen Sendekredit454 für die asynchrone MAC-Einheit402 vor, nachdem die Asynchron-zu-Synchron-Umwandlungseinheit412 die Daten von der asynchronen Sendedatenleitung450 aufnimmt. - Die Asynchron-zu-Synchron-Umwandlungseinheit
412 gibt dieselben Daten gemäß der geteilten Taktrate, die von der Sendertaktrate-Teilereinheit422 vorgesehen ist, in einer first-in-first-out-Reihenfolge aus. Die Asynchron-zu-Synchron-Umwandlungseinheit412 gibt 10 parallele Bits gleichzeitig ein und aus. - Die Sender-Serialisierer-Einheit
410 umfasst weiter eine 8b/10b-Codierereinheit414 . Die 8b/10b-Codierereinheit414 ist mit der synchronen MAC-Einheit404 und der Sendertaktrate-Teilereinheit422 gekoppelt. Die 8b/10b-Codierereinheit414 ist konfiguriert zum Empfangen von Daten von der synchronen MAC-Einheit404 in 8-Bit parallelen Segmenten von der synchronen Sendedatenleitung460 . Die synchrone Sendedatenleitung460 sendet ein Symbol oder 8 Bits von nichtcodierten Sendedaten und wird von der synchronen MAC-Einheit404 getrieben. Die synchrone Dateneinheit sendet auch ein Steuerungsbit462 , für ein 8b/10b-Codieren von Daten, von der synchronen Sendedatenleitung460 . Die synchrone MAC-Einheit404 ist auch mit der Sendertaktrate-Teilereinheit422 gekoppelt, um ein synchrones Taktsignal464 zu empfangen, das 1/10tel des gesendeten Datenrate ist. - Die 8b/10b-Codierereinheit
414 codiert dann die empfangenen Daten von der synchronen Sendedatenleitung460 gemäß dem 8b/10b-Codierschema, das in der Technik weithin bekannt ist. Die 8b/10b-Codierereinheit414 gibt dann die codierten Daten gemäß der geteilten Taktrate aus, die von der Sendertaktrate-Teilereinheit422 vorgesehen ist. - Das Sender-Serialisierer-Modul
410 umfasst einen Multiplexer416 . Der Multiplexer ist gekoppelt, um die 10-Bit-Ausgaben von sowohl dem 8b/10b-Codierer414 als auch der Asynchron-zu-Synchron-Umwandlungseinheit412 zu empfangen. Der Multiplexer416 ist mit einem Synchron/Asynchron-Modus-Signal430 als ein Auswahl-Bit gekoppelt. In einem Ausführungsbeispiel wird das Synchron/Asynchron-Modus-Signal430 einmal beim Systemstart gesetzt. In diesem Ausführungsbeispiel ändert sich das Synchron/Asynchron-Modus-Signal430 während des Systembetriebs nicht und kann nur bei einem Neustart geändert werden. Der Multiplexer416 wählt das Signal von dem 8b/10b-Codierer414 in einem synchronen Modus und wählt das Signal von der Asynchron-zu-Synchron-Umwandlungseinheit412 in einem asynchronen Modus. - Das von dem Multiplexer
416 ausgewählte Signal wird an einen Serialisierer418 gesendet. Der Serialisierer ist weiter mit der Sendertaktrate-Teilereinheit422 und dem Sendertakt424 gekoppelt. Der Serialisierer418 empfängt ein Signal mit der geteilten Taktrate und gibt einzelne Bits des 10-Bit-Parallelsignals aus, das er gemäß dem Sendertakt424 empfängt. Der Serialisierer gibt das serialisierte Signal an den Differenzialtreiber420 aus. Der Differenzialtreiber420 gibt zwei komplementäre Signale aus, ein positives Sendesignal426 und ein negatives Sendesignal428 . Wie in der Technik bekannt, reduziert eine Differenzialsignalisierung den Effekt von Rauschen auf einem Signal. -
5 ist ein Blockdiagramm, das Wege eines Mehrfachprotokoll-Empfängers500 zeigt. Der Mehrfachprotokoll-Empfänger500 umfasst zumindest eine asynchrone MAC-Einheit402 , zumindest eine synchrone MAC-Einheit404 und ein Empfänger-Serialisierer-Modul510 . In einem Ausführungsbeispiel kann die zumindest eine asynchrone MAC-Einheit402 die asynchrone (MAC)-Einheit212 von2 sein. In einem Ausführungsbeispiel kann die synchrone MAC-Einheit404 die synchronen MAC-Einheiten204A –204E oder die DPI/SLI208 gekoppelt mit den PCIe-Kernen210A –B von2 sein. - Das Empfänger-Serialisierer-Modul umfasst einen Differenzialempfänger
512 , der ein positives Empfangssignal526 und ein negatives Empfangssignal524 empfängt. Der Differenzialempfänger512 verarbeitet das positive Empfangssignal526 und das negative Empfangssignal524 und gibt ein einzelnes Signal aus unter Verwendung von Differenzialsignalisierungstechniken, die in der Technik weithin bekannt sind. Der Differenzialempfänger512 ist gekoppelt zur Ausgabe an einen. Deserialisierer514 und eine Taktwiedergewinnungseinheit515 . - Die Taktwiedergewinnungseinheit
515 erzeugt ein Taktsignal aus dem ausgegebenen Signal. Das erzeugte Taktsignal kann von dem Sendertakt424 verschieden sein. Die Taktwiedergewinnungseinheit515 ist mit einer „wiedergewonnene Taktrate”-Teilereinheit522 gekoppelt. Die „wiedergewonnene Taktrate”-Teilereinheit522 ist konfiguriert zum Teilen der Taktrate der wiedergewonnenen Taktrate, die von der Taktwiedergewinnungseinheit515 ausgegeben wird. - Der Deserialisierer
514 ist ebenfalls mit der Taktwiedergewinnungseinheit515 und der „wiedergewonnene Taktrate”-Teilereinheit522 gekoppelt. Der Deserialisierer514 synchronisiert jedes Bit mit jeder Takteinheit von der Taktwiedergewinnungseinheit515 und gibt dann einparalleles 10-Bit-Segment für jede Takteinheit von der „wiedergewonnene Taktrate”-Teilereinheit522 aus. - Der Deserialisierer
514 ist gekoppelt zur Ausgabe an sowohl die elastische Puffereinheit516 als auch die Synchron-zu-Asynchron-Umwandlungseinheit520 . Sowohl die elastische Puffereinheit516 als auch die Synchron-zu-Asynchron-Umwandlungseinheit520 sind mit einem Synchron/Asynchron-Modus-Signal430 gekoppelt. Während der Deserialisierer514 verbunden ist, direkt an sowohl die elastische Puffereinheit516 als auch die Synchron-zu-Asynchron-Umwandlungseinheit520 auszugeben, ist die elastische Puffereinheit516 nur in dem synchronen Modus aktiviert und die Synchron-zu-Asynchron-Umwandlungseinheit ist nur in dem asynchronen Modus aktiviert. Auf diese Weise gibt der Deserialisierer514 nur an einen aus einem synchronen Datenpfad oder einem asynchronen Datenpfad aus. - Die elastische Puffereinheit
516 ist gekoppelt, um die Ausgabe des Deserialisierers514 , die Ausgabe der „wiedergewonnene Taktrate”-Teilereinheit522 und die Ausgabe der Sendertaktrate-Teilereinheit422 zu empfangen. Die elastische Puffereinheit ist konfiguriert zum Puffer und Neuausrichten der deserialisierten Daten von der geteilten wiedergewonnenen Taktrate zu der geteilten Taktrate, die von der Sendertaktrate-Teilereinheit422 ausgegeben wird. Die elastische Puffereinheit516 umfasst eine Codegruppe-Ausrichtungseinheit (nicht gezeigt), die konfiguriert ist zum Bestimmen des Beginns jedes 10-Bit-Blocks zur Ausgabe an den 8b/10b-Decodierer518 . Die elastische Puffereinheit gibt 10-Bit-Segmente an den 8b/10b-Decodierer518 aus. - Der 8b/10b-Decodierer
518 decodiert das 10-Bit-Segment gemäß dem 8b/10b-Decodierschema, das in der Technik bekannt ist. Der 8b/10-Decodierer518 gibt dann ein 8-Bit-Segment an eine synchrone Empfangsdatenleitung530 und ein synchrones Empfangssteuerungsbit532 an die synchrone MAC-Einheit404 aus. Weiter sieht die elastische Puffereinheit516 , für die synchrone MAC-Einheit404 , ein empfangenes gültiges Datensignal538 vor, wenn gültige Daten auf sowohl der synchronen Empfangsdatenleitung530 als auch dem synchronen Empfangssteuerungsbit532 verfügbar sind und wenn eine Codegruppe ausgerichtet ist. Die elastische Puffereinheit516 gibt auch an die synchrone MAC-Einheit404 einen synchronen Empfangsstatus534 aus, der den Empfängerstatus und mögliche Fehlerbedingungen codiert. Die Status und Fehlerbedingungen können umfassen „empfangene Daten in Ordnung”, „SKiP(SKP)-Symbol hinzugefügt”, „SKiP(SKP)-Symbol entfernt”, „8b/10b-Decodierfehler”, „Überlauf elastischer Puffer”, „Unterschreitung elastischer Puffer” und „8b/10b-Disparitätsfehler”. Die synchrone MAC-Einheit404 empfängt weiter das synchrone Taktsignal464 von der Sendertaktrate-Teilereinheit422 , um alle synchronen Signale zu dem synchronen Taktsignal464 zu synchronisieren. - Die Synchron-zu-Asynchron-Umwandlungseinheit
520 ist gekoppelt zum Empfangen einer Eingabe von dem Deserialisierer514 , der „wiedergewonnene Taktrate”-Teilereinheit522 und dem asynchronen Takt406 . Die Synchron-zu-Asynchron-Umwandlungseinheit520 wandelt das deserialisierte Signal des Deserialisierers514 von synchronisiert zu dem geteilten wiedergewonnenen Takt von der „wiedergewonnene Taktrate”-Teilereinheit522 zu synchronisiert zu dem asynchronen Takt406 um. Die Synchron-zu-Asynchron-Umwandlungseinheit520 gibt asynchrone empfangene Daten, die ein codiertes 10-Bit-Segment sind, an die asynchrone MAC-Einheit402 aus. Die Synchron-zu-Asynchron-Umwandlungseinheit520 sieht auch, für die asynchrone MAC-Einheit402 , ein asynchrones empfangenes gültiges Datenbit538 vor, wenn gültige Daten auf der asynchronen Empfangsdatenleitung540 verfügbar sind. Die asynchrone MAC-Einheit402 ist mit dem asynchronen Takt406 gekoppelt, um alle asynchronen Signale zu synchronisieren. - Somit sieht das oben beschriebene System eine Kompatibilität mit asynchronen Protokollen, wie dem Interlaken-Protokoll, als auch synchronen SerDes-Schnittstellen vor, wie PCI-Express, Serial RapidIO, SGMII und XAUI.
- Dieses System überträgt einen Großteil der Interlaken-spezifischen PCS/PMA-Funktionalität von der Mehrfachprotokoll-PHY in die asynchrone MAC-Einheit, die für Interlaken-MAC-Funktionen verantwortlich ist. Jedoch kann unter Verwendung dieses Systems eine asynchrone MAC-Einheit, die Interlaken verwendet, denselben PHY-Block wie eine synchrone MAC-Einheit verwenden.
- Die Sendeschnittstelle beginnt mit einem MAC-Block, der 10 Bit von 64b/67b vorcodierten/vorverwürfelten Daten auf dem Systemtakt unter Verwendung eines Kredit-/Debit-Schemas sendet. Der PHY-Block der Sendeschnittstelle wandelt die 10 parallelen Bits von Daten von synchronisiert mit dem asynchronen Takt zu synchronisiert mit dem Sendertakt um. Der PHY-Block der Sendeschnittstelle wandelt dann 10 parallele Bits zu 10 seriellen Bits um und sendet diese mit einem Hochgeschwindigkeits-Differenzialtreiber. Der asynchrone Takt sollte höher sein als die Geschwindigkeit des Schnittstellentakts, der 625 Mhz in einem Ausführungsbeispiel ist, um Unterschreitungen in einem Taktumwandlungsdatenpuffer zu verhindern.
- Der PHY-Block der Empfangsschnittstelle empfängt serielle Daten unter Verwendung eines Hochgeschwindigkeits-Differenzialempfängers. Dann wandelt der PHY-Block der Empfangsschnittstelle die empfangenen seriellen Daten in Segmente um und gewinnt das Taktsignal der empfangenen Daten zurück. Der PHY-Block der Empfangsschnittstelle wandelt 10 Bits von 64b/67b codierten/verwürfelten Daten von einem durch-10-geteilten wiedergewonnenen empfangenen Datentakt in den asynchronen Takt um und sendet die Daten an den MAC-Block zusammen mit einem gültigen Bit. Der asynchrone. Takt ersetzt eine explizite Takt-Kompensation an den Sendertakt, was auch ein globales Routing des Sendertakts vermeidet. Der asynchrone Takt sollte höher sein als die Geschwindigkeit des Schnittstellentakts, der 625 Mhz in einem Ausführungsbeispiel ist, um Unterschreitungen in einem Taktumwandlungsdatenpuffer zu verhindern.
- Fachleute in der Technik werden erkennen, dass in einigen Ausführungsbeispielen der Sendertakt ein Schnittstellentakt oder ein synchroner Takt ist. Fachleute werden auch erkennen, dass in einigen Ausführungsbeispielen der asynchrone Takt ein Systemtakt ist.
- Während diese Erfindung insbesondere unter Bezugnahme auf ihre beispielhaften Ausführungsbeispiele gezeigt und beschrieben wurde, dürfte für Fachleute offensichtlich sein, dass verschiedene Änderungen in Form und Details darin vorgenommen werden können, ohne von dem Umfang der Erfindung abzuweichen, der durch die angefügten Ansprüche umfasst wird.
Claims (18)
- Mehrfachprotokoll-Schnittstelle, die aufweist: eine „physikalische Schicht”-Sendereinheit, die konfiguriert ist zum Senden von Daten von zumindest einer aus einer oder mehreren synchronen Medienzugangssteuerschichteinheit(en) und einer oder mehreren asynchronen Medienzugangssteuerschichteinheit(en); und eine „physikalische Schicht”-Empfangereinheit, die konfiguriert ist zum Empfangen von Daten und Liefern der empfangenen Daten an zumindest eine der einen oder mehreren synchronen Medienzugangssteuerschichteinheit(en) und die eine oder mehreren asynchrone(n) Medienzugangssteuerschichteinheit(en).
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 1, wobei die „physikalische Schicht”-Sendereinheit weiter aufweist: einen synchronen Takt, der mit einer Senderate von Daten synchronisiert ist; einen 8b/10b-Codierer, der mit der einen oder mehreren synchronen Medienzugangssteuerschichteinheit(en) als Eingänge und dem synchronen Takt als eine Timing- bzw. Zeitsteuerungsvorrichtung gekoppelt ist; eine Asynchron-zu-Synchron-Umwandlungseinheit, die mit der einen oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) gekoppelt ist; und einen Multiplexer, der konfiguriert ist zum Auswählen zwischen dem 8b/10b-Codierer und der Asynchron-zu-Synchron-Umwandlungseinheit.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 2, die weiter einen asynchronen Takt aufweist, wobei der asynchrone Takt mit einer von der Sendedatenrate verschiedenen Datenrate synchronisiert ist, wobei die Asynchron-zu-Synchron-Umwandlungseinheit mit dem asynchronen Takt und dem synchronen Takt als Timing-Vorrichtungen gekoppelt ist.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 2, die weiter aufweist einen Sender-Differenzialtreiber; und einen Serialisierer, wobei der Multiplexer gekoppelt ist zur Ausgabe an den Serialisierer, und der Sender-Differenzialtreiber gekoppelt ist zum Empfangen der Ausgabe des Serialisierers.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 1, wobei die „physikalische Schicht”-Empfängereinheit weiter aufweist: einen synchronen Takt, der mit einer Senderate von Daten synchronisiert ist; und einen Deserialisierer, der konfiguriert ist zur Ausgabe an eine elastische Puffereinheit in einem synchronen Modus und konfiguriert ist zur Ausgabe an eine Synchron-zu-Asynchron-Umwandlungseinheit in einem asynchronen Modus, wobei die elastische Puffereinheit gekoppelt ist zur Ausgabe einer synchronen Version des eingegebenen Signals an den der 8b/10b-Decodierer, wobei die elastische Puffereinheit weiter mit dem synchronen Takt als eine Timing-Vorrichtung gekoppelt ist, wobei die 8b/10b-Decodierereinheit mit der einen oder mehreren synchronen Medienzugangssteuerschichteinheit(en) als Ausgänge und dem synchronen Takt als Timing-Vorrichtung gekoppelt ist, wobei die Synchron-zu-Asynchron-Umwandlungseinheit mit der einen oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) als Ausgänge gekoppelt ist und konfiguriert ist zum Umwandeln von Daten mit einer wiedergewonnenen empfangenen Taktrate in eine asynchrone Taktrate.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 5, die weiter aufweist: eine Taktwiedergewinnungseinheit, die konfiguriert ist zum Erzeugen des wiedergewonnen empfangenen Takts aus den empfangenen Daten, wobei die Taktwiedergewinnungseinheit als eine Timing-Vorrichtung mit dem Deserialisierer gekoppelt ist; und einen Differenzialempfänger, der zur Ausgabe an den Deserialisierer und die Taktwiedergewinnungseinheit gekoppelt ist.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 5, wobei die Synchron-zu-Asynchron-Umwandlungseinheit mit einem asynchronen Takt und einer Taktwiedergewinnungseinheit als Timing-Vorrichtungen gekoppelt ist.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 1, wobei die eine oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) konfiguriert sind zum Senden und Empfangen von Daten gemäß dem Interlaken-Protokoll, wobei die Daten Interlaken-Pakete sind.
- Die Mehrfachprotokoll-Schnittstelle gemäß Anspruch 1, wobei die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit beide konfiguriert sind, um entweder in einem asynchronen Modus oder in einem synchronen Modus zu arbeiten, wobei in dem asynchronen Modus die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit nur mit der einen oder mehreren asynchronen Medienzugangssteuereinheit(en) senden und empfangen, und in dem synchronen Modus die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit nur mit der einen oder mehreren synchronen Medienzugangssteuereinheit(en) senden und empfangen.
- Ein Verfahren zum Verbinden mit mehreren Protokollen, das aufweist: in einer „physikalische Schicht”-Sendereinheit: Senden von Daten von zumindest einer aus einer oder mehreren synchronen Medienzugangssteuerschichteinheit(en) und einer oder mehreren asynchronen Medienzugangssteuerschichteinheit(en); und in einer „physikalische Schicht”-Empfängereinheit: Empfangen von Daten und Liefern der empfangenen Daten an zumindest eine der einen oder mehreren synchronen Medienzugangssteuerschichteinheit(en) und die eine oder mehreren asynchrone(n) Medienzugangssteuerschichteinheit(en).
- Das Verfahren gemäß Anspruch 10, wobei die „physikalische Schicht”-Sendereinheit weiter aufweist: Führen eines synchronen Takts, der mit einer Senderate von Daten synchronisiert ist; Codieren von Daten von der einen oder mehreren synchronen Medienzugangssteuerschichteinheit(en) mit einem 8b/10b-Codierschema unter Verwendung des synchronen Takts als eine Timing-Vorrichtung; Umwandeln der Ausgabe der einen oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) in eine synchrone Ausgabe; Auswählen, in einem Multiplexer, zwischen den codierten Daten und der synchronen Ausgabe.
- Das Verfahren gemäß Anspruch 11, das weiter ein Führen eines asynchronen Takts aufweist, wobei der asynchrone Takt mit einer von der Sendedatenrate verschiedenen Datenrate synchronisiert ist, wobei das Umwandeln der Ausgabe der einen oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) in eine synchrone Ausgabe auf dem Timing der synchronen Ausgabe auf dem synchronen Takt basiert.
- Das Verfahren gemäß Anspruch 11, das weiter aufweist Serialisieren der ausgewählten Ausgabe; und differenzielles Treiben der serialisierten Ausgabe.
- Das Verfahren gemäß Anspruch 10, wobei die „physikalische Schicht”-Empfängereinheit weiter aufweist: Führen eines synchronen Takts, der mit einer Senderate von Daten synchronisiert ist; Empfangen von Daten; Deserialisieren der Daten; in einem synchronen Modus: Puffern von Daten entlang eines Datendecodierpfads und Synchronisieren der gepufferten Daten mit dem synchronen Takt, Decodieren der gepufferten Daten entlang des Datendecodierpfads unter Verwendung eines 8b/10b-Decodierschemas und des synchronen Takts als Timing-Vorrichtung, und Ausgeben der decodierten Daten an die eine oder mehreren synchronen Medienzugangssteuerschichteinheit(en); und in einem asynchronen Modus: Umwandeln der Daten entlang eines Synchron-zu-Asynchron-Umwandlungspfads in ein asynchrones Signal, das zeitlich abgestimmt ist mit einem asynchronen Takt, und Ausgeben des asynchronen Signals an die eine oder mehreren asynchronen Medienzugangssteuereinheit(en).
- Das Verfahren gemäß Anspruch 14, das weiter aufweist: Wiedergewinnen von Taktinformation aus den empfangenen Daten; und Deserialisieren der Daten durch Synchronisieren der Daten mit der wiedergewonnenen Taktinformation.
- Das Verfahren gemäß Anspruch 15, wobei das Umwandeln der empfangenen Daten entlang des Synchron-zu-Asynchron-Umwandlungspfads die empfangenen Daten von zeitlich abgestimmt mit der wiedergewonnenen Taktinformation zu einem asynchronen Signal umwandelt, das mit einem asynchronen Takt zeitlich abgestimmt ist.
- Das Verfahren gemäß Anspruch 10, wobei die eine oder mehreren asynchronen Medienzugangssteuerschichteinheit(en) konfiguriert ist/sind zum Senden und Empfangen von Daten gemäß dem Interlaken-Protokoll, wobei die Daten Interlaken-Pakete sind.
- Das Verfahren gemäß Anspruch 10, wobei die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit beide konfiguriert sind, um entweder in einem asynchronen Modus oder in einem synchronen Modus zu arbeiten, wobei in dem asynchronen Modus die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit nur mit der einen oder mehreren asynchronen Medienzugangssteuereinheit(en) senden und empfangen, und in dem synchronen Modus die „physikalische Schicht”-Sendereinheit und die „physikalische Schicht”-Empfängereinheit nur mit der einen oder mehreren synchronen Medienzugangssteuereinheit(en) senden und empfangen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/280,841 | 2011-10-25 | ||
US13/280,841 US9219560B2 (en) | 2011-10-25 | 2011-10-25 | Multi-protocol SerDes PHY apparatus |
PCT/US2012/057279 WO2013062709A1 (en) | 2011-10-25 | 2012-09-26 | Multi-protocol serdes phy apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112012004451T5 true DE112012004451T5 (de) | 2014-09-04 |
DE112012004451B4 DE112012004451B4 (de) | 2022-12-15 |
Family
ID=47080794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012004451.7T Active DE112012004451B4 (de) | 2011-10-25 | 2012-09-26 | Mehrfachprotokoll-Serdes-PHY-Vorrichtung |
Country Status (5)
Country | Link |
---|---|
US (1) | US9219560B2 (de) |
KR (1) | KR101645502B1 (de) |
CN (1) | CN103907297B (de) |
DE (1) | DE112012004451B4 (de) |
WO (1) | WO2013062709A1 (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363071B2 (en) | 2013-03-07 | 2016-06-07 | Qualcomm Incorporated | Circuit to recover a clock signal from multiple wire data signals that changes state every state cycle and is immune to data inter-lane skew as well as data state transition glitches |
US9374216B2 (en) | 2013-03-20 | 2016-06-21 | Qualcomm Incorporated | Multi-wire open-drain link with data symbol transition based clocking |
US9755818B2 (en) | 2013-10-03 | 2017-09-05 | Qualcomm Incorporated | Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes |
US9203599B2 (en) | 2014-04-10 | 2015-12-01 | Qualcomm Incorporated | Multi-lane N-factorial (N!) and other multi-wire communication systems |
US9735948B2 (en) * | 2013-10-03 | 2017-08-15 | Qualcomm Incorporated | Multi-lane N-factorial (N!) and other multi-wire communication systems |
CN105024948A (zh) | 2014-04-30 | 2015-11-04 | 深圳市中兴微电子技术有限公司 | 一种基于芯片的数据传输方法、装置及系统 |
CN104283561B (zh) * | 2014-09-22 | 2018-04-27 | 电子科技大学 | 一种异步时钟并串转换半周期输出电路 |
WO2016167378A1 (ko) * | 2015-04-13 | 2016-10-20 | 주식회사 로보티즈 | 복수 종류의 물리 계층 관련 호스트-클라이언트 디바이스간 연결지원장치 |
WO2017052661A1 (en) * | 2015-09-26 | 2017-03-30 | Intel Corporation | Multichip package link error detection |
US20170091138A1 (en) * | 2015-09-30 | 2017-03-30 | Mediatek Inc. | Circuit module capable of establishing one or more links with another device and associated method |
US9940288B1 (en) * | 2015-11-23 | 2018-04-10 | Cadence Design Systems, Inc. | SerDes alignment process |
US9880949B1 (en) * | 2015-12-11 | 2018-01-30 | Microsemi Solutions (U.S.), Inc. | Cross clock compensation between layers in peripheral component interconnect express |
FR3055063B1 (fr) | 2016-08-11 | 2018-08-31 | Soitec | Procede de transfert d'une couche utile |
US10372657B2 (en) * | 2016-12-26 | 2019-08-06 | Intel Corporation | Bimodal PHY for low latency in high speed interconnects |
CN106789447B (zh) * | 2017-02-20 | 2019-11-26 | 成都欧飞凌通讯技术有限公司 | 一种多核中实现超有限自动机图变更时不丢包的方法 |
US10291386B2 (en) | 2017-09-29 | 2019-05-14 | Cavium, Llc | Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence |
KR20190056890A (ko) | 2017-11-17 | 2019-05-27 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
US11132327B2 (en) | 2018-11-29 | 2021-09-28 | Ati Technologies Ulc | Method and apparatus for physical layer bypass |
KR102496164B1 (ko) * | 2018-12-07 | 2023-02-07 | 한국전자통신연구원 | 다중 MAC 운영 환경에서의 통신 방법 및 IoT 디바이스 |
KR20210151948A (ko) | 2019-05-03 | 2021-12-14 | 마이크로칩 테크놀로지 인코포레이티드 | 유선 로컬 영역 네트워크에서의 충돌 에뮬레이팅 및 관련 시스템, 방법, 및 디바이스 |
CN112422295B (zh) | 2019-08-23 | 2023-06-13 | 微芯片技术股份有限公司 | 以太网接口及相关系统、方法和设备 |
CN112422153B (zh) | 2019-08-23 | 2023-04-07 | 微芯片技术股份有限公司 | 检测到共享传输介质处冲突后处理数据接收的方法和系统 |
CN112415323A (zh) | 2019-08-23 | 2021-02-26 | 微芯片技术股份有限公司 | 诊断网络内的电缆故障 |
CN112491435B (zh) | 2019-08-23 | 2022-11-18 | 微芯片技术股份有限公司 | 包括收发器和驱动器架构的物理层的电路 |
CN112422385B (zh) | 2019-08-23 | 2022-11-29 | 微芯片技术股份有限公司 | 用于改进的媒体访问的接口以及相关的系统、方法和设备 |
CN112422219A (zh) | 2019-08-23 | 2021-02-26 | 微芯片技术股份有限公司 | 以太网接口和相关系统、方法和设备 |
CN112423403A (zh) | 2019-08-23 | 2021-02-26 | 微芯片技术股份有限公司 | 检测网络上的冲突 |
JP2023518827A (ja) | 2020-03-24 | 2023-05-08 | マイクロチップ テクノロジー インコーポレイテッド | 10speローカル及びリモートウェイクによる少接続部数インターフェースウェイクソース通信、並びに関連するシステム、方法、及びデバイス |
TWI782694B (zh) * | 2021-09-06 | 2022-11-01 | 智原科技股份有限公司 | 時序調整電路、時序不對稱消除方法及接收電路 |
US11907074B2 (en) | 2021-09-24 | 2024-02-20 | International Business Machines Corporation | Low-latency deserializer having fine granularity and defective-lane compensation |
US11646861B2 (en) | 2021-09-24 | 2023-05-09 | International Business Machines Corporation | Low-latency, high-availability and high-speed SerDes interface having multiple synchronization modes |
CN114666420B (zh) * | 2022-03-29 | 2023-11-14 | 浙江大学 | 一种开放式的多通讯协议组件 |
EP4236265A1 (de) * | 2022-09-27 | 2023-08-30 | INOVA Semiconductors GmbH | Hardwarebasiertes und effizientes weiterleiten von daten |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0151915B1 (ko) * | 1995-12-13 | 1998-11-02 | 양승택 | 비동기 전달모드와 이더넷 겸용 어뎁터 송수신 장치 |
US6519266B1 (en) * | 1998-01-05 | 2003-02-11 | Nortel Networks Limited | Layering of wireless packet data service |
US6516952B1 (en) * | 1999-05-13 | 2003-02-11 | 3Com Corporation | Dual mode serializer-deserializer for data networks |
US7451335B2 (en) | 2001-04-24 | 2008-11-11 | Broadcom Corporation | Selectively disabling a portion of ASF operations when ASF device is powered by auxiliary power |
US7787387B2 (en) * | 2002-03-21 | 2010-08-31 | Broadcom Corporation | Auto-selection of SGMII or SerDes pass-through modes |
US20040028164A1 (en) * | 2002-08-07 | 2004-02-12 | Hongtao Jiang | System and method for data transition control in a multirate communication system |
US7206366B2 (en) * | 2002-08-07 | 2007-04-17 | Broadcom Corporation | System and method for programmably adjusting gain and frequency response in a 10-GigaBit ethernet/fibre channel system |
US7286622B2 (en) * | 2002-08-07 | 2007-10-23 | Broadcom Corporation | System and method for performing on-chip synchronization of system signals utilizing off-chip harmonic signal |
US8230114B2 (en) * | 2002-08-07 | 2012-07-24 | Broadcom Corporation | System and method for implementing a single chip having a multiple sub-layer PHY |
US7093172B2 (en) * | 2002-08-07 | 2006-08-15 | Broadcom Corporation | System and method for determining on-chip bit error rate (BER) in a communication system |
US6653957B1 (en) | 2002-10-08 | 2003-11-25 | Agilent Technologies, Inc. | SERDES cooperates with the boundary scan test technique |
KR100575989B1 (ko) * | 2004-04-08 | 2006-05-02 | 삼성전자주식회사 | 동기화 이더넷에서의 비동기 데이터의 분할 전송 방법 및그 방법에 사용되는 데이터 구조 |
US20050281277A1 (en) * | 2004-06-22 | 2005-12-22 | Killian Thomas J | Establishing traffic priorities in a voice over IP network |
US7672300B1 (en) | 2004-07-22 | 2010-03-02 | Marvell Israel (M.I.S.L.) Ltd. | Network device with multiple MAC/PHY ports |
TWI458309B (zh) | 2007-12-24 | 2014-10-21 | Ind Tech Res Inst | 多協定單一介質網路傳輸方法與裝置 |
JP5571081B2 (ja) * | 2008-08-11 | 2014-08-13 | コーニンクレッカ フィリップス エヌ ヴェ | 身体領域ネットワークにおける同期および非同期動作モードの間の動的切り換え技法 |
-
2011
- 2011-10-25 US US13/280,841 patent/US9219560B2/en active Active
-
2012
- 2012-09-26 WO PCT/US2012/057279 patent/WO2013062709A1/en active Application Filing
- 2012-09-26 KR KR1020147014165A patent/KR101645502B1/ko active IP Right Grant
- 2012-09-26 CN CN201280052392.5A patent/CN103907297B/zh active Active
- 2012-09-26 DE DE112012004451.7T patent/DE112012004451B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
DE112012004451B4 (de) | 2022-12-15 |
WO2013062709A1 (en) | 2013-05-02 |
KR101645502B1 (ko) | 2016-08-04 |
US9219560B2 (en) | 2015-12-22 |
US20130101058A1 (en) | 2013-04-25 |
CN103907297A (zh) | 2014-07-02 |
KR20140084297A (ko) | 2014-07-04 |
CN103907297B (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012004451B4 (de) | Mehrfachprotokoll-Serdes-PHY-Vorrichtung | |
DE102009061731B3 (de) | Bereitstellung eines Präfixes für einen Datenkopf | |
DE112017003209T5 (de) | Multiprotokoll-Neusynchronisierer mit geringer Latenz | |
US8352628B2 (en) | Method for transferring data from a source target to a destination target, and corresponding network interface | |
US8165120B2 (en) | Buffering architecture for packet injection and extraction in on-chip networks | |
US9059836B2 (en) | Word boundary lock | |
DE112017006557T5 (de) | Bimodale phy für geringe latenz in hochgeschwindigkeitsverbindungswegen | |
US9065626B2 (en) | Bit error rate impact reduction | |
US8970891B2 (en) | Multi-core processor based image data rotating processing system for high-speed digital textile printer and method | |
CN110417780A (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
CN104780333A (zh) | 基于fpga的高带宽视频源接口适配装置 | |
US20150193371A1 (en) | Observing an internal link via an existing port for system on chip devices | |
US7779194B2 (en) | Data modification module | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN109656856A (zh) | 利用fpga实现非复用总线与复用总线互联装置及方法 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
US20180285300A1 (en) | Data bus logger | |
DE102018132740A1 (de) | Technologien für Zeitstempelung mit Fehlerkorrektur | |
CN108429707B (zh) | 一种适应不同传输速率的时间触发业务转发器及方法 | |
CN112543025B (zh) | 基于矩阵化的高速串行ad采样及数据处理系统及方法 | |
EP1988470A2 (de) | Netzwerkgerät und Übertragungsverfahren dafür | |
CN106789295A (zh) | 一种SpaceWire总线通讯系统及其监视设备 | |
DE102020134479A1 (de) | Senden von Displayport 2.0-Informationen unter Verwendung von USB4 | |
CN103561360B (zh) | 串行处理光传送网开销的装置及方法 | |
US20190075191A1 (en) | Data communication device, arithmetic processing device, and control method of data communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: MARVELL ASIA PTE, LTD., SG Free format text: FORMER OWNER: CAVIUM, INC., SAN JOSE, CALIF., US Owner name: CAVIUM, LLC (N.D.GES.D.STAATES DELAWARE), SAN , US Free format text: FORMER OWNER: CAVIUM, INC., SAN JOSE, CALIF., US |
|
R082 | Change of representative |
Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE |
|
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: MARVELL ASIA PTE, LTD., SG Free format text: FORMER OWNER: CAVIUM, LLC (N.D.GES.D.STAATES DELAWARE), SAN JOSE, CALIF., US |
|
R082 | Change of representative |
Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE |
|
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |