-
VERWANDTE ANMELDUNG
-
Die vorliegende Anmeldung beansprucht die Priorität der vorläufigen
US-Anmeldung 63/255,748 , die am 14. Oktober 2021 eingereicht wurde. Der Inhalt dieser Anmeldung ist hierin vollständig aufgenommen.
-
HINTERGRUND
-
Paketübertragungsoperationen können von einer Netzwerkvorrichtung (z. B. einer Basisstation) zu anderen Vorrichtungen (devices) unter Verwendung von seriellen Verbindungen (links) erfolgen. Eine Verbindung (interconnect) oder ein Kanal stellt Kommunikationen zwischen zwei Sendeempfängern bereit. Ein Netzwerk von Systemen kann Hunderte bis Tausende von Verbindungen umfassen. Es kann erwartet werden, dass eine serielle Hochgeschwindigkeitsverbindung zwischen zwei Vorrichtungen in einem Kommunikationssystem ein Jahrzehnt lang oder länger und unter einer Vielzahl von Umgebungsbedingungen arbeitet. Im Zeitablauf kann die Qualität und Zuverlässigkeit der Verbindung aus verschiedenen Gründen gefährdet werden. Komponenten in Netzwerkvorrichtungen, wie z. B. Basisstationen, können Schäden durch Umwelteinfluss aufgrund von Feuchtigkeit, Vibrationen, Temperaturschwankungen, Korrosion oder mechanischer Belastung unterliegen. Eine Verbindungsverschlechterung kann durch Siliziumalterung, Kanalalterung, Zusammensetzungs- oder Herstellungsdefekte, Fehler in Hardware, Firmware oder Software, die systematische kumulative Fehler einführen, zufällige Schäden, Schäden durch Umwelteinfluss oder sogar böswillige Aktivitäten auftreten.
-
Figurenliste
-
- 1 zeigt ein Beispiel für ein Auge und die Augenhöhe.
- 2 zeigt ein Beispiel für die gemessene Augenhöhe einer Verbindung, die sich im Zeitablauf verschlechtert.
- 3 zeigt ein System mit Verbindungsüberwachung.
- 4 stellt einen beispielhaften Prozess dar.
- 5 zeigt ein Beispiel für Warn- und Fehlerniveaus.
- 6 zeigt ein beispielhaftes System.
- 7 zeigt ein beispielhaftes System.
- 8 stellt einen beispielhaften Prozess dar.
- 9 stellt eine beispielhafte Netzwerkschnittstellenvorrichtung dar.
- 10 zeigt ein beispielhaftes System.
-
Detaillierte Beschreibung
-
Um eine Verschlechterung der Signalausbreitungscharakteristika einer Verbindung zumindest teilweise zu adressieren und um eine überraschende Unterbrechung der Kommunikation über eine Verbindung zu vermeiden, kann eine Physical-Layer-Schnittstelle (PHY) auswählbare Verbindungsparameter periodisch überwachen und sie mit Basislinienniveaus oder Schwellenwerten vergleichen und potenziell eine Warnung protokollieren oder einen Interrupt erzeugen, um eine Managementschicht oder einen Administrator zu alarmieren, damit diese(r) Korrekturmaßnahmen ergreift (z. B. Verbindungs-Zurücksetzung oder Umleiten des Verkehrs um die Verbindung herum), um den Verlust der Fähigkeit zur Kommunikation unter Verwendung einer Verbindung zu vermeiden oder die Signalausbreitungsqualitäten einer Verbindung zu verbessern. Die PHY kann serielle Verbindungen innerhalb einer Basisstation und von der Basisstation zu einem Rechenzentrum überwachen, um zu bestimmen, ob sich die Verbindungsintegrität verschlechtert. Die Messintervalle können programmierbar sein und können verkürzt werden, wenn eine Verschlechterung detektiert wird. Wenn eine inakzeptable Verbindungsverschlechterung detektiert wird, kann eine Verbindung weiter getestet und/oder zurückgesetzt werden, bei der nächsten Kontrollierte-Wartung-Gelegenheit. Zusätzlich kann der Verkehr auf der Grundlage der Alarmmeldung von dem problematischen Kanal weggeroutet werden, bevor die Verbindung verloren wird.
-
Die PHY kann die Augenöffnungseigenschaften eines Signals messen, um zu bestimmen, ob eine Verbindungsverschlechterung bis zu einem Niveau aufgetreten ist, dass die Ausgabe einer Alarmmeldung gerechtfertigt ist. Die PHY kann anzeigen, ob sich eine Augenhöhe von einer Basislinie geändert hat, durch Schrumpfen über einen programmierten Schwellenwert hinaus. Alternativ kann die PHY bestimmen, ob sich eines oder mehrere aus dem Folgenden um eine ausreichende Spanne geändert hat, um eine Alarmmeldung auszugeben, dass sich eine Verbindung verschlechtert hat: Verriegelungsbereich der Phasenregelschleife (PLL; phase lock loop) oder Tastgradkorrektur.
-
Um die Vorhersagbarkeit der Verbindungs-Performance und -Zuverlässigkeit zu verbessern, kann die PHY eine automatische Verbindungsüberwachung programmierbarer Charakteristika auf der Grundlage programmierbarer Schwellenwerte in programmierbaren Intervallen durchführen. Die Ergebnisse und Protokolle könnten in einer Speichervorrichtung in einem Host- oder anderen System zur Datensammlung gespeichert werden.
-
1 zeigt ein Beispiel für ein Auge und die Augenhöhe. Ein Augendiagramm kann Signalübergänge von niedrig zu hoch und hoch zu niedrig, gemessen im Zeitablauf, repräsentieren. Die Augenhöhemessung kann eine Innenhöhemessung von der unteren Innenkante zur oberen Innenkante repräsentieren. Da Datenwerte aus einem Signal abgetastet werden, kann ein offenes Auge, das einen klaren Übergang von niedrig zu hoch oder hoch zu niedrig anzeigt, eine geringere Wahrscheinlichkeit anzeigen, dass ein fehlerhafter Wert aus einem Signal gelesen wird. Umgekehrt kann ein kleinerer oder weniger definierter Übergang von niedrig zu hoch oder hoch zu niedrig eine höhere Wahrscheinlichkeit anzeigen, dass ein fehlerhafter Wert aus einem Signal gelesen wird.
-
2 zeigt ein Beispiel für die gemessene Augenhöhe einer Verbindung, die sich im Zeitablauf verschlechtert. Eine PHY kann eine Überwachung der Verbindungsverschlechterung auf der Grundlage eines Warnniveaus 202 und eines Fehlerereignisniveaus 204 durchführen. Die Niveaus können die erwartete Lebensdauerverschlechterung berücksichtigen. Die PHY kann mit Niveaus ausgebildet werden, die die erwartete saisonale Variation berücksichtigen, für eine Anwendung im Freien unter extremen Bedingungen, zum Beispiel. Die y-Achse kann die Offenes-Auge-Höhe messen (z. B. mV). Die Augenhöhe kann extrapoliert und als eine Ziel-Bitfehlerquote (BER; Bit Error Ratio) repräsentiert werden. Die x-Achse kann Zeit repräsentieren (z. B. Monate).
-
Bei diesem Beispiel wird bei 60 Monaten ein Kabel durch ein Ereignis beschädigt und die Augenhöhe/BER überschreitet das Fehlerniveau 204, was die PHY triggert, eine Alarmmeldung auszugeben. Das Ereignis kann das Schließen einer Schranktür oder das Überfahren eines Kabels mit einem Wartungswagen umfassen. Die Augenhöhe an einer Empfänger (RX)-PHY kann sich erheblich verschlechtern, und eine Alarmmeldung erzeugt werden. In einigen Fällen kann die Verbindung nach Unterschreiten des Fehlerniveaus 204 nichtfunktionsfähig werden.
-
3 zeigt ein System mit Verbindungsüberwachung. Ein Host 300 kann eine Netzwerkschnittstellenvorrichtung 320 zur Kommunikation mit einem Host 360 über eine Netzwerkschnittstellenvorrichtung 370 unter Verwendung von Verbindungen 350 verwenden. Optische und/oder elektrische Signalausbreitungsmedien können Kommunikation für die Verbindungen 350 bereitstellen. Verschiedene Beispiele für den Host 300 und den Host 360 sind in Bezug auf 10 beschrieben, während verschiedene Beispiele für die Netzwerkschnittstellenvorrichtung 320 und die Netzwerkschnittstellenvorrichtung 370 in Bezug auf 9 beschrieben sind. Die hierin beschriebenen Beispiele können in 5G-Basisstation- oder zellularen Kommunikationsnetzwerken verwendet werden.
-
Der Host 300 kann eine Portkonfigurationssoftware 306 unter Verwendung von ein oder mehreren Prozessoren ausführen. Die Portkonfigurationssoftware 306 kann von einem Hersteller von Kommunikationsausrüstungen bereitgestellt werden, um den Betrieb eines Serialisierers/Deserialisierers (SerDes; serializer-deserializer) 332 zu managen, die unter Verwendung von einer oder mehreren der Verbindungen 350 kommunizieren. Die Portkonfiguration 306 kann die Verwendung eines oder mehrerer Ports ermöglichen und Verbindungen 350 zwischen der Netzwerkschnittstellenvorrichtung 320 und der Netzwerkschnittstellenvorrichtung 370 herstellen. Die Portkonfiguration 306 kann die Verwendung von Ports und Verbindungen über einen Stapel von APIs und Treibern 308 managen, die die Verbindungs-Media-Access-Controller (MAC) (in 3 nicht dargestellt) und eine Physical-Layer-Schnittstelle (PHY) 330 steuern.
-
Nach der Herstellung der Verbindungen 350 unter Verwendung von Treibern und APIs 308 kann die Portkonfigurationssoftware 306 den Betrieb einer Verbindungsüberwachungsschaltungsanordnung 340 in der PHY 330 der Netzwerkschnittstellenvorrichtung 330 konfigurieren, um die Überwachung einer oder mehrerer der Verbindungen 350 durchzuführen. Die Portkonfiguration 306 kann die Verbindungsüberwachungsschaltungsanordnung 340 mit dem/den zu messenden Parameter(n), dem Messintervall, dem Warnniveau und dem Fehlerniveau konfigurieren. Die gemessenen Parameter könnten die empfangene Augenhöhe oder eine andere Anzeige in Bezug auf die empfangene Signalqualität oder das Signal-Rausch-Verhältnis (SNR; signal to noise ratio) umfassen. Andere gemessene Parameter könnten den Verriegelungsbereich der Phasenregelschleife (PLL), Tastgradkorrektur (z. B. Senden (TX) oder Empfangen (RX)), Änderungen bei den Phasenausrichtungswerten, Änderungen bei den Entzerrerkoeffizienten, von einem Auf-Die-Analog-Digital-Wandler (A/D) gemessene Vorspannungsströme, Versatz-Unterdrückungsparameter, Statistiken über die Fehlerabhängigkeit der Roh-Bit-Fehlerrate (BER; bit error rate), Zählerwerte von korrigierten und unkorrigierten Vorwärtsfehlerkorrektur- (FEC-; Forward Error Correction) Werten und anderes abhängig von der PHY-Architektur und -Implementierung umfassen. Eine Änderung eines oder mehrerer der Parameter kann durch eine Änderung eines Kanals oder SerDes verursacht werden und kann sich auf die Verbindungsqualität auswirken.
-
Bei einigen Beispielen kann die Verbindungsüberwachungsschaltungsanordnung 340 als ein prozessor- oder mikrocontrollerausgeführter Prozess, feldprogrammierbares Gate-Array (FPGA; field programmable gate array), anwendungsspezifische integrierte Schaltung (ASIC; application specific integrated circuit) oder andere programmierbare Hardwarevorrichtung implementiert werden. Die Verbindungsüberwachungsschaltungsanordnung 340 kann eine Augenhöhe von analogen Signalen empfangen durch einen SerDes unter SerDes 332 von einem Übertragungsmedium (z. B. elektrisches oder optisches Kabel) oder einer digitalen Umwandlung von Signal überwachen. Die Verbindungsüberwachungsschaltungsanordnung 340 kann ein Fehlerereignis detektieren, bei dem eine Verbindungsspanne durch eine Abweichung einer Augenhöhe von einer anfänglichen oder Basislinien-Augenhöhe erheblich verschlechtert wird. Wenn ein Fehler detektiert wird, kann die Verbindungsüberwachungsschaltungsanordnung 340 einen Treiber und das Physical-Layer-Management informieren und den Fehler in einem Fehlerprotokoll 310 im Speicher des Hosts 300 protokollieren. Wenn die Augenhöheänderung einen zweiten, größeren Schwellenwert überschreitet, kann die Verbindungsüberwachungsschaltungsanordnung 340 das Physical-Layer-Management 304 unterbrechen. Bei einigen Beispielen kann die Verbindungsüberwachungsschaltungsanordnung 340 einen Rechenzentrumsadministrator benachrichtigen, wenn die Augenhöheänderung den zweiten Schwellenwert überschreitet. Wenn die Augenhöheänderung den zweiten Schwellenwert überschreitet, tritt ein Verlust der Kommunikationen über die Verbindung wahrscheinlich auf. Vorrichtungsentfernung, Verbindungsersatz und/oder Verbindungswiederherstellung können durch einen Administrator durchgeführt werden.
-
Der Betrieb der Verbindungsüberwachungsschaltungsanordnung 340 kann durch das Physical-Layer-Management 304 (z. B. Orchestrator oder Management-Software) gestartet werden, das von einem Prozessor des Hosts 300 oder einer anderen Vorrichtung ausgeführt wird, nachdem eine Verbindung hergestellt wurde. Das Physical-Layer-Management 304 kann verursachen, dass der Inhalt des Protokolls 310 gelöscht werden kann, um Speicherplatz für den Inhalt des Protokolls 310 freizugeben. Im Protokoll 310 können Basislinien- oder Anfangsüberwachungsmessungen, die zur Initiierung der Überwachung verwendeten Niveaus und Intervalle sowie gemessene Parameter und zugeordnete Zeitstempel gespeichert werden. Die Messung von Basislinien-Parametern oder Messungen können während oder nach der Herstellung einer PHY in einem Labor oder einer Testeinrichtung oder im Feld erfolgen, während die PHY durch einen Kunden verwendet wird. Der Inhalt des Protokolls 310 kann beibehalten werden, auch wenn die Verbindung zurückgesetzt oder wiederhergestellt wird, oder seine Inhalte können gelöscht werden. Warnungen und Fehlerereignisse und deren Zeitstempel können überschrieben werden, nachdem die Größe oder die Anzahl von Einträgen im Protokoll 310 ihre Grenze erreicht.
-
Wenn ein Verbindungsmanager (z. B. Physical-Layer-Management 304 und/oder Portkonfiguration 306) einen Interrupt empfängt, der anzeigt, dass ein Fehlerniveau überschritten wurde, oder während eines Polling- oder Inspektionsfensters im Protokoll eines Ports Warnungen identifiziert, die einen Schwellenwert überschreiten, kann der Verbindungsmanager das Risiko einer weiteren Verschlechterung dieser Verbindung oder eines Verlusts der Verbindung managen. Beispiele für eine Risikomanagement- oder Korrekturmaßnahme könnten das Zurücksetzen der Verbindung während eines bevorstehenden Wartungsfensters oder während einer Periode mit geringer Aktivität, um die Unterbrechung der Verbindung zu verkürzen, umfassen. Eine andere Risikomanagementoperation oder Korrekturmaßnahme könnte umfassen, dass ein Verkehrsmanager den Verkehr zu einer anderen Verbindung umleitet oder ein anderes System kann aktiviert werden, während die Verbindung zurückgesetzt werden kann. Das System (z. B. Systemmanagement- und/oder Wartungssoftware) kann eine Wartungsanfrage erzeugen, um zu alarmieren, dass ein Verbindungs-Dienst angefordert wird. Wo die Temperatur einer Vorrichtung ein Niveau überschreitet und ein Fehlerniveau überschritten wurde, könnte eine weitere Risikomanagementoperation oder Korrekturmaßnahme umfassen, die Temperatur der PHY-Schaltungsanordnung oder Netzwerkschnittstellenvorrichtung durch ein Reduzieren der Temperatur durch ein Reduzieren des Netzwerkverkehrs über die PHY-Schaltungsanordnung oder Netzwerkschnittstellenvorrichtung oder ein Erhöhen der Kühlung der PHY-Schaltungsanordnung oder Netzwerkschnittstellenvorrichtung zu managen. Wo die Temperatur einer Vorrichtung unter einem zweiten Niveau liegt und das Fehlerniveau überschritten wurde, könnte eine weitere Risikomanagementoperation oder Korrekturmaßnahme umfassen, die Temperatur der PHY-Schaltungsanordnung oder Netzwerkschnittstellenvorrichtung zu erhöhen, indem eine Verkehrslast erhöht wird oder Erwärmer verwendet werden, um die Temperatur der PHY-Schaltungsanordnung oder Netzwerkschnittstellenvorrichtung zu erhöhen. Andere Korrekturmaßnahmen, die darauf basieren, dass ein Fehlerniveau überschritten wurde, können die Verwendung der Vorwärtsfehlerkorrektur (FEC) zur Reduzierung des Fehlerniveaus oder die Anpassung der Sender- und/oder Empfänger-Entzerrer-Einstellung zur Reduzierung des Fehlerniveaus umfassen.
-
Flexibilität und Skalierbarkeit des Prozesses werden durch die Verbindungsüberwachung 340 in PHY 330 bereitgestellt, die den Verbindungszustand (link health) autonom überwacht. Die Schicht-Verbindung-Managementsoftware (z. B. Physical-Layer-Management 304) kann die Verbindungsüberwachung an die Verbindungsüberwachung 340 auslagern und kann Operationen durchführen, auf der Grundlage des Empfangs von Anzeigen, dass ein Fehlerniveau überschritten wird. Anders ausgedrückt, der Host 300 kann Rechenressourcen im Host 300 für die Überwachung des Verbindungszustands freigeben und die Verbindungszustandsüberwachung an die PHY 330 auslagern. Darüber hinaus kann der Betrieb der Verbindungsüberwachung 340 unabhängig von einem Host und dessen ausgeführter Systemsoftware sein. Die Schicht-Verbindung-Managementsoftware kann Protokolle auf der Grundlage ihrer Wartungs- und Überwachungsintervalle abfragen. Die Verbindungsüberwachung kann Port-Modus-agnostisch (port mode agnostic) sein und kann für Ethernet (z. B. IEEE 802.3-2018), Common Public Radio Interface (CPRI) (z. B. CPRI Specification v7.0 (2015)), Peripheral Component Interconnect express (PCIe) (z. B. PCI-SIG PCI Express (2015)) oder ein anderes Serielle- Eingabe-Ausgabe- (IO-; input output) Protokoll verwendet werden.
-
Die überwachten oder gemessenen Parameter können für unterschiedliche Medientypen angewendet werden. Medien können z. B. optische, elektrische (z. B. Backplane- und kabelgebundene) oder optisch-elektrische Schnittstellen sein. Schäden, die an einer direkt angebrachten Kupferschnittstelle oder einer optischen Verbindung auftreten, könnten durch die Überwachung von Parametern detektiert werden.
-
Durch die Überwachung von Parametern können Schäden an einem Medium identifiziert werden, die versehentlich oder absichtlich aufgetreten sind und beschädigte Kabel, Verbinder oder aktive Vorrichtungen in der Verbindung wie z. B. Re-Zeitgeber oder Re-Treiber umfassen können. Die Überwachung kann für einen SERDES sowie den Kanal und Verbinder und die Anordnung erfolgen. In einem Small Form-factor Pluggable- (SFP-) Sendeempfänger-Modul-Fall kann die Überwachung spezifisch für die Sendeempfänger-Vorrichtung sein. Die SFP-Sendeempfänger-Überwachung kann durch ein Polling von Parametern durchgeführt werden. Die Überwachung in anderen Formfaktoren als SFP kann durchgeführt werden, wie z. B. SFP+ oder Quad Small Form-factor Pluggable (QSFP).
-
Ein PHY-Designer kann einen Satz von Parametern für die Messung und einen Satz von Niveaus empfehlen, um eine spezifische Empfindlichkeit gegenüber Kanal- und Systemänderungen und eine Rate von Alarmmeldungen bereitzustellen. Ein SerDes-Kunde kann die Niveaus oder gemessenen Parameter anpassen, um ein anderes Empfindlichkeitsniveau des Überwachungssystems zu erreichen, das auf der Grundlage der Kritikalität der Verbindung und der Widerstandsfähigkeit des Systems mehr oder weniger Alarmmeldungen verursacht.
-
Es wird darauf hingewiesen, dass die Verbindungsüberwachung auf einer oder beiden Seiten einer Verbindung verwendet werden kann. Zum Beispiel kann eine PHY 380 eine Verbindungsüberwachung 380 verwenden, die in ähnlicher Weise wie die Verbindungsüberwachung 340 arbeitet.
-
4 stellt einen beispielhaften Prozess dar. Bei einigen Beispielen kann der Prozess durch eine PHY durchgeführt werden. Der Prozess kann durchgeführt werden, nachdem eine Verbindung mit einem Verbindungspartner auf einem Port hergestellt wurde, der einem PHY-SerDes für Paketverkehrsoperationen zugeordnet ist. Bei 402 kann die Portkonfigurationssoftware eine Anwendungsprogrammschnittstellen (API; application program interfaces) ausgeben, um die Verbindungsüberwachung durch die PHY auf einem oder mehreren Ports und zugeordneten Verbindungen zu initialisieren und zu ermöglichen. Es können Verbindungsüberwachungsparameter spezifiziert werden. Beispiele für Verbindungsüberwachungsparameter können einen oder mehrere umfassen aus: Augenhöhe, Signal-Rausch-Verhältnis (SnR), Tastgrad oder Phasenkorrektur, PLL-Abstimmbereiche oder eine Kombination davon. Verbindungsüberwachungsparameter können ein Anfangsmessintervall umfassen, wie z. B. eine Zeit zwischen Messereignissen, die durch die PHY auf dem Port durchgeführt werden. Die Kapazität zur Protokollierung von Ereignissen (z. B. verfügbarer Speicher) und eine Anzahl von Ports, gemanagt durch die PHY und andere Firmware-Aufgaben, können das Intervall vorgeben, ebenso wie Informationen über den Verbindungstyp (z. B. externe oder interne Verbindung (ob das Medium der Verbindung äußeren Elementen ausgesetzt ist oder nicht ausgesetzt ist)), den Partner und den Verbindungszustand. Ein kleines Messintervall kann ein kürzestes Intervall sein, in dem die Messungen durch die PHY erfolgen können. Die Spezifizierung eines kleinen Messintervalls, das geringer ist als das Anfangsmessintervall, kann es der PHY erlauben, zusätzliche, häufigere Messungen vorzunehmen, wenn eine Verbindungsverschlechterung erwartet wird und der Prozess empfindlicher gegenüber einem bevorstehenden Verbindungsausfall sein muss, und zu bestimmen, ob eine Alarmmeldung in Bezug auf einen potenziellen Verbindungsausfall früher ausgegeben werden soll. Wenn beispielsweise ein Fehler detektiert wird, können Überprüfungen von Parametern nach der Detektion des Fehlers häufiger auftreten.
-
Verbindungsüberwachungsparameter können ein Niveau zum Triggern einer Warnung zur Aufzeichnung im Protokoll umfassen. Dieses Niveau kann ein absoluter Wert oder eine prozentuale Änderung von der Basislinie oder anfänglichen Messung sein und kann von Port zu Port unterschiedlich sein. Niveaus können während der Charakterisierung des Systems bestimmt werden und können Hysterese für eine verbesserte Robustheit umfassen. Warnungen oder Alarmmeldungen triggern möglicherweise keine Interrupte bei einem Orchestrator oder einer Managementsoftware, können aber protokolliert werden, und die höhere Schicht kann die Ports periodisch pollen und die Protokolle überprüfen, um von diesen Ereignissen Kenntnis zu haben.
-
Verbindungsüberwachungsparameter können ein Niveau zum Triggern eines Fehlern, der aufgezeichnet werden soll, und zum Erzeugen eines Interrupts an eine höhere Schicht umfassen. Wenn eine Messung einen Fehler triggert, kann die höhere Schicht Minderungsmaßnahmen ergreifen, um die Verbindung wiederherzustellen oder das Risiko zu managen. PHY-Firmware, -Schaltungsanordnung oder Prozessor-ausgeführte Software kann diese Informationen bei der Durchführung eines Prozesses verwenden, um zu bestimmen, ob eine Höhere-Schicht-Software oder Administrator alarmiert werden soll.
-
Bei 404 können Basislinien- oder Anfangsmessungen für die konfigurierten Messungen durchgeführt und gespeichert werden, zum Vergleich mit den konfigurierten Niveaus für zukünftige Messungen. Informationen umfassend die Parameter der Überwachungsanfrage können zusammen mit einem Zeitstempel in einem Protokoll gespeichert werden.
-
Bei 406 können nach Ablauf des programmierten Intervalls bei 408 Messungen vorgenommen und in einem Protokoll aufgezeichnet werden, autonom durch die PHY. Bei 410 können die neuesten Messungen mit den Niveaus verglichen werden. Bei 412, wenn weder das Warn- noch das Fehlerniveau überschritten wird, kann der Prozess zu 406 zurückkehren.
-
Bei 412, wenn entweder das Warn- oder das Fehlerniveau überschritten wird, kann bei 414 der Messwert mit seinem Zeitstempel protokolliert werden und die Messung wird bei 416 wiederholt. Bei 416 können auch andere Parameter gesammelt werden, abhängig von der Implementierung und dem Messtyp. Bei 418, wenn eine nachfolgende zweite Messung weder das Warn- noch das Fehlerniveau überschreitet, kann der Prozess bei 406 fortgesetzt und das Anfangsmessintervall abgewartet werden, bevor eine weitere Messung durchgeführt wird.
-
Bei 418 kann die zweite Messung mit den Niveaus verglichen werden. Bei 420, wenn die zweite Messung immer noch das Warnniveau überschreitet, können die Messungen und/oder das Auftreten bei 422 erneut mit einem Zeitstempel protokolliert werden. Bei 424 kann das Messintervall reduziert werden (z. B. um die Hälfte), bis es das programmierte kurze Intervall erreicht, und der Prozess wiederholt die Messungen bei 406 für dieses reduzierte Intervall. Bei 426, wenn die zweite Messung das Fehlerniveau überschreitet, wird das Auftreten erneut mit einem Zeitstempel protokolliert und bei 428 informiert der Prozess die höheren Schichten mit einem Interruptmechanismus über den Fehler, damit durch den Ausrüstungshersteller wie bestimmt eine Minderungsmaßnahme ergriffen werden kann. Das Messintervall kann um die Hälfte reduziert werden, bis es das programmierte kurze Intervall erreicht, und der Prozess wiederholt die Messungen bei 406 für dieses reduzierte Intervall.
-
Verbindungsverschlechterung auf der Grundlage von Signalreflexion
-
Eine Änderung der Dielektrizitätskonstante Dk einer Schaltungsplatine oder eines Signalausbreitungsmediums kann sich auf die Ausbreitungszeit von Signalen auf einem Kanal auswirken. Die Ausbreitungszeit von einer Einheitslänge eines Kanals kann durch die folgende Beziehung repräsentiert werden:
wobei Dk die Dielektrizitätskonstante und c die Lichtgeschwindigkeit im Vakuum ist (z. B. 3e8 m/sec).
-
Wenn sich die Temperatur des Systems ändert, kann eine Änderung von x % bei der Dk zu einer Änderung von
in der Kanalverzögerung führen, so dass sich z. B. eine Reflexion mit einer Verzögerung von 150UI (unter 5 % Dk-Änderung) auf 153UI verschieben kann. Anders ausgedrückt, die Systemtemperatur kann sich auf die Ausbreitungszeit von Signalen auf einem Kanal auswirken, was wiederum die Identifizierung eines Ortes einer Reflexion, die eine Diskontinuität verursacht, beeinflussen kann.
-
5 zeigt ein Beispiel für Zeitbereichsreflektometrie (TDR; time-domain reflectometry)-Reaktionen von Verbinderreflexionen mit unterschiedlichen Einfügungen. Das TDR-Diagramm zeigt, wie die Impedanz des Kanals durch Reflexionen und die Zeitverzögerung oder Distanz zu einer Reflexion beeinflusst wird. Reflexionen können ein Effekt von Impedanzdiskontinuität im Kanal sein, die dazu führt, dass ein Teil der übertragenen Energie von der Diskontinuität reflektiert wird und sich zum Sender bewegt. Es kann auch ein Nachhall (reverberation) der Energie zwischen mehreren Diskontinuitäten auftreten, was die Integrität eines übertragenen Signals weiter verschlechtert. Impedanzdiskontinuitäten umfassen die Effekte von Packagekugeln (package balls), Vias in der gedruckten Schaltungsplatine (PCB; printed circuit board) oder mechanischer Verbinderstruktur und einen anderen Effekt, der die Impedanz des Kanals ändert.
-
Kanalreflexionen können in den Verbinderstiften auftreten, bei denen es sich um komplexe geometrische Strukturen mit mechanischen und elektromagnetischen Beschränkungen handeln kann. Wenn ein Verbinder in eine Stiftleiste (pin landing) eingefügt wird und der Verbinder mit einer Stiftleiste in einer Weise zusammengefügt wird, die zu einer unzuverlässigen Verbindung mit verschlechtertem Kanal aufgrund von Reflexionen führen kann. Dies kann auf einem defekten Verbinder, einem abgenutzten Verbinder oder sogar einem unsachgemäß eingefügten Verbinder, irgendwo auf der Verbindung, auftreten.
-
Wenn sich ein Kanal verschlechtert oder ein Verbinder falsch platziert wird, ändern sich Verzögerung, Einfügedämpfung und Anpassung (matching), was dazu führen kann, dass sich das Muster und der Ort der Reflexion ändern. Im Falle einer Kanalverschlechterung, die die dielektrische Performance des Kanals beeinflusst, können Reflexionen den Ort verschieben (shift), was zu einer erhöhten Bitfehlerrate (BER) oder einem Verlust einer Verbindung führen kann. Wie bereits beschrieben, kann sich die Temperatur auf die Signalreflexionseigenschaften auswirken.
-
Nach vielen thermischen und Feuchtezyklen können sich die dielektrischen und Verlustkoeffizienten des Kanals verschlechtern, was sich auf die Verzögerung und das Muster von Reflexionen auswirken kann. Wie hierin beschrieben, kann eine PHY Signalreflexionen als Indikatoren für eine Verbindungskanalverschlechterung detektieren. Eine PHY kann Änderungen der Verzögerung und des Musters von Reflexionen detektieren und dem Systembetreiber (system operator) melden, damit sie die Daten umleiten oder die Verbindung ordnungsgemäß wiederherstellen können, bevor sie vollständig ausfällt. Die PHY kann ein Verbindungsverschlechterungsereignis potenziell früh genug detektieren, um die Managementsoftware oder einen Administrator zu alarmieren, damit diese(r) Schritte ergreift, um einen Ausfall zu vermeiden, bevor es zu einem Verlust der Verbindung, der Daten oder der Konnektivität kommt. Eine PHY kann eine Managementsoftware oder einen Systembetreiber alarmieren, auf der Grundlage der Detektion einer Kanalverschlechterung oder eines Verbinders, der schlecht eingefügt oder mechanisch beschädigt wurde. Die PHY kann für 5G-Basisstationen verwendet werden, bei denen ein Verlust der Verbindung wie z. B. dieser zu unterbrochenen oder verlorenen Mobilfunkanrufen für irgendwelche Vorrichtungen in dieser Zelle führen würde. Bei 112- und 224-Gbps/Spur-Ethernet-Kommunikationen oder anderen Geschwindigkeiten sind die Kanalbetriebsspannen gering und die PHY kann bei der Bereitstellung eines langfristigen zuverlässigen Betriebs von Verbindungen in hoch zuverlässigen Anwendungen unterstützen.
-
Die Verschlechterung einer Verbindung oder eines Kanals kann Änderungen der Signalreflexionseigenschaften des Kanals verursachen. Reflexionen können abrupte Oszillationen der Pulsantwort des Kanals umfassen, die durch den Nachhall von Energie verursacht werden, an einer Impedanzdiskontinuität. Eine Diskontinuität kann durch Änderungen der Dielektrizitätskonstante des Materials entstehen. Diskontinuitäten können Signalausbreitungsverzögerungen verursachen, die durch die Analyse des Kanals durch den Serialisierer/Deserialisierer- (SerDes) Empfänger detektiert werden können.
-
Ein SerDes kann Feedforward-Entzerrer- (FFE-; feed forward equalizer) und Entscheidungsrückkopplungsentzerrer- (DFE-; decision feedback equalizer) Abgriffe (taps) verwenden, die an verteilten Orten der Kanalpulsantwort platziert sind, um Reflexionen zu messen und zu managen, die unter den Inter-Symbol-Interferenz- (ISI-) Komponenten sind. Ein SerDes, der einen oder mehrere Least-Mean-Squares- (LMS-) Entzerrer für die Entzerrer-Anpassung verwendet, kann eine Kanalverschlechterung detektieren und Informationen bereitstellen, die dazu verwendet werden, zu detektieren, ob ein Verbinder auf eine Weise zusammengefügt ist, die zu einer unzuverlässigen Verbindung oder einer Verbindungsverschlechterung aufgrund anderer Ursachen führen kann. Eine PHY kann einen SerDes-Empfänger verwenden, um seinen Entzerrer auf Änderungen in seiner Entzerrungslösung zu überwachen und um Änderungen zu analysieren, um Kanalreflexionen zu identifizieren, die durch Impedanzdiskontinuitäten verursacht werden, im Vergleich zum Zeitpunkt der Initialisierung oder des Zurücksetzens der Verbindung. Unerwartete Änderungen der Entzerrer-Einstellungen können die PHY triggern, ein Systemmanagementsystem und/oder den Betreiber zu alarmieren. Ein Systembetreiber kann einen Kanal auf der Grundlage der bereitgestellten Informationen auf Verschlechterung überwachen. Kanalinitialisierungs- und -verschlechterungsüberwachung sowie die Verwendung dieser Informationen können bei entscheidenden Verbindungserhaltungsereignissen wie z. B. dem Verbindungs-Zurücksetzen oder der Verwendung einer anderen Verbindung verwendet werden.
-
6 zeigt ein Beispiel für einen SerDes. Ein von einem Kanal (z. B. Signalausbreitungsmedium) empfangenes Signal kann durch einen zeitkontinuierlichen linearen Entzerrer (CTLE; continuous time linear equalizer) und einen Verstärker mit variabler Verstärkung (VGA; variable gain amplifier) entzerrt und konditioniert, durch einen Analog-Digital-Wandler (ADC; analog to digital converter) abgetastet und unter Verwendung einer programmierbaren Schaltungsanordnung weiter entzerrt werden. Entscheidungen (z. B. Daten[n]) können auf den empfangenen Bits unter Verwendung von Slicern getroffen werden und der Fehler zwischen dem entzerrten Signal und der Entscheidung kann berechnet werden (z. B. Fehler[n] = Entzerrtes Signal[n] - Daten[n]).
-
Ein Entzerrer 602 kann Entzerrer wie z. B. FFE und/oder DFE umfassen und seine Ausgabe kann zur Bestimmung der ISI verwendet werden. Eine Verbindungsüberwachung 604 einer PHY kann Metriken der Rest-ISI (nicht entzerrte ISI) und der reflexionsbezogenen ISI berechnen, nachdem die Reflexion auf der Pulsantwort detektiert wurde (basierend auf der zuvor beschriebenen Abtastung). Die Verbindungsüberwachung 604 einer PHY kann eine ISI-Detektion durchführen, die nicht destruktiv in Bezug auf einen normalen Betrieb der Verbindung arbeitet, da sie während des Missionsmodusverkehrs verwendet wird. Die Verbindungsüberwachung 604 kann die durch Einfügedämpfung und Reflexionen verursachte Kanal-ISI messen. Die Verbindungsüberwachung 604 empfängt das Empfängerfehlersignal und den detektierten Datenstrom und bestimmt, ob Änderungen der ISI-Abgriffswerte eine Verschlechterung einer Verbindung oder eines Kanals oder eine schlechte Zusammenfügung einer Verbindung (connection) anzeigen. Beispielsweise kann die Verbindungsüberwachung 604 eine Projektion der N-ter-Abgriff-ISI auf das Fehlersignal berechnen, indem sie Fehler[n] * Daten[n-k] für den n-ten Abgriff der ISI integriert. Für eine Abfolge von Messungen mit n-Werten können unterschiedliche Abgriffe der ISI gemessen werden und es kann eine Pulsantwort des Systems abgebildet werden. Der Wert von n kann negativ oder positiv sein, um Prä-Cursor- oder Post-Cursor-ISI-Abgriffe zu schätzen. Zur Bestimmung einer Spanne einer Reflexion (n-Bereich) kann ein Schwellenwert festgelegt werden und Abgriffs-Stapel (batches), die den Schwellenwert überschreiten, können gezählt oder als Reflexions-ISI identifiziert werden. Abgriffs-Stapel, die den Schwellenwert nicht überschreiten, können als Rauschen betrachtet werden. Bei einigen Beispielen kann die Verbindungsüberwachungsschaltungsanordnung 604 als ein prozessor- oder mikrocontrollerausgeführter Prozess, feldprogrammierbares Gate-Array (FPGA), anwendungsspezifische integrierte Schaltung (ASIC) oder andere programmierbare Hardwarevorrichtung implementiert werden.
-
7 zeigt ein Beispiel für abgetastete Pulsantworten eines Beispiel-Entzerrers, der eine ISI-Schätzung durchführt. Die abgetasteten Pulsantworten sind in Diagramm 702 dargestellt. Im Diagramm 702 repräsentiert die y-Achse ISI-Werte (z. B. in Volt oder Energie) und die x-Achse repräsentiert Prä-Cursor-Bits (z. B. zuvor empfangene Bits, die einem positiven Indexwert n zugeordnet sind) und Post-Cursor-Bits (z. B. Bits, die nach dem Cursor-Bit empfangen wurden). Ein Cursor kann ein aktuelles Bit repräsentieren, wobei n=0 ist. Reflexionen von Prä-Cursor-Bits und Post-Cursor-Bits können zur ISI beitragen. Indexwerte von n = 1 bis 152 können ISI von zuvor empfangenen Bits repräsentieren. Die ISI von geteilten Signalen kann in Bins geteilt werden. Zum Beispiel kann ISI von Package-Reflexionen einer Gruppe von ISI-Werten zugeordnet werden, während Verbinderreflexionen n=150 bis 153 zugeordnet werden können. Verbinderreflexionen können auf der Grundlage der Verwendung der TDR, wie hierin beschrieben, identifiziert werden. Verbinder-Orte und Verbindung-zu-Package können auf einer TDR-Analyse basieren.
-
Für einen oder mehrere Entzerrer-Abgriffe kann die ISI-Überwachungsschaltungsanordnung 710 ein Basislinien- oder Anfangsmaß für ISI für Prä- und Post-Cursor-Bits bestimmen. Die Basislinien- oder Anfangsmaße der ISI für unterschiedliche n-Werte können in einem Protokoll gespeichert und zum Vergleich mit nachfolgenden Messungen der ISI für dieselben n-Werte verwendet werden. Beispielsweise kann ein Niveau 704 so festgelegt werden, dass eine Reflexion identifiziert wird, wie z. B. mindestens 10 % oder 15 % Erhöhung von den Basislinien- oder Anfangsmessungen, für bestimmte n-Werte. Bei einigen Beispielen kann die ISI-Überwachungsschaltungsanordnung 710 die ISI eines oder mehrerer einzelner Abgriffe, ausgewählter Abgriffe überwachen oder eine absolute Summe von Abgriffen als Verbund überwachen.
-
Eine PHY kann die Ausgaben von der ISI-Überwachungsschaltungsanordnung 710 eines SerDes verwenden, um die Orte der Reflexionen, die Diskontinuitäten verursachen, unter Verwendung des LMS-ISI-Detektors während des Betriebs periodisch zu verfolgen. Wenn sich Orte im Zeitablauf in Korrelation mit der Platinentemperatur verschieben, kann diese Verschiebung (shift) mit thermischen Effekten zusammenhängen. Eine Verschiebung, die nach der thermischen Transiente oder unabhängig von der Platinentemperaturverschiebung bestehen bleibt, kann jedoch mit der Platinenalterung zusammenhängen und in der Speicherung oder in einem Protokoll aufgezeichnet werden. Eine kombinierte Auswirkung von dauerhaften und thermischen Variationen bei ISI und Reflexionen kann die Kanalspannen beeinflussen. Wenn die Kanalspannen einen vordefinierten Schwellenwert oder Niveau (z. B. Niveau 704) überschreiten, können Maßnahmen ergriffen werden, um die Verschlechterung zu mindern, wie z. B. die Anforderung eines Dienstes für die Plattform oder den Kanal, das Routen der Daten zu alternativen oder redundanten Pfaden vor dem Verbindungsausfall oder das geordnete und zeitlich abgestimmte erneute Training der SerDes-Entzerrer-Einstellungen, um die Auswirkung der Reflexions-ISI zu mindern.
-
Die ISI-Überwachungsschaltungsanordnung 710 kann einen Fehler[n] und Daten[n] von einem Slicer empfangen, das Verzögerungselement Z
-k auf die Daten[n] anwenden und die Ausgabe von Fehler[n] und verzögerten Daten[n] XOR-verknüpfen. Ein Integrator 712 kann eine Summierung der ISI-Werte für einen bestimmten n-Wert oder eine Gruppe von n-Werten durchführen und wenn die Summierung einen Schwellenwert überschreitet, kann die Verbindungsüberwachung 604 eine Warnung oder Alarmmeldung über einen potenziellen Verbindungsausfall ausgeben. Beispielhafte Metriken zur Bestimmung einer Summe von Reflexionen durch den Integrator 712 ist wie folgt:
wobei k = n = Bit Ordnungszahl
h(k) = Transformation Bit Ordnungszahl k
-
Zum Beispiel kann, für einen bestimmten Entzerrer-Abgriff, die ISI-Überwachungsschaltungsanordnung 710 bestimmen, ob sich der absolute Wert der ISI nach dem Basislinien- oder Anfangs-ISI-Wert für einen n-Wert oder einen Bereich von n-Werten ändert. Wenn sich der absolute Wert der ISI nach dem Basislinien- oder Anfangs-ISI-Wert für einen n-Wert oder einen Bereich von n-Werten ändert, kann die Verbindungsüberwachung 604 einer PHY eine Warnung oder Alarmmeldung über einen potenziellen Verbindungsausfall ausgeben.
-
Wenn ein Kanal Feuchte, Vibrationen und Temperaturänderungen ausgesetzt ist, erodieren seine Leiter und die dielektrischen Materialien ändern ihre Eigenschaften. Unter Verwendung von Auf-Plattform-thermischen-Sensoren können Daten verwendet werden, um Änderungen des Verlustfaktors und der Dielektrizitätskonstante mit Temperaturänderungen zu korrelieren. Eine Änderung des Verlustfaktors kann die Dämpfung des Kanalroutings ändern und die Größe der Reflexionen und der ISI, gemessen durch den Empfänger, ändern. Die Änderung der ISI-Koeffizienten kann eine Verschlechterung des Kanals anzeigen. Die Änderung kann durch einen periodischen Vergleich der aktuellen ISI-Koeffizienten mit denen, die bei der Initialisierung der Verbindung erfasst wurden, detektiert werden. Die Änderung kann entweder bei der Koeffizient-Größe oder der Position eines fließenden (floating) (variable Position) Abgriffs sein, was eine periodische Analyse von benachbarten Koeffizienten erfordern würde.
-
8 stellt einen beispielhaften Prozess dar. Die Verschlechterung einer Verbindung aufgrund von Materialfehlern, wie z. B. eingeklemmten Kabeln, gestoßenen Verbindern und verdrehten Plattformplatinen, kann detektiert und gemeldet werden. Der Prozess kann in der PHY implementiert werden, um eine Verbindungsverschlechterung zu detektieren und den Systembetreiber darüber zu alarmieren.
-
Bei 802 können Basislinien- oder Anfangs-ISI-Messungen durchgeführt und als Referenz gespeichert werden. Beispielsweise können die Basislinien-Verbinderreflexionen im SerDes-Mikrocontroller-Speicher (oder einer anderen Systemebene-Speicherung) gespeichert werden. Das Maß der Reflexionen kann eine absolute Summe der Reflexionskoeffizienten, das quadratische Mittel (RMS; root mean square) dieser Koeffizienten oder die Größe der größten Reflexion usw. sein. Während der Systeminstallation, nach dem Zusammenfügen mit Unterstützung eines Technikers, können die Reflexionen des Verbinders gemessen, gemittelt und in einer Speichervorrichtung gespeichert werden. Die Basislinien- oder Anfangs-ISI-Messungen können als REFLEXION_BASISLINIE bezeichnet werden.
-
Bei 804 können in vorgeschriebenen Intervallen Messungen der ISIs erfasst werden. Zum Beispiel kann während des SerDes-Betriebs die ISI einer konfigurierten Anzahl von Prä- und Post-Cursor-ISI bewertet werden. Die Metrik REFLEXION _INSTANZ kann erfasste Messungen von ISIs in einem Zeitintervall repräsentieren.
-
Bei 806 kann, auf der Grundlage einer Änderung der gemessenen ISIs von den Basislinien- oder Anfangs-ISI-Messungen, die ein bestimmtes Niveau überschreiten, eine Alarmmeldungsanzeige an eine Link-Management-Software und/oder einen Administrator ausgegeben werden. Wenn zum Beispiel REFLEXION_INSTANZ > REFLEXION_BASISLINIE + Schutzbereich (guard-band) für eine ganzzahlige Anzahl M von wiederholten Messungen, kann ein mögliches Verbinderverschiebungs- (connector dislocation) Ereignis an einen Systembetreiber gemeldet werden. Der zum Filtern von Ereignissen verwendete Schutzbereich kann auf der Charakterisierung des Kanals bei der Initialisierung basieren und kann dem Niveau entsprechen. Unterschiedliche Kanäle können unterschiedliche zugeordnete Schutzbereiche aufweisen und die Schutzbereiche können proportional zur Basislinie sein.
-
9 stellt eine beispielhafte Netzwerkschnittstellenvorrichtung dar. Eine Netzwerkschnittstelle 900 kann sich mit einem oder mehreren Signalausbreitungsmedien verbinden, um eine oder mehrere Verbindungen mit einem Verbindungspartner bereitzustellen. Eine PHY 914 kann so ausgebildet sein, dass sie auf Änderungen der gemessenen Parameter und/oder Reflexionen, die potenzielle Kanal- oder Verbindungsausfälle anzeigen, überwacht und Alarmmeldungen über potenzielle Kanal- oder Verbindungsausfälle ausgibt, wie hierin beschrieben. Bei einigen Beispielen kann die Netzwerkschnittstelle 900 als Netzwerkschnittstellensteuerung, Netzwerkschnittstellenkarte, Host Fabric Interface (HFI) oder Host Bus Adapter (HBA) implementiert sein, und solche Beispiele können austauschbar sein. Die Netzwerkschnittstelle 900 kann unter Verwendung eines Busses, von PCIe, CXL oder DDR mit einem oder mehreren Servern gekoppelt sein. Bei einigen Ausführungsbeispielen kann die Netzwerkschnittstelle 900 als Teil eines Systems-auf-einem-Chip (SoC), das einen oder mehrere Prozessoren umfasst, ausgeführt sein, oder auf einem Multi-Chip-Package, das auch einen oder mehrere Prozessoren umfasst, umfasst sein.
-
Einige Beispiele der Netzwerkvorrichtung 900 sind Teil einer Infrastrukturverarbeitungseinheit (IPU; Infrastructure Processing Unit) oder Datenverarbeitungseinheit (DPU; data processing unit) oder werden von einer IPU oder DPU verwendet. Eine xPU kann sich zumindest auf eine IPU, DPU, GPU, GPGPU und/oder anderen Verarbeitungseinheiten (z. B. Beschleunigervorrichtungen) beziehen. Eine IPU oder DPU kann eine Netzwerkschnittstelle mit einer oder mehreren programmierbaren Pipelines oder Feste-Funktion-Prozessoren umfassen, um eine Auslagerung von Operationen durchzuführen, die von einer CPU hätten durchgeführt werden können. Die IPU oder DPU kann eine oder mehrere Speichervorrichtungen umfassen. Bei einigen Beispielen kann die IPU oder DPU virtuelle Schaltoperationen durchführen, Speicherungstransaktionen managen (z. B. Komprimierung, Kryptographie, Virtualisierung) und Operationen managen, die auf anderen IPUs, DPUs, Servern oder Vorrichtungen durchgeführt werden.
-
Die Netzwerkschnittstelle 900 kann einen Sendeempfänger 902, Prozessoren 904, eine SendeWarteschlange 906, eine Empfangs-Warteschlange 908, einen Speicher 910 und eine Busschnittstelle 912 und eine DMA-Maschine 932 umfassen. Der Sendeempfänger 902 kann fähig sein, Pakete in Übereinstimmung mit den anwendbaren Protokollen wie beispielsweise Ethernet, wie in IEEE 802.3 beschrieben, zu empfangen und zu senden, obwohl andere Protokolle verwendet werden können. Der Sendeempfänger 902 kann Pakete von und zu einem Netzwerk über ein Netzwerkmedium (nicht abgebildet) empfangen und senden. Der Sendeempfänger 902 kann eine PHY-Schaltungsanordnung 914 und eine Media Access Control- (MAC-) Schaltungsanordnung 916 umfassen. Die PHY-Schaltungsanordnung 914 kann Codier- und Decodier-Schaltungsanordnungen (nicht gezeigt) zum Codieren und Decodieren von Datenpaketen gemäß anwendbaren Physical-Layer-Spezifikationen oder -Standards umfassen. Die MAC-Schaltungsanordnung 916 kann konfiguriert sein, um eine MAC-Adressenfilterung bei empfangenen Paketen durchzuführen, MAC-Header von empfangenen Paketen durch Verifizierung der Datenintegrität zu verarbeiten, Präambeln und Auffüllungen zu entfernen und Paketinhalt zur Verarbeitung durch höhere Schichten bereitzustellen. Die MAC-Schaltungsanordnung 916 kann konfiguriert sein, um die zu übertragenden Daten zu Paketen anzuordnen, die Ziel- und Quelladressen zusammen mit Netzwerksteuerungsinformationen und Fehlerdetektions-Hash-Werten umfassen.
-
Prozessoren 904 können irgendeine Kombination sein aus: Prozessor, Kern, Grafikverarbeitungseinheit (GPU; graphics processing unit), feld-programmierbarem Gate-Array (FPGA), anwendungsspezifischer integrierter Schaltung (ASIC) oder einer anderen programmierbaren HardwareVorrichtung, die ein Programmieren der Netzwerkschnittstelle 900 erlauben. Beispielsweise kann eine „Smart-Netzwerkschnittstelle“ oder SmartNIC unter Verwendung von Prozessoren 904 Paketverarbeitungsfähigkeiten in der Netzwerkschnittstelle bereitstellen.
-
Prozessoren 904 können eine programmierbare Verarbeitungspipeline umfassen, die durch Programming Protocol-independent Packet Processors (P4), C, Python, Broadcom Network Programming Language (NPL), NVIDIA® CUDA®, NVIDIA® DOCA™ oder x86-kompatiblen ausführbaren Binärdateien oder anderen ausführbaren Binärdateien programmierbar ist. Eine programmierbare Verarbeitungspipeline kann eine Schaltungsanordnung zur Durchführung von Abgleich-Aktions-Operationen umfassen. Prozessoren, FPGAs, andere spezialisierte Prozessoren, Steuerungen, Vorrichtungen und/oder Schaltungen können für die Paketverarbeitung oder Paketmodifikation verwendet werden. Ternärer inhaltsadressierbarer Speicher (TCAM; ternary content-addressable memory) kann für parallele Abgleich-Aktions- oder Nachschlage-Operationen an Paket-Anfangsblock- (Header) Inhalt verwendet werden.
-
Ein Paketzuweiser 924 kann eine Verteilung empfangener Pakete für eine Verarbeitung durch mehrere CPUs oder Kerne unter Verwendung von empfangsseitiger Skalierung (RSS; receive side scaling) bereitstellen. Wenn der Paketzuweiser 924 RSS verwendet, kann der Paketzuweiser 924 basierend auf den Inhalten eines empfangenen Pakets einen Hash berechnen oder eine andere Bestimmung vornehmen, um zu bestimmen, welche CPU oder welcher Kern ein Paket verarbeiten soll.
-
Eine Interrupt-Zusammenführung 922 kann eine Interrupt-Moderation durchführen, wobei eine Netzwerkschnittstellen-Interrupt-Zusammenführung 922 auf das Eintreffen mehrerer Pakete oder den Ablauf eines Time-Outs wartet, bevor sie einen Interrupt an das Host-System zur Verarbeitung (eines) empfangener(n) Pakete(s) erzeugt. Empfangssegment-Zusammenführung (RSC; Receive Segment Coalescing) kann durch die Netzwerkschnittstelle 900 durchgeführt werden, wobei Abschnitte eingehender Pakete zu Segmenten eines Pakets kombiniert werden. Die Netzwerkschnittstelle 900 stellt dieses zusammengeführte Paket an eine Anwendung bereit.
-
Die Direktspeicherzugriffs- (DMA-; direct memory access) Maschine 932 kann einen Paketanfangsblock, eine Paketnutzlast und/oder einen Deskriptor direkt von dem Host-Speicher an die Netzwerkschnittstelle oder umgekehrt kopieren, anstatt das Paket an einen Zwischenpuffer bei dem Host zu kopieren und dann eine weitere Kopieroperation von dem Zwischenpuffer zu dem Zielpuffer zu verwenden.
-
Der Speicher 910 kann irgendeine Art von flüchtiger oder nichtflüchtiger Speichervorrichtung sein und kann irgendeine Warteschlange oder Anweisungen speichern, die zum Programmieren der Netzwerkschnittstelle 900 verwendet werden. Die Sendewarteschlange 906 kann Daten oder Referenzen auf Daten zur Übertragung durch die Netzwerkschnittstelle umfassen. Die Empfangs-Warteschlange 908 kann Daten oder Referenzen auf Daten umfassen, die durch eine Netzwerkschnittstelle von einem Netzwerk empfangen wurden. Deskriptor-Warteschlangen 920 können Deskriptoren umfassen, die auf Daten oder Pakete in der Sendewarteschlange 906 oder Empfangs-Warteschlange 908 Bezug nehmen. Die Busschnittstelle 912 kann eine Schnittstelle mit der Host-Vorrichtung (nicht dargestellt) bereitstellen. Zum Beispiel kann die Busschnittstelle 912 mit PCI-, PCI-Express-, PCI-x-, Serial ATA- und/oder USB (obwohl andere Verbindungsstandards verwendet werden können) oder proprietären Variationen derselben kompatibel sein oder zumindest teilweise darauf basieren.
-
10 zeigt ein beispielhaftes Rechensystem. Eine Schaltungsanordnung der Netzwerkschnittstelle 1050 kann so konfiguriert sein, dass sie auf Änderungen der gemessenen Parameter und/oder Reflexionen, die potenzielle Kanal- oder Verbindungsausfälle anzeigen, überwacht und Alarmmeldungen über potenzielle Kanal- oder Verbindungsausfälle ausgibt, wie hierin beschrieben. Ein System 1000 umfasst einen Prozessor 1010, der Verarbeiten, Operationsmanagement und eine Ausführung von Anweisungen für das System 1000 bereitstellt. Der Prozessor 1010 kann irgendeine Art von Mikroprozessor, zentraler Verarbeitungseinheit (CPU), Grafikverarbeitungseinheit (GPU), Verarbeitungskern oder andere Verarbeitungshardware umfassen, um die Verarbeitung für das System 1000 oder eine Kombination von Prozessoren bereitzustellen. Der Prozessor 1010 steuert den Gesamtbetrieb des Systems 1000 und kann ein oder mehrere programmierbare Allzweck- oder Spezialzweck-Mikroprozessoren, digitale Signalprozessoren (DSPs; digital signal processors), programmierbare Steuerungen, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikvorrichtungen (PLDs; programmable logic devices) oder dergleichen oder eine Kombination solcher Vorrichtungen sein oder umfassen.
-
Bei einem Beispiel umfasst das System 1000 eine Schnittstelle 1012, die mit einem Prozessor 1010 gekoppelt ist, was eine Schnittstelle mit höherer Geschwindigkeit oder eine Schnittstelle mit hohem Durchsatz für Systemkomponenten repräsentieren kann, die Verbindungen mit höherer Bandbreite benötigen, wie beispielsweise ein Speicherteilsystem 1020 oder Grafikschnittstellen-Komponenten 1040 oder Beschleuniger 1042. Die Schnittstelle 1012 repräsentiert eine Schnittstellenschaltung, die eine eigenständige Komponente oder auf einem Prozessor-Die integriert sein kann. Falls vorhanden, bildet die Grafikschnittstelle 1040 eine Schnittstelle mit Grafikkomponenten, um an einen Benutzer des Systems 1000 eine visuelle Anzeige bereitzustellen. Bei einem Beispiel kann die Grafikschnittstelle 1040 eine hochauflösende (HD; high definition) Anzeige, die einem Benutzer eine Ausgabe bereitstellt, treiben. Hochauflösend kann sich auf eine Anzeige beziehen, die eine Pixeldichte von ungefähr 100 PPI (pixels per inch; Pixel pro Zoll) oder größer aufweist, und kann Formate wie beispielsweise Full HD (z. B. 1080p), Retina-Displays, 4K (ultrahochauflösend oder UHD (ultra-high definition)) oder andere umfassen. Bei einem Beispiel kann die Anzeige eine Touchscreen-Anzeige umfassen. Bei einem Beispiel erzeugt die Graphikschnittstelle 1040 eine Anzeige basierend auf Daten, die in dem Speicher 1030 gespeichert sind, oder basierend auf Operationen, die durch den Prozessor 1010 ausgeführt werden, oder beidem. Bei einem Beispiel erzeugt die Graphikschnittstelle 1040 eine Anzeige basierend auf Daten, die in dem Speicher 1030 gespeichert sind, oder basierend auf Operationen, die durch den Prozessor 1010 ausgeführt werden, oder beidem.
-
Die Beschleuniger 1042 können eine Feste-Funktion- oder programmierbare Offload-Engine sein, auf die ein Prozessor 1010 zugreifen kann oder die von diesem verwendet werden kann. Zum Beispiel kann ein Beschleuniger unter den Beschleunigern 1042 Kompressions (DC) -Fähigkeit, Kryptographiedienste wie beispielsweise Public-Key-Verschlüsselung (PKE; public key encryption), Chiffrieren, Hash-/Authentifizierung-Fähigkeiten, Entschlüsselung oder andere Fähigkeiten oder Dienste bereitstellen. Bei einigen Ausführungsbeispielen stellt ein Beschleuniger unter den Beschleunigern 1042 zusätzlich oder alternativ die hierin beschriebenen Feldauswahlsteuerungsfähigkeiten bereit. In einigen Fällen können die Beschleuniger 1042 in eine CPU-Buchse (z.B. ein Verbinder zu einer Hauptplatine oder Schaltungsplatine, die eine CPU umfasst und eine elektrische Schnittstelle mit der CPU bereitstellt) integriert sein. Beispielsweise können die Beschleuniger 1042 einen Einzel- oder Multi-Kern-Prozessor umfassen, eine Grafikverarbeitungseinheit, eine logische Ausführungseinheit mit Ein- oder Multi-Ebenen-Cache, funktionale Einheiten verwendbar zur unabhängigen Ausführung von Programmen oder Threads, anwendungsspezifische integrierte Schaltungen (ASICs), Neuronale-Netzwerk-Prozessoren (NNPs; neural network processors), programmierbare Steuerlogik und programmierbare Verarbeitungselemente wie feldprogrammierbare Gate-Arrays (FPGAs; field programmable gate arrays) oder programmierbare Logik-Bauelemente (PLDs; programmable logic devices). Die Beschleuniger 1042 können mehrere neuronale Netzwerke, CPUs, Prozessorkerne, Allzweck-Grafikverarbeitungseinheiten bereitstellen oder Grafikverarbeitungseinheiten können für die Verwendung durch Modelle der künstlichen Intelligenz (KI (artificial intelligence (AI)) oder des maschinellen Lernens (ML; machine learning) zur Verfügung gestellt werden. Beispielsweise kann das KI-Modell eines oder mehrere verwenden oder umfassen von: einem Bestärkendes-Lernen-Schema, einem Q-Lernen-Schema, einem Deep-Q-Lernen oder einem Asynchronous Advantage Actor-Critic (A3C), einem kombinatorischen neuronalen Netzwerk, einem rekurrenten kombinatorischen neuronalen Netzwerk oder einem anderen KI- oder ML-Modell. Mehrere neuronale Netzwerke, Prozessorkerne oder Grafikverarbeitungseinheiten können für die Verwendung durch KI- oder ML-Modelle zur Verfügung gestellt werden.
-
Ein Speicherteilsystem 1020 repräsentiert den Hauptspeicher des Systems 1000 und stellt Speicherung für einen Code, der von dem Prozessor 1010 ausgeführt werden soll, oder für Datenwerte, die bei der Ausführung einer Routine verwendet werden sollen, bereit. Das Speicherteilsystem 1020 kann eine oder mehrere Speichervorrichtungen 1030 umfassen, wie beispielsweise Nur-Lese-Speicher (ROM; read-only memory), Flash-Speicher, eine oder mehrere Varianten von Direktzugriffsspeicher (RAM; random access memory), wie beispielsweise DRAM, oder andere Speichervorrichtungen, oder eine Kombination solcher Vorrichtungen. Ein Speicher 1030 speichert und hostet unter anderem ein Betriebssystem (OS; operating system) 1032, um eine Softwareplattform für die Ausführung von Anweisungen in dem System 1000 bereitzustellen. Zusätzlich können Anwendungen 1034 auf der Softwareplattform des OS 1032 von dem Speicher 1030 ausgeführt werden. Die Anwendungen 1034 repräsentieren Programme, die ihre eigene operative Logik zur Ausführung einer oder mehrerer Funktionen umfassen. Die Prozesse 1036 repräsentieren Mittel oder Routinen, die Hilfsfunktionen an OS 1032 oder eine oder mehrere Anwendungen 1034 oder eine Kombination bereitstellen. Das OS 1032, die Anwendungen 1034 und die Prozesse 1036 stellen Software-Logik bereit, um Funktionen für das System 1000 bereitzustellen. Bei einem Beispiel umfasst das Speicherteilsystem 1020 eine Speichersteuerung 1022, die eine Speichersteuerung zum Erzeugen und Ausgeben von Befehlen an den Speicher 1030 ist. Es wird darauf hingewiesen, dass die Speichersteuerung 1022 ein physikalischer Teil des Prozessors 1010 oder ein physikalischer Teil der Schnittstelle 1012 sein könnte. Zum Beispiel kann die Speichersteuerung 1022 eine integrierte Speichersteuerung sein, die auf einer Schaltung mit dem Prozessor 1010 integriert ist.
-
Bei einigen Beispielen kann das OS 1032 Linux®, Windows® Server oder Personal Computer, FreeBSD®, Android®, MacOS®, iOS®, VMware vSphere, openSUSE, RHEL, CentOS, Debian, Ubuntu oder irgendein anderes Betriebssystem sein. Das OS und der Treiber können auf einer CPU ausgeführt werden, die unter anderem von Intel®, ARM®, AMD®, Qualcomm®, Broadcom®, Nvidia®, IBM®, Texas Instruments® verkauft oder entwickelt wird.
-
Bei einigen Beispielen kann ein Treiber die Netzwerkschnittstelle 1050 so konfigurieren, dass sie auf Änderungen der gemessenen Parameter und/oder Reflexionen, die potenzielle Kanal- oder Verbindungsausfälle anzeigen, überwacht und Alarmmeldungen über potenzielle Kanal- oder Verbindungsausfälle ausgibt, wie hierin beschrieben. Ein Prozess 1036 kann eine Verbindungs-Management-Software umfassen, die auf eine Alarmmeldung über potenzielle Kanal- oder Verbindungsausfälle reagieren kann, um Abhilfemaßnahmen durchzuführen, wie z. B. das erneute Testen einer Verbindung, das Zurücksetzen der Verbindung, die Umleitung des Verkehrs von der problematischen Verbindung weg, bevor die Verbindung verloren geht.
-
Auch wenn nicht speziell dargestellt, versteht es sich, dass das System 1000 einen oder mehrere Busse oder Bussysteme zwischen Bauelementen umfassen kann, wie beispielsweise einen Speicherbus, einen Graphikbus, Schnittstellenbusse oder andere. Busse oder andere Signalleitungen können Komponenten kommunikativ oder elektrisch miteinander koppeln, oder die Komponenten sowohl kommunikativ als auch elektrisch koppeln. Busse können physikalische Kommunikationsleitungen, Punkt-zu-Punkt-Verbindungen, Brücken, Adapter, Steuerungen oder eine andere Schaltungsanordnung oder eine Kombination umfassen. Busse können zum Beispiel einen oder mehrere von einem Systembus, einem Peripheral Component Interconnect (PCI) -Bus, einem Hyper Transport- oder Industry Standard Architecture (ISA) -Bus, einem Small Computer System Interface (SCSI) -Bus, einem universellen seriellen Bus (USB; universal serial bus) oder einem Institute of Electrical and Electronics Engineers (IEEE) -Standard 1394-Bus (Firewire) umfassen.
-
Bei einem Beispiel umfasst das System 1000 eine Schnittstelle 1014, die mit der Schnittstelle 1012 gekoppelt sein kann. Bei einem Beispiel repräsentiert die Schnittstelle 1014 eine Schnittstellenschaltung, die eigenständige Komponenten und eine integrierte Schaltungsanordnung umfassen kann. Bei einem Beispiel koppeln mehrere Benutzerschnittstellenkomponenten oder Peripheriekomponenten oder beide mit der Schnittstelle 1014. Eine Netzwerkschnittstelle 1050 stellt dem System 1000 die Möglichkeit bereit, über ein oder mehrere Netzwerke mit entfernten Vorrichtungen (z. B. Servern oder anderen Rechenvorrichtungen) zu kommunizieren. Die Netzwerkschnittstelle 1050 kann einen Ethernet-Adapter, drahtlose Verbindungskomponenten, zelluläre Netzwerk-Verbindungskomponenten, USB (Universal Serial Bus) oder andere drahtgebundene oder drahtlos-standard-basierte oder proprietäre Schnittstellen umfassen. Die Netzwerkschnittstelle 1050 kann Daten an eine Vorrichtung senden, die in dem gleichen Rechenzentrum oder Rack ist, oder an eine entfernte Vorrichtung, was ein Senden von in einem Speicher gespeicherten Daten umfassen kann. Die Netzwerkschnittstelle 1050 kann einen virtuellen Schalter ausführen, um Virtuelle-Maschine-zu-virtuelle-Maschine-Kommunikationen für virtuelle Maschinen (oder andere VEEs) in demselben Server oder unter unterschiedlichen Servern bereitzustellen.
-
Einige Beispiele der Netzwerkschnittstelle 1050 sind Teil einer Infrastrukturverarbeitungseinheit (IPU) oder Datenverarbeitungseinheit (DPU) oder werden von einer IPU oder DPU verwendet. Eine xPU kann sich zumindest auf eine IPU, DPU, GPU, GPGPU und/oder anderen Verarbeitungseinheiten (z. B. Beschleunigervorrichtungen) beziehen. Eine IPU oder DPU kann eine Netzwerkschnittstelle mit einer oder mehreren programmierbaren Pipelines oder Feste-Funktion-Prozessoren umfassen, um eine Auslagerung von Operationen durchzuführen, die von einer CPU hätten durchgeführt werden können. Die IPU oder DPU kann eine oder mehrere Speichervorrichtungen umfassen. Bei einigen Beispielen kann die IPU oder DPU virtuelle Schaltoperationen durchführen, Speicherungstransaktionen managen (z. B. Komprimierung, Kryptographie, Virtualisierung) und Operationen managen, die auf anderen IPUs, DPUs, Servern oder Vorrichtungen durchgeführt werden.
-
Bei einem Beispiel umfasst das System 1000 eine oder mehrere Eingangs-/Ausgangs- (I/O) Schnittstellen 1060. Eine I/O-Schnittstelle 1060 kann eine oder mehrere Schnittstellenkomponenten umfassen, durch die ein Benutzer mit dem System 1000 interagiert (z. B. Audio-, alphanumerische, tastbare/berührbare oder andere Schnittstellen). Eine Peripherieschnittstelle 1070 kann irgendeine Hardwareschnittstelle umfassen, die oben nicht ausdrücklich erwähnt wurde. Peripherievorrichtungen beziehen sich im Allgemeinen auf Vorrichtungen, die abhängig von dem System 1000 verbinden. Eine abhängige Verbindung ist eine Verbindung, bei der das System 1000 die Software- oder Hardware-Plattform oder beide bereitstellt, auf der die Operation ausgeführt wird und mit der ein Benutzer interagiert.
-
Bei einem Beispiel umfasst das System 1000 ein Speicherungsteilsystem 1080, um Daten auf eine nichtflüchtige Weise zu speichern. Bei einem Beispiel können in bestimmten Systemimplementierungen zumindest bestimmte Komponenten einer Speicherung 1080 mit Komponenten des Speicherteilsystems 1020 überlappen. Das Speicherungsteilsystem 1080 umfasst (eine) Speicherungsvorrichtung(en) 1084, die irgendein herkömmliches Medium zum Speichern großer Datenmengen auf nichtflüchtige Weise sein oder umfassen können, wie beispielsweise eine oder mehrere magnetische, Festkörper- oder optisch-basierte Platten oder eine Kombination. Eine Speicherung 1084 umfasst einen Code oder Anweisungen und Daten 1086 in einem dauerhaften Zustand (z. B. der Wert bleibt trotz Unterbrechung der Leistung zu dem System 1000 erhalten). Die Speicherung 1084 kann allgemein als ein „Speicher“ betrachtet werden, obwohl der Speicher 1030 üblicherweise der Ausführungs- oder Betriebsspeicher ist, um an den Prozessor 1010 Anweisungen bereitzustellen. Während die Speicherung 1084 nichtflüchtig ist, kann der Speicher 1030 einen flüchtigen Speicher umfassen (z. B. der Wert oder Zustand der Daten ist unbestimmt, wenn die Leistung zu dem System 1000 unterbrochen ist). Bei einem Beispiel umfasst das Speicherungsteilsystem 1080 eine Steuerung 1082, um eine Schnittstelle mit der Speicherung 1084 zu bilden. Bei einem Beispiel ist die Steuerung 1082 ein physikalischer Teil der Schnittstelle 1014 oder des Prozessors 1010 oder kann Schaltungen oder Logik sowohl in dem Prozessor 1010 als auch in der Schnittstelle 1014 umfassen.
-
Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und damit die darin gespeicherten Daten) unbestimmt ist, falls Leistung zu der Vorrichtung unterbrochen wird. Ein dynamischer flüchtiger Speicher verwendet ein Aktualisieren der Daten, die in der Vorrichtung gespeichert sind, um den Zustand aufrechtzuerhalten. Ein Beispiel eines dynamischen flüchtigen Speichers umfasst DRAM (Dynamic Random Access Memory; dynamischen Direktzugriffsspeicher) oder eine Variante wie beispielsweise synchronen DRAM (SDRAM; Synchronous DRAM). Ein Beispiel eines flüchtigen Speichers umfasst einen Cache. Ein hierin beschriebenes Speicherteilsystem kann mit einer Anzahl von Speichertechnologien kompatibel sein.
-
Eine nichtflüchtige Speicher (NVM; non-volatile memory) -Vorrichtung ist ein Speicher, dessen Zustand bestimmt ist, auch falls Leistung zu der Vorrichtung unterbrochen wird. Bei einem Ausführungsbeispiel kann die NVM-Vorrichtung eine blockadressierbare Speichervorrichtung, wie beispielsweise NAND-Technologien, oder genauer, einen Multi-Schwellenpegel-NAND-Flash-Speicher (zum Beispiel Single-Level Cell („SLC“), Multi-Level Cell („MLC“), Quad-Level Cell („QLC“), Tri-Level Cell („TLC“) oder ein anderes NAND) umfassen. Eine NVM-Vorrichtung kann auch ein byteadressierbares dreidimensionales Write-in-Place Cross Point- (Vor-Ort-Schreiben-Kreuzpunkt-) Speicherbauelement oder eine andere byteadressierbare Write-in-Place-NVM-Vorrichtung (auch als dauerhafter Speicher bezeichnet) umfassen, wie beispielsweise einen ein- oder mehrstufigen Phasenwechselspeicher (PCM; Phase Change Memory) oder Phasenwechselspeicher mit einem Schalter (PCMS; phase change memory with a switch), Intel® Optane™-Speicher oder NVM-Vorrichtungen, die Chalkogenidphasenwechselmaterial (zum Beispiel Chalkogenidglas) verwenden.
-
Eine Leistungsquelle (nicht abgebildet) stellt den Komponenten des Systems 1000 Leistung bereit. Genauer gesagt bildet eine Leistungsquelle üblicherweise eine Schnittstelle mit einer oder mehreren Leistungsversorgungen in dem System 1000, um den Komponenten des Systems 1000 Leistung bereitzustellen. Bei einem Beispiel umfasst die Leistungsversorgung einen AC-zu-DC-(Wechselstrom-zu-Gleichstrom-; alternating current to direct current) Adapter zum Einstecken in eine Steckdose. Eine solche Wechselstrom- (AC-) Leistung kann eine Erneuerbare-Energien-(z. B. Solarleistung-) Leistungsquelle sein. Bei einem Beispiel umfasst eine Leistungsquelle eine Gleichstrom- (DC-) Leistungsquelle, wie beispielsweise einen externen Wechselstrom-zu-Gleichstrom- (AC-zu-DC-) Wandler. Bei einem Beispiel umfasst eine Leistungsquelle oder Leistungsversorgung drahtlose Ladehardware zum Aufladen über die Nähe zu einem Ladefeld. Bei einem Beispiel kann eine Leistungsquelle eine interne Batterie, eine Wechselstromversorgung, eine bewegungsbasierte Leistungsversorgung, eine Solarleistungsversorgung oder eine Brennstoffzellenquelle umfassen.
-
Bei einem Beispiel kann das System 1000 unter Verwendung von miteinander verbundenen Rechenschlitten aus Prozessoren, Speichern, Speicherungen, Netzwerkschnittstellen und anderen Komponenten implementiert sein. Hochgeschwindigkeitsverbindungen können verwendet werden, wie beispielsweise: Ethernet (IEEE 802.3), entfernter Direktspeicherzugriff (RDMA; remote direct memory access), InfiniBand, Internet Wide Area RDMA Protocol (iWARP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), quick UDP Internet Connections (QUIC), RDMA over Converged Ethernet (RoCE), Peripheral Component Interconnect express (PCIe), Intel QuickPath Interconnect (QPI), Intel Ultra Path Interconnect (UPI), Intel On-Chip System Fabric (IOSF), Omnipath, Compute Express Link (CXL), HyperTransport, high-speed fabric, NVLink, Advanced Microcontroller Bus Architecture (AMBA) -Verbindung, OpenCAPI, Gen-Z, Infinity Fabric (IF), Cache Coherent Interconnect for Accelerators (CCIX), 3GPP Long Term Evolution (LTE) (4G), 3GPP 5G, und Variationen derselben. Daten können unter Verwendung eines Protokolls wie beispielsweise NVMe over Fabrics (NVMe-oF) oder NVMe auf virtualisierte Speicherungsknoten kopiert oder gespeichert werden oder es kann darauf zugegriffen werden.
-
Ausführungsbeispiele hierin können in verschiedenen Arten von Rechen-Ausrüstung, Smartphones, Tablets, Personal-Computer und Netzwerk-Ausrüstung, wie beispielsweise Schaltern, Routern, Racks und Blade-Servern, wie sie in einem Rechenzentrum und/oder einer Serverfarmumgebung verwendet werden, implementiert sein. Die Server, die in Rechenzentren und Serverfarmen verwendet werden, umfassen angeordnete Server-Konfigurationen wie beispielsweise Rack-basierte Server oder Blade-Server. Diese Server sind in Kommunikation über verschiedene Netzwerkzugänge miteinander verbunden, wie beispielsweise ein Partitionieren von Serversätzen in lokale Netze (LANs; Local Area Networks) mit geeigneten Schalt- und Routing-Einrichtungen zwischen den LANs, um ein privates Intranet zu bilden. Zum Beispiel können Cloud-Hosting-Einrichtungen üblicherweise große Rechenzentren mit einer Vielzahl von Servern nutzen. Ein Blade umfasst eine separate Rechenplattform, die ausgebildet ist, um serverartige Funktionen auszuführen, das heißt, einen „Server auf einer Karte“. Dementsprechend umfasst jedes Blade Komponenten, die herkömmlichen Servern gemeinsam sind, umfassend eine gedruckte Hauptschaltungsplatine (Hauptplatine; main board), die eine interne Verkabelung (z. B. Busse) zum Koppeln geeigneter integrierter Schaltungen (ICs; integrated circuits) und anderer Komponenten, die auf der Platine befestigt sind, bereitstellt.
-
Bei einigen Beispielen können die Netzwerkschnittstelle und andere hierin beschriebene Ausführungsbeispiele in Verbindung mit einer Basisstation (z. B. 3G, 4G, 5G usw.), Makro-Basisstation (z. B. 5G-Netzwerke), Picostation (z. B. ein IEEE 802.11-kompatibler Zugriffspunkt), Nanostation (z. B. für Point-to-MultiPoint- (PtMP-) Anwendungen), lokalen Rechenzentren, externen Rechenzentren, Edge-Netzwerkelementen, Nebelnetzwerkelementen und/oder hybriden Rechenzentren (z. B. Rechenzentren, die Virtualisierung, Cloud und softwaredefinierte Netzwerke verwenden, um Anwendungs-Arbeitslasten über physische Rechenzentren und verteilte Multi-Cloud-Umgebungen hinweg bereitzustellen) verwendet werden.
-
Verschiedene Beispiele können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination von beiden implementiert sein. Bei einigen Beispielen können Hardware-Elemente Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten usw.), integrierte Schaltungen, ASICs, PLDs, DSPs, FPGAs, Speichereinheiten, Logik-Gates, Register, ein Halbleiterbauelement, Chips, Mikrochips, Chipsätze usw. umfassen. Bei einigen Beispielen können Software-Elemente Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, APIs, Anweisungssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder irgendeine Kombination derselben umfassen. Die Bestimmung, ob ein Beispiel unter Verwendung von Hardware- und/oder Software-Elementen implementiert wird, kann gemäß irgendeiner Anzahl von Faktoren, wie beispielsweise der erwünschten Rechenrate, den Leistungspegeln, den Wärmetoleranzen, dem Budget des Verarbeitungszyklus, den Eingabedatenraten, den Ausgangsdatenraten, den Speicherressourcen, den Datenbusgeschwindigkeiten und anderen Entwurf- oder Performanceeinschränkungen, wie für eine gegebene Implementierung erwünscht, variieren. Ein Prozessor kann eines oder mehrere sein aus einer Kombination aus einer Hardware-Zustandsmaschine, digitalen Steuerlogik, zentralen Verarbeitungseinheit oder irgendwelchen Hardware-, Firmware- und/oder Software-Elementen.
-
Einige Beispiele können unter Verwendung von oder als ein Herstellungsartikel oder zumindest ein computerlesbares Medium implementiert sein. Ein computerlesbares Medium kann ein nichtflüchtiges Speicherungsmedium zur Speicherung von Logik umfassen. Bei einigen Beispielen kann das nichtflüchtige Speicherungsmedium eine oder mehrere Arten von computerlesbaren Speicherungsmedien umfassen, die fähig sind, elektronische Daten zu speichern, umfassend flüchtigen oder nichtflüchtigen Speicher, entfernbaren oder nicht entfernbaren Speicher, löschbaren oder nicht löschbaren Speicher, beschreibbaren oder wiederbeschreibbaren Speicher und so weiter. Bei einigen Beispielen kann die Logik verschiedene Softwareelemente, wie beispielsweise Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, API, Anweisungssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder irgendeine Kombination davon umfassen.
-
Gemäß einigen Beispielen kann ein computerlesbares Medium ein nichtflüchtiges Speichervorrichtungsmedium zum Speichern oder Aufrechterhalten von Anweisungen umfassen, die, wenn sie von einer Maschine, einer Rechenvorrichtung oder einem System ausgeführt werden, die Maschine, die Rechenvorrichtung oder das System veranlassen, Verfahren und/oder Operationen gemäß den beschriebenen Beispielen auszuführen. Die Anweisungen können irgendeine geeignete Art von Code umfassen, wie beispielsweise einen Quellcode, einen kompilierten Code, einen interpretierten Code, einen ausführbaren Code, einen statischen Code, einen dynamischen Code und Ähnliches. Die Anweisungen können gemäß einer vordefinierten Computersprache, Weise oder Syntax implementiert sein, um eine Maschine, eine Rechenvorrichtung oder ein System anzuweisen, eine bestimmte Funktion auszuführen. Die Anweisungen können unter Verwendung irgendeiner geeigneten Hochsprachen-, Niedersprachen-, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache implementiert sein.
-
Ein oder mehrere Aspekte von zumindest einem Beispiel können durch repräsentative Anweisungen implementiert sein, die auf zumindest einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die, wenn sie durch eine Maschine, eine Rechenvorrichtung oder ein System gelesen werden, die Maschine, die Rechenvorrichtung oder das System veranlassen, Logik zur Ausführung der hierin beschriebenen Techniken herzustellen. Solche Darstellungen, die als „IP-Kerne“ bekannt sind, können auf einem greifbaren, maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Herstellungseinrichtungen geliefert werden, um sie in die Fertigungsmaschinen zu laden, die die Logik oder den Prozessor tatsächlich herstellen.
-
Das Auftreten der Phrase „ein einzelnes Beispiel“ oder „ein Beispiel“ bezieht sich nicht notwendigerweise auf dasselbe Beispiel oder Ausführungsbeispiel. Irgendein hierin beschriebener Aspekt kann mit irgendeinem anderen Aspekt oder ähnlichen hierin beschriebenen Aspekt kombiniert werden, unabhängig davon, ob die Aspekte im Hinblick auf dieselbe Figur oder dasselbe Element beschrieben sind. Ein Teilen, Auslassen oder Umfassen von Blockfunktionen, die in den beiliegenden Figuren abgebildet sind, lässt nicht herleiten, dass die Hardwarekomponenten, Schaltungen, Software und/oder Elemente zum Implementieren dieser Funktionen notwendigerweise unterteilt, weggelassen oder in Ausführungsbeispielen umfasst sein müssten.
-
Einige Beispiele können unter Verwendung des Ausdrucks „gekoppelt“ und „verbunden“ zusammen mit ihren Herleitungen beschrieben sein. Diese Begriffe sind nicht zwingend als Synonyme füreinander vorgesehen. Beispielsweise können Beschreibungen, die die Begriffe „verbunden“ und/oder „gekoppelt“ verwenden, möglicherweise anzeigen, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. Der Begriff „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander sind, jedoch weiter miteinander zusammenarbeiten oder interagieren.
-
Die Begriffe „erste,r,s“, „zweite,r,s“ und Ähnliches bezeichnen hierin nicht irgendeine Reihenfolge, Menge oder Bedeutung, sondern werden vielmehr dazu verwendet, ein Element von einem anderen zu unterscheiden. Die Begriffe „ein,e,s“ (a, an) bezeichnen hierin nicht eine Mengenbeschränkung, sondern vielmehr das Vorhandensein von zumindest einem von den Gegenständen, auf die Bezug genommen wird. Der Begriff „aufgeschaltet“ (asserted), der hierin Bezug nehmend auf ein Signal verwendet wird, bezeichnet einen Zustand des Signals, in dem das Signal aktiv ist und der durch Anwenden irgendeines Logikpegels auf das Signal, entweder Logik 0 oder Logik 1, erreicht werden kann. Die Begriffe „folgen“ oder „nach“ können sich auf unmittelbar folgen oder folgen nach einem anderen Ereignis oder Ereignissen beziehen. Andere Abfolgen von Operation können auch gemäß alternativen Ausführungsbeispielen ausgeführt werden. Ferner können zusätzliche Operationen, abhängig von den bestimmten Anwendungen, hinzugefügt oder entfernt werden. Es kann irgendeine Kombination von Änderungen verwendet werden und ein Durchschnittsfachmann auf dem Gebiet, der den Nutzen dieser Offenbarung hat, würde die vielen Variationen, Modifikationen und alternativen Ausführungsbeispiele davon verstehen.
-
Eine disjunktive Sprache, wie beispielsweise die Phrase „zumindest eines von X, Y oder Z“, sofern nicht anderweitig spezifisch angegeben, wird ansonsten innerhalb des Kontexts verstanden, wie er im Allgemeinen verwendet wird, um darzustellen, dass ein Gegenstand, ein Begriff etc. entweder X, Y oder Z oder irgendeine Kombination davon (z. B. X, Y und/oder Z) sein kann. Somit ist solch disjunktive Sprache nicht im Allgemeinen dafür vorgesehen und soll nicht implizieren, dass bestimmte Ausführungsbeispiele das jeweilige Vorliegen von zumindest einem von X, zumindest einem von Y oder zumindest einem von Z erfordern. Zusätzlich soll konjunktive Sprache wie beispielsweise die Phrase „zumindest eines von X, Y und Z“, sofern nicht anderweitig spezifisch angegeben, auch als X, Y, Z oder irgendeine Kombination davon, umfassend „X, Y und/oder Z“, verstanden werden.
-
Darstellende Beispiele der Vorrichtungen, Systeme und Verfahren, die hierin offenbart sind, sind nachfolgend bereitgestellt. Ein Ausführungsbeispiel der Vorrichtungen, Systeme und Verfahren kann irgendein einzelnes oder mehrere und irgendeine Kombination der nachfolgend beschriebenen Beispiele umfassen.
-
Beispiel 1 umfasst ein oder mehrere Beispiele und umfasst eine Vorrichtung (apparatus), umfassend: eine Physical-Layer-Schnittstelle (PHY), umfassend eine Schaltungsanordnung, die so ausgebildet ist, dass sie autonom auf Signalverschlechterung misst und anzeigt, ob ein Verbindungsverlust zu erwarten ist, basierend auf einer Basislinienmessung von Parametern und einer oder mehreren nachfolgenden Messungen von Parametern.
-
Beispiel 2 umfasst ein oder mehrere Beispiele, wobei die Parameter einen oder mehrere umfassen aus: Augenhöhe, Signal-Rausch-Verhältnis (SNR), Verriegelungsbereich der Phasenregelschleife (PLL), Phasenausrichtungswerte, Entzerrerkoeffizienten, von einem Auf-Die-Analog-Digital-Wandler (A/D) gemessene Vorspannungsströme, Versatz-Unterdrückungsparameter, Statistiken über die Fehlerabhängigkeit der Roh-Bit-Fehlerrate (BER) und/oder Zählerwerte von korrigierten und unkorrigierten Vorwärtsfehlerkorrekturwerten (FEC).
-
Beispiel 3 umfasst ein oder mehrere Beispiele, wobei die Schaltungsanordnung so ausgebildet ist, dass sie ein Intervall von Parametermessungen auf der Grundlage des einen Verbindungsverlust anzeigenden Vergleichs anpasst.
-
Beispiel 4 umfasst ein oder mehrere Beispiele, wobei die Schaltungsanordnung mit einer Serialisierer/Deserialisierer- (SerDes) Vorrichtung gekoppelt ist.
-
Beispiel 5 umfasst ein oder mehrere Beispiele, wobei die SerDes-Vorrichtung Inter-Symbol-Interferenz-Daten (ISI) bereitstellt und die Schaltungsanordnung ausgebildet ist, um eine potenzielle Verbinderverschiebung auf der Grundlage von Änderungen der ISI-Daten anzuzeigen.
-
Beispiel 6 umfasst ein oder mehrere Beispiele, wobei die Schaltungsanordnung dazu ausgebildet ist, eine potenzielle Verbinderverschiebung auf der Grundlage von Änderungen der ISI-Daten anzuzeigen, zum: Speichern von Basislinien-ISI-Daten für Verbinderreflexionen; Messen von ISI-Daten für Verbinderreflexionen; und Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage der gemessenen ISI-Daten und der Basislinien-ISI-Daten.
-
Beispiel 7 umfasst ein oder mehrere Beispiele, wobei die ISI-Daten für Verbinderreflexionen auf einer oder mehreren bestimmten Verbindungen basieren, die auf der Grundlage der Zeitbereichsreflektometrie (TDR) identifiziert wurden.
-
Beispiel 8 umfasst ein oder mehrere Beispiele und umfasst eine Netzwerkschnittstellenvorrichtung, umfassend die PHY, die Netzwerkschnittstellenvorrichtung umfassend: einen oder mehrere mit der PHY gekoppelte Ports; eine Schaltungsanordnung zur Durchführung von Media-Access-Control (MAC) -Operationen; und eine Paketverarbeitungsschaltungsanordnung, die mit der Schaltungsanordnung gekoppelt ist, um MAC-Operationen durchzuführen.
-
Beispiel 9 umfasst ein oder mehrere Beispiele und umfasst ein kommunikativ mit der PHY gekoppeltes Hostsystem, wobei das Hostsystem ausgebildet ist, um die Anzeige zu empfangen, wenn ein Verbindungsverlust erwartet wird, und um eine oder mehrere Abhilfemaßnahmen durchzuführen.
-
Beispiel 10 umfasst ein oder mehrere Beispiele und umfasst ein nichtflüchtiges computerlesbares Medium, das darauf gespeicherte Anweisungen umfasst, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen zum: Ausbilden einer Schaltungsanordnung zum autonomen Messen auf Signalverschlechterung hin und zum Anzeigen, ob ein Verbindungsverlust zu erwarten ist, basierend auf einer Basislinienmessung von Parametern und einer oder mehreren nachfolgenden Messungen von Parametern.
-
Beispiel 11 umfasst ein oder mehrere Beispiele, wobei die Parameter einen oder mehrere umfassen aus: Augenhöhe, Signal-Rausch-Verhältnis (SNR), Verriegelungsbereich der Phasenregelschleife (PLL), Phasenausrichtungswerte, Entzerrerkoeffizienten, von einem Auf-Die-Analog-Digital-Wandler (A/D) gemessene Vorspannungsströme, Versatz-Unterdrückungsparameter, Statistiken über die Fehlerabhängigkeit der Roh-Bit-Fehlerrate (BER) und/oder Zählerwerte von korrigierten und unkorrigierten Vorwärtsfehlerkorrekturwerten (FEC).
-
Beispiel 12 umfasst ein oder mehrere Beispiele und umfasst darauf gespeicherte Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: Ausbilden der Schaltungsanordnung zum Anpassen eines Intervalls von Parametermessungen auf der Grundlage des erwarteten Verbindungsverlustes.
-
Beispiel 13 umfasst ein oder mehrere Beispiele und umfasst darauf gespeicherte Anweisungen, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: Ausbilden der Schaltungsanordnung zum Empfangen von Inter-Symbol-Interferenz-Daten (ISI) und zum Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage von Änderungen der ISI-Daten.
-
Beispiel 14 umfasst ein oder mehrere Beispiele, wobei zum Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage von Änderungen der ISI-Daten die Schaltungsanordnung ausgebildet ist zum: Speichern von Basislinien-ISI-Daten für Verbinderreflexionen; Messen von ISI-Daten für Verbinderreflexionen; und Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage der gemessenen ISI-Daten und der Basislinien-ISI-Daten.
-
Beispiel 15 umfasst ein oder mehrere Beispiele und umfasst ein Verfahren, umfassend: autonomes Messen, durch die Schaltungsanordnung einer Physical-Layer-Schnittstelle (PHY), einer Signalverschlechterung durch Messung der Basislinienparameter und Anzeigen durch die Schaltungsanordnung der PHY, ob auf der Grundlage der Basislinienparameter und einer oder mehrerer nachfolgender Messungen von Parametern ein Verbindungsverlust zu erwarten ist.
-
Beispiel 16 umfasst ein oder mehrere Beispiele, wobei die Parameter einen oder mehrere umfassen aus: Augenhöhe, Signal-Rausch-Verhältnis (SNR), Verriegelungsbereich der Phasenregelschleife (PLL), Phasenausrichtungswerte, Entzerrerkoeffizienten, von einem Auf-Die-Analog-Digital-Wandler (A/D) gemessene Vorspannungsströme, Versatz-Unterdrückungsparameter, Statistiken über die Fehlerabhängigkeit der Roh-Bit-Fehlerrate (BER) und/oder Zählerwerte von korrigierten und unkorrigierten Vorwärtsfehlerkorrekturwerten (FEC).
-
Beispiel 17 umfasst ein oder mehrere Beispiele, wobei die Parameter Inter-Symbol-Interferenz-Daten (ISI) umfassen.
-
Beispiel 18 umfasst ein oder mehrere Beispiele und umfasst das Anpassen eines Intervalls von Parametermessungen auf der Grundlage des erwarteten Verbindungsverlustes.
-
Beispiel 19 umfasst ein oder mehrere Beispiele und umfasst ein Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage von Änderungen der Inter-Symbol-Interferenz-Daten (ISI).
-
Beispiel 20 umfasst ein oder mehrere Beispiele, das Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage von Änderungen der Inter-Symbol-Interferenz-Daten (ISI) umfassend: Speichern von Basislinien-ISI-Daten für Verbinderreflexionen; Messen von ISI-Daten für Verbinderreflexionen; und Anzeigen einer potenziellen Verbinderverschiebung auf der Grundlage der gemessenen ISI-Daten und der Basislinien-ISI-Daten.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-