DE102022120127A1 - Zugriff auf mehrere taktbereiche - Google Patents

Zugriff auf mehrere taktbereiche Download PDF

Info

Publication number
DE102022120127A1
DE102022120127A1 DE102022120127.9A DE102022120127A DE102022120127A1 DE 102022120127 A1 DE102022120127 A1 DE 102022120127A1 DE 102022120127 A DE102022120127 A DE 102022120127A DE 102022120127 A1 DE102022120127 A1 DE 102022120127A1
Authority
DE
Germany
Prior art keywords
clock signal
multiplexer
phy
phy circuitry
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022120127.9A
Other languages
English (en)
Inventor
Srinivasan S. Iyengar
Paul KAPPLER
Alon Meir
Joseph Mirksy
Thomas Ng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102022120127A1 publication Critical patent/DE102022120127A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Systems (AREA)
  • Logic Circuits (AREA)

Abstract

Hier beschriebene Beispiele betreffen ein System-on-a-Chip (SoC), das Folgendes umfasst: einen in das SoC integrierten Multiplexer, wobei der Multiplexer eine oder mehrere Bitübertragungsschicht(PHY)-Schaltungsanordnungen umfasst und der Multiplexer dazu ausgelegt ist, ein oder mehrere Taktsignale zu empfangen und das eine oder die mehreren Taktsignale basierend auf einer Taktübertragungskonfiguration an die eine oder die mehreren PHY-Schaltungsanordnungen zu verteilen, um mehrere Taktverteilungsschemata zu unterstützen. In manchen Beispielen werden das eine oder die mehreren Taktsignale von mindestens einem Host empfangen, der eines oder mehrere von Folgendem umfasst: eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Beschleuniger, einen Speicherpool, ein netzwerkverbundenes Gerät und/oder eine Datenspeichervorrichtung.

Description

  • HINTERGRUND
  • Rechenzentren stellen Rechenressourcen für mit dem Internet verbundene Vorrichtungen bereit. Rechensysteme in einem Rechenzentrum können direkte Verbindungen zwischen Vorrichtungen für Kommunikationen zwischen Vorrichtungen nutzen. Verschiedene Protokolle und Standards spezifizieren Arten von direkten Verbindungen zwischen Vorrichtungen. Open Compute Project (OCP) ist eine Organisation, die an der Konzeption von direkten Verbindungen zwischen Vorrichtungen für Server, Datenspeicher, Racks und Switches beteiligt ist.
  • 1 veranschaulicht ein Multi-Host-Netzwerksystem basierend auf Open Compute Project (OCP) NIC 3.0, Version 1.1.0 (2021), wobei die verschiedenen Peripheral Component Interconnect Express (PCIe)-Konfigurationen (z. B. x16 (16 PCIe-Spuren pro Anschluss), x8 (8 PCIe-Spuren pro Anschluss), x4 (4 PCIe-Spuren pro Anschluss) und so weiter) zur Host-Konnektivität einen Multiplexer nutzen, der mit einer Leiterplatte der Plattform verbunden ist, und der Multiplexer PCIe-analoge Referenztakteingänge von einem oder mehreren Hostsystemen empfängt. Damit die Leiterplatte Konfigurationen von 2 x8 oder 4 x4 Taktsignalen unterstützt, wird ein Taktmultiplexer auf Plattformebene implementiert. Manche Plattformen nutzen zum Beispiel einen Taktmultiplexer auf Plattformebene, um 2 x8-Takte oder 4 x4-Takte auf demselben Referenzplatinendesign zu unterstützen. Außerdem schaltet die Plattform oder deren Mikrocontroller zwischen verschiedenen Plattformkonfigurationen um, um Konfigurationen von x16, x8 oder x4 zu unterstützen.
  • Die Tabelle aus 2 skizziert Systeme basierend auf OCP NIC 3.0, Version 1.1.0, wobei mehrere Hosts mit einer Netzwerkschnittstellenkarte (NIC - network interface card) verbunden sind, die eine PCIe-Konnektivität zu mehr als einem Host über Schnittstellen der Bitübertragungsschicht (PHY[0] bis PHY[1]) der NIC unterstützen. Die Tabelle aus 2 zeigt unterschiedliche Plattformkonfigurationen, die Multi-Host-, Beschleuniger-, Datenspeicher- (einschließlich hybridem Datenspeicher (z. B. einer Mischung aus Direktzugriffsspeicher, Festkörperlaufwerken (SSDs) und Festplattenlaufwerken (HDD)) und hybride Systeme unterstützen. Bei manchen bekannten Implementierungen beinhaltet das Unterstützen dieser unterschiedlichen Modi Änderungen auf Leiterplattenebene, wie etwa Änderungen an interner Verschaltung (Jumpers) oder an Drähten oder an Platinen mit eindeutiger Referenz.
  • Figurenliste
    • 1 veranschaulicht ein Multi-Host-Netzwerksystem.
    • 2 zeigt Plattformkonfigurationen mit unterschiedlichen Referenztakten.
    • 3 stellt ein beispielhaftes System dar.
    • 4A stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt.
    • 4B stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt.
    • 4C stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt.
    • 4D stellt eine beispielhafte Konfiguration dar, die eine Verteilung eines Taktsignals an mehrere PHYs bereitstellt.
    • 4E stellt ein Beispiel für eine Netzwerkschnittstellenvorrichtung dar.
    • 5 stellt ein beispielhaftes Multiplexersystem dar.
    • 6A bis 6C stellen eine beispielhafte Konfiguration dar.
    • 7 stellt einen beispielhaften Prozess dar.
    • 8 stellt ein beispielhaftes System dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Manche Beispiele stellen einen Multiplexer bereit, der in ein System-on-Chip (SoC) oder in ein Halbleiterplättchen einer Vorrichtung integriert ist, und der Multiplexer unterstützt einen Taktempfang von einer Zentralverarbeitungseinheit (CPU) mit einem einzigen Host sowie einen unabhängigen Taktempfang von CPUs mit mehreren Hosts. Der integrierte Multiplexer kann eine gemeinsame Taktung von einem einzigen Host und eine gemeinsame, aber unabhängige Taktung von mehreren Hosts für eine Vorrichtungsschnittstelle unterstützen. Der Multiplexer, die Vorrichtungsschnittstelle und die Vorrichtung können in demselben SoC integriert sein. Der integrierte Multiplexer kann ein oder mehrere Taktsignale von einem oder mehreren Hostsystemen übertragen und Konfigurationen unterstützen, die zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) dargelegt sind. Eine Plattform mit einem Satz von Leiterplattensignalweiterleitung kann mehrere Konfigurationen von Taktweiterleitung mit einem einzigen Satz von Taktweiterleitung von einer oder mehreren Hostvorrichtungen an Bitübertragungsschicht(PHY)-Schnittstellen der Vorrichtungsschnittstelle unterstützen. Manche Beispiele können den integrierten Multiplexer nutzen, um der Vorrichtungsschnittstelle Taktsignale bereitzustellen, die zwischen verschiedenen Taktweiterleitungsoptionen wechseln können. Eine Leiterplatte, die Konnektivität zwischen einer oder mehreren CPUs und dem Vorrichtungs-SoC bereitstellt, muss nicht verändert werden, um verschiedene Taktweiterleitungsoptionen zu unterstützen, aber in manchen Beispielen kann die Leiterplatte modifiziert werden, um unterschiedliche Taktweiterleitungsoptionen zu unterstützen.
  • 3 stellt ein beispielhaftes System dar. Die Plattformleiterplatte 300 kann eine Leiterplatte (PCB - printed circuit board), eine Hauptplatine oder eine andere Leiterplatte mit leitfähigen Anschlüssen beinhalten, die Kommunikation über elektrische und/oder optische Signale zwischen der Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1 und der Netzwerkschnittstellenvorrichtung 310 bereitstellen. Eine oder mehrere der Host-CPUs0 302-0 bis zur Host-CPU N-1 302-N-1 können eines oder mehrere aus Folgenden beinhalten: Prozessor, Zentralverarbeitungseinheit (CPU - central processing unit), Kern, Grafikverarbeitungseinheit (GPU - graphics processing unit), Allzweck-GPU (GPGPU - general purpose GPU), Beschleuniger, feldprogrammierbares Gate-Array (FPGA - field programmable gate array), anwendungsspezifische integrierte Schaltung (ASIC - application specific integrated circuit), programmierbare Hardwarevorrichtungen, Speicher und Zwischenverbindungsvorrichtungen. Es wird angemerkt, dass eine oder mehrere der Host-CPU0 302-0 bis zur Host-CPU N-1 302-N-1 virtuelle Maschinen, Container, Mikrodienste, serverlose Anwendungen oder ein Service-Mesh ausführen und auf die Netzwerkschnittstellenvorrichtung 310 zugreifen können, um Pakete zu übertragen oder zu empfangen.
  • In manchen Beispielen können die Taktgeneratoren 306-0 bis 306-N-1 Taktsignale an jeweilige Vorrichtungsschnittstellen 304-0 bis 304-N-1 der Host-CPUO 302-0 an die Host-CPU N-1 302-N-1 bereitstellen. Die Taktgeneratoren 306-0 bis 306-N-1 können über die Plattformleiterplatte 300 leitfähig mit der jeweiligen Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1 gekoppelt sein oder können in die Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1 integriert sein.
  • Gemäß einer hier beschriebenen Konfiguration kann der Multiplexer 312 Taktsignale in der Vorrichtungsschnittstelle 314 bereitstellen und die bereitgestellten Taktsignale basieren auf einem oder mehreren Referenztaktsignalen von der Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1. Ein oder mehrere Referenztaktsignale von der Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1 können für eine oder mehrere PCIe-Verbindungen oder Spuren der Vorrichtungsschnittstelle 314 verwendet werden.
  • Die Netzwerkschnittstellenvorrichtung 310 kann als ein System-on-Chip (SoC) implementiert und in einer einzigen Schaltung mit dem Multiplexer 312 und der Vorrichtungsschnittstelle 314 integriert sein. In manchen Beispielen können die Host-CPUO 302-0 bis zur Host-CPU N-1 302-N-1 unter Verwendung einer eingebetteten Brücke zur Verbindung mehrerer Halbleiterplättchen (Embedded Multi-die Interconnect Bridge - EMIB) kommunikativ mit der Netzwerkschnittstellenvorrichtung 310 gekoppelt sein. In manchen Beispielen können die Netzwerkschnittstellenvorrichtung 310 und der Multiplexer 312 in der gleichen siliciumbasierten Halbleitervorrichtung ausgebildet sein.
  • Die Netzwerkschnittstellenvorrichtung 310 kann eine Funktionalität von einem oder mehreren aus Folgendem beinhalten: Netzwerkschnittstellensteuerung (NIC - network interface controller), RDMA(Remote Direct Memory Access)-fähige NIC, SmartNIC, Router, Switch, Weiterleitungselement, Infrastrukturverarbeitungseinheit (IPU - infrastructure processing unit), Datenverarbeitungseinheit (DPU - data processing unit), netzwerkangeschlossene Einrichtung (z. B. Datenspeicher, Speicher, Beschleuniger, Prozessoren, Sicherheit) und so weiter. Obwohl Beispiele mit Bezug auf eine Netzwerkschnittstellenvorrichtung beschrieben sind, können andere Arten von Vorrichtungen ein oder mehrere Taktsignale nutzen, die durch einen Multiplexer bereitgestellt werden, wie etwa Beschleuniger, Datenspeichervorrichtungen, hybride Datenspeichervorrichtungen, Speicherpools, Speichervorrichtungen und so weiter.
  • Wie hier beschrieben, kann der integrierte Multiplexer 312 mehrere Bitübertragungsschicht-Schnittstellen (PHYs) beinhalten, um Taktsignale von einem oder mehreren Hosts 302-0 bis 302-N-1 zu empfangen und Taktsignale von einem Host als eine Ausgabe an die Vorrichtungsschnittstelle 314 zu übertragen und/oder das bzw. die Taktsignale einer anderen PHY bereitzustellen. Die Taktnummerierung des logischen Ports nach OCP NIC 3.0 oder die Taktnummerierung der physikalischen Spur kann zum Beispiel durch den integrierten Multiplexer 312 unterstützt werden. Der integrierte Multiplexer 312 kann eine oder mehrere Signalweiterleitungen bereitstellen, um eine flexible steckbare Plattform mit einem oder mehreren Sätzen von Taktweiterleitungen von der Plattformleiterplatte 300 bereitzustellen, die Anwendungsfälle mit einem einzelnen und/oder mehreren Hosts unterstützt.
  • Manche Beispiele für ein SoC mit integriertem Multiplexer 312 können in Plattform-Nutzungsmodellen mit mehreren Hosts zumindest in Rechenzentrums-, Cloud- oder Datenspeicheranwendungen verwendet werden, die auf einer Version oder Variation der OCP-NIC-Standardspezifikation basieren.
  • Eine Komplexität auf Plattformebene, die mit dem Verwalten der Signalintegrität zum Unterstützen von Taktanforderungen der PCIe-Generation 4 oder 5 zusammenhängt, kann durch den integrierten Multiplexer 312 verwaltet werden. Manche Beispiele können jedoch auch einen Taktmultiplexer nutzen, der an die Leiterplatte 300 angeschlossen und mit dieser verbunden ist. Unter Verwendung des integrierten Multiplexers 312 verwenden manche Beispiele keinen Taktmultiplexer, der an die Leiterplatte 300 angeschlossen und mit dieser verbunden ist, um die OCP NIC Version 1.1.0 (sowie frühere Versionen, spätere Versionen und Ableitungen davon) und andere Konfigurationen zu unterstützen. Es können Einsparungen von Kosten und Platz auf der Leiterplatte realisiert werden, indem kein integrierter Multiplexer verwendet wird. Das Überführen von Hardware auf Plattformebene, wie etwa der Taktmultiplexer und deren Unterstützungskomponenten (z. B. Widerstände, Kondensatoren usw.), in einen integrierten Multiplexer 312 kann Plattformkosten reduzieren und freien Platz auf der Leiterplatte für andere Verwendungen freigeben.
  • In manchen Beispielen kann der integrierte Multiplexer 312 eine gemeinsame PCIe-Taktung, einen Separaten Referenztakt ohne Spreizspektrum (SRNS - Separate RefClk with no Spread Spectrum) oder einen Separaten Referenztakt mit einem unabhängigen Spreizspektrum (SRIS - Separate RefClk with Independent Spread Spectrum) in PCIe-Systemen unterstützen. In manchen Beispielen kann der integrierte Multiplexer PCIe-Referenztakt-Multiplex und PIPE-Takt(PCLK)-Multiplex (z. B. aus der PHY Interface for the PCI Express(PIPE)-Spezifikation Version 5.0 und vorhergehenden, nachfolgenden oder abgeleiteten Versionen davon) unterstützen. Die Steuerung eines Referenztakt(refclk)-Modus, der durch den integrierten Multiplexer 312 durchgeführt wird, kann unter Verwendung einer Fuse oder von System-Firmware implementiert werden, um verschiedene Taktweiterleitungsmodi zu unterstützen.
  • Manche Implementierungen des Multiplexers 312 können einen saubereren Takt als den eines Multiplexers, der an die Platine 300 angeschlossen und mit dieser verbunden ist, bereitstellen, da der Multiplexer 312 Teil eines SoC ist, anstatt unter Verwendung einer externen Verbindung verbunden zu sein, was Rauschen verursachen kann. Eine gemeinsame Taktung und ein gemeinsam genutztes Taktschema kann eine Anzahl von Taktpuffern und Multiplexern reduzieren, die in Systemen mit mehreren Hosts verwendet werden.
  • 4A stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt. Einer oder mehrere der Hosts 400-0 bis 400-3 können dazu konfiguriert sein, sich mit der Netzwerkschnittstellenvorrichtung 402 als ein x4-Steckmodul zu verbinden, wie zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) beschrieben. Im Beispiel aus 4A kann der integrierte Multiplexer 404 eine 4x4-Konfiguration nach OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) unterstützen. Zum Beispiel können die Hosts 400-0 bis 400-3 jeweilige Taktsignale 0 bis 3 (gezeigt als Clock0 bis Clock3) an jeweilige PHY0 bis PHY3 der Netzwerkschnittstellenvorrichtung 402 bereitstellen. Der integrierte Multiplexer 404 kann PHY0 bis PHY3 beinhalten und kann in ein gleiches SoC wie das der Netzwerkschnittstellenvorrichtung 402 integriert sein. In manchen Beispielen kann der Multiplexer 404 mit einer Vorrichtungsschnittstelle integriert sein und PHY0 bis PHY3 können einen Teil der Spuren (lanes) der Vorrichtungsschnittstelle bilden. In manchen Beispielen kann die Vorrichtungsschnittstelle x16 Spuren oder eine andere Anzahl von Spuren unterstützen.
  • 4B stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt. Einer oder mehrere der Hosts 410-0 bis 410-3 können dazu konfiguriert sein, sich mit der Netzwerkschnittstellenvorrichtung 402 als ein x8-Steckmodul zu verbinden, wie zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) beschrieben. Im Beispiel aus 4B kann der integrierte Multiplexer 404 eine x8x8-Konfiguration nach OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) unterstützen. In diesem Beispiel können die Hosts 410-0 und 410-1 jeweilige Taktsignale 0 und 2 (als Clock0 und Clock2 gezeigt) an jeweilige PHY0 und PHY2 des Multiplexers 404 bereitstellen. Der integrierte Multiplexer 404 kann PHY0 bis PHY3 beinhalten und kann in ein gleiches SoC wie das der Netzwerkschnittstellenvorrichtung 402 integriert sein. Das Taktsignal Clock0 vom Host 410-0 kann an PHY1 weitergeleitet werden und das Taktsignal Clock2 vom Host 410-2 kann an PHY3 weitergeleitet werden. PHY0 kann beispielsweise das Taktsignal 0 Clock0 empfangen und auch das Taktsignal Clock0 an PHY1 weiterleiten, um das Taktsignal Clock1 zuzuführen. PHY2 kann das Taktsignal 2 Clock2 empfangen und auch das Taktsignal Clock2 an PHY3 weiterleiten, um das Taktsignal Clock3 zuzuführen. Der flexible Multiplexer 404 kann mehrere Taktsignale von x8-Systemen, wie denen des Systems aus 4B, unter Verwendung derselben Leiterplatte, die die Hosts 410-0 und 410-1 mit der Netzwerkschnittstellenvorrichtung 402 verbindet, annehmen.
  • 4C stellt eine beispielhafte Konfiguration dar, die den Empfang mehrerer unabhängiger Taktsignale von mehreren Hosts bereitstellt. Die Hosts 420-0 bis 420-2 können dazu konfiguriert sein, sich mit der Netzwerkschnittstellenvorrichtung 402 als ein x8x4x4-Steckmodul zu verbinden, wie zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) beschrieben. In diesem Beispiel kann der integrierte Multiplexer 404 eine x8x4x4-Konfiguration nach OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) unterstützen. Die PHY0 des integrierten Multiplexers 404 kann beispielsweise das Taktsignal 0 (Clock0) von dem Host 0 empfangen und auch das Taktsignal an PHY1 als Taktsignal 1 (Clock1) weiterleiten. Eine PHY2 kann beispielsweise das Taktsignal 2 (Clock2) von dem Host 2 empfangen und PHY3 kann das Taktsignal 3 von dem Host 3 (Clock3) empfangen.
  • 4D stellt eine beispielhafte Konfiguration dar, die eine Verteilung eines Taktsignals auf mehrere PHYs bereitstellt. Der Host 430-0 kann sich mit der Netzwerkschnittstellenvorrichtung 402 als ein x16-Steckmodul verbinden, wie zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) beschrieben. In diesem Beispiel kann der integrierte Multiplexer 404 dazu konfiguriert sein, eine x16-Konfiguration nach OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) zu unterstützen. Die PHY0 kann beispielsweise das Taktsignal 0 (Clock0) empfangen und auch das Taktsignal an PHY1, PHY2 und PHY3 weiterleiten, um auch das Taktsignal 0 als Taktsignale 1-3 (Clock1 bis Clock3) zuzuführen.
  • 4E stellt ein Beispiel für eine Netzwerkschnittstellenvorrichtung dar. Die Netzwerkschnittstellenvorrichtung kann als eine Datenverarbeitungseinheit (DPU) oder eine Infrastrukturverarbeitungseinheit (IPU) implementiert sein. Zum Beispiel kann die DPU 450 Paketverarbeitung 452 (z. B. Ethernet, zuverlässigen Transport, Verschlüsselung/Entschlüsselung), einen Speicher 454 (z. B. flüchtigen Speicher, Cache, persistenten Speicher), Beschleuniger 456 und Prozessoren 458 beinhalten. In manchen Beispielen können die Prozessoren 458 einen Orchestrator (z. B. Kubernetes, Management and Orchestration (MANO), Docker und so weiter) ausführen und Knoten von Prozessoren, Speichern und Netzwerken zur Verwendung durch Prozesse (z. B. virtuelle Maschinen, Container, Mikrodienste, serverlose Anwendungen, Anwendungen und so weiter bilden), die durch Prozessoren 458 oder einen verbundenen Server oder Host ausgeführt werden. In manchen Beispielen können die Prozessoren 458 ein Service-Mesh ausführen, um eine Kommunikation zwischen Mikrodiensten bereitzustellen.
  • 5 stellt ein Beispiel für einen integrierten Multiplexer dar, der sich innerhalb eines SoC mit einer Netzwerkschnittstellenvorrichtung befinden und/oder in eine Vorrichtungsschnittstelle integriert sein kann. In diesem Beispiel beinhaltet der integrierte Multiplexer 500 vier PHYs 502-0 bis 502-3, aber es können andere Anzahlen von PHYs verwendet werden. In Abhängigkeit von einer Taktübertragungskonfiguration von den Registern 510 kann eine PHY ein Taktsignal von einem Host empfangen und das Taktsignal an eine andere PHY übertragen. Zum Beispiel können die PHYs 502-0 bis 502-3 des integrierten Multiplexers 500 Taktsignale gemäß Konfigurationen bereitstellen, die unter Bezugnahme auf 4B bis 4D dargestellt sind, sowie anderen Konfigurationen, die zumindest in OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) beschrieben sind.
  • In manchen Beispielen können die PHYs 502-0 bis 502-3 jeweilige Multiplexer 504-0 bis 504-3 beinhalten, um als Referenztakt (REFCLK) entweder Referenztaktsignale von Hosts (z. B. jeweilige PCIE_REFCLK_P/N[0] bis PCIE_REFCLK_P/N[3]) oder ein übertragenes Referenztaktsignal von einer anderen PHY auszugeben. Die PHY 502-0 kann beispielsweise das Taktsignal PCIE_REFCLK_P/N[0] empfangen und PCIE_REFCLK_P/N[0] über ref_alt_clk_phy3_0_p/n an den Multiplexer 504-1 übertragen. Die PHY 502-1 kann beispielsweise das Taktsignal PCIE_REFCLK_P/N[1] empfangen und PCIE_REFCLK_P/N[1] über ref_alt_clk_phy7_4_p/n an den Multiplexer 504-2 übertragen. Die PHY 502-2 kann beispielsweise das Taktsignal PCIE_REFCLK_P/N[2] empfangen und PCIE_REFCLK _P/N[2] über ref_ alt_ clk_phy1 1_8_p/n an den Multiplexer 504-3 übertragen.
  • Die Register 510 können steuern, ob die Multiplexer 504-0 bis 504-3 ein Referenztaktsignal von einem Host oder ein übertragenes Taktsignal ausgeben. Basierend auf einer Taktübertragungskonfiguration könnten zum Beispiel fuse- oder firmwaregesteuerte Register 510 PHY _REFCLK _CTL.ref_ use_pad programmieren, um zu steuern, ob die Multiplexer 504-0 bis 504-3 Taktsignale von einem Pad (z. B. jeweilige PCI_REFCLK_P/N[0] bis PCI_REFCLK_P/N[3]) übertragen sollen, oder ein übertragenes oder weitergegebenes Taktsignal, um eine PHY _MODE-Konfiguration zumindest in Tabelle 1 zu erreichen. PHY_REFCLK_CTL.ref repeat_clk_en kann angeben, ob einer oder mehrere der Multiplexer 504-0 bis 504-3 ein Taktsignal, das von einem Pad (z. B. PCIE_REFCLK_P/N[0] bis PCIE_REFCLK_P/N[3]) empfangen wurde, an einen anderen Multiplexer weitergeben sollen. In manchen Beispielen können für PHY 502-0 bis 502-3 die Signale ref_alt_clk_phy3_0_p/n, ref_alt_clk_phy7_4_p/n und ref_alt_clk_phy11_8_p/n ein Taktsignal darstellen, das von einer anderen PHY übertragen wurde. Eine Firmware oder ein Vorrichtungstreiber kann Register konfigurieren, um einen ordnungsgemäßen Betriebsmodus auszuwählen.
  • Für die PHY 502-0 bis 502-3 kann die PCS (physical coding sublayer), gemäß zumindest der PIPE-Spezifikation Version 5.0 und vorhergehenden, nachfolgenden oder abgeleiteten Versionen davon, eine Schnittstelle zwischen einer Steuerung und deren PHY bereitstellen. Innerhalb einer PHY kann REFCLK eine Taktsignalausgabe darstellen. Die MPLLA,B-Frequenz kann REFCLK multiplizieren und einen Takt von einem Multiplexer für eine Steuerung und eine PCS-Schicht bereitstellen.
  • 6A bis 6C zeigen beispielhafte Registerwerte zum Steuern, ob ein von einer PHY bereitgestelltes Taktsignal auf einer Pad-Eingabe oder auf einem übertragenen Taktsignal von einem anderen Pad basiert. Zum Beispiel können GLPCI_PORTCONFIG.PHY_MODE, GLPCI_PORTCONFIG.CLOCK_MODE, GLPCI_PORTCONFIG.CLOCK_SHARE, ref_use_pad[3:0] und ref_repext_clk_en[3:0] steuern, welche Phasenregelkreis(PLL - phase locked loop)-Ausgabe zum Bereitstellen eines PHY-Modus gemäß OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) (z. B. 1x16, x8x8, x8x4x4 oder 4x4) zu verwenden ist.
  • Tabelle 1 zeigt ein Beispiel für Werte in Registern für GLPCI_PORTCONFIG.PHY_MODE und GLPCI_PORTCONFIG.CLOCK MODE zum Steuern, welche Phasenregelschleifen(PLL)-Ausgabe zum Bereitstellen eines PHY-Modus gemäß OCP NIC 3.0, Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon) (z. B. 1x16, x8x8, x8x4x4 oder 4x4) zu verwenden ist. Tabelle 1
    GLPCI_PORTCONFIG. MPLL-Taktquelle
    PHY_MODE CLOCK _ MODE MPLL_0 MPLL_1 MPLL_2 MPLL_3
    00 (1x16) K. A. 0 0 0 0
    01 (x8x8) 0 0 0 1 1
    01 (x8x8) 1 0 0 2 2
    10 (x8x4x4) 0 0 0 1 2
    10 (x8x4x4) 1 0 0 2 3
    11 (4x4) K. A. 0 1 2 3
  • Bezug nehmend auf 5 und Tabelle 1 können MPLL_0 bis MPLL_3 eine PHY-Zahl darstellen, die einer Taktsignalausgabe von jeweiligen PHYs 502-0 bis 502-3 zugeordnet ist. Zum Beispiel kann ein MPLL_0 von 0 darstellen, dass eine Taktquelle von der PHY 502-0 stammt. Zum Beispiel kann ein MPLL_1 von 0 darstellen, dass eine Taktquelle von der PHY 502-0 stammt, wohingegen ein MPLL_1 von 1 darstellen kann, dass eine Taktquelle von der PHY 502-1 stammt. Zum Beispiel kann ein MPLL_2 von 0 darstellen, dass eine Taktquelle von der PHY 502-0 stammt, ein MPLL_2 von 1 kann darstellen, dass eine Taktquelle von der PHY 502-1 stammt, oder ein MPLL_2 von 2 kann darstellen, dass eine Taktquelle von der PHY 502-2 stammt. Zum Beispiel kann ein MPLL_3 von 0 darstellen, dass eine Taktquelle von der PHY 502-0 stammt, ein MPLL_2 von 1 kann darstellen, dass eine Taktquelle von der PHY 502-1 stammt, ein MPLL_3 von 2 kann darstellen, dass eine Taktquelle von der PHY 502-2 stammt, oder ein MPLL_3 von 3 kann darstellen, dass eine Taktquelle von der PHY 502-3 stammt.
  • Die Taktsignale der PHYs 502-0 bis 502-3 können als Taktsignale für verschiedene Hostsysteme in Verbindung mit Paketübertragungstaktung und Zeitstempelung oder Paketempfangstaktung und Zeitstempelung oder für Datenverarbeitungs- oder Speicheroperationen genutzt werden.
  • 7 stellt einen beispielhaften Prozess dar. Der Prozess kann von einem Multiplexer ausgeführt werden, der in eine Netzwerkschnittstellenvorrichtung oder eine andere Vorrichtung integriert ist. Es sei angemerkt, dass der Prozess aus 7 auf eine oder mehrere Bitübertragungsschicht-Schnittstellen angewandt werden kann, die Teil des Multiplexers oder einer Vorrichtungsschnittstelle sind. Bei 702 kann ein Multiplexer, der in ein System-on-Chip mit einer Vorrichtung integriert ist, konfiguriert sein, um eine Taktsignalausgabe basierend auf einem Quellentaktsignal und einem Konfigurationsmodus bereitzustellen. Ein Konfigurationsmodus kann beispielsweise angeben, ob eine Bitübertragungsschicht-Schnittstelle dazu ausgelegt ist, (a) ein Taktsignal basierend auf einem an einem Kontaktpad empfangenen Quellentaktsignal auszugeben, (b) ein Taktsignal basierend auf einem Quellentaktsignal, das von einer anderen Bitübertragungsschicht-Schnittstelle übertragen wurde, auszugeben, und/oder (c) ein Quellentaktsignal an eine oder mehrere andere Bitübertragungsschicht-Schnittstellen zu übertragen. Zum Beispiel kann ein Konfigurationsmodus Konfigurationen, wie etwa x16, x8x8, x8x4x4 oder 4x4 nach OCP Version 1.1.0 (sowie früheren Versionen, späteren Versionen und Ableitungen davon), beinhalten. In manchen Beispielen kann die Konfiguration des Multiplexers unter Verwenden von Werten in einem Register oder in Registern durchgeführt werden.
  • Bei 704 kann der Multiplexer in Reaktion auf ein empfangenes Quellentaktsignal und basierend auf der Konfiguration des Multiplexers ein oder mehrere Taktsignale zur Verwendung durch die Vorrichtung und/oder durch eine oder mehrere andere Bitübertragungsschicht-Schnittstellen ausgeben. Die Taktsignalausgaben können beispielsweise zur Verwendung durch eine Netzwerkschnittstellenvorrichtung zum zeitlichen Planen der Paketübertragung und/oder des -empfangs verfügbar gemacht werden. Eine Vorrichtungsschnittstelle kann die Taktsignale nutzen, um eine Datenübertragung über Spuren zeitlich zu planen.
  • 8 stellt ein beispielhaftes Rechensystem dar. Das System 800 kann verwendet werden, um einen Multiplexer der Netzwerkschnittstellenvorrichtung 850 zu programmieren, um ein oder mehrere Taktsignale basierend auf einem Quellentaktsignal und einem Konfigurationsmodus, wie hier beschrieben, bereitzustellen. Der Prozessor 810 kann einen beliebigen Typ von Mikroprozessor, Zentralverarbeitungseinheit (CPU), Grafikverarbeitungseinheit (GPU), Verarbeitungskern oder anderer Verarbeitungshardware zum Bereitstellen von Verarbeitung für das System 800 oder eine Kombination von Prozessoren beinhalten. Der Prozessor 810 steuert den Gesamtbetrieb des Systems 800 und kann ein oder mehrere programmierbare Universal- oder Spezialmikroprozessoren, Digitalsignalprozessoren (DSPs), programmierbare Steuerungen, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare logische Schaltungen (PLDs - programmable logic devices) oder dergleichen oder eine Kombination solcher Vorrichtungen sein oder beinhalten.
  • In einem Beispiel beinhaltet das System 800 eine Schnittstelle 812, die mit dem Prozessor 810 gekoppelt ist, die eine Schnittstelle mit höherer Geschwindigkeit oder eine Schnittstelle mit hohem Durchsatz für Systemkomponenten darstellen kann, die Verbindungen mit höherer Bandbreite benötigt, wie etwa das Speichersubsystem 820 oder die Grafikschnittstellenkomponenten 840 oder die Beschleuniger 842. Die Schnittstelle 812 stellt eine Schnittstellenschaltung dar, die eine eigenständige Komponente sein oder auf einem Prozessor-Die integriert sein kann. Wo vorhanden, ist die Grafikschnittstelle 840 mit Grafikkomponenten verknüpft, um einem Benutzer des Systems 800 eine visuelle Anzeige bereitzustellen. In einem Beispiel kann die Grafikschnittstelle 840 eine HD(High Definition)-Anzeige ansteuern, die einem Benutzer eine Ausgabe bereitstellt. High Definition kann sich auf eine Anzeige mit einer Pixeldichte von näherungsweise 100 PPI (Pixel pro Zoll) oder mehr beziehen und kann Formate, wie etwa Full HD (z. B. 1080 p), Retina-Displays, 4K (Ultra-High Definition oder UHD) oder andere beinhalten. In einem Beispiel kann die Anzeige eine Berührungsbildschirmanzeige beinhalten. In einem Beispiel generiert die Grafikschnittstelle 840 eine Anzeige auf Grundlage von Daten, die in einem Speicher 830 gespeichert sind, oder auf Grundlage von Operationen, die vom Prozessor 810 ausgeführt werden, oder von beidem. In einem Beispiel generiert die Grafikschnittstelle 840 eine Anzeige basierend auf Daten, die in dem Speicher 830 gespeichert sind, oder basierend auf Operationen, die durch den Prozessor 810 ausgeführt werden, oder beidem.
  • Die Beschleuniger 842 können eine Festfunktions- oder programmierbare Offload-Engine sein, auf die von einem Prozessor 810 zugegriffen werden kann oder die von diesem verwendet werden kann. Ein Beschleuniger unter den Beschleunigern 842 kann zum Beispiel Komprimierungsfähigkeit (DC-Fähigkeit), Kryptographiedienste, wie etwa Verschlüsselung mit öffentlichem Schlüssel (public key encryption - PKE), Chiffrierung, Hash-/Authentifizierungsfähigkeiten, Entschlüsselung oder andere Fähigkeiten oder Dienste bereitstellen. Bei manchen Ausführungsformen stellt ein Beschleuniger unter den Beschleunigern 842 zusätzlich oder alternativ Feldauswahlsteuerungsfähigkeiten, wie hier beschrieben, bereit. In manchen Fällen können die Beschleuniger 842 in einem CPU-Socket (z. B. einem Anschluss zu einer Hauptplatine oder Leiterplatte, die eine CPU beinhaltet und eine elektrische Schnittstelle mit der CPU bereitstellt) integriert sein. Die Beschleuniger 842 können zum Beispiel einen Einzel- oder Mehrkernprozessor, eine Grafikverarbeitungseinheit, einen Einzel- oder Mehrebenen-Cache einer logischen Ausführungseinheit, Funktionseinheiten, die zum unabhängigen Ausführen von Programmen oder Threads verwendet werden können, anwendungsspezifische integrierte Schaltungen (ASIC), Prozessoren für neuronale Netzwerke (NNP), programmierbare Steuerlogik und programmierbare Verarbeitungselemente, wie zum Beispiel feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare logische Schaltungen (PLD) beinhalten. Die Beschleuniger 842 können mehrere neuronale Netzwerke, CPUs, Prozessorkerne, Universal-Grafikverarbeitungseinheiten bereitstellen, oder Grafikverarbeitungseinheiten können zur Verwendung durch Künstliche Intelligenz(AI)- oder Maschinelles Lernen(ML)-Modelle verfügbar gemacht werden. Zum Beispiel kann das AI-Modell eines oder mehrere von Folgenden verwenden oder beinhalten: ein Verstärkungslernschema, ein Q-Lernschema, Deep-Q-Lernen oder Asynchronous Advantage Actor-Critic (A3C), ein kombinatorisches neuronales Netzwerk, ein rekurrentes kombinatorisches neuronales Netzwerk oder ein anderes AI- oder ML-Modell. Mehrere neuronale Netze, Prozessorkerne oder Grafikverarbeitungseinheiten können zur Verwendung durch AI- oder ML-Modelle bereitgestellt werden.
  • Das Speichersubsystem 820 stellt den Hauptspeicher des Systems 800 dar und stellt Datenspeicher für Code, der vom Prozessor 810 ausgeführt werden soll, oder Datenwerte, die beim Ausführen einer Routine verwendet werden sollen, bereit. Das Speichersubsystem 820 kann eine oder mehrere Speichervorrichtungen 830, wie etwa einen Festwertspeicher (ROM), einen Flash-Speicher, eine oder mehrere Arten von Direktzugriffsspeicher (RAM), wie etwa DRAM, oder andere Speichervorrichtungen oder eine Kombination solcher Vorrichtungen beinhalten. Der Speicher 830 speichert und hostet unter anderem das Betriebssystem (OS) 832, um eine Software-Plattform zur Ausführung von Anweisungen in dem System 800 bereitzustellen. Zusätzlich dazu können Anwendungen 834 auf der Softwareplattform des OS 832 aus dem Speicher 830 ausgeführt werden. Die Anwendungen 834 stellen Programme dar, die ihre eigene Betriebslogik zum Durchführen einer Ausführung von einer oder mehreren Funktionen aufweisen. Die Prozesse 836 stellen Agenten oder Routinen dar, die dem OS 832 oder einer oder mehreren Anwendungen 834 oder einer Kombination davon Hilfsfunktionen bereitstellen. Das OS 832, die Anwendungen 834 und Prozesse 836 stellen Softwarelogik bereit, um Funktionen für das System 800 bereitzustellen. In einem Beispiel beinhaltet das Speichersubsystem 820 die Speichersteuereinheit 822, die eine Speichersteuereinheit zum Erzeugen und Ausgeben von Befehlen an den Speicher 830 ist. Es versteht sich, dass die Speichersteuereinheit 822 ein physischer Teil des Prozessors 810 oder ein physischer Teil der Schnittstelle 812 sein kann. Beispielsweise kann die Speichersteuereinheit 822 eine integrierte Speichersteuereinheit sein, die in eine Schaltung mit dem Prozessor 810 integriert ist.
  • In manchen Beispielen kann das OS 832 Linux®, Windows®-Server oder Personal Computer, FreeBSD®, Android®, MacOS®, iOS®, VMware vSphere, openSUSE, RHEL, CentOS, Debian, Ubuntu oder ein beliebiges anderes Betriebssystem sein. Das OS und der Treiber können auf einer CPU ausgeführt werden, die unter anderem von Intel®, ARM®, AMD®, QualCommon®, IBM®, Texas Instruments® vertrieben oder gestaltet wird. In manchen Beispielen kann ein Vorrichtungstreiber die Netzwerkschnittstellenvorrichtung 850 oder eine andere Vorrichtung dazu konfigurieren, Taktsignalausgaben gemäß einem Betriebsmodus zumindest basierend auf OCP NIC 3.0, Version 1.1.0 (2021) (sowie früheren Versionen, späteren Versionen und Ableitungen davon) bereitzustellen.
  • Obwohl dies nicht speziell veranschaulicht ist, versteht es sich, dass das System 800 einen oder mehrere Busse oder Bussysteme zwischen Vorrichtungen beinhalten kann, wie etwa einen Speicherbus, einen Grafikbus, Schnittstellenbusse oder andere. Die Busse oder andere Signalleitungen können Komponenten kommunikativ oder elektrisch miteinander koppeln oder die Komponenten sowohl kommunikativ als auch elektrisch koppeln. Die Busse können physische Kommunikationsleitungen, Punkt-zu-Punkt-Verbindungen, Brücken, Adapter, Steuereinheiten oder andere Schaltungen oder eine Kombination davon beinhalten. Busse können zum Beispiel einen Systembus und/oder einen Peripheral Component Interconnect (PCI)-Bus und/oder einen Hyper Transport- oder Industriestandard-Architektur(ISA)-Bus und/oder einen Small Computer System Interface (SCSI)-Bus und/oder einen Universal Serial Bus (USB) bzw. einen Standard-1394-Bus des Institute of Electrical and Electronics Engineers (IEEE) (Firewire) beinhalten.
  • In einem Beispiel umfasst das System 800 die Schnittstelle 814, die mit der Schnittstelle 812 gekoppelt sein kann. In einem Beispiel stellt die Schnittstelle 814 eine Schnittstellenschaltung dar, die eigenständige Komponenten und eine integrierte Schaltungsanordnung beinhalten kann. In einem Beispiel sind mehrere Benutzerschnittstellenkomponenten oder Peripheriekomponenten oder beide mit der Schnittstelle 814 gekoppelt. Die Netzwerkschnittstelle 850 stellt dem System 800 die Fähigkeit bereit, mit entfernten Vorrichtungen (z. B. Servern oder anderen Rechenvorrichtungen) über ein oder mehrere Netzwerke zu kommunizieren. Die Netzwerkschnittstelle 850 kann einen Ethernet-Adapter, Drahtlosverbindungskomponenten, Mobilfunknetzwerk-Verbindungskomponenten, einen USB (Universal Serial Bus) oder andere drahtgebundene oder drahtlose standardbasierte oder herstellereigene Schnittstellen beinhalten. Die Netzwerkschnittstelle 850 kann Daten an eine Vorrichtung übertragen, die sich in demselben Rechenzentrum oder Rack befindet, oder an eine entfernten Vorrichtung, was Senden von im Speicher gespeicherten Daten beinhalten kann.
  • Einige Beispiele des Netzwerkgeräts 850 sind Teil einer Infrastrukturverarbeitungseinheit (IPU) oder einer Datenverarbeitungseinheit (DPU) oder werden durch eine IPU oder DPU verwendet. Eine xPU kann sich mindestens auf eine IPU, DPU, GPU, GPGPU oder andere Verarbeitungseinheiten (z. B. Beschleunigervorrichtungen) beziehen. Eine IPU oder DPU kann eine Netzwerkschnittstelle mit einer oder mehreren programmierbaren Pipelines oder Festfunktionsprozessoren beinhalten, um ein Auslagern von Operationen auszuführen, die durch eine CPU hätten ausgeführt werden können. Die IPU oder DPU kann eine oder mehrere Speichervorrichtungen beinhalten. In manchen Beispielen kann die IPU oder DPU virtuelle Schaltoperationen ausführen, Speichertransaktionen (z. B. Komprimierung, Kryptographie, Virtualisierung) verwalten und Operationen verwalten, die auf anderen IPU, DPU, Servern oder Geräten ausgeführt werden.
  • In einem Beispiel beinhaltet das System 800 eine oder mehrere Eingabe/Ausgabe- bzw. E/A-Schnittstellen 860. Die E/A-Schnittstelle 860 kann eine oder mehrere Schnittstellenkomponenten beinhalten, über die ein Benutzer mit dem System 800 interagiert (z. B. Audioschnittstellen, alphanumerische, taktile/berührungsempfindliche oder andere Schnittstellen). Die Peripherieschnittstelle 870 kann eine beliebige Hardwareschnittstelle beinhalten, die vorstehend nicht speziell erwähnt ist. Die Peripherieeinrichtungen beziehen sich allgemein auf Vorrichtungen, die in einer von dem System 800 abhängigen Weise angeschlossen sind. Eine abhängige Verbindung ist eine Verbindung, bei der das System 800 die Softwareplattform oder die Hardwareplattform oder beide bereitstellt, auf denen die Operation ausgeführt wird und mit der ein Benutzer interagiert.
  • In einem Beispiel beinhaltet das System 800 das Datenspeichersubsystem 880, um Daten auf eine nichtflüchtige Weise zu speichern. In einem Beispiel können sich in bestimmten Systemimplementierungen zumindest bestimmte Komponenten des Datenspeichers 880 mit Komponenten des Speichersubsystems 820 überschneiden. Das Datenspeichersubsystem 880 beinhaltet eine oder mehrere Datenspeichervorrichtungen 884, die ein beliebiges herkömmliches Medium zum Speichern großer Datenmengen auf nichtflüchtige Weise sein können oder beinhalten können, wie etwa eine oder mehrere magnetische, Festkörper- oder optische Platten oder eine Kombination davon. Der Datenspeicher 884 hält Code oder Anweisungen und Daten 886 in einem persistenten Zustand (z. B. wird der Wert trotz Unterbrechung der Energieversorgung des Systems 800 beibehalten). Der Datenspeicher 884 kann allgemein als ein „Speicher“ betrachtet werden, obwohl der Speicher 830 in der Regel der Ausführungs- oder Arbeitsspeicher ist, um dem Prozessor 810 Anweisungen bereitzustellen. Während der Datenspeicher 884 nichtflüchtig ist, kann der Speicher 830 flüchtigen Speicher beinhalten (z. B. ist der Wert oder Zustand der Daten unbestimmt, falls die Stromversorgung zum System 800 unterbrochen wird). In einem Beispiel beinhaltet das Datenspeichersubsystem 880 eine Steuerung 882 zum Anschließen an den Datenspeicher 884. In einem Beispiel ist die Steuerung 882 ein physikalischer Teil der Schnittstelle 814 oder des Prozessors 810, oder kann Schaltungen oder Logik sowohl in dem Prozessor 810 als auch in der Schnittstelle 814 beinhalten.
  • Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und damit die in ihm gespeicherten Daten) unbestimmt ist, wenn die Energiezufuhr zu der Vorrichtung unterbrochen ist. Dynamischer flüchtiger Speicher verwendet Auffrischen der in der Vorrichtung gespeicherten Daten, um den Zustand aufrechtzuerhalten. Ein Beispiel für dynamischen flüchtigen Speicher umfasst DRAM (Dynamic Random Access Memory) oder eine Variante, wie zum Beispiel Synchronous DRAM (SDRAM). Ein Beispiel für einen flüchtigen Speicher beinhaltet einen Cache. Ein Speichersubsystem, wie es hier beschrieben wird, kann mit einer Reihe von Speichertechnologien kompatibel sein, wie etwa mit DDR3 (Double Data Rate Version 3, Originalversion von JEDEC (Joint Electronic Device Engineering Council) am 16. Juni 2007). DDR4 (DDR Version 4, erste Spezifikation veröffentlicht im September 2012 von JEDEC), DDR4E (DDR Version 4), LPDDR3 (Low Power DDR Version 3, JESD209-3B, August 2013 von JEDEC), LPDDR4) LPDDR Version 4, JESD209-4, ursprünglich veröffentlicht von JEDEC im August 2014), WIO2 (Wide Input/Output Version 2, JESD229-2, ursprünglich veröffentlicht von JEDEC im August 2014, HBM (High Bandwidth Memory, JESD325, ursprünglich veröffentlicht von JEDEC im Oktober 2013, LPDDR5 (gegenwärtig diskutiert von JEDEC), HBM2 (HBM Version 2), gegenwärtig diskutiert von JEDEC, oder andere oder Kombinationen von Speichertechnologien und Technologien basierend auf Ableitungen oder Erweiterungen derartiger Spezifikationen.
  • Eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) ist ein Speicher, dessen Zustand bestimmt ist, auch wenn die Energiezufuhr zur Vorrichtung unterbrochen ist. In einem Beispiel kann die NVM-Vorrichtung eine blockadressierbare Speichervorrichtung umfassen, wie NAND-Technologien oder genauer NAND-Flashspeicher mit mehreren Schwellenpegeln (zum Beispiel eine Einzelpegelzelle („SLC“), eine Mehrpegelzelle („MLC“), Vierpegel-Zelle („QLC“), Dreipegelzelle („TLC“) oder einen anderen NAND). Eine NVM-Vorrichtung kann auch eine byteadressierbare dreidimensionale Write-in-Place Crosspoint-Speichervorrichtung oder eine andere byteadressierbare Write-in-Place NVM-Vorrichtung (auch als persistenter Speicher bezeichnet) umfassen, wie etwa Ein- oder Mehrebenen-Phasenwechselspeicher (PCM) oder Phasenwechselspeicher mit Switch (PCMS), Intel® Optane™-Speicher, NVM-Vorrichtungen, die Chalkogenid-Phasenwechselmaterial verwenden (zum Beispiel Chalkogenidglas), resistiven Speicher einschließlich Metalloxidbasis-, Sauerstoffleerstellen-Basis- und Conductive Bridge-Direktzugriffsspeicher (CB-RAM), Nanodrahtspeicher, ferroelektrischen Direktzugriffsspeicher (FeRAM, FRAM), magnetoresistiven Direktzugriffsspeicher (MRAM), der Memristortechnologie beinhaltet, Spin Transfer Torque (STT)-MRAM, eine Vorrichtung auf Basis eines Spintronik-Magnetübergangsspeichers, eine Vorrichtung auf Basis von Magnettunnelübergang (MTJ), eine Vorrichtung auf Basis von DW (Domänenwand) und SOT (Spin Orbit Transfer), eine Speichervorrichtung auf Basis von Thyristoren oder eine Kombination eines oder mehrerer der oben genannten oder anderer Speicher.
  • Eine (nicht dargestellte) Stromquelle stellt Energie für die Komponenten des Systems 800 bereit. Insbesondere hat die Stromquelle in der Regel eine Schnittstelle mit einer oder mehreren Energieversorgungen in dem System 800, um den Komponenten des Systems 800 Energie bereitzustellen. In einem Beispiel beinhaltet die Energieversorgung einen AC-DC (Wechselstrom zu Gleichstrom)-Adapter zum Einstecken in eine Wandsteckdose. Ein solcher Wechselstrom kann eine Stromquelle mit erneuerbarer Energie (z. B. Solarenergie) sein. In einem Beispiel beinhaltet die Energiequelle eine Gleichstromquelle, wie zum Beispiel einen externen AC-DC-Wandler. In einem Beispiel beinhaltet die Energiequelle oder die Energieversorgung drahtlose Lade-Hardware zum Laden über die Nähe zu einem Ladefeld. In einem Beispiel kann die Energiequelle eine interne Batterie, eine Wechselstromversorgung, eine bewegungsbasierte Energieversorgung, eine Solarenergieversorgung oder eine Brennstoffzellenquelle beinhalten.
  • In einem Beispiel kann das System 800 durch Verwenden von miteinander verbundenen Rechen-Sleds von Prozessoren, Speichern, Datenspeichern, Netzwerkschnittstellen und anderen Komponenten implementiert sein. Hochgeschwindigkeitsverbindungen können verwendet werden, wie zum Beispiel: Ethernet (IEEE 802.3), Remote Direct Memory Access (RDMA), 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), Omni-Path, Compute Express Link (CXL), HyperTransport, Hochgeschwindigkeits-Fabric, NVLink, eine Zwischenverbindung der Advanced Microcontroller Bus Architecture (AMBA), OpenCAPI, Gen-Z, Infinity Fabric (IF), Cache Coherent Interconnect for Accelerators (CCIX), 3GPP Long Term Evolution (LTE) (4G), 3GPP 5G und Variationen davon. Daten können in virtualisierte Datenspeicherknoten kopiert oder gespeichert werden, oder durch Verwenden eines Protokolls, wie zum Beispiel NVMe over Fabrics (NVMe-oF) oder NVMe, zugänglich sein.
  • Ausführungsformen können hier in verschiedenen Typen von Datenverarbeitungs-, Smartphone-, Tablet-, Personal Computer- und Netzwerkausrüstung implementiert sein, wie zum Beispiel Switches, Router, Racks und Blade-Servern, wie zum Beispiel jenen, die in einem Rechenzentrum und/oder einer Serverfarmumgebung eingesetzt werden. Die in Rechenzentren und Serverfarmen verwendeten Server umfassen gereihte Serverkonfigurationen, wie zum Beispiel rackbasierte Server oder Blade-Server. Diese Server stehen über verschiedene Netzwerkeinrichtungen miteinander in Kommunikation, wie zum Beispiel Partitionssätze von Servern in Local Area Networks (LAN) mit geeigneten Schalt- und Routingeinrichtungen zwischen den LAN, um ein privates Intranet zu bilden. Cloud-Hosting-Einrichtungen können beispielsweise in der Regel große Rechenzentren mit einer Vielzahl von Servern einsetzen. Ein Blade umfasst eine separate Rechenplattform, die dazu konfiguriert ist, Servertyp-Funktionen durchzuführen, das heißt einen „Server auf einer Karte“. Dementsprechend beinhaltet jedes Blade Komponenten, die bei herkömmlichen Servern üblich sind, einschließlich einer Hauptleiterplatte (Hauptplatine), die interne Verdrahtung (z. B. Busse) zum Koppeln geeigneter integrierter Schaltungen (ICs) bereitstellt, und anderer Komponenten, die auf der Platine montiert sind.
  • In manchen Beispielen können die Netzwerkschnittstelle und andere hier beschriebene Ausführungsformen in Verbindung mit einer Basisstation (z. B. 3G, 4G, 5G und so weiter), einer Makrobasisstation (z. B. 5G-Netzwerke), einer Pikostation (z. B. einem IEEE 802.11-kompatiblen Zugangspunkt), einer Nanostation (z. B. für Point-to-MultiPoint (PtMP)-Anwendungen), On-Premises-Rechenzentren, Off-Premises-Rechenzentren, Edge-Netzwerkelementen, Fog-Netzwerkelementen und/oder hybriden Rechenzentren (z. B. Rechenzentren, die Virtualisierung, Cloud und softwaredefiniertes Networking verwenden, um Anwendungsarbeitslasten über physische Rechenzentren und verteilte Multi-Cloud-Umgebungen hinweg zuzustellen) verwendet werden.
  • Verschiedene Beispiele können durch Verwenden von Hardware-Elementen, Software-Elementen oder einer Kombination von beiden implementiert werden. In manchen Beispielen können Hardware-Elemente Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, ASIC, PLD, DSP, FPGA, Speichereinheiten, Logikgatter, Register, Halbleitergeräte, Chips, Mikrochips, Chipsätze und so weiter umfassen. In manchen Beispielen können Software-Elemente Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Software-Schnittstellen, API, Anweisungssätze, Datenverarbeitungs-Code, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder jegliche Kombination davon umfassen. Das Bestimmen, ob ein Beispiel durch Verwenden von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann gemäß jeglicher Anzahl von Faktoren variieren, wie zum Beispiel einer gewünschten Berechnungsrate, Energiepegeln, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und anderen Design- oder Leistungsfähigkeitsbeschränkungen, wie für eine gegebene Implementierung gewünscht. Ein Prozessor kann eine oder mehrere Kombinationen aus einer Hardware-Statusautomatik, digitaler Steuerlogik, einer Zentralverarbeitungseinheit oder jeglicher Hardware-, Firmware- und/oder Software-Elemente sein.
  • Einige Beispiele können durch Verwenden eines oder als ein Herstellungsartikel oder mindestens ein computerlesbares Medium implementiert sein. Ein computerlesbares Medium kann ein nichtflüchtiges Datenspeichermedium zum Speichern von Logik beinhalten. In manchen Beispielen kann das nichtflüchtige Datenspeichermedium einen oder mehrere Typen computerlesbarer Datenspeichermedien beinhalten, die geeignet sind, elektronische Daten zu speichern, einschließlich flüchtigen Speichers oder nichtflüchtigen Speichers, austauschbaren oder nicht austauschbaren Speichers, löschbaren oder nicht löschbaren Speichers, beschreibbaren oder wiederbeschreibbaren Speichers und so weiter. In manchen Beispielen kann die Logik verschiedene Software-Elemente, wie zum Beispiel Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, API, Anweisungssätze, Datenverarbeitungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder jegliche Kombination davon umfassen.
  • Gemäß einigen Beispielen kann ein computerlesbares Medium ein nichtflüchtiges Datenspeichermedium zum Speichern oder Aufrechterhalten von Anweisungen beinhalten, die, wenn durch eine Maschine, ein Datenverarbeitungsgerät oder -System ausgeführt, die Maschine, das Datenverarbeitungsgerät oder -System dazu veranlassen, Verfahren und/oder Operationen gemäß den beschriebenen Beispielen auszuführen. Die Anweisungen können jeglichen geeigneten Typ von Code umfassen, wie zum Beispiel Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code und dergleichen. Die Anweisungen können gemäß einer vordefinierten Computersprache, Art und Weise oder Syntax implementiert werden, um eine Maschine, ein Datenverarbeitungsgerät oder -System anzuweisen, eine bestimmte Funktion auszuführen. Die Anweisungen können durch Verwenden jeglicher geeigneten höheren, niedrigeren, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache implementiert werden.
  • Ein oder mehrere Aspekte mindestens eines Beispiels können durch repräsentative Anweisungen implementiert werden, die auf mindestens einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors darstellt, die, wenn durch eine Maschine, ein Datenverarbeitungsgerät oder -System gelesen, die Maschine, das Datenverarbeitungsgerät oder -System dazu veranlasst, Logik zum Ausführen der hier beschriebenen Techniken herzustellen. Diese Repräsentationen, bekannt als „IP-Kerne“, können auf einem dinghaften maschinenlesbaren Medium gespeichert und für verschiedene Kunden oder Herstellungseinrichtungen bereitgestellt werden, um sie in die Herstellungsmaschinen zu laden, die die Logik oder den Prozessor tatsächlich herstellen.
  • Das Auftreten des Ausdrucks „ein Beispiel“ bezieht sich nicht notwendigerweise immer auf dasselbe Beispiel oder dieselbe Ausführungsform. Jeder hier beschriebene Aspekt kann mit jedem anderen oder ähnlichen hier beschriebenen Aspekt kombiniert werden, unabhängig davon, ob die Aspekte bezogen auf dieselbe Figur oder dasselbe Element beschrieben sind. Eine Unterteilung, Weglassung oder Einschließung von in den begleitenden Figuren abgebildeten Blockfunktionen bedeutet nicht, dass die Hardwarekomponenten, Schaltungen, Software und/oder Elemente zum Implementieren dieser Funktionen notwendigerweise in Ausführungsformen unterteilt, weggelassen oder eingeschlossen sein müssen.
  • Manche Beispiele können unter Verwenden des Ausdrucks „gekoppelt“ und „verbunden“ mit ihren jeweiligen Ableitungen beschrieben sein. Diese Begriffe sind nicht notwendigerweise als synonym zueinander zu betrachten. Zum Beispiel können Beschreibungen unter Verwendung der Begriffe „verbunden“ und/oder „gekoppelt“ angeben, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander stehen. Der Ausdruck „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch zusammenwirken oder miteinander interagieren.
  • Die Ausdrücke „erster“, „zweiter“ und dergleichen bezeichnen hier keine Reihenfolge, Quantität oder Wichtigkeit, sondern werden vielmehr verwendet, um ein Element von einem anderen zu unterscheiden. Die Ausdrücke „ein/eine/eines“ bezeichnen hier keine Mengenbegrenzung, sondern bezeichnen das Vorhandensein wenigstens eines der genannten Gegenstände. Der Ausdruck „gesetzt“, der hier unter Bezugnahme auf ein Signal verwendet wird, bezeichnet einen Zustand des Signals, in dem das Signal aktiv ist und der durch Anwenden eines beliebigen Logikpegels, entweder logisch 0 oder logisch 1, auf das Signal erreicht werden kann. Die Ausdrücke „folgen“ oder „nach“ können unmittelbar nachfolgend oder nach einem oder mehreren anderen Ereignis(sen) folgend bedeuten. Andere Abfolgen von Operationen können auch gemäß alternativen Ausführungsformen durchgeführt werden. Ferner können zusätzliche Operationen hinzugefügt oder entfernt werden, abhängig von den bestimmten Anwendungen. Eine beliebige Kombination von Änderungen kann verwendet werden und Durchschnittsfachleute mit dem Vorteil dieser Offenbarung würden die vielen Variationen, Modifikationen und alternativen Ausführungsformen davon verstehen.
  • Disjunktive Sprache, wie etwa der Ausdruck „wenigstens eines von X, Y oder Z“, sofern nicht ausdrücklich anders angegeben, wird in dem Kontext verstanden, wie er allgemein verwendet wird, um darzustellen, dass ein Element, ein Begriff usw. entweder X, Y oder Z oder eine beliebige Kombination davon sein kann (z. B. X, Y und/oder Z). Somit soll und sollte eine solche disjunktive Ausdrucksweise im Allgemeinen nicht implizieren, dass bestimmte Ausführungsformen erfordern, dass jeweils wenigstens eines von X, wenigstens eines von Y oder wenigstens eines von Z vorhanden ist. Zusätzlich sollte konjunktive Sprache, wie etwa der Ausdruck „mindestens eines von X, Y und Z“, sofern nicht ausdrücklich anders angegeben, auch als X, Y, Z oder eine beliebige Kombination davon verstanden werden, einschließlich „X, Y und/oder Z“.
  • Veranschaulichende Beispiele der hier offenbarten Vorrichtungen, Systeme und Verfahren sind nachstehend bereitgestellt. Eine Ausführungsform der Vorrichtungen, Systeme und Verfahren kann ein oder mehrere jegliche sowie eine jegliche Kombination der nachstehend beschriebenen Beispiele beinhalten.
  • Beispiel 1 beinhaltet ein oder mehrere Beispiele und beinhaltet eine Einrichtung, die Folgendes umfasst: ein System-on-a-Chip (SoC), das Folgendes umfasst: einen in das SoC integrierten Multiplexer, wobei der Multiplexer eine oder mehrere Bitübertragungsschicht(PHY)-Schaltungsanordnungen umfasst und der Multiplexer dazu ausgelegt ist, ein oder mehrere Taktsignale zu empfangen und das eine oder die mehreren Taktsignale basierend auf einer Taktübertragungskonfiguration an die eine oder die mehreren PHY-Schaltungsanordnungen zu verteilen, um mehrere Taktverteilungsschemata zu unterstützen.
  • Beispiel 2 beinhaltet ein oder mehrere Beispiele, wobei das eine oder die mehreren Taktsignale von mindestens einem Host empfangen werden, der eines oder mehrere von Folgendem umfasst: eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Beschleuniger, einen Speicherpool, ein an ein Netzwerk angeschlossenes Gerät und/oder eine Datenspeichervorrichtung.
  • Beispiel 3 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an mehrere PHY-Schaltungsanordnungen und ein zweites Taktsignal an mehrere zweite PHY-Schaltungsanordnungen zu verteilen.
  • Beispiel 4 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung; ein zweites Taktsignal an eine zweite PHY-Schaltungsanordnung; ein drittes Taktsignal an eine dritte PHY-Schaltungsanordnung; und ein viertes Taktsignal an eine vierte PHY-Schaltungsanordnung.
  • Beispiel 5 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung und ein drittes Taktsignal an eine dritte PHY-Schaltungsanordnung und an eine vierte PHY-Schaltungsanordnung.
  • Beispiel 6 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung; ein zweites Taktsignal an eine dritte PHY-Schaltungsanordnung; und ein drittes Taktsignal an eine vierte PHY-Schaltungsanordnung.
  • Beispiel 7 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle beinhaltet.
  • Beispiel 8 beinhaltet ein oder mehrere Beispiele, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und zum (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.
  • Beispiel 9 beinhaltet ein oder mehrere Beispiele, wobei der Multiplexer dazu ausgelegt ist, eines oder mehrere von Folgendem zu unterstützen: gemeinsame Taktung mit einer Zentralverarbeitungseinheit (CPU) eines einzelnen Hosts, gemeinsame, aber unabhängige Taktung mit mehreren Host-CPUs und/oder Taktung zur hybriden Datenspeicherung.
  • Beispiel 10 beinhaltet ein oder mehrere Beispiele, die mindestens einen Hostserver umfassen, wobei der mindestens eine Hostserver unter Verwendung einer Leiterplatte leitfähig mit dem SoC gekoppelt ist und wobei der mindestens eine Hostserver dazu ausgelegt ist, das SoC mit der Taktübertragungskonfiguration zu konfigurieren.
  • Beispiel 11 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle umfasst, und er ein Rechenzentrum umfasst, das den mindestens einen Hostserver umfasst, wobei das Rechenzentrum ein Empfängerhostsystem zum Empfangen von Paketen von der Netzwerkschnittstellenvorrichtung umfasst.
  • Beispiel 12 beinhaltet ein oder mehrere Beispiele und beinhaltet ein Verfahren, das Folgendes umfasst: in einem System-on-a-Chip (SoC), das eine Netzwerkschnittstellenvorrichtung und einen in das SoC integrierten Multiplexer umfasst: Empfangen von einem oder mehreren Taktsignalen und Verteilen des einen oder der mehreren Taktsignale an eine oder mehrere PHY-Schaltungsanordnungen basierend auf einer Taktübertragungskonfiguration, um mehrere Taktverteilungsschemata zu unterstützen.
  • Beispiel 13 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an einen Satz von zwei PHY-Schaltungsanordnungen und ein zweites Taktsignal an einen zweiten Satz von zwei PHY-Schaltungsanordnungen zu verteilen.
  • Beispiel 14 beinhaltet ein oder mehrere Beispiele, umfassend Verteilen, durch den in das SoC integrierten Multiplexer, von Folgendem: einem ersten Taktsignal an eine erste PHY-Schaltungsanordnung; einem zweiten Taktsignal an eine zweite PHY-Schaltungsanordnung; einem dritten Taktsignal an eine dritte PHY-Schaltungsanordnung; und einem vierten Taktsignal an eine vierte PHY-Schaltungsanordnung.
  • Beispiel 15 beinhaltet ein oder mehrere Beispiele, umfassend Verteilen, durch den in das SoC integrierten Multiplexer, von Folgendem: einem ersten Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung und von einem dritten Taktsignal an eine dritte PHY-Schaltungsanordnung und an eine vierte PHY-Schaltungsanordnung.
  • Beispiel 16 beinhaltet ein oder mehrere Beispiele, wobei das SoC eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle beinhaltet.
  • Beispiel 17 beinhaltet ein oder mehrere Beispiele, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und zum (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.
  • Beispiel 18 beinhaltet ein oder mehrere Beispiele und beinhaltet ein computerlesbares Medium, das darauf gespeicherte Anweisungen umfasst, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Konfigurieren eines Multiplexers, der eine oder mehrere Bitübertragungsschicht(PHY)-Schaltungsanordnungen umfasst und in ein System-on-Chip (SoC) integriert ist, das eine Netzwerkschnittstellenvorrichtung umfasst, die ausgelegt ist zum: Empfangen von einem oder mehreren Taktsignalen und Verteilen des einen oder der mehreren Taktsignale an die eine oder die mehreren PHY-Schaltungsanordnungen basierend auf einer Taktübertragungskonfiguration, um mehrere Taktverteilungsschemata zu unterstützen.
  • Beispiel 19 beinhaltet ein oder mehrere Beispiele, wobei das eine oder die mehreren Taktsignale von mindestens einem Host empfangen werden, der eines oder mehrere von Folgendem umfasst: eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Beschleuniger, einen Speicherpool und/oder eine Datenspeichervorrichtung.
  • Beispiel 20 beinhaltet ein oder mehrere Beispiele, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an einen Satz von zwei PHY-Schaltungsanordnungen und ein zweites Taktsignal an einen zweiten Satz von zwei PHY-Schaltungsanordnungen zu verteilen.
  • Beispiel 21 beinhaltet ein oder mehrere Beispiele, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und zum (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.

Claims (21)

  1. Einrichtung, die Folgendes umfasst: ein System-on-a-Chip (SoC), das Folgendes umfasst: einen in das SoC integrierten Multiplexer, wobei der Multiplexer eine oder mehrere Bitübertragungsschicht(PHY)-Schaltungsanordnungen umfasst und der Multiplexer dazu ausgelegt ist, ein oder mehrere Taktsignale zu empfangen und das eine oder die mehreren Taktsignale basierend auf einer Taktübertragungskonfiguration an die eine oder die mehreren PHY-Schaltungsanordnungen zu verteilen, um mehrere Taktverteilungsschemata zu unterstützen.
  2. Vorrichtung nach Anspruch 1, wobei das eine oder die mehreren Taktsignale von mindestens einem Host empfangen werden, der eines oder mehrere von Folgendem umfasst: eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Beschleuniger, einen Speicherpool, eine mit dem Netzwerk verbundene Vorrichtung und/oder eine Datenspeichervorrichtung.
  3. Einrichtung nach Anspruch 1, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an mehrere PHY-Schaltungsanordnungen und ein zweites Taktsignal an mehrere zweite PHY-Schaltungsanordnungen zu verteilen.
  4. Einrichtung nach Anspruch 1, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung; ein zweites Taktsignal an eine zweite PHY-Schaltungsanordnung; ein drittes Taktsignal an eine dritte PHY-Schaltungsanordnung; und ein viertes Taktsignal an eine vierte PHY-Schaltungsanordnung.
  5. Einrichtung nach Anspruch 1, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung und ein drittes Taktsignal an eine dritte PHY-Schaltungsanordnung und an eine vierte PHY-Schaltungsanordnung.
  6. Einrichtung nach Anspruch 1, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, Folgendes zu verteilen: ein erstes Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung; ein zweites Taktsignal an eine dritte PHY-Schaltungsanordnung; und ein drittes Taktsignal an eine vierte PHY-Schaltungsanordnung.
  7. Einrichtung nach Anspruch 1, wobei der in das SoC integrierte Multiplexer eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle beinhaltet.
  8. Einrichtung nach Anspruch 1, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.
  9. Einrichtung nach einem der Ansprüche 1-8, wobei der Multiplexer dazu ausgelegt ist, eines oder mehrere von Folgendem zu unterstützen: gemeinsame Taktung mit einer Zentralverarbeitungseinheit (CPU) eines einzelnen Hosts, gemeinsame, aber unabhängige Taktung mit mehreren Host-CPUs und/oder Taktung für hybride Datenspeicherung.
  10. Einrichtung nach einem der Ansprüche 1 bis 9, die mindestens einen Hostserver umfasst, wobei der mindestens eine Hostserver unter Verwendung einer Leiterplatte leitfähig mit dem SoC gekoppelt ist und wobei der mindestens eine Hostserver dazu ausgelegt ist, das SoC mit der Taktübertragungskonfiguration zu konfigurieren.
  11. Einrichtung nach einem der Ansprüche 1-10, wobei der in das SoC integrierte Multiplexer eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle beinhaltet und ein Rechenzentrum umfasst, das den mindestens einen Hostserver umfasst, wobei das Rechenzentrum ein Empfängerhostsystem zum Empfangen von Paketen von der Netzwerkschnittstellenvorrichtung umfasst.
  12. Verfahren, das Folgendes umfasst: in einem System-on-a-Chip (SoC), das eine Netzwerkschnittstellenvorrichtung und einen in das SoC integrierten Multiplexer umfasst: Empfangen von einem oder mehreren Taktsignalen und Verteilen des einen oder der mehreren Taktsignale an eine oder mehrere PHY-Schaltungsanordnungen basierend auf einer Taktübertragungskonfiguration, um mehrere Taktverteilungsschemata zu unterstützen.
  13. Verfahren nach Anspruch 12, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an einen Satz von zwei PHY-Schaltungsanordnungen und ein zweites Taktsignal an einen zweiten Satz von zwei PHY-Schaltungsanordnungen zu verteilen.
  14. Verfahren nach Anspruch 12, umfassend Verteilen, durch den in das SoC integrierten Multiplexer, von Folgendem: einem ersten Taktsignal an eine erste PHY-Schaltungsanordnung; einem zweiten Taktsignal an eine zweite PHY-Schaltungsanordnung; einem dritten Taktsignal an eine dritte PHY-Schaltungsanordnung; und einem vierten Taktsignal an eine vierte PHY-Schaltungsanordnung.
  15. Verfahren nach Anspruch 12, umfassend Verteilen, durch den in das SoC integrierten Multiplexer, von Folgendem: einem ersten Taktsignal an eine erste PHY-Schaltungsanordnung und an eine zweite PHY-Schaltungsanordnung und einem dritten Taktsignal an eine dritte PHY-Schaltungsanordnung und an eine vierte PHY-Schaltungsanordnung.
  16. Verfahren nach einem der Ansprüche 12-15, wobei das SoC eine integrierte Schaltung umfasst, die eine Netzwerkschnittstellenvorrichtung, den Multiplexer und eine Vorrichtungsschnittstelle beinhaltet.
  17. Verfahren nach einem der Ansprüche 12-16, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.
  18. Computerlesbares Medium, das darauf gespeicherte Anweisungen umfasst, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Konfigurieren eines Multiplexers, der eine oder mehrere Bitübertragungsschicht(PHY)-Schaltungsanordnungen umfasst und in ein System-on-Chip (SoC) integriert ist, das eine Netzwerkschnittstellenvorrichtung umfasst, zum: Empfangen eines oder mehrerer Taktsignale und Verteilen des einen oder der mehreren Taktsignale an die eine oder die mehreren PHY-Schaltungsanordnungen basierend auf einer Taktübertragungskonfiguration, um mehrere Taktverteilungsschemata zu unterstützen.
  19. Computerlesbares Medium nach Anspruch 18, wobei das eine oder die mehreren Taktsignale von mindestens einem Host empfangen werden, der eines oder mehrere von Folgendem umfasst: eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Beschleuniger, einen Speicherpool und/oder eine Datenspeichervorrichtung.
  20. Computerlesbares Medium nach Anspruch 18, wobei der in das SoC integrierte Multiplexer dazu ausgelegt ist, ein erstes Taktsignal an einen Satz von zwei PHY-Schaltungsanordnungen und ein zweites Taktsignal an einen zweiten Satz von zwei PHY-Schaltungsanordnungen zu verteilen.
  21. Computerlesbares Medium nach einem der Ansprüche 18-20, wobei die eine oder die mehreren PHY-Schaltungsanordnungen einen Multiplexer und eine Schaltungsanordnung umfassen zum (a) Empfangen eines Eingangstaktsignals von einem Hostsystem oder eines Taktsignals, das von einer anderen PHY-Schaltungsanordnung übertragen wird, und (b) Ausgeben eines Taktsignals basierend auf dem Eingangstaktsignal oder dem von einer anderen PHY-Schaltungsanordnung übertragenen Taktsignal.
DE102022120127.9A 2021-10-22 2022-08-10 Zugriff auf mehrere taktbereiche Pending DE102022120127A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/508,358 2021-10-22
US17/508,358 US20220043475A1 (en) 2021-10-22 2021-10-22 Access to multiple timing domains

Publications (1)

Publication Number Publication Date
DE102022120127A1 true DE102022120127A1 (de) 2023-04-27

Family

ID=80113780

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022120127.9A Pending DE102022120127A1 (de) 2021-10-22 2022-08-10 Zugriff auf mehrere taktbereiche

Country Status (3)

Country Link
US (1) US20220043475A1 (de)
CN (1) CN116010331A (de)
DE (1) DE102022120127A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989147B2 (en) * 2022-06-07 2024-05-21 Dell Products L.P. LCS networking device multi-host primary circuit board system

Also Published As

Publication number Publication date
CN116010331A (zh) 2023-04-25
US20220043475A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
DE112020006859T5 (de) Beibehaltung von speicher-namensraum-identifizierern für die migration von virtualisierten ausführungsumgebungen im laufenden betrieb
US20210075633A1 (en) Packet multi-cast for memory pool replication
DE112018004798T5 (de) Technologien für ein bereitstellen von effizientem speicherzugriff auf einem beschleunigerschlitten
DE112020006967T5 (de) Performanceüberwachung für kurzlebige funktionen
DE102022107621A1 (de) Resourcenauswahl, die zum teil auf der arbeitslast basiert
DE102020133738A1 (de) Firmware-update-techniken
DE112020007201T5 (de) Speicherzuordnung für verteilte Verarbeitungsvorrichtungen
DE102020127924A1 (de) Gemeinschaftlich verwendeter speicherraum unter vorrichtungen
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
Kant Data center evolution: A tutorial on state of the art, issues, and challenges
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE112020001833T5 (de) Netzwerkschnittstelle für Datentransport in heterogenen Rechenumgebungen
DE102022102788A1 (de) Konfigurierbare vorrichtungsschnittstelle
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE102022104207A1 (de) Pooling von Netzwerkverarbeitungsressourcen
DE102020103570A1 (de) Host-definierte bandbreitenzuweisung für ssd-aufgaben
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102022124530A1 (de) Speicherpoolmanagement
DE102022107778A1 (de) Adressübersetzung an einer zielnetzwerk-schnittstellenvorrichtung
DE102022126611A1 (de) Service-mesh-auslagerung an netzwerkvorrichtungen
DE112022002284T5 (de) Auslagerung der vermittlungsschicht 7 an eine infrastrukturverarbeitungseinheit für ein vermaschtes dienstnetz
DE102020113279A1 (de) Technologien zum managen von burst-bandbreite
DE102022121192A1 (de) Systeme und verfahren für die prüfung vernetzter geräte
DE102022106019A1 (de) Verfahren und vorrichtung für ein gegendrucksignal bei einer speicherchip-rowhammer-bedrohung und hostseitige reaktion
DE102020110582A1 (de) TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG