-
QUERVERWEIS ZU VERWANDTER ANWENDUNG
-
Die vorliegende Anmeldung beansprucht Priorität gegenüber der US-Gebrauchsmusteranmeldung mit der Seriennummer 15/941,071 mit dem Titel „TECHNOLOGIES FOR COOPERATIVE LINK EQUALIZATION WITHOUT DISRUPTION TO LINK TRAFFIC“, die am 30. März 2018 eingereicht wurde.
-
STAND DER TECHNIK
-
Netzwerkgeräte wie beispielsweise Funkbasisstationen können verschiedenen Schwankungen des Einfügungsverlusts unterliegen, der den Verlust von Signalleistung bezeichnet, die aus dem Einfügen eines Netzwerkgeräts in eine Übertragungsleitung oder optische Faser entsteht. Zum Beispiel können kostengünstige Materialien, die bei der Herstellung eines Netzwerkgeräts verwendet werden, ein relativ geringes Widerstandsvermögen gegen Temperaturschwankungen aufweisen und folglich zu Einfügungsverlust führen. Nachfolgend kann wegen der Schwankung ein Signal-Rausch-Verhältnis (SNR) zwischen Funkstationen abnehmen, was wiederum zu einer relativ schlechten Verbindungsleistung und hohen Bitfehlerraten führt.
-
Im Allgemeinen können Netzwerkgeräte das SNR durch Justieren von Verbindungsentzerrungseinstellungen verbessern. Zum Beispiel kann ein gegebenes Netzwerkgerät einem Verbindungstraining (Link-Training) mit einem anderen Netzwerkgerät unterzogen werden. Während des Verbindungstrainings wird die Kommunikationsverbindung zwischen den Netzwerkgeräten unterbrochen und wiederhergestellt, um das Neutrainieren von Entzerrungseinstellungen zu ermöglichen. Dieser Ansatz kann jedoch den laufenden Netzwerkverkehr unterbrechen. In einigen Fällen zum Beispiel können einige Spezifikationen der physischen Schicht erfordern, dass eine Kommunikationsverbindung vollständig unterbrochen werden muss, um die Verbindung neu zu trainieren.
-
Figurenliste
-
Die im Vorliegenden beschriebenen Konzepte sind in den zugehörigen Figuren beispielhaft und nicht einschränkend veranschaulicht. Zwecks Einfachheit und Deutlichkeit der Veranschaulichung sind in den Figuren veranschaulichte Elemente nicht notwendigerweise maßstabsgerecht gezeichnet. Wo es als zweckmäßig erachtet wurde, sind Bezugszeichen in den Figuren wiederholt worden, um übereinstimmende oder analoge Elemente anzugeben.
- 1 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform einer Rechenumgebung, um zwischen einem gegebenen Netzwerkgerät und einem anderen Netzwerkgerät einen bandinternen Entzerrungssteuerungskanal einzurichten;
- 2 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform eines Netzwerkgeräts der Rechenumgebung von 1;
- 3 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform einer Umgebung, die durch das Netzwerkgerät von 2 eingerichtet werden kann;
- 4 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform einer beispielhaften Anfrage-/Antwortnachricht, die verwendet werden kann, um über den bandinternen Entzerrungssteuerungskanal zwischen Netzwerkgeräten zu kommunizieren;
- 5 ist ein vereinfachtes Blockdiagramm mindestens einer Ausführungsform eines Nachrichtenformats, das beim Einrichten eines bandinternen Entzerrungssteuerungskanals mit dem LLDP (Link Layer Discovery Protocol) verwendet werden kann;
- 6 ist ein vereinfachtes Ablaufdiagramm eines Verfahrens zum Bestimmen von Instanzen, unter denen Verbindungen mit einem anderen Netzwerkgerät einzurichten sind, um Verbindungsentzerrungseinstellungen zu justieren;
- 7 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Senden einer Anfrage zum Justieren von Verbindungsentzerrungseinstellungen über einen bandinternen Entzerrungssteuerungskanal, das von einem Netzwerkgerät von 1 durchgeführt werden kann; und
- 8 ist ein vereinfachtes Ablaufdiagramm mindestens einer Ausführungsform eines Verfahrens zum Verarbeiten einer Anfrage zum Justieren von Verbindungsentzerrungseinstellungen über einen bandinternen Entzerrungssteuerungskanal, das von einem Netzwerkgerät von 1 durchgeführt werden kann.
-
DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
-
Obwohl für die Konzepte der vorliegenden Offenbarung verschiedene Modifizierungen und alternative Formen anwendbar sind, sind konkrete Ausführungsformen in den Zeichnungen als Beispiele gezeigt und werden im Vorliegenden ausführlich beschrieben. Es versteht sich jedoch, dass keine Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die bestimmten offenbarten Formen zu beschränken, sondern im Gegenteil die Erfindung alle Modifizierungen, Äquivalente und Alternativen umfangen soll, die mit der vorliegenden Offenbarung und den angefügten Ansprüchen übereinstimmen.
-
In der Beschreibung geben Bezugnahmen auf „eine Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft aufweisen kann, aber nicht jede Ausführungsform notwendigerweise das bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Eigenschaft aufweisen muss. Darüber hinaus beziehen sich derartige Formulierungen nicht notwendigerweise auf dieselbe Ausführungsform. Ferner wird zu bedenken gegeben, dass, wenn ein gestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, es im Kenntnisbereich von Fachleuten liegt, ein solches Merkmal, eine solche Struktur oder eine solche Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob explizit beschrieben oder nicht. Des Weiteren versteht es sich, dass Elemente, die in einer Liste in Form von „mindestens eines von A, B und C“ enthalten sind, (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C) bedeuten können. In ähnlicher Weise können Elemente, die in Form von „mindestens eines von A, B oder C“ aufgelistet sind, (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C) bedeuten können.
-
Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination daraus implementiert sein. Die offenbarten Ausführungsformen können außerdem als Anweisungen implementiert sein, die von einem flüchtigen oder nicht-flüchtigen maschinenlesbaren (z. B. computerlesbaren) Speichermedium getragen oder gespeichert sind. Ein maschinenlesbares Speichermedium kann als ein Speichergerät, -mechanismus oder eine andere physische Struktur zum Speichern oder Übertragen von Informationen in einer Form umgesetzt sein, die von einer Maschine lesbar ist (z. B. ein flüchtiger oder nicht-flüchtiger Speicher, eine Medienplatte oder ein anderes Mediengerät).
-
In den Zeichnungen können einige Struktur- oder Verfahrensmerkmale in spezifischen Anordnungen und/oder Reihenfolgen gezeigt sein. Es versteht sich jedoch, dass derartige spezifische Anordnungen und/oder Reihenfolgen möglicherweise nicht vorgeschrieben sind. Vielmehr können diese Merkmale in einigen Ausführungsformen in einer anderen Weise und/oder Reihenfolge angeordnet sein als in den veranschaulichenden Figuren gezeigt. Des Weiteren soll die Aufnahme eines Struktur- oder Verfahrensmerkmals in eine bestimmte Figur nicht implizieren, dass dieses Merkmal in allen Ausführungsformen erforderlich ist, und es kann in einigen Ausführungsformen nicht enthalten sein oder kann mit anderen Merkmalen kombiniert sein.
-
Bezugnehmend auf 1 ist nun eine Rechenumgebung 100, in der mehrere Netzwerkgeräte 102 über eine oder mehrere Kommunikationsverbindungen kommunikativ miteinander gekoppelt sind. In einigen Ausführungsformen ist die Rechenumgebung 100 eine Darstellung eines Ethernet-Teilsystems von Netzwerkgeräten 102, 104 und 106, die über Kommunikationswege (Lanes) 108 und 110 kommunizieren. Jedes der Netzwerkgeräte 102, 104 und 106 kann mit Hilfe einer Vielfalt von Zwischenverbindungen und mit verschiedenen Geschwindigkeiten miteinander verbunden sein. Wie ferner im Vorliegenden beschrieben wird, kann ein Netzwerkgerät (z. B. das Netzwerkgerät 102) Verbindungsentzerrungseinstellungen mit einem anderen Netzwerkgerät (z. B. dem Netzwerkgerät 104) über einen bandinternen Kommunikationskanal justieren. Insbesondere offenbaren Ausführungsformen im Vorliegenden einen Entzerrungssteuerungskanal, der eine bandinterne Kommunikation (z. B. über die Kommunikations-Lanes 108, 110 statt über ein separates Netzwerk) zwischen Netzwerkgeräten ermöglicht, um Entzerrungseinstellungen zu justieren (z. B. mit Hilfe eines Anfrage-/Antwortnachrichtenformats), ohne eine Unterbrechung des Netzwerk-Verkehrsflusses zu verursachen.
-
Jedes Netzwerkgerät (z. B. Netzwerkgerät 102) kann Ethernet-Portlogik beinhalten, die eine PMD(Physical Medium Dependent)-TeilschichtIPMA(Physical Medium Attachment)-Teilschicht, eine FEC(Forward Error Correction)-Teilschicht, ein PCS(Physical Coding Sublayer)-Modul und ein RS(Reconciliation Sublayer)/MAC(Media Access Control)-Teilschicht-Modul beinhaltet. Des Weiteren können in einigen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten in eine andere Komponente eingebunden sein oder auf andere Weise einen Abschnitt derselben bilden. Zum Beispiel können die PMD/PMA und/oder die FEC teilweise oder ganz in die PCS eingebunden sein. Die MAC ist dafür konfiguriert, zu codierende und zu übertragende Ethernet-Frame-Daten an die PCS zu übertragen und Daten von der PCS zum Erzeugen von Ethernet-Frame-Daten zu empfangen. Die MAC kommuniziert mit der PCS über eine medienunabhängige Schnittstelle. Zum Beispiel kann die MAC über eine medienunabhängige 40-Gigabit-Schnittstelle (XLGMII), eine medienunabhängige 100-Gigabit-Schnittstelle (CGMII) oder eine beliebige geeignete Schnittstelle kommunizieren. Die MAC kann eine Ethernet-Frame-Erkennung und Gültigkeitsprüfung, Paketempfang und -Übertragung, CRC(Cyclic Redundancy Check)-Gültigkeitsprüfung, CRC-Berechnung und andere Operationen der Medienzugriffssteuerungs-Teilschicht durchführen. Zusätzlich kann die MAC, wie des Weiteren beschrieben, Entzerrungssteuerungskanal-Anfrage-/Antwortnachrichten codieren, die Parameter (z. B. Koeffizientenanzahl) beinhalten, die zu einem zu aktualisierenden Kommunikations-Lane gehören.
-
Die PCS ist dafür konfiguriert, Ethernet-Frame-Daten, die von der MAC empfangen werden, in codierte Datenblöcke zu codieren, die von der PMD/PMA übertragen werden können, und Daten, die von der PMD/PMA empfangen werden, in decodierte Ethernet-Frame-Daten zu decodieren, die von der MAC verarbeitet werden können. Die PCS kann Datenblöcke codieren und über einen oder mehrere logische PCS-Lanes (PCSLs) verteilen. Jeder PCS-Lane kann mit 5 Gb/s oder mit 10 Gb/s arbeiten, ähnlich der PCS, wie sie durch Abschnitt 82 der Norm IEEE 802.3 spezifiziert ist. Die PCS kann Daten zur Übertragung über die Kommunikations-Lanes codieren, um zum Beispiel die Kommunikationseffizienz zu verbessern. Zum Beispiel kann das Codieren der Daten Zeitgebungs- oder Synchronisationssymbole hinzufügen, die Daten ausrichten, Zustandsübergänge zu den codierten Daten hinzufügen, um die Taktwiederherstellung zu verbessern, die Gleichstromentzerrung des Datensignals justieren oder die codierten Daten auf andere Weise für eine serielle Übertragung vorzubereiten. Die PCS kann in der Lage sein, die Daten mit Hilfe eines 64b/66b-Leitungscode zu codieren oder zu decodieren, bei dem 64-Bit-Blöcke von Daten zu 66-Bit-Blöcken von codierten Daten codiert werden und umgekehrt.
-
Des Weiteren können die Kommunikations-Lanes 108 und 110 als eine oder mehrere Computerkommunikationsverbindungen umgesetzt sein. Zum Beispiel kann jeder Kommunikations-Lane 108 als ein verdrillter Doppelleiter oder eine elektrische Backplane-Verbindung umgesetzt sein. In einigen Ausführungsformen kann jeder Kommunikations-Lane 108 zu vollem Duplexbetrieb in der Lage sein. Zum Beispiel kann jeder Kommunikations-Lane 108 zwei Paare elektrischer Leiter beinhalten, ein Paar zum Übertragen von Daten und das andere Paar zum Empfangen von Daten. Veranschaulichend können die Kommunikations-Lanes 108 vier Kommunikations-Lanes 108, die jeweils mit 10 Gb/s arbeiten, vier Kommunikations-Lanes 102, die jeweils mit 25 Gb/s arbeiten, oder zehn Kommunikations-Lanes 108, die jeweils mit 10 Gb/s arbeiten (für 40 Gb/s, 100 Gb/s beziehungsweise 100 Gb/s Bandbreite insgesamt), beinhalten. Obwohl sie als mit einer Datenrate von beispielsweise 10 Gb/s arbeitend beschrieben sind, versteht es sich, das die Kommunikations-Lanes 108 in einigen Ausführungsformen mit einer etwas höheren Signalisierungsrate arbeiten können, wie beispielsweise 10,3125 Gb/S, um zusätzliche Daten für eine Leitungscodierung, Fehlerkorrektur und andere zusätzliche Daten zu ermöglichen.
-
Es sei angemerkt, dass zwar das Vorstehende Bezug auf ein Ethernet-Teilsystem als eine beispielhafte Kommunikationsschnittstelle zum Erzeugen eines Entzerrungssteuerungskanals zum bandinternen Justieren von Entzerrungseinstellungen mit einem Verbindungspartner nimmt, Fachleute jedoch erkennen werden, dass im Vorliegenden präsentierte Ausführungsformen mit einer Vielfalt an Kommunikationsschnittstellen angepasst werden können, wie beispielsweise seriellen Hochgeschwindigkeitsschnittstellen. Zum Beispiel kann die Anfrage-/Antwortnachrichtenstruktur für den Entzerrungskanal in Schnittstellen ausgeführt werden, die PCIe- (PCI Express), USB- (Universal Serial Bus), FC- (Fibre Channel), SATA- (Serial ATA), SAS- (Serial Attached SCSI), OPA- (Omni-Path Architecture), Infiniband- und RapidIO-Schnittstellen beinhalten, ohne auf diese beschränkt zu sein.
-
Bezugnehmend auf 2 kann nun ein Netzwerkgerät 102 als ein beliebiger Gerätetyp umgesetzt sein, der in der Lage ist, die im Vorliegenden beschriebenen Funktionen durchzuführen, einschließlich des Überwachens von Schwankungen der Eigenschaften eines Verbindungskanals, der das Netzwerkgerät 102 mit einem anderen Netzwerkgerät 102 verbindet, des Erkennens eines Ereignisses, das eine oder mehrere Bedingungen zum Verändern einer oder mehrerer der Eigenschaften des Verbindungskanals auslöst und des Kommunizierens von Veränderungen der einen oder der mehreren Eigenschaften des Verbindungskanals an das andere Netzwerkgerät 102 über einen bandinternen Entzerrungssteuerungskanal.
-
Wie gezeigt, beinhaltet das veranschaulichte Netzwerkgerät 102 eine Rechenmaschine 202, ein Ein-/Ausgabe-(E/A-)Teilsystem 208, eine Kommunikationsschaltung 210 und ein oder mehrere Datenspeichergeräte 214. Natürlich kann das Netzwerkgerät 102 in anderen Ausführungsformen andere oder zusätzliche Komponenten beinhalten, wie sie zum Beispiel üblicherweise in einem Computer vorzufinden sind (z. B. Anzeige, Peripheriegeräte usw.), wie beispielsweise die Peripheriegeräte 216. Zusätzliche können in einigen Ausführungsformen eine oder mehrere der veranschaulichenden Komponenten in andere Komponenten eingebunden sein oder auf andere Weise einen Abschnitt derselben bilden.
-
Die Rechenmaschine 202 kann als beliebiger Gerätetyp oder beliebige Sammlung von Geräten umgesetzt sein, der/die in der Lage ist/sind, verschiedene im Weiteren beschriebene Rechenfunktionen durchzuführen. In einigen Ausführungsformen kann die Rechenmaschine 202 als ein Einzelgerät umgesetzt sein, wie beispielsweise eine integrierte Schaltung, ein eingebettetes System, ein FPGA (Field Programmable Gate Array), ein SOC (System auf einem Chip) oder ein anderes integriertes System oder Gerät. Zusätzlich beinhaltet die Rechenmaschine 202 in einigen Ausführungsformen einen Prozessor 204 und einen Speicher 204 oder kann als selbige umgesetzt sein. Der Prozessor 204 kann als ein oder mehrere Prozessoren umgesetzt sein, wobei jeder Prozessor von einem Typ ist, der in der Lage ist, die im Vorliegenden beschriebenen Funktionen durchzuführen. Der Prozessor 204 kann zum Beispiel als Einkern- oder Mehrkernprozessor, als ein Mikrocontroller oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerungsschaltung umgesetzt sein. In einigen Ausführungsformen kann der Prozessor 204 als ein FPGA, eine ASIC, neukonfigurierbare Hardware oder Hardware-Schaltung oder andere spezialisierte Hardware zum Ermöglichen der Ausführung der im Vorliegenden beschriebenen Funktionen umgesetzt sein, diese beinhalten oder mit diesen gekoppelt sein.
-
Der Speicher 206 kann als ein beliebiger Typ eines flüchtigen (z. B. dynamischer Speicher mit wahlfreiem Zugriff usw.) oder nicht-flüchtigen Speichers (z. B. byteadressierbarer Speicher) oder Datenspeichers umgesetzt sein, der in der Lage ist, die im Vorliegenden beschriebenen Funktionen durchzuführen. Der flüchtige Speicher kann ein Speichermedium sein, das Energie benötigt, um den Zustand der durch das Medium gespeicherten Daten zu erhalten. Nicht einschränkende Beispiele für flüchtige Speicher können verschiedene Typen von Speichern mit wahlfreiem Zugriff (RAM) sein, wie beispielsweise DRAM oder SRAM (Static Random Access Memory). Ein bestimmter Typ von DRAM, der in einem Speichermodul verwendet werden kann, ist ein SDRAM (Synchronous Dynamic Random Access Memory). In bestimmten Ausführungsformen kann der DRAM einer Speicherkomponente einem Standard entsprechen, der durch JEDEC verbreitet wird, wie beispielsweise JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für LPDDR (Low Power DDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4. Diese Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen von Speichergeräten, die derartige Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
-
In einer Ausführungsform ist das Speichergerät ein blockadressierbares Speichergerät, wie beispielsweise jene, die auf NAND- oder NOR-Technologien basieren. Ein Speichergerät kann außerdem ein Dreidimensionaler-Kreuzungspunkt-Speichergerät (z. B. Intel-3D-XPoint™-Speicher) oder andere byte-adressierbare nicht-flüchtige Write-in-Place-Speichergeräte beinhalten. In einer Ausführungsform kann das Speichergerät Speichergeräte sein oder beinhalten, die Chalkogenidglas verwenden, NAND-Flash-Speicher mit mehreren Schwellenwertniveaus, NOR-Flash-Speicher, Einzel- oder Mehrfachniveau-Phasenwechselspeicher (PCM), ein resistiver Speicher, Nanodrahtspeicher, FeTRAM (Ferroelectric Transistor Random Access Memory), antiferroelektrischer Speicher, MRAM (Magnetoresistive Random Access Memory), Speicher, die Memristor-Technologie einbeziehen, resistive Speicher, welche die Metalloxidbasis beinhalten, Oxygen-Vacancy-Base- und CB-RAM (Conductive Bridge Random Access Memory), oder Spin-Transfer-Torque (STT-)MRAM, ein Gerät auf Basis von Spintronic-Magnetic-Junction-Memory, ein Gerät auf Basis von Magnetic-Tunneling-Junction (MTJ), ein Gerät auf Basis von DW (Domain Wall) und SOT (Spin Orbit Transfer), ein Gerät auf Basis eines Thyristors oder eine Kombination aus dem Vorstehenden oder ein anderer Speicher. Das Speichergerät kann den Nacktchip selbst und/oder ein gehäustes Speicherprodukt bezeichnen.
-
In einigen Ausführungsformen kann der 3D-Kreuzungspunktspeicher (z. B. Intel-3D-XPoint™-Speicher) eine transistorlose stapelbare Kreuzungspunktarchitektur umfassen, in der Speicherzellen an den Schnittpunkten von Wortleitungen und Bitleitungen sitzen und einzeln adressierbar sind und in der ein Bitspeicher auf einer Änderung des Bulk-Widerstandes basiert. In einigen Ausführungsformen kann der gesamte Speicher 206 oder ein Teil von ihm in den Prozessor 204 integriert sein.
-
Die Rechenmaschine 202 ist über das E/A-Teilsystem 208, das als Schaltung und/oder Komponenten umgesetzt sein kann, um Eingabe/Ausgabeoperationen mit der Rechenmaschine 202 (z. B. mit dem Prozessor 204 und/oder dem Speicher 206) und mit anderen Komponenten des Netzwerkgeräts 102 zu ermöglichen, kommunikationsfähig mit anderen Komponenten der Rechenumgebung 100 gekoppelt. Das E/A-Teilsystem 208 kann zum Beispiel als Speicher-Controller-Hubs, Eingabe-/Ausgabe-Steuer-Hubs, integrierte Sensor-Hubs, Firmware-Geräte, Kommunikationsverbindungen (z. B. Punkt-zu-Punkt-Verbindungen, Bus-Verbindungen, Drähte, Kabel, Lichtleiter, Leiterbahnen usw.) und/oder andere Komponenten und Teilsysteme umgesetzt sein oder diese auf andere Weise beinhalten, um die Eingabe-/Ausgabeoperationen zu ermöglichen. In einigen Ausführungsformen kann das E/A-Teilsystem 208 einen Abschnitt eines Systems auf einem Chip (SoC) bilden und zusammen mit einem oder mehreren von dem Prozessor 204, dem Speicher 206 und anderen Komponenten des Netzwerkgeräts 102 in die Rechenmaschine 202 eingebunden sein.
-
Die Kommunikationsschaltung 210 kann als beliebige Kommunikationsschaltung, beliebiges Kommunikationsgerät oder Sammlung davon, die/das in der Lage ist, zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät 102 Kommunikationen über ein Netzwerk zu ermöglichen. Die Kommunikationsschaltung 210 kann dafür konfiguriert sein, eine oder mehrere beliebige Kommunikationstechnologien (z. B. drahtgebundene oder drahtlose Kommunikation) und zugehörige Protokolle (z. B. Ethernet, Bluetooth®, Wi-Fi®, Wi-MAX usw.) zu verwenden, um diese Kommunikation zu bewirken.
-
Die veranschaulichende Kommunikationsschaltung 210 beinhaltet einen Netzwerk-Schnittstellen-Controller (NIC) 212, der auch als Host-Fabric-Schnittstelle (HFI) bezeichnet wird. Der NIC 212 kann als eine oder mehrere Add-in-Boards, Daughtercards, Controller-Chips, Chipsätze und andere Geräte umgesetzt sein, die von dem Rechengerät 200 für Netzwerkkommunikationen mit fernen Geräten verwendet werden können. Der NIC 212 kann zum Beispiel als Erweiterungskarte umgesetzt sein, die über einen Erweiterungsbus wie beispielsweise einen PCI-Express mit dem E/A-Teilsystem 208 gekoppelt ist. Der NIC 212 beinhaltet Ethernet-Port-Logik, um sich mit fernen Netzwerkgeräten zu verbinden. In anderen Ausführungsformen kann das Netzwerkgerät 102 natürlich zusätzliche Ethernet-Port-Logik beinhalten, um eine andere Anzahl von Kommunikations-Lanes zu unterstützen. Der NIC 212 beinhaltet außerdem Entzerrungssteuerungskanal-Logik 213, die als ein beliebiges Gerät oder eine beliebige Schaltung umgesetzt sein kann (z. B. ein CO-Prozessor, ein ASIC usw.), das/die in der Lage ist, einen bandinternen Entzerrungssteuerungskanal zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät zu errichten.
-
Das eine oder die mehreren veranschaulichenden Datenspeichergeräte 214 können als ein beliebiger Typ von Geräten umgesetzt sein, die für kurz- oder langfristiges Speichern von Daten konfiguriert sind, wie zum Beispiel Speichergeräte und -schaltungen, Speicherkarten, Festplattenlaufwerke (HDDs), Solid-State-Laufwerke (SSDs) oder andere Datenspeichergeräte. Jedes Datenspeichergerät 214 kann eine Systempartition beinhalten, die Daten- und Firmware-Code für das Datenspeichergerät 214 speichert. Jedes Datenspeichergerät 214 kann außerdem eine Betriebssystempartition beinhalten, die Datendateien und ausführbare Programme für ein Betriebssystem speichert.
-
Zusätzlich oder alternativ kann das Netzwerkgerät 102 ein oder mehreren Peripheriegeräte 216 beinhalten. Diese Peripheriegeräte 216 können einen beliebigen Typ von Peripheriegerät beinhalten, das üblicherweise in einem Rechengerät zu finden ist, wie beispielsweise eine Anzeige, Lautsprecher, eine Maus, eine Tastatur und/oder andere Eingabe-/Ausgabegeräte, Schnittstellengeräte und/oder andere Peripheriegeräte.
-
Bezugnehmend auf 3 kann nun das Netzwerkgerät 102 während des Betriebes eine Umgebung 300 einrichten. Die veranschaulichende Umgebung 300 beinhaltet einen Netzwerkkommunikator 320 und eine Entzerrungssteuerungskanal-Verwaltung 330. Jede der Komponenten der Umgebung 300 kann als Hardware, Firmware, Software oder eine Kombination daraus umgesetzt sein. Somit können in einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 300 als eine Schaltung oder eine Sammlung elektrischer Geräte umgesetzt sein (z. B. Netzwerkkommunikator-Schaltung 320, Entzerrungssteuerungskanal-Verwaltungsschaltung 330 usw.). Es versteht sich, dass in derartigen Ausführungsformen die Netzwerkkommunikator-Schaltung 320 und/oder die Entzerrungssteuerungskanal-Verwaltungsschaltung 330 einen Teil des NIC 212 (oder anderer Komponenten des Netzwerkgeräts 102) bilden können. In der veranschaulichenden Ausführungsform beinhaltet die Umgebung 300 Entzerrungsbedingungsdaten 302, die als beliebige Daten umgesetzt sein können, die Bedingungen zum Justieren von Entzerrungseinstellungen für einen Kommunikations-Lane zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät (z. B. dem Netzwerkgerät 104) angeben. Somit können die Entzerrungsbedingungsdaten 302 in einigen Ausführungsformen Daten beinhalten, die anzeigen, ob eine Temperatur der Hardware-Komponenten des Netzwerkgeräts 102 einen Temperaturgrenzwert übersteigt, ob die Aktualisierung des Kommunikationskanals mit dem anderen Netzwerkgerät (z. B. dem Netzwerkgerät 104) einen Zeitgrenzwert übersteigt, und dergleichen. Die Umgebung 300 beinhaltet außerdem Kanalkonfigurationsdaten 304, die als beliebige Daten umgesetzt sein können, die Entzerrungseinstellungen für einen gegebenen Kanal angeben, wie die beispielsweise Koeffizientenanzahl, die pro Kommunikations-Lane verwendet wird, und dergleichen. Die Umgebung 300 beinhaltet außerdem Abbildungsdaten 306, die als beliebige Daten umgesetzt sein können, die Abbildungen der Anzahl logischer Lanes (z. B. PCS-Lanes) auf physische Lanes angeben, wie sie durch das Netzwerkgerät 102 erkannt werden.
-
In der veranschaulichenden Umgebung 300 ist der Netzwerkkommunikator 320, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination daraus umgesetzt sein kann wie vorstehend beschrieben, dafür konfiguriert, ein- und ausgehende Netzwerkkommunikationen (z. B. Netzwerkverkehr, Netzwerk-Frames, Netzwerkpakete, Netzwerkströme usw.) zu beziehungsweise von dem Netzwerkgerät 102 zu ermöglichen. Zu diesem Zweck ist der Netzwerkkommunikator 320 dafür konfiguriert, Netzwerk-Frames herzustellen und zu einem anderen Netzwerkgerät zu senden. Dementsprechend kann in einigen Ausführungsformen zumindest ein Teil der Funktionalität des Netzwerkkommunikators 320 durch die Kommunikationsschaltung 210 und in der veranschaulichten Ausführungsform durch den NIC 212 durchgeführt werden.
-
Die Entzerrungssteuerungskanal-Verwaltung 330, die als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination daraus umgesetzt sein kann, ist dafür konfiguriert, Schwankungen der Eigenschaften eines Verbindungskanals, der das Netzwerkgerät 102 mit einem anderen Netzwerkgerät verbindet, zu überwachen, ein Ereignis zu erkennen, das gemäß den Bedingungen, die in den Entzerrungsbedingungsdaten 302 dargelegt sind, zu einer oder mehreren Veränderungen der Eigenschaften des Verbindungskanals führen sollte, und diese Veränderungen der Eigenschaften über den Entzerrungssteuerungskanal zu übermitteln. Zu diesem Zweck beinhaltet die Entzerrungssteuerungskanal-Verwaltung 330 eine Detektorkomponente 332, eine Nachrichtenkomponente 334 und eine Konfigurationskomponente 336.
-
Die Detektorkomponente 332 ist dafür konfiguriert, Schwankungen im Verbindungskanal zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät zu überwachen. Insbesondere ist die Detektorkomponente 332 dafür vorgesehen, eine oder mehrere Eigenschaften zu überwachen, die Schwankungen in dem Verbindungskanal beeinflussen können, wie beispielsweise Einfügungsverlust (Verlust der Signalleistung, der aus dem Einfügen des Netzwerkgeräts 102 in eine Kommunikationsverbindung oder optische Faser entsteht) oder Temperatur der Hardware-Komponenten auf dem Chip des Netzwerkgeräts 102 (die aufgrund von Kostenerwägungen während der Herstellung ein relativ geringes Widerstandsvermögen gegen Temperaturschwankungen aufweisen können und somit ein Signal-Rausch-Verhältnis (SNR) in dem Verbindungskanal reduzieren). Weitere Eigenschaften können ein Alter des Geräts 120 oder eine Betriebszeit des Verbindungskanals beinhalten. Ferner ist die Detektorkomponente 332 dafür vorgesehen, die überwachten Eigenschaften im Verhältnis zu den Entzerrungsbedingungsdaten 302 zu bewerten und zu bestimmen, ob eine oder mehrere der Bedingungen in den Entzerrungsbedingungsdaten 302 ausgelöst sind. Die Entzerrungsbedingungsdaten 302 können zum Beispiel verschiedene Grenzwerte bezüglich der überwachten Eigenschaften spezifizieren, wie beispielsweise Temperaturgrenzwerte, Zeitgrenzwerte, Annäherungsgrenzwerte und dergleichen. Wenn ausgelöst, kann die Detektorkomponente 332 die ausgelösten Bedingungen und dazugehörigen Eigenschaften an die Nachrichtenkomponente 334 übermitteln.
-
Die Nachrichtenkomponente 334 ist dafür vorgesehen, eine Entzerrungssteuerungsanfrage- oder -antwortnachricht zu codieren, die über den Entzerrungssteuerungskanal an ein anderes Netzwerkgerät zu senden ist (z. B. das Netzwerkgerät 104). Insbesondere kann die Nachrichtenkomponente 334 die Entzerrungssteuerungsnachricht in einen Netzwerk-Frame einzukapseln, wie beispielsweise einen Frame, der über die PHY-Schicht zu senden ist. Zum Beispiel kann die Nachrichtenkomponente 334 die Entzerrungssteuerungsnachricht als Teil eines PHY-Codierschemas codieren oder ein Protokoll einer höheren Ebene verwenden, wie beispielsweise das LLDP (Link Layer Discovery Protocol). Diese Techniken sind im Vorliegenden näher beschrieben. In einigen Fällen kann die Nachrichtenkomponente 334 eine Entzerrungssteuerungsanfrage codieren, die angibt, dass keine Änderungen vorzunehmen sind. Solch eine Anfragenachricht ermöglicht es dem Netzwerkgerät 102 zu bestimmen, ob ein Zielnetzwerkgerät, das die Nachricht empfängt, mit dem Entzerrungssteuerungskanal kompatibel ist, da das Zielnetzwerkgerät eine Antwortnachricht zurücksenden kann.
-
Die Konfigurationskomponente 336 ist dafür vorgesehen, Entzerrungssteuerungs-Anfragenachrichten von einem anderen Netzwerkgerät zu empfangen und die Anfrage zu verarbeiten. Beim Verarbeiten der Anfrage bestimmt die Konfigurationskomponente 336 in der veranschaulichenden Ausführungsform einen oder mehrere Parameter des Netzwerkgeräts 102 (z. B. Einstellungen des PHY-Senders) und aktualisiert die Parameter basierend auf der Bewertung. Zum Beispiel kann eine gegebene Anfrage eine Modifizierung einer Koeffizientenanzahl spezifizieren, die zu einem der Kommunikations-Lanes 108 gehört. Die Konfigurationskomponente 336 modifiziert die Koeffizientenanzahl wiederum gemäß der spezifizierten Anfrage.
-
Es versteht sich, dass die Detektorkomponente 332, die Nachrichtenkomponente 334 und die Konfigurationskomponente 336 jeweils separat als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination daraus umgesetzt sein können. Zum Beispiel können die Detektorkomponente 332 und die Nachrichtenkomponente 334 als Hardware-Komponenten umgesetzt sein, während die Konfigurationskomponente 336 als eine virtualisierte Hardware-Komponente oder als eine andere Kombination aus Hardware, Firmware, Software, virtualisierter Hardware, emulierter Architektur und/oder einer Kombination daraus umgesetzt ist.
-
Bezugnehmend auf 4 ist nun eine beispielhafte Antwort-/Anfragenachricht 400 gezeigt. Veranschaulichend beinhaltet die Antwort-/Anfragenachricht 400 eine Anfragekennung (ID) 402, eine Lane-ID 404, eine Koeffizientenanzahl 406, einen Anfrage-/Antwort-Bitschalter 408, einen Anfragetyp 410 und einen Koeffizientenstatus 412. Natürlich bildet die veranschaulichende Anfrage-/Antwortnachricht 400 eine nicht erschöpfende Aufzählung von Beispielen für Informationen ab, die mit einer Anfrage- oder einer Antwortnachricht, die bandintern über den Entzerrungssteuerungskanal gesendet werden, bereitgestellt werden können. In der Praxis können Informationen, die tatsächlich mit einer Anfrage- oder Antwortnachricht bereitgestellt werden, basierend auf dem PMD (Physical Medium Dependent)-PHY-Typ variieren.
-
Die Anfrage-ID 402 gibt eine Kennung an, die einem gegebenen Paar aus Anfrage- und Antwortnachricht für eine bestimmte Anfrage zugeordnet ist. In einigen Fällen, wenn beispielsweise eine Anfragezeitüberschreitung oder ein anderer Übermittlungsfehler auftritt, kann das Netzwerkgerät 102 erneut eine Anfragenachricht mit der gleichen Anfrage-ID 402 senden. Desgleichen kann das Netzwerkgerät 102 auch erneut eine Antwortnachricht mit der gleichen Anfrage-ID 402 senden.
-
Die Lane-ID 404 gibt eine Kennung an, die einer gegebenen physischen Lane-Zahl zugeordnet ist (die z. B. in PMD-Implementierungen mit mehreren Lanes zu verwenden ist). Das Identifizieren der Lane-ID 404 ermöglicht es den Netzwerkgeräten, die Entzerrung pro physischem Lane zu steuern. In einigen Fällen kann die Lane-ID 404 einer logischen Lane-Zahl entsprechen, die zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät verwendet wird. Die Lane-ID 404 kann zum Beispiel einer Zahl von PCS(Physical Coding Sublayer)-Lanes entsprechen, die zwischen den Geräten verwendet werden. Das Netzwerkgerät 102 kann die PCS-Lane-Zahl mit Hilfe der Abbildungsdaten 306 mit einem tatsächlichen physischen Lane in Beziehung setzen. Die Koeffizientenanzahl 406 gibt eine Koeffizientenanzahl an, die zu einer gegebenen zu aktualisierenden Anfrage gehört (z. B. inkrementiert oder dekrementiert). Insbesondere kann das Netzwerkgerät 102 mit Hilfe des Koeffizienten eine Vorwärtsentzerrung durchführen.
-
Der Anfrage-/Antwort-Bitschalter 408 gibt an, ob die Nachricht 400 entweder einer Anfrage- oder einer Antwortnachricht entspricht. Der Anfragetyp 410 ist in einer Nachricht 400 enthalten, die einer Anfrage entspricht. Der Anfragetyp 410 gibt an, wie die spezifizierte Koeffizientenanzahl 406 zu aktualisieren ist, z. B. ob die Koeffizientenanzahl 406 zu inkrementieren oder zu dekrementieren ist. Das Inkrement oder Dekrement kann gemäß einer vordefinierten Schrittgröße eingestellt sein, die für eine gegebene PMD spezifiziert ist. Der Koeffizientenstatus 412 ist in einer Nachricht 400 enthalten, die einer Antwort entspricht. Der Koeffizientenstatus 412 gibt eine Bestätigung, ob das die Anfrage empfangende Netzwerkgerät die Koeffizientenanzahl 406 erfolgreich aktualisiert hat. Falls die Aktualisierung nicht erfolgreich war, kann der Koeffizientenstatus 412 einen Fehler bereitstellen, z.B. in Form eines Fehlercodes. Fehlercodes können für eine gegebene PMD separat definiert sein.
-
Wie angegeben, können der Entzerrungssteuerungskanal und die Anfrage-/Antwortbenachrichtigung über verschiedene bandinterne Techniken implementiert sein. Bezugnehmend auf 5 ist nun ein vereinfachtes Blockdiagramm einer beispielhaften Implementierung nach dem LLDP (Link Layer Discovery Protocol) gezeigt. Das LLDP (Link Layer Discovery Protocol) verwendet Frames der physischen Schicht (z. B. Ethernet-Frames), die von dem Netzwerkgerät 102 Punkt zu Punkt zu einem anderen Netzwerkgerät übertragen werden können. Ein LLDP-Subtyp kann Anfrage-/Antwortnachrichten zugeordnet sein, die als Teil des Entzerrungssteuerungskanals gesendet werden. Bei einem derartigen Ansatz kann ein Netzwerkgerät 102 einen LLDP-Frame als eine Entzerrungssteuerungskanal-Typ-Anfrage formatieren, indem es den Subtyp in dem Header des LLDP-Frames spezifiziert.
-
Veranschaulichend ist der Frame 502 eine Darstellung für einen beispielhaften LLDP-Frame. Der Frame 502 beinhaltet einen Header, der einen TLV(Type Length Value)-Typ und eine TLV-Informationsstringlänge spezifiziert. Der Frame 502 beinhaltet außerdem einen TLV-Informationsstring. In einigen Ausführungsformen beinhaltet der Header Informationen, die den Frame 502 dahingehend klassifizieren, dass er eine Entzerrungssteuerungskanal- Anfrage-/Antwortnachricht angibt.
-
In einer beispielhaften Ausführungsform beträgt die Länge des TLV-Strings acht Achtbitzeichen. Veranschaulichend bildet die Tabelle 504 Informationen ab, die in jedem Achtbitzeichen codiert sind. Wie gezeigt, spezifizieren die Achtbitzeichen 1 bis 3 in dem Frame 502 eine OUI (Organization Unique Identifier). Das Achtbitzeichen 4 wird für ein Subtypfeld verwendet. Ein verfügbarer Wert kann für das Subtypfeld spezifiziert sein. Die Achtbitzeichen 5 bis 8 werden verwendet, um die Anfrage-/Antwortnachricht zu codieren. Zum Beispiel wird das Achtbitzeichen 5 verwendet, um die Lane-ID zu codieren, die ein Wert von 0 bis N-1 sein kann, wobei N gleich der Anzahl an PMD-Lanes ist. Das Achtbitzeichen 6 wird verwendet, um die Koeffizientenanzahl zu codieren, die in dem PMD-Lane zu aktualisieren ist. Das Achtbitzeichen 7 wird verwendet, um zu codieren, ob die Nachricht einer Anfrage oder einer Antwort entspricht, und um außerdem die Anfrage-ID zu codieren. Das Achtbitzeichen 8 wird verwendet, um zu codieren, ob der Koeffizient zu inkrementieren oder zu dekrementieren ist (für Anfragenachrichten), oder um einen Koeffizientenstatus zu codieren (für Antwortnachrichten).
-
Ein LLDP-Frame kann von der MAC verarbeitet werden. Verschiedene Verfahren können angewandt werden, um zu implementieren, wie die PHY die MAC anfragt, ein ausgehendes LLDP zu erzeugen, das einen TLV-Subtyp für den Entzerrungskanal enthält. Zum Beispiel kann die CPI (Converged PHY Interface) verwendet werden. Ferner kann das Netzwerkgerät 102, wie angegeben, einen Wert in eine Anfrage codieren, der anzeigt, dass die Koeffizientenanzahl nicht verändert werden soll. Dies ermöglicht es dem Netzwerkgerät 102, einen LLDP-Frame zu senden, der keine Veränderung anzeigt, um auf Unterstützung in einem Zielnetzwerkgerät zu prüfen, indem bestimmt wird, ob das Zielnetzwerkgerät eine Antwort sendet. Ein Fehlen der Antwort kann angeben, dass Entzerrungsanfragen von dem Zielnetzwerkgerät nicht unterstützt werden.
-
Es sei angemerkt, dass das Vorstehende LLDP als ein Beispiel für einen Ansatz zum Einrichten eines Steuerungskanals zum Abstimmen von Verbindungsentzerrungseinstellungen zwischen miteinander verbundenen Netzwerkgeräten verwendet. Fachleute werden jedoch erkennen, dass andere Ansätze ebenfalls anwendbar sind. Zum Beispiel kann Firmware in dem Netzwerkgerät 102 verwendet werden, wenn Firmware die Paketerzeugung und - überprüfung unterstützt.
-
Als ein weiteres Beispiel kann das Netzwerkgerät 102 eine Entzerrungssteuerungs-Anfrage-/Antwortnachricht an periodische PCS-Ausrichtungsmarker als Teil der PHY-Codiertechnik codieren, die in Blöcke abgebildet werden, welche in RS-FEC(Reed Solomon Forward Error Correction)-Codewörter eingesetzt werden. Der Abbildungsprozess beinhaltet ein oder mehrere Füll-Bits (Padding Bits), die keinerlei Information tragen. Die RS-FEC für 50-Gb/s-Ethernet beinhaltet zum Beispiel ein einzelnes Füll-Bit in jedem Block von Ausrichtungsmarkern, die einmal aller 8,1920 PCS-Blöcke gesendet werden (ungefähr einmal pro Millisekunde), das zwischen 0 und 1 wechselt. Die Füll-Bits können stattdessen den Entzerrungssteuerungskanal durch Serialisieren einer Nachricht (wie beispielsweise die TLV-Struktur von Frame 502) und Senden jeweils eines Bits bilden.
-
Als noch ein weiteres Beispiel kann das Netzwerkgerät 102 Gruppen von Leerzeichen, die zwischen physischen Frames (z. B. Ethernet-Frames) erscheinen, durch eine Entzerrungssteuerungs-Anfrage- oder -Antwort ersetzen. Netzwerkgeräte, die gemäß diesem Ansatz über den Entzerrungssteuerungskanal kommunizieren, können mit Hilfe jeweils eines oder mehrerer Zeichen untereinander Abschnitte von Anfrage-/Antwortnachrichten streamen. Gemäß den im Vorliegenden beschriebenen PHY-Codieransätzen (z. B. Verwendung periodischer PCS-Ausrichtungsmarker und Leerzeichenersetzung) erfolgt das Codieren und Decodieren von Nachrichten in der PHY und erfordert keine Protokolle höherer Ebenen.
-
Bezugnehmend auf 6 kann nun das Netzwerkgerät 102 während des Betriebes ein Verfahren 600 zum Bestimmen von Fällen durchführen, in denen der Entzerrungssteuerungskanal mit einem anderen Netzwerkgerät einzurichten ist, um Verbindungsentzerrungseinstellungen zu justieren. Wie gezeigt, beginnt das Verfahren 600 bei Block 602, wo das Netzwerkgerät 102 eine Verbindungskanalschwankung zwischen dem Netzwerkgerät 102 und einem anderen Netzwerkgerät überwacht. Insbesondere überwacht das Netzwerkgerät 102 mehrere Eigenschaften, die zu dem Verbindungskanal und dem Netzwerkgerät 102 gehören. Zum Beispiel überwacht das Netzwerkgerät 102 bei Block 604 eine Temperatur der Hardware-Komponenten des Geräts (z. B. mit Hilfe eines darin befindlichen Temperatursensors), ein Alter der Verbindung, eine Entzerrungskonvergenz in dem Empfänger, das Alter des Netzwerkgeräts 102 usw. Das Netzwerkgerät 102 kann den Verbindungskanal pro Lane überwachen (z. B. in PMD-Implementierungen mit mehreren Lanes).
-
Bei Block 606 bestimmt das Netzwerkgerät 102, ob eine oder mehrere Bedingungen für das Entzerren des Verbindungskanals ausgelöst sind. Das Netzwerkgerät 102 kann basierend auf der überwachten Schwankung des Verbindungskanals ein Ereignis identifizieren, das diese Bedingungen auslöst. Zum Beispiel kann das Netzwerkgerät 102 bestimmen, das die Temperatur des Geräts einen gegebenen Grenzwert übersteigt (oder unter einen anderen Grenzwert fällt). Als weiteres Beispiel kann das Netzwerkgerät 102 bestimmten, dass eine Betriebszeit für die Verbindung einen Grenzwert übersteigt. Wenn keine Bedingung ausgelöst ist, kehrt das Verfahren 600 zu Block 602 zurück, wo das Netzwerkgerät 102 mit der Überwachung von Schwankungen des Verbindungskanals fortfährt.
-
Anderenfalls kommuniziert das Netzwerkgerät 102 bei Block 608 über den bandinternen Entzerrungssteuerungskanal zwischen dem Netzwerkgerät 102 und dem anderen Netzwerkgerät, basierend auf den ausgelösten Bedingungen, Veränderungen der Verbindungsentzerrungseinstellungen. Das Netzwerkgerät 102 kann zum Beispiel eine Anfrage über den Entzerrungssteuerungskanal senden, um eine Koeffizienten-anzahl für den Lane zu justieren, zu dem die Eigenschaften gehören, welche die Bedingungen auslösen.
-
Bezugnehmend auf 7 kann nun das Netzwerkgerät 102 während des Betriebes eine Anfragenachricht erzeugen, die bandintern über einen Entzerrungssteuerungskanal zwischen dem Netzwerkgerät 102 und einem anderen Gerät zu senden ist. Bei Block 610 kapselt das Netzwerkgerät 102 eine Anfragenachricht zum Verändern von Entzerrungseinstellungen eines Verbindungskanals in einen Netzwerk-Frame ein. Insbesondere stellt das Netzwerkgerät 102 bei Block 612 eine zur gegebenen Anfrage gehörige Anfrage-ID ein. Ferner bestimmt das Netzwerkgerät 102 bei Block 614 einen oder mehrere Parameter zum Verändem der Entzerrungseinstellungen basierend auf den ausgelösten Bedingungen. Zum Beispiel kann das Netzwerkgerät 102 angesichts der überwachten Verbindungsschwankung und Auslöseereignisses bestimmen, eine gegebene Koeffizientenanzahl zu justieren, die zu einem bestimmten Lane in dem Verbindungskanal gehört.
-
Bei Block 616 codiert das Netzwerkgerät 102 den Frame basierend auf den bestimmten Parametern. Zum Beispiel kann das Netzwerkgerät 102 bei Block 618 einen LLDP-Frame mit einem Header erzeugen, der spezifiziert, dass sich der Frame in einer Entzerrungssteuerungskanal-Nachricht befindet. Das Netzwerkgerät 102 kann dann andere Felder codieren, die zu einer Entzerrungssteuerungs-Anfragenachricht gehören, wie beispielsweise eine Lane-ID des zugehörigen Lane mit zu justierenden Entzerrungseinstellungen, eine zu modifizierende Koeffizientenanzahl, wie die Koeffizientenanzahl zu modifizieren ist usw. Als ein weiteres Beispiel kann das Netzwerkgerät 102 bei Block 620 die Anfrage in eine oder mehrere PCS-Ausrichtungsmarker des Netzwerk-Frames codieren. Als noch ein weiteres Beispiel streamt das Netzwerkgerät 102 bei Block 622 der Anfrage anstelle eines oder mehrerer Leerzeichen, die dem Netzwerk-Frame folgen. Bei Block 624 sendet das Netzwerkgerät 102 die Anfragenachricht an das andere Netzwerkgerät bandintern über den Entzerrungssteuerungskanal. Bei dem LLDP-Beispiel kann das Netzwerkgerät 102 den Frame gemäß dem Protokoll senden. Bei dem Beispiel der PHY-Schicht-Codierung kann das Netzwerkgerät 102 die Netzwerk-Frames über die physische Schicht senden.
-
Bei Block 626 wartet das Netzwerkgerät 102 auf eine Antwort von dem anderen Netzwerkgerät. Zum Beispiel kann das Netzwerkgerät 102 eine Wartezeituhr starten, um auf die Antwort zu warten. Bei Block 628 bestimmt das Netzwerkgerät 102, ob eine Antwort von dem anderen Netzwerkgerät empfangen wurde. Falls ja, verarbeitet das Netzwerkgerät 102 bei Block 630 die Anfrage. Zum Beispiel kann das Netzwerkgerät 102 eine Antwortanfrage von dem anderen Netzwerkgerät empfangen, die angibt, dass eine spezifizierte Koeffizientenanzahl aktualisiert wurde. Das Netzwerkgerät 102 kann dann weitere Aktionen durchführen, wie beispielsweise das Fortführen des Überwachens des Verbindungskanals auf zusätzliche Schwankungen. Anderenfalls, wenn keine Antwort empfangen wurde, bestimmt das Netzwerkgerät 102 bei Block 632, ob die Wartezeituhr abgelaufen ist (die Wartezeituhr z. B. einen vordefinierten Grenzwert überschreitet). Wenn nicht, fährt das Netzwerkgerät 102 fort zu warten, bis eine Antwort empfangen wird. Ferner sendet das Netzwerkgerät 102 bei Block 634 erneut eine Anfragenachricht. Dies trägt möglichem Rauschen in dem Verbindungskanal zwischen dem Netzwerkgerät 102 und dem anderen Netzwerkgerät Rechnung, z. B. wenn das andere Netzwerkgerät (das eine Unterstützeng des Entzerrungskanals bereitstellt) die zuvor gesendete Nachricht nicht empfängt. Ist die Wartezeituhr abgelaufen, erzeugt das Netzwerkgerät 102 bei Block 636 einen Zeitüberschreitungsfehler und sendet ihn zurück. Der Zeitüberschreitungsfehler kann angeben, dass das andere Netzwerkgerät den Entzerrungssteuerungskanal, wie er auf dem Netzwerkgerät 102 implementiert ist, nicht unterstützt.
-
Bezugnehmend auf 8 kann nun das Netzwerkgerät 102 während des Betriebes ein Verfahren 800 zum Beantworten einer Anfragenachricht, die über den Entzerrungssteuerungskanal von einem anderen Netzwerkgerät gesendet wird, durchführen. Wie gezeigt, beginnt das Verfahren 800 bei Block 802, wo das Netzwerkgerät 102 bandintern über den Entzerrungssteuerungskanal einen Netzwerk-Frame empfängt, der eine Entzerrungssteuerungs-Anfragenachricht darstellt.
-
Bei Block 804 verarbeitet das Netzwerkgerät 102 die Anfragenachricht. Insbesondere bewertet das Netzwerkgerät 102 bei Block 806 Parameter der Anfrage, wie beispielsweise die Anfrage-ID, die Lane-ID, die Koeffizientenanzahl, ob die Koeffizientenanzahl zu inkrementieren oder zu dekrementieren ist, und dergleichen. Bei Block 808 aktualisiert das Netzwerkgerät 102 die PHY-Sendereinstellungen in dem Netzwerkgerät 102 basierend auf der Bewertung. Zum Beispiel kann das Netzwerkgerät 102 die Koeffizientenanzahl gemäß der Anfrage abstimmen, z. B. durch Inkrementieren oder Dekrementieren der Koeffizi entenanzahl.
-
Bei Block 810 erzeugt das Netzwerkgerät 102 die Antwortnachricht. Insbesondere kapselt das Netzwerkgerät 102 bei Block 812 die Antwortnachricht in einen Netzwerk-Frame ein. Zum Beispiel kann das Netzwerkgerät 102 bei Block 814 einen LLDP-Frame mit einem Header erzeugen, der einen Frame als eine Entzerrungssteuerungs-Antwortnachricht identifiziert. Ferner codiert das Netzwerkgerät 102 Felder, die der Antwortnachricht entsprechen, wie beispielsweise Anfrage-ID, Lane-ID, Koeffizientenanzahl und Status der Koeffizientenanzahl. Als ein weiteres Beispiel codiert das Netzwerkgerät 102 bei Block 816 die Anfrage in einen oder mehrere PCS-Ausrichtungsmarker des Netzwerk-Frame. Als noch ein weiteres Beispiel streamt das Netzwerkgerät 102 bei Block 818 Teile der Antwort anstelle eines oder mehrerer Leerzeichen, die dem Netzwerk-Frame folgen. Bei Block 820 sendet das Netzwerkgerät 102 über den Entzerrungssteuerungskanal die Antwortnachricht an das andere Netzwerkgerät.
-
BEISPIELE
-
Im Weiteren sind veranschaulichende Beispiele der im Vorliegenden offenbarten Technologien bereitgestellt. Eine Ausführungsform der Technologien kann eines oder mehrere und eine beliebige Kombination der im Weiteren beschriebenen Beispiele beinhalten.
-
Beispiel 1 beinhaltet ein Netzwerkgerät, umfassend eine Rechenmaschine, die mindestens einen Speicher und einen Prozessor umfasst, und einen Netzwerk-Schnittstellen-Controller (NIC), um Schwankungen einer Eigenschaft eines Verbindungskanals zu überwachen, der das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, um basierend auf den überwachten Kanalschwankungen ein Ereignis zu erkennen, das eine Bedingung zum Verändern einer Entzerrungseinstellung des Verbindungskanals auslöst, und um in Reaktion auf das Erkennen und über einen bandinternen Entzerrungssteuerungskanal eine Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät zu kommunizieren.
-
Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, und wobei das Kommunizieren der Veränderung der Eigenschaft des Verbindungskanals das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals ohne Unterbrechung des Netzwerkverkehrs zwischen dem Netzwerkgerät und dem zweiten Netzwerkgerät umfasst.
-
Beispiel 3 beinhaltet den Gegenstand von einem der Beispiele 1 und 2, und wobei das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät das Einkapseln einer Anfrage nach einer Veränderung der Entzerrungseinstellung des Verbindungskanals in einen oder mehrere Netzwerk-Frames und das Senden des einen oder der mehreren Netzwerk-Frames an das zweite Netzwerkgerät umfasst.
-
Beispiel 4 beinhaltet den Gegenstand von einem der Beispiele 1 bis 3, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Einkapseln der Anfrage in einen LLDP(Link Layer Discovery Protocol)-Frame umfasst und wobei das Senden der Netzwerk-Frames an das zweite Netzwerkgerät das Senden des LLDP-Frames an das zweite Netzwerkgerät mittels LLDP umfasst.
-
Beispiel 5 beinhaltet den Gegenstand von einem der Beispiele 1 bis 4, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Codieren der Anfrage in einen oder mehrere PCS(Physical Coding Sublayer)-Ausrichtungsmarker des Netzwerk-Frames umfasst.
-
Beispiel 6 beinhaltet den Gegenstand von einem der Beispiele 1 bis 5, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Übertragen eines ersten Netzwerk-Frames an das zweite Netzwerkgerät, das Übertragen mindestens eines Abschnitts der Anfrage an das zweite Netzwerkgerät und vor dem Übertragen eines zweiten Netzwerk-Frame, wobei der mindestens eine Abschnitt der Anfrage anstelle eines oder mehrerer Leerzeichen übertragen wird, und das Übertragen des zweiten Netzwerk-Frames umfasst.
-
Beispiel 7 beinhaltet den Gegenstand von einem der Beispiele 1 bis 6, und wobei der NIC ferner dafür vorgesehen ist, über den bandinternen Entzerrungssteuerungskanal eine zweite Anfrage von dem zweiten Netzwerkgerät zu empfangen, wobei die zweite Anfrage die Veränderung der Entzerrungseinstellungen des Verbindungskanals betrifft.
-
Beispiel 8 beinhaltet den Gegenstand von einem der Beispiele 1 bis 7, und wobei der NIC ferner dafür vorgesehen ist, die Entzerrungseinstellung des Verbindungskanals als eine Funktion der zweiten Anfrage zu aktualisieren.
-
Beispiel 9 beinhaltet den Gegenstand von einem der Beispiele 1 bis 8, und wobei der NIC ferner dafür vorgesehen ist, eine Antwortnachricht zu erzeugen, welche die aktualisierte Entzerrungseinstellung des Verbindungskanals angibt, und über den bandinternen Entzerrungssteuerungskanal die Antwortnachricht an das zweite Netzwerkgerät zu senden.
-
Beispiel 10 beinhaltet den Gegenstand von einem der Beispiele 1 bis 9, und wobei das Überwachen der Schwankungen der Eigenschaft des Verbindungskanals, der das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, das Überwachen mindestens eines des Folgenden umfasst: einer Temperatur von Hardware-Komponenten des Netzwerkgeräts, Verbindungskonvergenz, Betriebszeit des Verbindungskanals oder ein Alter des Netzwerkgeräts.
-
Beispiel 11 beinhaltet ein oder mehrere maschinenlesbare Speichermedien, die mehrere Anweisungen beinhalten, die bei Ausführung ein Netzwerkgerät veranlassen, eine Schwankung einer Eigenschaft eines Verbindungskanals zu überwachen, welcher das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, basierend auf der überwachten Kanalschwankung ein Ereignis zu erkennen, das eine Bedingung zum Verändern einer Entzerrungseinstellung des Verbindungskanals auslöst, und in Reaktion auf das Erkennen und über einen bandinternen Entzerrungssteuerungskanal eine Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät zu kommunizieren.
-
Beispiel 12 beinhaltet den Gegenstand von Beispiel 11, und wobei das Kommunizieren der Veränderung der Entzerrungseinstellungen des Verbindungskanals das Kommunizieren der Veränderungen der Entzerrungseinstellung des Verbindungskanals ohne Unterbrechung des Netzwerk-Verkehrs zwischen dem Netzwerkgerät und dem zweiten Netzwerkgerät umfasst.
-
Beispiel 13 beinhaltet den Gegenstand von einem der Beispiele 11 und 12, und wobei das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät das Einkapseln einer Anfrage nach einer Veränderung der Entzerrungseinstellung des Verbindungskanals in einen oder mehrere Netzwerk-Frames und das Senden des einen oder der mehreren Netzwerk-Frames an das zweite Netzwerkgerät umfasst.
-
Beispiel 14 beinhaltet den Gegenstand von einem der Beispiele 11 bis 13, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Einkapseln der Anfrage in einen LLDP(Link Layer Discovery Protocol)-Frame umfasst und wobei das Senden des Netzwerk-Frames an das zweite Netzwerkgerät das Senden des LLDP-Frames an das zweite Netzwerkgerät mittels LLDP umfasst.
-
Beispiel 15 beinhaltet den Gegenstand von einem der Beispiele 11 bis 14, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Codieren der Anfrage in einen oder mehrere PCS(Physical Coding Sublayer)-Ausrichtungsmarker des Netzwerk-Frames umfasst.
-
Beispiel 16 beinhaltet den Gegenstand von einem der Beispiele 11 bis 15, und wobei das Einkapseln der Anfrage in den einen oder die mehreren Netzwerk-Frames das Übertragen eines ersten Netzwerk-Frames an das zweite Netzwerkgerät, das Übertragen mindestens eines Abschnitts der Anfrage an das zweite Netzwerkgerät und vor dem Übertragen eines zweiten Netzwerk-Frames, wobei der mindestens eine Abschnitt der Anfrage anstelle eines oder mehrerer Leerzeichen übertragen wird, und das Übertragen des zweiten Netzwerk-Frames umfasst.
-
Beispiel 17 beinhaltet den Gegenstand von einem der Beispiele 11 bis 16, und wobei die mehreren Anweisungen ferner das Netzwerkgerät veranlassen, über den bandinternen Entzerrungssteuerungskanal eine zweite Anfrage von dem zweiten Netzwerkgerät zu empfangen, wobei die zweite Anfrage die Veränderung der Entzerrungseinstellungen des Verbindungskanals betrifft.
-
Beispiel 18 beinhaltet den Gegenstand von einem der Beispiele 11 bis 17, und wobei die mehreren Anweisungen ferner das Netzwerkgerät veranlassen, die Entzerrungseinstellung des Verbindungskanals als eine Funktion der zweiten Anfrage zu aktualisieren.
-
Beispiel 19 beinhaltet den Gegenstand von einem der Beispiele 11 bis 18, und wobei die mehreren Anweisungen ferner das Netzwerkgerät veranlassen, eine Antwortnachricht zu erzeugen, welche die aktualisierte Entzerrungseinstellung des Verbindungskanals angibt, und die Antwortnachricht über den bandinternen Entzerrungssteuerungskanal an das zweite Netzwerkgerät zu senden.
-
Beispiel 20 beinhaltet den Gegenstand von einem der Beispiele 11 bis 19, und wobei das Überwachen der Schwankung der Eigenschaft des Verbindungskanals, der das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, das Überwachen mindestens eines des Folgenden umfasst: eine Temperatur von Hardware-Komponenten des Netzwerkgeräts, Verbindungskonvergenz, Betriebszeit des Verbindungskanals oder ein Alter des Netzwerkgeräts.
-
Beispiel 21 beinhaltet ein Verfahren, welches das Überwachen durch ein Netzwerkgerät von Schwankungen der Eigenschaft eines Verbindungskanals, der das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, das Erkennen eines Ereignisses, das eine Bedingung zum Verändern einer Entzerrungseinstellung des Verbindungskanals auslöst, durch das Netzwerkgerät und basierend auf der überwachten Kanalschwankung, und das Kommunizieren einer Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät durch das Netzwerkgerät und in Antwort auf das Erkennen sowie über einen bandinternen Entzerrungssteuerungskanal umfasst.
-
Beispiel 22 beinhaltet den Gegenstand von Beispiel 21, und wobei das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals ohne Unterbrechung des Netzwerk-Verkehrs zwischen dem Netzwerkgerät und dem zweiten Netzwerkgerät durch das Netzwerkgerät umfasst.
-
Beispiel 23 beinhaltet den Gegenstand von einem der Beispiele 21 und 22, und wobei das Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät das Einkapseln einer Anfrage nach einer Veränderung der Entzerrungseinstellung des Verbindungskanals in einen oder mehrere Netzwerk-Frames durch das Netzwerkgerät und das Senden des einen oder der mehreren Netzwerk-Frames an das zweite Netzwerkgerät durch das Netzwerkgerät umfasst.
-
Beispiel 24 beinhaltet ein Netzwerkgerät, das Schaltungen zum Überwachen von Schwankungen der Eigenschaft des Verbindungskanals, der das Netzwerkgerät mit einem zweiten Netzwerkgerät verbindet, Mittel zum Erkennen eines Ereignisses, das eine Bedingung zum Verändern einer Entzerrungseinstellung des Verbindungskanals auslöst, basierend auf der überwachten Kanalschwankung, und Mittel zum Kommunizieren einer Veränderung der Entzerrungseinstellung des Verbindungskanals an das zweite Netzwerkgerät in Antwort auf die Erkennung und über einen bandinternen Entzerrungssteuerungskanal.
-
Beispiel 25 beinhaltet den Gegenstand von Beispiel 24, und wobei die Mittel zum Kommunizieren der Veränderung der Entzerrungseinstellung des Verbindungskanals Mittel zum Kommunizieren der Veränderungen der Entzerrungseinstellung des Verbindungskanals ohne Unterbrechung des Netzwerk-Verkehrs zwischen dem Netzwerkgerät und dem zweiten Netzwerkgerät umfassen.