DE102020110873A1 - System, Vorrichtung und Verfahren zum Synchronisieren mehrerer virtueller Linkzustände über einen Gehäuse-Interconnect - Google Patents

System, Vorrichtung und Verfahren zum Synchronisieren mehrerer virtueller Linkzustände über einen Gehäuse-Interconnect Download PDF

Info

Publication number
DE102020110873A1
DE102020110873A1 DE102020110873.7A DE102020110873A DE102020110873A1 DE 102020110873 A1 DE102020110873 A1 DE 102020110873A1 DE 102020110873 A DE102020110873 A DE 102020110873A DE 102020110873 A1 DE102020110873 A1 DE 102020110873A1
Authority
DE
Germany
Prior art keywords
link state
die
link
physical
virtual
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
DE102020110873.7A
Other languages
English (en)
Inventor
Joon Teik Hor
Tink Lok Song
Mahesh Wagh
Su Wei Lim
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 DE102020110873A1 publication Critical patent/DE102020110873A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

In einer Ausführungsform umfasst eine Vorrichtung eine Arbitrierungsschaltung mit virtuellen Linkzustandsmaschinen zum Virtualisieren von Linkzuständen, die mit mehreren Kommunikationsprotokollstapeln assoziiert sind. Die Vorrichtung umfasst ferner eine physikalische Schaltung, die mit der Arbitrierungsschaltung gekoppelt ist und über eine Schnittstelle eine Verbindung mit einem physikalischen Link herstellt, wobei die physikalische Schaltung in Reaktion auf ein Neutraining des physikalischen Links Synchronisation einer Mehrzahl von virtuellen Linkzustandsmaschinen mit entsprechenden virtuellen Linkzustandsmaschinen veranlasst, die mit einer zweiten Seite des physikalischen Links assoziiert sind, und wobei mindestens einer der Kommunikationsprotokollstapel während des Neutrainings und der Synchronisation in einem Niederleistungszustand bleibt. Andere Ausführungsformen werden beschrieben und beansprucht.

Description

  • Technisches Gebiet
  • Ausführungsformen betreffen Kommunikationen über einen gehäuseinternen Interconnect.
  • Hintergrund
  • Mit zunehmender Komplexität der Entwicklung der Prozesstechnologie wird eine Lösung mit einem Mehrchip-Gehäuse (MCP - Multi-Chip Package), in welchem eine Sammlung mehrerer kleinerer Dies miteinander verbunden ist, immer wichtiger. Mehrere Kommunikationsprotokollschichten in diesen kleineren Dies können zeitlich gemultiplext und unter Verwendung eines einzigen gehäuseintegrierten Interconnects miteinander verbunden werden. Damit diese Kommunikationsprotokollschichten unabhängig voneinander sind, kann einer jeden der Protokollschichten jeweils ein virtueller Linkzustand zugeordnet werden. Da MCP-Nutzung immer mehr Bandbreite konsumiert, erhöht sich die Interconnect-Taktfrequenz, was dazu führt, dass Übertragung über den Link mit der Zeit verlustbehaftet wird. Wenn Fehler auftreten, durchläuft der Link im Allgemeinen eine Neutrainingsphase, worauf eine Wiederholung durch die Kommunikationsprotokollschichten folgt.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer integrierten Schaltung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist ein Blockdiagramm eines Mehrchip-Gehäuses gemäß einer Ausführungsform.
    • 3 ist eine schematische Darstellung eines beispielhaften Formats eines Pakets einer physikalischen Schicht (PLP - Physical Layer Packet) gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 4 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 5 ist ein Flussdiagramm eines Verfahrens gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
    • 6A bis 6C veranschaulichen eine beispielhafte Technik zum Durchführen von Synchronisation für eine Mehrzahl von virtuellen Linkzustandsmaschinen nach einem Neutrainingsprozess gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 7 ist eine Ausführungsform einer Fabric, die aus Punkt-zu-Punkt-Links besteht, welche einen Satz von Komponenten miteinander verbinden.
    • 8 ist eine Ausführungsform eines System-on-Chip-Designs gemäß einer Ausführungsform.
    • 9 ist ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • In verschiedenen Ausführungsformen wird eine Interconnect-Struktur bereitgestellt, die Kommunikationen mehrerer verschiedener Kommunikationsprotokolle über einen einzigen Interconnect und eine einzige Schaltung einer physikalischen Schicht Rechnung tragen kann. Obwohl der Leistungsverbrauch und die Chipfläche auf diese Weise reduziert werden können, kann es insofern Schwierigkeiten geben, als die verschiedenen Kommunikationsprotokolle verschiedene Linkzustände aufweisen können. Und sollten Linkfehler auftreten, kann Neutraining des Links durchgeführt werden, das wünschenswerterweise eine Beeinträchtigung von inaktiven Kommunikationsprotokollen vermeidet. Entsprechend können in Ausführungsformen sogenannte virtuelle Linkzustandsmaschinen mit verschiedenen Kommunikationsstapelschichten assoziiert und zum Virtualisieren von Linkzuständen verwendet werden. Außerdem ermöglichen Ausführungsformen Paaren von virtuellen Linkzustandsmaschinen, die mit verschiedenen Seiten des Interconnects gekoppelt sind, die Durchführung der Synchronisation ihrer Linkzustände nach einer Fehlsynchronisation auf eine Weise, die es ermöglicht, ruhende Kommunikationsprotokolle während des Neutrainings und der Synchronisation in einem Ruhezustand zu halten, wie hierin ausführlicher beschrieben wird.
  • Nunmehr unter Bezugnahme auf 1 ist ein Blockdiagramm einer integrierten Schaltung gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie in 1 dargestellt, ist eine integrierte Schaltung 100 als ein Mehrchip-Gehäuse implementiert, das einen ersten Die 110 und einen zweiten Die 120 umfasst. In Ausführungsformen hierin kann der erste Die 110 ein Haupt-Die, beispielsweise ein Hauptverarbeitungs-Die, sein, der einen oder mehrere Verarbeitungskerne und andere Schaltungsanordnung umfasst (der Einfachheit der Darstellung halber nicht dargestellt in 1). Der zweite Die 120 wiederum kann als ein Neben-Die implementiert sein, der diverse Beschleuniger- und Hilfsschaltungen, beispielsweise eine Chipsatz-Schaltungsanordnung, eine periphere Controller-Schaltungsanordnung, und Peripheriegeräte, beispielsweise PCIe-Geräte (PCIe - Peripheral Component Interconnect Express), umfassen kann.
  • Wie zu erkennen ist, ist der erste Die 110 mit dem zweiten Die 120 über einen primären oder Haupt-Interconnect oder -Link 130 und einen sekundären oder Seitenband-Interconnect oder -Link 140 verbunden. In einer Ausführungsform kann der Interconnect 130 als ein bestimmter Link innerhalb des Gehäuses implementiert sein, der eine Mehrzahl von seriellen Interconnects umfasst, die in jede Richtung verlaufen. Die Interconnects 130, 140 können unter Verwendung von physischen elektrischen Verbindungen, beispielsweise Drähten, implementiert sein, die als Lanes implementiert sind, die in einigen Fällen serielle unidirektionale Lanes sein können. Wie dargestellt, sind in jeder Richtung NX2-Strobe-Interconnects vorhanden, nämlich N Gültig-Interconnects, ein Stream-Interconnect, ein Linkzustandsmaschinen-Seitenband-Interconnect und N Daten-Interconnects. Einzelheiten dieser verschiedenen Interconnects und die Kommunikationen darauf werden weiter unten beschrieben. Der Seitenband-Interconnect oder -Link 140 kann aus einer Mehrzahl von seriellen Interconnects, nämlich einem einzigen Daten-Interconnect und einem einzigen Strobe-Interconnect, in jeder Richtung gebildet sein. Verschiedene Hochgeschwindigkeitskommunikationen von Daten, Befehlen, Anweisungen und so weiter können über den Hauptband-Interconnect 130 stattfinden, während Außerbandkommunikationen niedrigerer Geschwindigkeit über den Seitenband-Interconnect 140 erfolgen können.
  • Unter Bezugnahme auf den Haupt-Die 110 ist das Vorhandensein mehrerer Protokollschichten zu erwähnen, die eine erste Protokollschicht 112 und eine zweite Protokollschicht 114 umfassen. In der dargestellten Ausführungsform ist die erste Protokollschicht 112 für ein Kommunikationsprotokoll über einen Interconnect innerhalb des Dies (IDI - Intra-Die Interconnect) und umfasst eine Transaktionsschicht und eine Linkschicht für dieses Kommunikationsprotokoll. Die zweite Protokollschicht 114 wiederum ist für ein Kommunikationsprotokoll gemäß Peripheral Component Interconnect Express (PCIe) und umfasst eine Transaktionsschicht und eine Linkschicht für dieses Kommunikationsprotokoll. Diese Protokollschichten werden hierin auch als „Kommunikationsprotokollstapel“ bezeichnet, um die Einbeziehung von Protokoll- und Linkschichten eines Kommunikationsprotokolls (aber keiner physikalischen Schicht) anzudeuten.
  • Im Allgemeinen erzeugt eine Transaktionsschicht Transaktionsschichtpakete (TLP - Transaction Layer Packet), wobei es sich um zeitlich getrennte anforderungs- oder antwortbasierte Pakete handeln kann, die es dem Link ermöglichen, anderen Verkehr zu übertragen, während das Zielgerät Daten für die Antwort sammelt. Die Transaktionsschicht wickelt ferner kreditbasierte Flusssteuerung ab. Demnach stellt eine Transaktionsschicht eine Schnittstelle zwischen der Verarbeitungsschaltungsanordnung eines Geräts und der Interconnect-Architektur bereit. Die Linkschicht wiederum kann TLPs sequenzieren und eine zuverlässige Übermittelung von TLPs zwischen zwei Endpunkten (einschließlich des Abwickelns von Fehlerprüfung) und Bestätigungsverarbeitung gewährleisten. Demnach fungiert die Linkschicht als eine Zwischenstufe zwischen der Transaktionsschicht und einer physikalischen Schicht und stellt einen zuverlässigen Mechanismus zum Austauschen von TLPs zwischen zwei Komponenten durch einen Link bereit.
  • Kommunikationen zwischen entsprechenden Protokollschichten der verschiedenen Dies finden über eine einzige physikalische (PHY) Einheitsschaltung (hierin im Allgemeinen „PHY-Schaltung“) 116 statt. In der dargestellten Ausführungsform umfasst die PHY-Schaltung 116 eine Arbiter-/Multiplexer-Schicht 117, eine logische PHY-Linkschicht 118 und eine gehäuseintegrierte physikalische Eingabe-/Ausgabe-(OPIO-)Schicht 119. Die PHY-Schaltung 116 stellt eine Schnittstelle zur physikalischen Verbindung oder zum physikalischen Link bereit, über welche/n zwischen den Dies 110, 120 Daten kommuniziert werden, und kann Signalaufbereitungsschaltungsanordnung und Logik zum Ermöglichen von Fähigkeiten hoher Datenrate und Kanalkonfiguration umfassen. Die Logische PHY-Linkschicht 118 kann Schaltungsanordnung zum Ermöglichen von Taktung, Linkzustandsverwaltung für Protokollschichten und Protokollmultiplexen zwischen den verschiedenen Kommunikationsprotokollen umfassen. Obwohl der Schutzbereich der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist, kann es mehrere Kommunikationskanäle geben, vorausgesetzt, dass sie entsprechende Daten-Lanes und eine oder mehrere dedizierte Lanes für Strobe- und Taktsignale, Gültig-Signale und so weiter umfassen. Es ist zu erwähnen, dass ähnliche Schichten auf dem Neben-Die 120 vorhanden sein können, der, wie dargestellt, einen ersten Kommunikationsprotokollstapel 122 (z. B. IDI-Stapel) und einen zweiten Kommunikationsprotokollstapel 124 (z. B. PCIe-Stapel) umfasst. Außerdem kann der Neben-Die 120 ferner eine PHY-Schaltung 126 umfassen, die eine Arbiter-/Multiplexer-Schicht 127, eine logische PHY-Linkschicht 128 und eine physikalische OPIO-Schicht 129 umfasst.
  • Die logische PHY-Linkschicht 118 kann demnach Multiplexen zwischen mehreren Kommunikationsprotokollen unterstützen. Solch ein Multiplexen kann in einer Ausführungsform durch Aktivierung eines codierten Streamsignals zum Identifizieren eines entsprechenden Kommunikationsprotokolls für Daten implementiert werden, die auf entsprechenden Daten-Lanes gesendet werden. Außerdem kann die logische PHY-Linkschicht 118 ferner zusammen mit dem Durchführen von Operationen in Bezug auf Link-Training, Fehlererkennung, Versatzerkennung und so weiter zum Aushandeln von Linkzustandsübergängen für die Kommunikationsprotokolle verwendet werden.
  • Die Arbiter-/Multiplexer-Schicht 117 kann zum Arbitrieren zwischen verschiedenen Kommunikationsprotokollen verwendet werden. Auf diese Weise können Kommunikationen dieser verschiedenen Protokollschichten über diese einzige PHY-Schaltung gemeinsam abgewickelt werden. Zum Durchführen von Seitenbandkommunikationen umfasst der Haupt-Die 110 ferner eine Seitenbandbrücke 115, um Kommunikationen über den Seitenband-Interconnect 140 zu handhaben.
  • Bei einer Anordnung wie in 1 können die Protokollschichten 112, 114 (z. B.) zeitlich gemultiplext und über den einzigen gehäuseintegrierten Interconnect 130 miteinander verbunden werden. Im Allgemeinen kann jede Protokollschicht Kontrolle über ihre eigenen Linkzustände haben. Mehrere Protokollschichten, die durch den gleichen Interconnect tunneln, können jedoch agnostisch in Bezug aufeinander funktionieren. Solch eine unabhängige Funktionsweise kann einen Konflikt im Hinblick auf die Steuerung des Linkzustands zwischen diesen mehreren Protokollschichten auslösen. Um gemeinsame Nutzung einer einzigen PHY-Schaltung durch mehrere Protokollschichten mittels Zeitmultiplex durchzuführen, können virtuelle Linkzustände mit jeder der Protokollschichten assoziiert werden. Bei virtualisierten Linkzuständen für jede Protokollschicht können die zugrundeliegenden Protokollschichten mit dem Anschein eines Besitzes der Linkzustände dargestellt werden.
  • Es versteht sich, dass, obwohl in der Ausführungsform von 1 detailliert dargestellt, viele Abwandlungen und Alternativen möglich sind. Obwohl zum Beispiel die vorstehende Implementierung die Verwendung von zwei Protokollschichten darstellt, die PCIe und IDI entsprechen, können viele andere Kommunikationsprotokolle, darunter PCI, Quick Path Interconnect (QPI) u. a., unterstützt werden.
  • Und obwohl der Einfachheit der Darstellung halber zwei Protokollschichten in der Ausführungsform von 1 dargestellt sind, können mehr als zwei Protokollschichten auf einem einzelnen Die eines Mehrchip-Gehäuses vorhanden sein. Außerdem kann über die PHY-Einheitsschaltung, wie hierin beschrieben, Kopplung einer Deserialisierer-basierten PHY (z. B. für PCIe, Ethernet, Infiniband oder andere Hochgeschwindigkeits-SerDes) auf einem Die mit oberen Schichten erfolgen, die auf einem anderen Die implementiert sind.
  • Nunmehr unter Bezugnahme auf 2 ist ein weiteres Blockdiagramm eines Mehrchip-Gehäuses dargestellt, das Darstellungen von physikalischen Linkzustandsmaschinen und virtuellen Linkzustandsmaschinen gemäß einer Ausführungsform umfasst. Wie in 2 dargestellt, ist die integrierte Schaltung 200 ein Mehrchip-Gehäuse, das ähnlich der IC 100 von 1 angepasst sein kann. Entsprechend sind auf jedem von mehreren Dies 210 und 220 mehrere Protokollschichten vorhanden. Um zu ermöglichen, dass diese verschiedenen Protokollschichten über eine Schnittstelle eine Verbindung mit einer einzigen physikalischen Einheit herstellen, können mehrere virtuelle Linkzustandsmaschinen innerhalb von Arbiter- und Multiplexer-Schichten 217, 227 vorgesehen sein. Genauer gesagt umfasst in Bezug auf den ersten Die 210 seine Arbiter- und Multiplexer-Schicht 217 zwei virtuelle Linkzustandsmaschinen, wobei eine erste (V-LSM1) mit dem Linkzustand einer IDI-Protokollschicht 214 assoziiert ist und diesen virtualisiert, und eine zweite (V-LSM2) mit dem Linkzustand einer PCIe-Protokollschicht 212 assoziiert ist und diesen virtualisiert.
  • Wie ferner in 2 veranschaulicht, umfassen logische PHY-Linkschichten 218, 228 eine physikalische Linkzustandsmaschine (P-LSM) und eine virtuelle Linkzustandsmaschine (V-LSM0). Die V-LSM0 wiederum virtualisiert den Linkzustand von entsprechenden Arbiter-/Multiplexer-Schichten 217, 227.
  • Es ist zu erwähnen, dass, obwohl 2 detailliert veranschaulicht ist, es sich versteht, dass eine definierte logische PHY-Schnittstelle (LPIF - Logical PHY Interface) zwischen den verschiedenen Schichten vorhanden sein kann. Diese LPIFs können durch virtuelle Linkzustandsmaschinen dargestellt werden, so dass jedes gegebene Kommunikationsprotokoll über eine Schnittstelle eine Verbindung mit der einzigen PHY-Einheit des entsprechenden Dies herstellen kann. Entsprechend kann eine LPIF auf jeder Seite der Arbiter-/Multiplexer-Schichten 217, 227 als eine Schnittstelle vorgesehen sein. Solche LPIFs können die logische und elektrische/analoge Schaltungsanordnung der PHY-Einheit von den Protokollschichten abstrahieren, so dass eine PHY-Einheit eines Kommunikationsprotokolls verwendet werden kann, um Daten, die von Transaktions- und Linkschichten eines anderen Kommunikationsprotokolls abgehen oder an diese gerichtet sind, transparent zu kommunizieren. Auf diese Weise können Modularität und Entwurfswiederverwendung realisiert werden, so dass obere Schichten eines Kommunikationsprotokolls bei Verwendung mit einer Signalisierungstechnologie einer gegebenen PHY-Einheit intakt bleiben können.
  • Wie in 2 dargestellt, weist demnach jeder Die seine eigenen Sätze von physikalischen und virtuellen Linkzustandsmaschinen auf, die eine spiegelbildliche Version des anderen Dies sind. In Ausführungsformen können P-LSMs so konfiguriert sein, dass sie den tatsächlichen physikalischen Linkzustand verwalten, während jede Protokollschicht ihren eigenen Linkzustand durch die entsprechende V-LSM virtualisiert aufweist.
  • Die folgende Liste stellt beispielhafte Linkzustände bereit, die in Ausführungsformen virtualisiert sein können:
    1. 1) Reset (Rücksetzen)
    2. 2) Active (Aktiv) (L0)
    3. 3) Idle (Ruhezustand) (L1)
    4. 4) Sleep (Energiesparzustand) (L2)
    5. 5) Retrain/Recovery (Neutraining/Wiederherstellung)
    6. 6) Disable (Deaktivieren)
    7. 7) Link Reset (Link-Rücksetzung)
    8. 8) Link Error (Linkfehler).
  • Es versteht sich, dass, obwohl diese beispielhaften Linkzustände dargestellt sind, in anderen Ausführungsformen andere Linkzustände virtualisiert sein können.
  • Durch Virtualisieren der Linkzustände können Protokollschichten agnostisch in Bezug aufeinander sein, wodurch die Hardware- und/oder Softwaretreiber der Protokollschichten befähigt werden, ihre eigenen Linkzustände so zu steuern, als ob sie den Link exklusiv besitzen würden. Folglich wird die Komplexität des Einsatzes von Hardware/Software reduziert, da Protokollschichten durch die V-LSM von der Notwendigkeit befreit werden, das Konzept eines gemeinsamen/gemultiplexten Links verstehen zu müssen. Außerdem können Protokollschichten durch Aufweisen von V-LSMs unabhängig voneinander in Ruhezustände eintreten (wodurch Leistungsverwaltungsmerkmale ermöglicht werden).
  • 3 ist eine schematische Darstellung eines beispielhaften Formats eines Pakets einer physikalischen Schicht (PLP - Physical Layer Packet) gemäß Ausführungsformen der vorliegenden Offenbarung. Virtualisierung von Linkzustandsmaschinen wird dadurch erreicht, dass veranlasst wird, dass die V-LSMs jedes Dies unter Verwendung eines Pakets einer physikalischen Schicht (PLP - Physical Layer Packet), das in einer Ausführungsform ein Datenpaket mit einem Doppelwort (1DW) ist, das von einer physikalischen Schicht (z. B. einer logischen PHY- oder ARB-MUX-Schicht) abgeht und an der gegenüberliegenden physikalischen Schicht eingeht, über den gehäuseintegrierten Interconnect miteinander kommunizieren. 3 veranschaulicht eine generische Struktur bzw. ein generisches Format für ein PLP 300. Die zur Virtualisierung der V-LSMs verwendeten PLPs werden LPIF_STATE_CONTROL-PLPs genannt. Die spezifische Definition von Byte1, Byte2 und Byte3 solcher PLPs ist in den nachstehenden Tabellen 1 und 2 dargestellt. Tabelle 1
    Nachrichtencodierung [Byte 1] Beschreibung
    0000_0001 LINK_CONTROL: Wird zum Konfigurieren des Links und den Zustandsübergang von ACTIVE zu Next verwendet. Ein PLP vom Anforderungstyp wird nur von Upstream-Geräten an Downstream-Geräte gesendet. Ein PLP vom Bestätigungstyp wird nur von Downstream-Geräten an Upstream-Geräte gesendet.
    0000_0010 FLUSH: Wird zum Durchführen einer Inband-Löschung aller Pakete vor spezifischen Zustandsänderungen verwendet. Dieses PLP wird sowohl von Upstream- als auch Downstream-Geräten gesendet.
    0000_0011 Reserviert
    0000_0100 PM_ENTER_IDLE_L1: Wird von Downstream-Geräten verwendet, um Eintritt in IDLE_L1 anzufordern. Dieses PLP wird nur von Downstream-Geräten an Upstream-Geräte gesendet.
    0000 0101 PM_ENTER_SLEEP_L2: Wird von Downstream-Geräten verwendet, um Eintritt in IDLE L2 anzufordern. Dieses PLP wird nur von Downstream-Geräten an Upstream-Geräte gesendet.
    0000_1111 PM_REQUEST_NAK: Wird von Upstream-Geräten für NAK L1 einer Eintrittsanforderung von Downstream-Geräten verwendet. Dieses PLP wird nur von Upstream-Geräten an Downstream-Geräte gesendet.
    0000_1000 LPIF_STATE_CONTROL: Wird zum Steuern eines LPIF-Zustandsübergangs verwendet. Dieses PLP wird sowohl von Upstream- als auch Downstream-Geräten gesendet.
    Alle anderen Reserviert
    Tabelle 2
    Byte 2 Bit Beschreibung
    3:0 LPIF-Zustands codierung:
    0000: RESET (Nur für Status)
    0001: ACTIVE
    0010: Reserviert
    0011: Tiefster zulässiger PM-Zustand (Nur für Anforderung)
    0100: L1.1
    0101: L1.2
    0110: L1.3
    0111: L1.4
    1000: L2
    1001: LINKRESET
    1010: LINKERROR (Nur für Status)
    1011: RETRAIN (Nur für Status)
    1100: DISABLE
    1101: Reserviert
    1110: Reserviert
    1111: Reserviert
    6:4 Reserviert
    7 Anforderungs-/Statustyp
    1: LPIF_STATE_CONTROL-Anforderungs-PLP
    0: LPIF_STATE_CONTROL-Status-PLP
    Byte 3 Bit Beschreibung
    3:0 LPIF-Instanznummer: Zeigt die Ziel-LPIF-Schnittstelle an, wenn mehrere LPIF-Schnittstellen vorhanden sind.
    Anmerkung: Im Falle einer einzigen LPIF-Schnittstelle wird ein Wert ‚0000b‘ verwendet.
    7:4 Reserviert
  • Das LPIF_STATE_CONTROL-PLP wird als ein vollständiger Handshake zwischen den zusammenpassenden V-LSMs auf beiden Dies verwendet, um Anforderung und Status für die virtualisierten Linkzustände zu übertragen. Eine V-LSM kann ein PLP mit einer LPIF _STATE_CONTROL-Anforderung (auch STATE_REQ genannt) zum Übertragen seiner Absicht senden, in einen spezifischen virtualisierten Linkzustand einzutreten. Der Empfänger des PLPs kann mit einem PLP mit einem LPIF_STATE_CONTROL-Status (auch STATE_STS genannt) antworten, sobald er zum Eintreten in den angeforderten virtualisierten Zustand bereit ist.
  • Wie oben erwähnt, wird ein gehäuseintegrierter Interconnect bei Skalierung auf höhere Geschwindigkeiten für Linkfehler anfälliger. Üblicherweise implementiert jede Protokoll-Linkschicht irgendeine Form von Fehlererkennungs- und Wiederherstellungslogik, um diese Fehler zu überwinden. Der Wiederherstellungsprozess umfasst im Allgemeinen Neutrainieren des gesamten Links und anschließendes Wiederholen der fehlerhaften Pakete. Dieser Prozess wirkt sich auf alle Protokollschichten aus.
  • Bei einem gehäuseintegrierten Interconnect mit mehreren Protokollschichten und virtuellen Linkzuständen ist es jedoch wahrscheinlich, dass diese verschiedenen Protokolle orthogonale Aktivitäten zueinander aufweisen, wie oben beschrieben. Demnach könnte jede dieser Protokollschichten jeweils in verschiedenen virtuellen Linkzuständen sein. Protokollschichten in ihren Energieverwaltungszuständen niedriger Leistung sind inaktiv und bereits im Ruhezustand. Infolgedessen könnte das fehlerhafte Paket nur von einer der aktiven Protokollschichten oder der physikalischen Schicht selbst kommen. Ohne eine Ausführungsform wirkt sich ein Wiederherstellungsprozess blind auf alle Protokollschichten aus, was dazu führt, dass inaktive Protokollschichten aus ihren Energieverwaltungszuständen niedriger Leistung (z. B. taktgesteuertem, leistungsgesteuertem oder stromlosem Zustand) aufgeweckt werden, was sich auf die Leistungseffizienz negativ auswirken kann.
  • Ausführungsformen können PLPs, wie zuvor in Bezug auf 3 beschrieben, für einen Linkzustandsvirtualisierungsfluss verwenden. Wenn während eines Eintritts- oder Austrittsflusses in einen bzw. aus einem virtuellen Linkzustand ein Fehler innerhalb solch eines PLPs auftritt, könnte dies dazu führen, dass virtuelle Linkzustandsmaschinen auf beiden Dies nicht mehr synchron miteinander sind. Wenn zum Beispiel während eines Flusses des Eintritts in den Ruhezustand Idle (L1) ein PLP-Fehler während eines Status-Handshake-Protokolls auftritt, kann eine virtuelle Linkzustandsmaschine eines ersten Dies in den Ruhezustand Idle (L1) wechseln, während ihre entsprechende virtuelle Linkzustandsmaschine eines zweiten Dies im aktiven Zustand Active (L0) bleibt. Ohne eine Ausführungsform kann eine Auflösung dieses Synchronisationsfehlers eine Beeinflussung aller virtueller Zustandsmaschinen und oberen Protokollschichten, selbst jener in Niederleistungszuständen, erfordern.
  • Um diese Situation zu vermeiden und eine Leistungsbeeinträchtigung einer Linkwiederherstellung zu verringern, stellen Ausführungsformen hardwareunabhängige Techniken bereit, die innerhalb der physikalischen Schicht zum Wiederherstellen des Links und Durchführen von Synchronisation von virtuellen Linkzustandsmaschinen ohne Notwendigkeit des Eingriffs von Protokollschichten auf leistungseffiziente und örtlich begrenzte Weise implementiert werden können. Zu diesem Zweck sind Ausführungsformen so konfiguriert, dass sie derart funktionieren, dass, wenn ein Fehler auftritt und ein Linkwiederherstellungsfluss ausgelöst wird, nur die aktiven Protokollschichten durch die physikalische Schicht benachrichtigt werden, so dass ein geeigneter Wiederherstellungsfluss durch diese aktiven Schichten vorgenommen werden kann. Nicht aktive Protokollschichten werden in ihrem vorherigen Zustand vor der Wiederherstellung belassen. Sobald die P-LSM ihre Wiederherstellung über einen Neutrainingsfluss abgeschlossen hat, sendet jede V-LSM unabhängig Statusinformationen hinsichtlich ihres Linkzustands. Genauer gesagt kann in einer Ausführungsform jede V-LSM ein Status-PLP an ihr gegenüberliegendes Pendant senden, um es über den virtuellen Linkzustand zu informieren, in dem sie vor dem Wiederherstellungsfluss war. Der Zweck dieses PLP-Austauschs ist es, alle V-LSM-Paare wieder miteinander zu synchronisieren, bevor zugelassen wird, dass andere Protokollschichtaktivitäten stattfinden. Es ist zu erwähnen, dass nach dieser Synchronisation von V-LSMs aktive Protokollschichten der höheren Ebenen geeignete Neutrainingsoperationen durchführen können, während inaktive obere Protokollschichten inaktiv bleiben können.
  • Nachstehende Tabelle 3 veranschaulicht eine Ausführungsform von Operationen, die in Reaktion auf eine Fehlererkennung durchgeführt werden, die es einer inaktiven Protokollschicht (Protokollschicht Nr. 2) ermöglichen, während des Neutrainingsflusses in einem Link-Ruhezustand („Idle“) zu bleiben. Tabelle 3
    Folge- Ereignisse Linkzustandsmaschinenstatus
    Nr. V-LSM Nr. 2 V-LSM Nr. 1 V-LSM Nr. 0 P-LSM
    1 Fehler erkannt Ruhezustand Aktiv Aktiv Aktiv
    2 Wiederherstellungs-/N eutrainingsfluss ausgelöst Ruhezustand Neutraining Neutraining Neutraining
    3 P-LSM kehrt in Active-Zustand zurück Ruhezustand Neutraining Neutraining Aktiv
    4 PLP-Synchronisation von V-LSM Nr. 0 durchgeführt Ruhezustand Neutraining Aktiv Aktiv
    5 PLP-Synchronisation von V-LSM Nr. 1 durchgeführt Ruhezustand Aktiv Aktiv Aktiv
    6 PLP-Synchronisation von V-LSM Nr. 2 durchgeführt Ruhezustand Aktiv Aktiv Aktiv
  • Im Gegensatz dazu wird ohne eine Ausführungsform eine inaktive Protokollschicht (wiederum Protokollschicht Nr. 2) veranlasst, ihren Ruhezustand zu verlassen, wie in Tabelle 4 veranschaulicht, um ein Neutraining durchzuführen. Außerdem zeigt Tabelle 4 auch, dass ein Eingriff von Protokollschichten mit dem Zurückversetzen der virtuellen Linkzustandsmaschine in einen Active-Zustand verbunden ist. Tabelle 4
    Folge-Nr. Ereignisse Linkzustandsmaschinenstatus
    LSM Nr. 2 LSM Nr. 1 LSM Nr. 0 P-LSM
    1 Fehler erkannt Ruhezustand Aktiv Aktiv Aktiv
    2 Wiederherstellungs-/Neutrainingsfluss ausgelöst Neutraining Neutraining Neutraining Neutraining
    3 P-LSM kehrt in Active-Zustand zurück Neutraining Neutraining Neutraining Aktiv
    4 V-LSM # 0 kehrt in Active-Zustand zurück Neutraining Neutraining Aktiv Aktiv
    5 Wiederherstellungsfluss von Protokollschicht Nr. 1 durchgeführt Neutraining Aktiv Aktiv Aktiv
    6 Wiederherstellungsfluss von Protokollschicht Nr. 2 durchgeführt Aktiv Aktiv Aktiv Aktiv
  • Demnach wird in Ausführungsformen Synchronisation von virtuellen Linkzuständen nach einem Neutraining dadurch erreicht, dass veranlasst wird, dass die V-LSMs jedes Dies unter Verwendung eines PLPs über den gehäuseintegrierten Interconnect miteinander kommunizieren. Genauer gesagt sind die PLPs, die zur Synchronisation der V-LSMs verwendet werden, die LPIF_STATE_CONTROL-PLPs, wie mit jeweiligen Werten von Byte1, Byte2 und Byte3 von Tabelle 1 und 2 definiert.
  • In Ausführungsformen wird dieses LPIF_STATE_CONTROL-PLP in einem Synchronisations-Handshake-Protokoll zwischen den zusammenpassenden V-LSMs auf beiden Dies verwendet. Bei ihrer Auslösung zur Synchronisation sendet jede V-LSM ein PLP mit einem LPIF_STATE_CONTROL-Status (auch STATE_STS genannt), um den Status für ihren virtualisieren Linkzustand vor dem Neutrainingsprozess zu übertragen. Es ist zu erwähnen, dass der Auslöser für die ARB-MUX-Schicht die LPIF-Schnittstelle zwischen der logischen physikalischen Schicht und der ARB-MUX-Schicht ist, die ihren \STATE_STS so aufweist, dass er von Retrain zu Active wechselt. Informationen, die über ein Senden und Empfangen eines STATE_STS-Synchronisations-PLP erhalten werden, können zum Bestimmen eines geeigneten aufgelösten Linkzustands für die V-LSM verwendet werden. Genauer gesagt kann in einer Ausführungsform eine V-LSM auf eine Nachschlagetabelle zugreifen, die in einer Ausführungsform als eine Auflösungstabelle (die festverdrahtet oder durch Software oder BIOS konfigurierbar sein kann) implementiert sein kann, um einen geeigneten Linkzustand zu bestimmen, in den nach einem Neutraining eingetreten werden soll. Nachstehende Tabelle 5 zeigt eine beispielhafte Implementierung einer Auflösungstabelle. Tabelle 5
    STATE STS-Synchronisations-PLP Auflösungsmaßnahme an STATE STS
    Haupt-Die Neben-Die Haupt-Die Neben-Die
    Rücksetzen Rücksetzen Rücksetzen Rücksetzen
    Aktiv Aktiv Aktiv Aktiv
    Ruhezustand Ruhezustand Ruhezustand Ruhezustand
    Energiesparzustand Energiesparzustand Energiesparzustand Energiesparzustand
    Neutraining Neutraining Neutraining Neutraining
    D eaktivi eren D eaktivi eren D eaktivi eren D eaktivi eren
    Link-Rücksetzung Link-Rücksetzung Link-Rücksetzung Link-Rücksetzung
    Linkfehler Linkfehler Linkfehler Linkfehler
    Rücksetzen Aktiv Aktiv Aktiv
    Rücksetzen Energiesparzustand Rücksetzen** Energiesparzustand
    Aktiv Rücksetzen Aktiv Aktiv
    Aktiv Neutraining Aktiv Aktiv
    Aktiv Deaktivieren D eaktivi eren D eaktivi eren
    Aktiv Link-Rücksetzung Link-Rücksetzung Link-Rücksetzung
    Ruhezustand Aktiv Ruhezustand Ruhezustand
    Ruhezustand Neutraining Ruhezustand Neutrainin**
    Energiesparzustand Rücksetzen Energiesparzustand Rücksetzen**
    Energiesparzustand Aktiv Energiesparzustand Energiesparzustand
    Neutraining Aktiv Aktiv Aktiv
    Neutraining Ruhezustand Neutraining** Ruhezustand
    D eaktivi eren Rücksetzen D eaktivi eren Rücksetzen**
    Link-Rücksetzung Rücksetzen Link-Rücksetzung Rücksetzen**
    Linkfehler Rücksetzen Linkfehler Rücksetzen**
  • Wie in Tabelle 5 veranschaulicht, umfasst eine Auflösungstabelle eine Mehrzahl von Einträgen. Ein gegebener Eintrag kann unter Verwendung eines Linkzustandspaars, nämlich des Linkzustands für die entsprechenden V-LSMs für die beiden Dies vor dem Neutrainingsprozess, nachgeschlagen werden. Basierend auf einem derartigen Zugriff kann eine Auflösungsmaßnahme gemäß dem entsprechenden aufgelösten Linkzustand ergriffen werden, der für den gegebenen Die im Eintrag der Auflösungstabelle identifiziert ist. Als ein repräsentatives Beispiel in Bezug auf Tabelle 5 sei angenommen, dass ein Haupt-Die vor einem Neutraining in einem Active-Linkzustand war, und die entsprechende V-LSM des Neben-Dies in einem Disable-Zustand war. In diesem Fall können durch Zugriff auf einen Eintrag der Auflösungstabelle basierend auf diesen Zuständen beide V-LSMs in den Linkzustand Disable aufgelöst werden. Es versteht sich, dass, obwohl die Auflösungstabelle von Tabelle 5 beispielhafte Auflösungsmaßnahmen für entsprechende frühere Linkzustände bereitstellt, in anderen Implementierungen andere Auflösungsmaßnahmen möglich sind. Und natürlich versteht es sich, dass eine Auflösungstabelle in anderen Ausführungsformen andere Formen annehmen kann.
  • Nunmehr unter Bezugnahme auf 4 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Genauer gesagt ist das Verfahren 400 von 4 ein detailliertes Verfahren zur Durchführung von Synchronisation von virtuellen Linkzustandsmaschinen nach einem Neutraining gemäß einer Ausführungsform. Entsprechend kann das Verfahren 400 durch Hardware-Schaltungsanordnung, Firmware, Software und/oder Kombinationen davon durchgeführt werden. In einer spezifischen Ausführungsform kann das Verfahren 400 durch diverse Schaltungen einer physikalischen Schicht durchgeführt werden.
  • Wie veranschaulicht, beginnt das Verfahren 400 durch Empfangen einer Neutrainingsanforderung in einer physikalischen Linkzustandsmaschine (Block 410). Diese Neutrainingsanforderung kann in Reaktion auf eine Erkennung eines Fehlers in einer Paketkommunikation empfangen werden. Diese Fehlererkennung kann in einer von verschiedenen Schichten eines Kommunikationsprotokolls erfolgen. Ungeachtet der Ursache für die Neutrainingsanforderung führt die physikalische Linkzustandsmaschine bei Block 420 ein Neutraining des physikalischen Links durch. Solch ein Neutraining kann verschiedene Operationen zum Konfigurieren des Links für geeignete Geschwindigkeit und Bandbreite (unter anderen möglichen Betriebsparametern) und zum Senden und Empfangen von Testdaten mit einer erwünschten Genauigkeitsrate umfassen.
  • Immer noch unter Bezugnahme auf 4 wird in Verbindung mit diesem Neutraining ein Neutrainingsstatus an entsprechende virtuelle Linkzustandsmaschinen auf beiden Seiten des Interconnects gesendet (Block 430). Bei erfolgreichem Abschluss des Neutrainings informiert die physikalische Linkzustandsmaschine die virtuellen Linkzustandsmaschinen über den Abschluss (Block 440). Danach kann bei Block 450 ein Synchronisations-Handshake-Protokoll für jedes Paar von virtuellen Linkzustandsmaschinen aktiviert werden. Zum Beispiel kann die physikalische Linkzustandsmaschine zuerst ein erstes Paar von virtuellen Linkzustandsmaschinen (z. B. ein Paar, das der physikalischen Linkzustandsmaschine am nächsten, beispielsweise in einer logischen Linkschicht der PHY-Schaltung vorhanden ist) zum Initiieren eines Synchronisations-Handshake-Protokolls veranlassen. Es ist zu erwähnen, dass das Paar, nachdem dieses Paar von virtuellen Linkzustandsmaschinen sein Synchronisations-Handshake-Protokoll abgeschlossen hat, das Paar von virtuellen Linkzustandsmaschinen auf der nächsthöheren Ebene zum entsprechenden Durchführen eines Synchronisations-Handshake-Protokolls veranlassen kann und so weiter.
  • Weiterhin unter Bezugnahme auf 4 können bei Block 460 bei Abschluss des Synchronisations-Handshake-Protokolls für jedes Paar von virtuellen Linkzustandsmaschinen beliebige aktive Protokollschichten für Aktivität aktiviert werden. Nach dem Aktivieren dieser Protokollschichten können Protokollschichtkommunikationen stattfinden. Zum Beispiel kann eine fehlgeschlagene Nachricht, die das Neutraining verursachte, durch eine gegebene Protokollschicht wiederholt werden. Es versteht sich, dass, obwohl in der Ausführungsform von 4 detailliert dargestellt, viele Abwandlungen und Alternativen möglich sind.
  • Nunmehr unter Bezugnahme auf 5 ist ein Flussdiagramm eines Verfahrens gemäß einer weiteren Ausführungsform der vorliegenden Erfindung dargestellt. Genauer gesagt ist das Verfahren 500 von 5 ein Verfahren zur Durchführung einer Synchronisation zwischen einem entsprechenden Paar von virtuellen Linkzustandsmaschinen gemäß einer Ausführungsform. Entsprechend kann das Verfahren 500 durch Hardware-Schaltungsanordnung, Firmware, Software und/oder Kombinationen davon durchgeführt werden. In einer spezifischen Ausführungsform kann das Verfahren 500 durch virtuelle Linkzustandsmaschinen und die ihnen zugrundeliegende Schaltungsanordnung durchgeführt werden.
  • Wie veranschaulicht, beginnt das Verfahren 500 durch Empfangen einer Anforderung einer Änderung eines Linkzustands einer virtuellen Linkzustandsmaschine von einer entsprechenden virtuellen Linkzustandsmaschine, die sich auf einem anderen Die befindet (Block 510). Als Nächstes wird bestimmt. ob diese Anforderung gültig ist (Raute 515). Es kann zum Beispiel bestimmt werden, ob eine Nachricht, welche die Anforderung bereitstellt, korrekt empfangen und decodiert wird. Wenn dies der Fall ist, geht die Steuerung zu Block 520 weiter, wo die Linkzustandsänderung in der virtuellen Linkzustandsmaschine durchgeführt werden kann. Danach geht die Steuerung zu Block 525 weiter, wo ein aktualisierter Status des Linkzustands dieser virtuellen Linkzustandsmaschine gesendet werden kann (z. B. an die entsprechende virtuelle Linkzustandsmaschine auf dem anderen Die).
  • Weiter unter Bezugnahme auf 5 geht die Steuerung stattdessen, wenn bestimmt wird, dass die Anforderung nicht gültig ist, z. B. aufgrund eines Fehlers in der Nachricht, welche die Anforderung mitführt, zu Block 530 weiter, wo eine Anforderung an eine physikalische Linkzustandsmaschine gesendet werden kann, um einen Neutrainingsprozess durchzuführen, der so vonstattengehen kann, wie vorstehend erörtert. In Reaktion auf eine Initiierung solch eines Neutrainingsprozesses kann die physikalische Linkzustandsmaschine eine Neutrainingsstatusnachricht senden, die von allen virtuellen Linkzustandsmaschinen empfangen wird (Block 540).
  • Immer noch unter Bezugnahme auf 5 kann nach Abschluss des Neutrainings als Nächstes bei Block 550 ein Synchronisations-Handshake-Protokoll zwischen entsprechenden virtuellen Linkzustandsmaschinen auf den beiden Dies durchgeführt werden. Als ein Ergebnis dieses Synchronisations-Handshake-Protokolls kann jede virtuelle Linkzustandsmaschine des Paars einen früheren Linkzustand der anderen virtuellen Linkzustandsmaschine (nämlich vor dem Neutraining) identifizieren. Als Nächstes kann jede virtuelle Linkzustandsmaschine auf einen Eintrag einer Auflösungstabelle wenigstens zum Teil basierend auf dem früheren Linkzustand der virtuellen Linkzustandsmaschine des anderen Dies zugreifen (Block 560). Basierend auf den Informationen, die im Eintrag vorhanden sind, auf den zugegriffen wird, kann bei Block 570 der Linkzustand für die virtuelle Linkzustandsmaschine in einen aktualisierten Linkzustand aufgelöst werden. Entsprechend ist es für eine gegebene virtuelle Linkzustandsmaschine möglich, ihren Zustand basierend auf Informationen im Eintrag, auf den zugegriffen wird, zu aktualisieren (oder nicht). Es versteht sich, dass, obwohl in der Ausführungsform von 5 detailliert dargestellt, viele Abwandlungen und Alternativen möglich sind.
  • Nunmehr unter Bezugnahme auf 6A bis 6C ist eine beispielhafte Technik zum Durchführen von Synchronisation für eine Mehrzahl von V-LSMs nach einem Neutrainingsprozess dargestellt. Die detaillierte Ereignisfolge wird im Folgenden beschrieben:
    1. 1) V-LSM Nr. 2 von Haupt-Die fordert Eintritt in LINKRESET-Zustand an
      1. a. Protokoll Nr. 2 von Haupt-Die fordert Eintritt in LINKRESET-Zustand an
      2. b. V-LSM Nr. 2 von Haupt-Die sendet STATE REQ==LINKRESET-PLP
      3. c. V-LSM Nr. 2 von Neben-Die empfängt das PLP und bereitet Protokoll Nr. 2 für Eintritt in LINKRESET vor
    2. 2) V-LSM Nr. 2 von Neben-Die bestätigt Eintritt in LINKRESET-Zustand
      1. a. Protokoll Nr. 2 von Neben-Die informiert V-LSM Nr. 2 über Bereitschaft zum Eintritt in LINKRESET
      2. b. V-LSM Nr. 2 von Neben-Die wechselt in LINKRESET-Zustand und sendet STATE_STS==LINKRESET-PLP. Das PLP wird jedoch während der Übertragung beschädigt.
      3. c. V-LSM Nr. 2 von Haupt-Die erkennt PLP-Fehler und löst Neutrainingsfluss aus. Sie bleibt im Active-Zustand.
    3. 3) P-LSM führt Neutrainingsfluss durch, wie angefordert
      1. a. P-LSM bedient die Neutrainingsanforderung und trainiert anschließend in den ACTIVE_L0-Zustand zurück. STATE_STS==RETRAIN wird an alle V-LSMs zurückreflektiert (aber STATE -STS wird auf nicht aktiven LPIF-Schnittstellen nicht reflektiert (so dass die inaktive Protokollschicht den RETRAIN-Zustand nicht empfängt)
      2. b. V-LSM Nr. 1 von Haupt-Die und V-LSM Nr. 1 von Neben-Die bleiben im IDLE _L1-Zustand
      3. c. V-LSM Nr. 2 von Neben-Die bleibt in LINKRESET-Zustand
    4. 4) Synchronisation von V-LSM-Paar Nr. 0
      1. a. V-LSM Nr. 0 von Neben-Die sendet STATE -STS==ACTIVE _L0-Synchronisations-PLP
      2. b. V-LSM Nr. 0 von Haupt-Die sendet STATE_STS==ACTIVE_L0-PLP
      3. c. V-LSM Nr. 0 von Haupt-Die löst basierend auf Synchronisationspaar in STATE_STS==ACTIVE_L0 auf
      4. d. V-LSM Nr. 0 von Neben-Die löst basierend auf Synchronisationspaar in STATE_STS==ACTIVE_L0 auf
    5. 5) Synchronisation von V-LSM-Paar Nr. 1
      1. a. V-LSM Nr. 1 von Neben-Die sendet STATE_STS==IDLE-L1-Synchronisations-PLP
      2. b. V-LSM Nr. 1 von Haupt-Die sendet STATE_STS==IDLE_L1-Synchronisations-PLP
      3. c. V-LSM Nr. 1 von Haupt-Die löst basierend auf Synchronisationspaar in STATE_STS==IDLE_L1 auf
      4. d. V-LSM Nr. 1 von Neben-Die löst basierend auf Synchronisationspaar in STATE_STS==IDLE_L1 auf
    6. 6) Synchronisation von V-LSM-Paar Nr. 2
      1. a. V-LSM Nr. 2 von Neben-Die sendet STATE _STS==LINKRESET-Synchronisations-PLP
      2. b. V-LSM Nr. 2 von Haupt-Die sendet STATE_STS==ACTIVE_L0-PLP
      3. c. V-LSM Nr. 2 von Haupt-Die löst basierend auf Synchronisationspaar in STATE _STS==LINKRESET auf
      4. d. V-LSM Nr. 2 von Neben-Die löst basierend auf Synchronisationspaar in STATE _STS==LINKRESET auf
  • Wie in 6A bis 6C veranschaulicht, findet die Synchronisation von virtuellen Linkzuständen für die V-LSMs der beiden Dies auf eine Weise statt, die für die Protokollschicht für eine entsprechende V-LSM Nr. 1 (Protokoll Nr. 1) transparent ist, derart dass sie den ganzen Prozess hindurch in einem Niederleistungs- oder anderen Ruhezustand bleiben kann, und die sich nicht auf den Leistungsverbrauch auswirkt und ferner die Komplexität reduziert. Es versteht sich, dass, obwohl in der Ausführungsform von 6A bis 6C detailliert dargestellt, viele Abwandlungen und Alternativen möglich sind.
  • Ausführungsformen können in einer Vielzahl von Interconnect-Strukturen implementiert werden. Unter Bezugnahme auf 7 ist eine Ausführungsform einer Fabric veranschaulicht, die aus Punkt-zu-Punkt-Links besteht, die einen Satz von Komponenten miteinander verbinden. Ein System 700 umfasst einen Prozessor 705 und einen Systemspeicher 710, der mit einem Controllerhub 715 gekoppelt ist. Der Prozessor 705 umfasst ein beliebiges Verarbeitungselement, wie beispielsweise einen Mikroprozessor, einen Hostprozessor, einen eingebetteten Prozessor, einen Coprozessor oder einen anderen Prozessor. Der Prozessor 705 ist mit dem Controllerhub 715 durch einen Frontside-Bus (FSB) 706 gekoppelt. In einer Ausführungsform ist der FSB 706 ein serieller Punkt-zu-Punkt-Interconnect. In einer anderen Ausführungsform kann der Link 706 ein beliebiger anderer Interconnect sein, wie beispielsweise eine gehäuseintegrierte Interconnect-Architektur, die physikalische Schaltungsanordnung zum Synchronisieren von Linkzuständen virtueller Linkzustandsmaschinen umfasst, wie hierin beschrieben.
  • Der Systemspeicher 710 umfasst ein beliebiges Speichergerät, wie beispielsweise einen Direktzugriffsspeicher (RAM - Random Access Memory), einen nichtflüchtigen (NV - Non-Volatile) Speicher oder einen anderen Speicher, auf den durch Geräte im System 700 zugegriffen werden kann. Der Systemspeicher 710 ist mit dem Controllerhub 715 durch eine Speicherschnittstelle 716 gekoppelt. Beispiele einer Speicherschnittstelle umfassen eine Doppeldatenraten (DDR)-Speicherschnittstelle, eine Zweikanal-DDR-Speicherschnittstelle und eine DRAM (dynamischer RAM)-Speicherschnittstelle.
  • In einer Ausführungsform ist der Controllerhub 715 ein Stammhub, Stammkomplex oder Stammcontroller in einer PCIe-Interconnect-Hierarchie. Beispiele des Controllerhubs 715 umfassen einen Chipsatz, einen Speichercontrollerhub (MCH - Memory Controller Hub), eine Northbridge, einen Interconnect-Controllerhub (ICH - Interconnect Controller Hub), eine Southbridge und einen Stammcontroller/-hub. Der Begriff Chipsatz bezieht sich häufig auf zwei physisch getrennte Controllerhubs, d. h. einen Speicher-Controllerhub (MCH), der mit einem Zwischenverbindungs-Controllerhub (ICH) gekoppelt ist. Es ist zu erwähnen, dass aktuelle Systeme den MCH oft in den Prozessor 705 integriert aufweisen, während der Controller 715 mit E-/A-Geräten in ähnlicher Weise, wie im Folgenden beschrieben, kommuniziert. In einigen Ausführungsformen wird Peer-to-Peer-Routing optional durch den Stammkomplex 715 unterstützt.
  • Hierbei ist der Controllerhub 715 durch einen seriellen Link 719 mit einem Switch/einer Brücke 720 gekoppelt. Eingangs-/Ausgangsmodule 717 und 721, die auch als Schnittstellen/Ports 717 und 721 bezeichnet werden können, umfassen/implementieren einen Schichtprotokollstapel, um Kommunikation zwischen dem Controllerhub 715 und dem Switch 720 bereitzustellen. In einer Ausführungsform sind mehrere Geräte imstande, mit dem Switch 720 gekoppelt zu werden.
  • Der Switch/die Brücke 720 leitet Pakete/Nachrichten von einem Gerät 725 stromaufwärts, d. h. , eine Hierarchie nach oben zu einem Stammkomplex, zum Controllerhub 715, und stromabwärts, d. h. eine Hierarchie nach unten weg von einem Stammcontroller, vom Prozessor 705 oder dem Systemspeicher 710 zum Gerät 725. Der Switch 720 wird in einer Ausführungsform als logische Anordnung von mehreren virtuellen PCI-zu-PCI-Brückengeräten bezeichnet. Das Gerät 725 umfasst ein beliebiges internes oder externes Gerät oder eine beliebige interne oder externe Komponente, das/die mit einem elektronischen System gekoppelt werden soll, wie beispielsweise ein E-/A-Gerät, einen Netzschnittstellencontroller (NIC - Network Interface Controller), eine Add-in-Karte, einen Audioprozessor, einen Netzwerkprozessor, eine Festplatte, ein Speichergerät, eine CD-/DVD-ROM, einen Monitor, einen Drucker, eine Maus, eine Tastatur, einen Router, ein tragbares Speichergerät, ein Firewire-Gerät, ein USB-Gerät (Universal Serial Bus), einen Scanner und andere Eingabe-/Ausgabe-Geräte, und zum Beispiel über einen I3C-Bus gekoppelt werden kann. In der PCIe-Sprache wird solch ein Gerät häufig als Endpunkt bezeichnet. Obwohl nicht spezifisch dargestellt, kann das Gerät 725 eine PCIe-zu-PCI/PCI-X-Brücke umfassen, um Legacy- oder andere Versionen von PCI-Geräten zu unterstützen. Endpunktgeräte in PCIe werden häufig als integrierte Legacy-, PCIe- oder Stammkomplex-Endpunkte klassifiziert.
  • Außerdem ist ein Grafikbeschleuniger 730 durch einen seriellen Link 732 mit dem Controllerhub 715 gekoppelt. In einer Ausführungsform ist der Grafikbeschleuniger 730 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Der Switch 720 und demgemäß das E-/A-Gerät 725 sind dann mit dem ICH gekoppelt. Außerdem dienen E-/A-Module 731 und 718 zum Implementieren eines Schichtprotokollstapels, um zwischen dem Grafikbeschleuniger 730 und dem Controllerhub 715 zu kommunizieren. Ein Grafikcontroller oder der Grafikbeschleuniger 730 selbst kann in den Prozessor 705 integriert sein.
  • Als Nächstes ist unter Bezugnahme auf 8 eine Ausführungsform eines SoC-Designs gemäß einer Ausführungsform dargestellt. Als ein spezifisches veranschaulichendes Beispiel kann ein SoC 800 zur Einfügung in einen anderen Datenverarbeitungsgerätetyp, der von einem tragbaren Gerät bis zu einem Serversystem reicht, konfiguriert sein. Hier umfasst der SoC 800 2 Kerne 806 und 807. Die Kerne 806 und 807 können einer Anweisungssatzarchitektur entsprechen, wie beispielsweise einem Intel® Architecture Core™-basierten Prozessor, einem Prozessor der Advanced Micro Devices, Inc. (AMD), einem MIPSbasierten Prozessor, einem ARM-basierten Prozessordesign oder von Kunden dieser Unternehmen sowie ihrer Lizenznehmer oder Übernehmer. Die Kerne 806 und 807 sind mit einer Cachesteuerung 808 gekoppelt, die mit einer Busschnittstelleneinheit 809 und einem L2-Cache 810 assoziiert ist, um mit anderen Teilen des Systems 800 über einen Interconnect 812 zu kommunizieren.
  • Der Interconnect 812 stellt Kommunikationskanäle zu den anderen Komponenten bereit, wie beispielweise einem Teilnehmerkennungsmodul (SIM) 830 zur Verbindung mit einer SIM-Karte, einem Start-ROM 835 zum Speichern eines Startcodes zur Ausführung durch die Kerne 806 und 807 zum Initialisieren und Starten des SoCs 800, einem SDRAM-Controller 840 zur Verbindung mit einem externen Speicher (z. B. DRAM 860), einem Flash-Controller 845 zur Verbindung mit einem nichtflüchtigen Speicher (z. B. Flash 865), einem Peripheriecontroller 850 (z. B. einer eSPI-Schnittstelle) zur Verbindung mit Peripheriegeräten, Video-Codecs 820 und einer Video-Schnittstelle 825 zum Anzeigen und Empfangen von Eingabe (z. B. Touch-Eingabe), einer GPU 815 zum Durchführen von grafikbezogenen Berechnungen usw. Jeder dieser Interconnects bzw. jede dieser Schnittstellen kann hierin beschriebene Aspekte umfassen, einschließlich der Synchronisation von virtuellen Linkzustandsmaschinen. Außerdem veranschaulicht das System Peripheriegeräte zur Kommunikation, wie beispielsweise ein Bluetooth-Modul 870, ein 3G-Modem 875, ein GPS 880 und WiFi 885. Außerdem ist im System ein Leistungscontroller 855 enthalten.
  • Nunmehr unter Bezugnahme auf 9 ist ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie in 9 dargestellt, umfasst das Multiprozessorsystem 900 einen ersten Prozessor 970 und einen zweiten Prozessor 980, die über einen Punkt-zu-Punkt-Interconnect 950 gekoppelt sind. Wie in 9 dargestellt, kann jeder der Prozessoren 970 und 980 viele Kernprozessoren umfassen, die repräsentative erste und zweite Prozessorkerne (d. h. Prozessorkerne 974a und 974b und Prozessorkerne 984a und 984b) umfassen.
  • Immer noch unter Bezugnahme auf 9 umfasst der erste Prozessor 970 ferner einen Speicher-Controllerhub (MCH - Memory Controller Hub) 972 und Punkt-zu-Punkt (P-P)-Schnittstellen 976 und 978. Ähnlich umfasst der zweite Prozessor 980 einen MCH 982 und P-P-Schnittstellen 986 und 988. Wie in 9 dargestellt, koppeln die MCHs 972 und 982 die Prozessoren mit jeweiligen Speichern, nämlich mit einem Speicher 932 und einem Speicher 934, welche Abschnitte eines Systemspeichers (z. B. eines DRAMs) sein können, der lokal an die jeweiligen Prozessoren angeschlossen ist. Der erste Prozessor 970 und der zweite Prozessor 980 können über P-P-Zwischenverbindungen 962 bzw. 964 mit einem Chipsatz 990 gekoppelt sein. Wie in 9 dargestellt, umfasst der Chipsatz 990 P-P-Schnittstellen 994 und 998.
  • Außerdem umfasst der Chipsatz 990 eine Schnittstelle 992, um den Chipsatz 990 durch eine P-P-Zwischenverbindung 939 mit einer Hochleistungs-Grafikmaschine 938 zu koppeln. Wie in 9 dargestellt, können verschiedene Eingabe-/Ausgabe-(I/O-)Einrichtungen 914 mit dem ersten Bus 916 zusammen mit einer Busbrücke 918 gekoppelt sein, welche den ersten Bus 916 mit einem zweiten Bus 920 koppelt. Verschiedene Geräte können mit dem zweiten Bus 920 gekoppelt sein, die in einer Ausführungsform zum Beispiel eine Tastatur/Maus 922, Kommunikationsgeräte 926 und eine Datenspeichereinheit 928, wie beispielsweise ein Plattenlaufwerk oder ein anderes Massenspeichergerät, umfassen, welche Code 930 enthalten können. Ferner kann eine Audio-I/O 924 mit dem zweiten Bus 920 gekoppelt sein. Jedes der Geräte, das in 9 dargestellt ist, kann zum Durchführen von Synchronisation von virtuellen Linkzustandsmaschinen für eine oder mehrere der Interconnect-Strukturen, wie hierin beschrieben, konfiguriert sein.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • In einem Beispiel umfasst eine Vorrichtung: eine Arbitrierungsschaltung, die eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit einem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit einem zweiten Kommunikationsprotokollstapel assoziiert ist, wobei der erste und der zweite Kommunikationsprotokollstapel über einen physikalischen Link kommunizieren; und eine physikalische Schaltung, die mit der Arbitrierungsschaltung gekoppelt ist und über eine Schnittstelle eine Verbindung mit einer ersten Seite des physikalischen Links herstellt. Die physikalische Schaltung kann in Reaktion auf ein Neutraining des physikalischen Links Synchronisation einer Mehrzahl von virtuellen Linkzustandsmaschinen, welche die erste und die zweite virtuelle Linkzustandsmaschine umfasst, mit entsprechenden virtuellen Linkzustandsmaschinen veranlassen, die mit einer zweiten Seite des physikalischen Links assoziiert sind, wobei einer von dem ersten und dem zweiten Kommunikationsprotokollstapel während des Neutrainings und der Synchronisation in einem Niederleistungszustand bleibt.
  • In einem Beispiel umfasst die Vorrichtung ein Mehrchip-Gehäuse, das aufweist: einen ersten Die, der den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist und mit der ersten Seite des physikalischen Links gekoppelt ist, und einen zweiten Die, der über die zweite Seite des physikalischen Links mit dem ersten Die gekoppelt ist und den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist, wobei der zweite Die die entsprechenden virtuellen Linkzustandsmaschinen aufweist, die mit der zweiten Seite des physikalischen Links assoziiert sind.
  • In einem Beispiel löst die erste virtuelle Linkzustandsmaschine des ersten Dies in Reaktion auf ein Paket einer physikalischen Schicht, das von der entsprechenden ersten virtuellen Linkzustandsmaschine des zweiten Dies empfangen wird, von einem ersten Linkzustand in einen zweiten Linkzustand auf.
  • In einem Beispiel umfasst die Vorrichtung ferner eine Auflösungstabelle, die eine Mehrzahl von Einträgen umfasst, die jeweils einen aufgelösten Linkzustand für ein Paar von entsprechenden virtuellen Linkzustandsmaschinen identifizieren.
  • In einem Beispiel greift die erste virtuelle Linkzustandsmaschine des ersten Dies auf einen ersten Eintrag der Auflösungstabelle zu, um Auflösung vom ersten Linkzustand in den zweiten Linkzustand zu bestimmen.
  • In einem Beispiel aktiviert die erste virtuelle Linkzustandsmaschine des ersten Dies nach dem Neutraining des physikalischen Links den ersten Kommunikationsprotokollstapel des ersten Dies, um Kommunikation eines oder mehrerer Pakete zu wiederholen.
  • In einem Beispiel sendet die erste virtuelle Linkzustandsmaschine des zweiten Dies das Paket der physikalischen Schicht unabhängig ohne Interaktion mit dem ersten Kommunikationsprotokollstapel des zweiten Dies.
  • In einem Beispiel umfasst die Vorrichtung ferner eine dritte virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands der Arbitrierungsschaltung.
  • In einem Beispiel umfasst die Vorrichtung ferner eine logische physikalische Linkschaltung, welche die dritte virtuelle Linkzustandsmaschine umfasst.
  • In einem Beispiel umfasst die logische physikalische Linkschaltung ferner eine physikalische Linkzustandsmaschine zur Verbindung mit der physikalischen Schaltung über eine Schnittstelle.
  • In einem Beispiel veranlasst die physikalische Linkzustandsmaschine Neutraining des physikalischen Links in Reaktion auf eine Neutrainingsanforderung von der ersten virtuellen Linkzustandsmaschine basierend auf einer Erkennung eines Fehlers in einer Nachricht zur Anforderung einer Linkzustandsänderung.
  • In einem anderen Beispiel umfasst ein Verfahren: Neutrainieren eines physikalischen Links, der einen ersten Die eines Halbleitergehäuses mit einem zweiten Die des Halbleitergehäuses koppelt, wobei der erste Die und der zweite Die jeweils einen ersten Kommunikationsprotokollstapel und einen zweiten Kommunikationsprotokollstapel, eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit dem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfassen, der mit dem zweiten Kommunikationsprotokollstapel assoziiert ist; Durchführen nach dem Neutrainieren des physikalischen Links eines ersten Synchronisations-Handshake-Protokolls zwischen der ersten virtuellen Linkzustandsmaschine des ersten Dies und der ersten virtuellen Linkzustandsmaschine des zweiten Dies und Durchführen eines zweiten Synchronisations-Handshake-Protokolls zwischen der zweiten virtuellen Linkzustandsmaschine des ersten Dies und der zweiten virtuellen Linkzustandsmaschine des zweiten Dies; und danach Aktivieren des ersten Kommunikationsprotokollstapels des ersten Dies und des ersten Kommunikationsprotokollstapels des zweiten Dies für Aktivität, wobei der zweite Kommunikationsprotokollstapel mindestens eines von dem ersten Die und dem zweiten Die während des ganzen Neutrainings sowie während des ganzen ersten und des ganzen zweiten Synchronisations-Handshake-Protokolls in einem Niederleistungszustand gehalten wird.
  • In einem Beispiel umfasst das erste Synchronisations-Handshake-Protokoll: Senden eines ersten Pakets einer physikalischen Schicht von der ersten virtuellen Linkzustandsmaschine des ersten Dies an die erste virtuelle Linkzustandsmaschine des zweiten Dies, wobei das erste Paket der physikalischen Schicht einen Linkzustand der ersten virtuellen Linkzustandsmaschine des ersten Dies vor dem Neutraining identifiziert; und Empfangen eines zweiten Pakets der physikalischen Schicht von der ersten virtuellen Linkzustandsmaschine des zweiten Dies in der ersten virtuellen Linkzustandsmaschine des ersten Dies, wobei das zweite Paket der physikalischen Schicht einen Linkzustand der ersten virtuellen Linkzustandsmaschine des zweiten Dies vor dem Neutraining identifiziert.
  • In einem Beispiel umfasst das erste Synchronisations-Handshake-Protokoll ferner: Zugreifen auf eine Auflösungstabelle basierend auf mindestens einem von dem Linkzustand der ersten virtuellen Linkzustandsmaschine des ersten Dies vor dem Neutraining und dem Linkzustand der ersten virtuellen Linkzustandsmaschine des zweiten Dies vor dem Neutraining; Abrufen einer Auflösungsmaßnahme aus der Auflösungstabelle; und Aktualisieren eines Linkzustands mindestens einer von der ersten virtuellen Linkzustandsmaschine des ersten Dies und der ersten virtuellen Linkzustandsmaschine des zweiten Dies gemäß der Auflösungsmaßnahme.
  • In einem Beispiel umfasst das Verfahren ferner ein Halten der zweiten Kommunikationsprotokollschicht des ersten Dies während des zweiten Synchronisations-Handshake-Protokolls im Niederleistungszustand, wobei die zweite Kommunikationsprotokollschicht mit der zweiten virtuellen Linkzustandsmaschine des ersten Dies assoziiert ist.
  • In einem anderen Beispiel führt ein computerlesbares Medium, das Anweisungen umfasst, das Verfahren nach einem der vorstehenden Beispiele durch.
  • In einem anderen Beispiel wird ein computerlesbares Medium, das Daten umfasst, durch mindestens eine Maschine zum Herstellen mindestens einer integrierten Schaltung zum Durchführen des Verfahrens nach einem der vorstehenden Beispiele verwendet.
  • In einem anderen Beispiel umfasst eine Vorrichtung Mittel zum Durchführen des Verfahrens nach einem der vorstehenden Beispiele.
  • In noch einem anderen Beispiel umfasst ein Mehrchip-Gehäuse: einen ersten Die, der einen ersten Kommunikationsprotokollstapel und einen zweiten Kommunikationsprotokollstapel umfasst, und eine erste gemeinsame physikalische Schaltung. Die erste gemeinsame physikalische Schaltung kann umfassen: eine erste Arbitrierungsschaltung, die eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit dem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit dem zweiten Kommunikationsprotokollstapel assoziiert ist; eine erste logische Linkschicht, die eine dritte virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit der ersten Arbitrierungsschaltung assoziiert ist; und eine physikalische Linkschaltung zur Verbindung mit einem Interconnect. Das Gehäuse kann ferner den Interconnect, der mit der physikalischen Linkschaltung gekoppelt ist, und einen zweiten Die umfassen, der mit dem Interconnect gekoppelt ist, wobei der zweite Die den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel und eine zweite gemeinsame physikalische Schaltung umfasst. In Reaktion auf ein Neutraining des Interconnects werden die erste, die zweite und die dritte virtuelle Linkzustandsmaschine mit entsprechenden virtuellen Linkzustandsmaschinen des zweiten Dies synchronisiert, während einer von dem ersten und dem zweiten Kommunikationsprotokollstapel in einem Niederleistungszustand gehalten wird.
  • In einem Beispiel löst die erste virtuelle Linkzustandsmaschine des ersten Dies in Reaktion auf ein Paket einer physikalischen Schicht, das von der entsprechenden ersten virtuellen Linkzustandsmaschine des zweiten Dies unabhängig gesendet wird, von einem ersten Linkzustand in einen zweiten Linkzustand auf.
  • In einem Beispiel umfasst das Mehrchip-Gehäuse ferner eine Auflösungstabelle, die eine Mehrzahl von Einträgen umfasst, die jeweils einen aufgelösten Linkzustand für ein Paar von entsprechenden virtuellen Linkzustandsmaschinen identifizieren.
  • In einem Beispiel greift die erste virtuelle Linkzustandsmaschine des ersten Dies auf einen ersten Eintrag der Auflösungstabelle zu, um Auflösung vom ersten Linkzustand in den zweiten Linkzustand zu bestimmen.
  • In einem Beispiel veranlasst die erste virtuelle Linkzustandsmaschine des ersten Dies nach dem Neutraining des physikalischen Links, durch das hindurch der zweite Kommunikationsprotokollstapel des ersten Dies in einem inaktiven Zustand bleibt, den ersten Kommunikationsprotokollstapel des ersten Dies zur Wiederholung von Kommunikation eines oder mehrerer Pakete, während der zweite Kommunikationsprotokollstapel des ersten Dies im inaktiven Zustand bleibt.
  • Es versteht sich, dass verschiedene Kombinationen der vorstehenden Beispiele möglich sind.
  • Es ist zu erwähnen, dass die Begriffe „Schaltung“ und „Schaltungsanordnung“ hierin austauschbar verwendet werden. Wie hierin verwendet, werden diese Begriffe und der Begriff „Logik“ verwendet, um sich allein oder in einer beliebigen Kombination auf analoge Schaltungsanordnung, digitale Schaltungsanordnung, festverdrahtete Schaltungsanordnung, programmierbare Schaltungsanordnung, Prozessorschaltungsanordnung, Mikrocontroller-Schaltungsanordnung, Hardwarelogikschaltungsanordnung, Zustandsmaschinen-Schaltungsanordnung und/oder einen beliebigen anderen Typ von physikalischer Hardwarekomponente zu beziehen. Die Ausführungsformen können in vielen verschiedenen Typen von Systemen verwendet werden. Zum Beispiel kann in einer Ausführungsform ein Kommunikationsgerät so ausgelegt sein, dass es die verschiedenen hierin beschriebenen Verfahren und Techniken durchführt. Der Schutzbereich der vorliegenden Erfindung ist natürlich nicht auf ein Kommunikationsgerät beschränkt, sondern andere Ausführungsformen können stattdessen an andere Typen von Vorrichtungen zum Verarbeiten von Anweisungen oder eine oder mehrere maschinenlesbare Medien gerichtet sein, welche Anweisungen umfassen, die in Reaktion auf ihre Ausführung auf einem Datenverarbeitungsgerät das Gerät veranlassen, eines oder mehrere der hierin beschriebenen Verfahren und eine oder mehrere der hierin beschriebenen Techniken auszuführen.
  • Ausführungsformen können in Code implementiert sein und auf einem nichttransitorischen Speichermedium gespeichert werden, das Anweisungen darauf aufweist, die verwendet werden können, um ein System so zu programmieren, dass es die Anweisungen ausführt. Ausführungsformen können auch in Daten implementiert und auf einem nichttransitorischen Speichermedium gespeichert werden, das bei Verwendung durch mindestens eine Maschine die mindestens eine Maschine zum Herstellen mindestens einer integrierten Schaltung zum Durchführen einer oder mehrerer Operationen veranlasst. Noch weitere Ausführungsformen können in einem computerlesbaren Speichermedium implementiert sein, das Informationen umfasst, die bei Verarbeitung zu einem SoC oder einem anderen Prozessor den SoC oder den anderen Prozessor zum Durchführen einer oder mehrerer Operationen konfigurieren. Das Speichermedium kann jeglichen Typ von Platten, darunter Disketten, optische Platten, Festkörperlaufwerke (SSD - Solid State Drive), Compact-Disk-Festwertspeicher (CD-ROM - Compact Disk Read-Only Memory), wiederbeschreibbare Compact-Disks (CD-RW - Compact Disk Rewritable) und magnetooptische Platten, Halbleiterbauelemente wie beispielsweise Festwertspeicher (ROM - Read-Only Memory), Direktzugriffsspeicher (RAM - Random Access Memory), wie beispielsweise dynamische Direktzugriffsspeicher (DRAM - Dynamic Random Access Memory), statische Direktzugriffsspeicher (SRAM - Static Random Access Memory), löschbare programmierbare Festwertspeicher (EPROM - Erasable Programmable Read-Only Memory), Flash-Speicher, elektrisch löschbare programmierbare Festwertspeicher (EEPROM - Electrically Erasable Programmable Read-Only Memory), magnetische oder optische Karten oder jeden anderen Typ von Medien, die zum Speichern von elektronischen Befehlen imstande sind, umfassen, ohne darauf beschränkt zu sein.
  • Obwohl die vorliegende Erfindung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind für Fachleute zahlreiche Modifikationen und Abwandlungen davon zu erkennen. Die angehängten Ansprüche sollen alle solchen Modifikationen und Abwandlungen erfassen, die unter das wahre Wesen und in den Schutzbereich dieser vorliegenden Erfindung fallen.

Claims (26)

  1. Vorrichtung, umfassend: eine Arbitrierungsschaltung, die eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit einem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit einem zweiten Kommunikationsprotokollstapel assoziiert ist, wobei der erste und der zweite Kommunikationsprotokollstapel über einen physikalischen Link kommunizieren; und eine physikalische Schaltung, die mit der Arbitrierungsschaltung gekoppelt ist und über eine Schnittstelle eine Verbindung mit einer ersten Seite des physikalischen Links herstellt, wobei die physikalische Schaltung in Reaktion auf ein Neutraining des physikalischen Links Synchronisation einer Mehrzahl von virtuellen Linkzustandsmaschinen, welche die erste und die zweite virtuelle Linkzustandsmaschine umfasst, mit entsprechenden virtuellen Linkzustandsmaschinen veranlasst, die mit einer zweiten Seite des physikalischen Links assoziiert sind, wobei einer von dem ersten und dem zweiten Kommunikationsprotokollstapel während des Neutrainings und der Synchronisation in einem Niederleistungszustand bleibt.
  2. Vorrichtung nach Anspruch 1, wobei die Vorrichtung ein Mehrchip-Gehäuse umfasst, das umfasst: einen ersten Die, der den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist und mit der ersten Seite des physikalischen Links gekoppelt ist, und einen zweiten Die, der über die zweite Seite des physikalischen Links mit dem ersten Die gekoppelt ist und den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist, wobei der zweite Die die entsprechenden virtuellen Linkzustandsmaschinen aufweist, die mit der zweiten Seite des physikalischen Links assoziiert sind.
  3. Vorrichtung nach Anspruch 2, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies in Reaktion auf ein Paket einer physikalischen Schicht, das von der entsprechenden ersten virtuellen Linkzustandsmaschine des zweiten Dies empfangen wird, von einem ersten Linkzustand in einen zweiten Linkzustand auflöst.
  4. Vorrichtung nach Anspruch 3. ferner umfassend eine Auflösungstabelle, die eine Mehrzahl von Einträgen umfasst, die jeweils einen aufgelösten Linkzustand für ein Paar von entsprechenden virtuellen Linkzustandsmaschinen identifizieren.
  5. Vorrichtung nach Anspruch 4, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies auf einen ersten Eintrag der Auflösungstabelle zugreift, um Auflösung vom ersten Linkzustand in den zweiten Linkzustand zu bestimmen.
  6. Vorrichtung nach Anspruch 4, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies nach dem Neutraining des physikalischen Links den ersten Kommunikationsprotokollstapel des ersten Dies aktiviert, um Kommunikation eines oder mehrerer Pakete zu wiederholen.
  7. Vorrichtung nach Anspruch 3, wobei die erste virtuelle Linkzustandsmaschine des zweiten Dies das Paket der physikalischen Schicht ohne Interaktion mit dem ersten Kommunikationsprotokollstapel des zweiten Dies unabhängig sendet.
  8. Vorrichtung nach Anspruch 1, ferner umfassend eine dritte virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands der Arbitrierungsschaltung.
  9. Vorrichtung nach Anspruch 8, ferner umfassend eine logische physikalische Linkschaltung, welche die dritte virtuelle Linkzustandsmaschine umfasst.
  10. Vorrichtung nach Anspruch 9, wobei die logische physikalische Linkschaltung ferner eine physikalische Linkzustandsmaschine zur Verbindung mit der physikalischen Schaltung über eine Schnittstelle umfasst.
  11. Vorrichtung nach Anspruch 10, wobei die physikalische Linkzustandsmaschine Neutraining des physikalischen Links in Reaktion auf eine Neutrainingsanforderung von der ersten virtuellen Linkzustandsmaschine basierend auf einer Erkennung eines Fehlers in einer Nachricht zur Anforderung einer Linkzustandsänderung veranlasst.
  12. Verfahren, umfassend: Neutrainieren eines physikalischen Links, der einen ersten Die eines Halbleitergehäuses mit einem zweiten Die des Halbleitergehäuses koppelt, wobei der erste Die und der zweite Die jeweils einen ersten Kommunikationsprotokollstapel und einen zweiten Kommunikationsprotokollstapel, eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit dem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfassen, der mit dem zweiten Kommunikationsprotokollstapel assoziiert ist; Durchführen nach dem Neutrainieren des physikalischen Links eines ersten Synchronisations-Handshake-Protokolls zwischen der ersten virtuellen Linkzustandsmaschine des ersten Dies und der ersten virtuellen Linkzustandsmaschine des zweiten Dies und Durchführen eines zweiten Synchronisations-Handshake-Protokolls zwischen der zweiten virtuellen Linkzustandsmaschine des ersten Dies und der zweiten virtuellen Linkzustandsmaschine des zweiten Dies; und danach Aktivieren des ersten Kommunikationsprotokollstapels des ersten Dies und des ersten Kommunikationsprotokollstapels des zweiten Dies für Aktivität, wobei der zweite Kommunikationsprotokollstapel mindestens eines von dem ersten Die und dem zweiten Die während des ganzen Neutrainings sowie während des ganzen ersten und des ganzen zweiten Synchronisations-Handshake-Protokolls in einem Niederleistungszustand gehalten wird.
  13. Verfahren nach Anspruch 12, wobei das erste Synchronisations-Handshake-Protokoll umfasst: Senden eines ersten Pakets einer physikalischen Schicht von der ersten virtuellen Linkzustandsmaschine des ersten Dies an die erste virtuelle Linkzustandsmaschine des zweiten Dies, wobei das erste Paket der physikalischen Schicht einen Linkzustand der ersten virtuellen Linkzustandsmaschine des ersten Dies vor dem Neutraining identifiziert; und Empfangen eines zweiten Pakets der physikalischen Schicht von der ersten virtuellen Linkzustandsmaschine des zweiten Dies in der ersten virtuellen Linkzustandsmaschine des ersten Dies, wobei das zweite Paket der physikalischen Schicht einen Linkzustand der ersten virtuellen Linkzustandsmaschine des zweiten Dies vor dem Neutraining identifiziert.
  14. Verfahren nach Anspruch 13, wobei das erste Synchronisations-Handshake-Protokoll ferner umfasst: Zugreifen auf eine Auflösungstabelle basierend auf mindestens einem von dem Linkzustand der ersten virtuellen Linkzustandsmaschine des ersten Dies vor dem Neutraining und dem Linkzustand der ersten virtuellen Linkzustandsmaschine des zweiten Dies vor dem Neutraining; Abrufen einer Auflösungsmaßnahme aus der Auflösungstabelle; und Aktualisieren eines Linkzustands mindestens einer von der ersten virtuellen Linkzustandsmaschine des ersten Dies und der ersten virtuellen Linkzustandsmaschine des zweiten Dies gemäß der Auflösungsmaßnahme.
  15. Verfahren nach Anspruch 12, ferner umfassend ein Halten der zweiten Kommunikationsprotokollschicht des ersten Dies während des zweiten Synchronisations-Handshake-Protokolls im Niederleistungszustand, wobei die zweite Kommunikationsprotokollschicht mit der zweiten virtuellen Linkzustandsmaschine des ersten Dies assoziiert ist.
  16. Computerlesbares Speichermedium, das computerlesbare Anweisungen umfasst, die bei Ausführung ein Verfahren nach einem der Ansprüche 12 bis 15 implementieren.
  17. Vorrichtung, umfassend Mittel zum Durchführen eines Verfahrens nach einem der Ansprüche 12 bis 15.
  18. Mehrchip-Gehäuse, umfassend: einen ersten Die, der einen ersten Kommunikationsprotokollstapel und einen zweiten Kommunikationsprotokollstapel umfasst, und eine erste gemeinsame physikalische Schaltung, die umfasst: eine erste Arbitrierungsschaltung, die eine erste virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands, der mit dem ersten Kommunikationsprotokollstapel assoziiert ist, und eine zweite virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit dem zweiten Kommunikationsprotokollstapel assoziiert ist; eine erste logische Linkschicht, die eine dritte virtuelle Linkzustandsmaschine zum Virtualisieren eines Linkzustands umfasst, der mit der ersten Arbitrierungsschaltung assoziiert ist; und eine physikalische Linkschaltung zur Verbindung mit einem Interconnect über eine Schnittstelle; den Interconnect, der mit der physikalischen Linkschaltung gekoppelt ist; einen zweiten Die, der mit dem Interconnect gekoppelt ist, wobei der zweite Die den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel und eine zweite gemeinsame physikalische Schaltung umfasst, wobei in Reaktion auf ein Neutraining des Interconnects die erste, die zweite und die dritte virtuelle Linkzustandsmaschine mit entsprechenden virtuellen Linkzustandsmaschinen des zweiten Dies synchronisiert werden, während einer von dem ersten und dem zweiten Kommunikationsprotokollstapel in einem Niederleistungszustand gehalten wird.
  19. Mehrchip-Gehäuse nach Anspruch 18, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies in Reaktion auf ein Paket der physikalischen Schicht, das von der entsprechenden ersten virtuellen Linkzustandsmaschine des zweiten Dies unabhängig gesendet wird, von einem ersten Linkzustand in einen zweiten Linkzustand auflöst.
  20. Mehrchip-Gehäuse nach Anspruch 19, ferner umfassend eine Auflösungstabelle, die eine Mehrzahl von Einträgen umfasst, die jeweils einen aufgelösten Linkzustand für ein Paar von entsprechenden virtuellen Linkzustandsmaschinen identifizieren.
  21. Mehrchip-Gehäuse nach Anspruch 20, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies auf einen ersten Eintrag der Auflösungstabelle zugreift, um Auflösung vom ersten Linkzustand in den zweiten Linkzustand zu bestimmen.
  22. Mehrchip-Gehäuse nach Anspruch 18, wobei die erste virtuelle Linkzustandsmaschine des ersten Dies nach dem Neutraining des physikalischen Links, durch das hindurch der zweite Kommunikationsprotokollstapel des ersten Dies in einem inaktiven Zustand bleibt, den ersten Kommunikationsprotokollstapel des ersten Dies zur Wiederholung von Kommunikation eines oder mehrerer Pakete veranlasst, während der zweite Kommunikationsprotokollstapel des ersten Dies im inaktiven Zustand bleibt.
  23. Vorrichtung, umfassend: ein Arbitrierungsschaltungsmittel, das ein erstes virtuelles Linkzustandsmittel zum Virtualisieren eines Linkzustands, der mit einem ersten Kommunikationsprotokollstapel assoziiert ist, und ein zweites virtuelles Linkzustandsmittel zum Virtualisieren eines Linkzustands umfasst, der mit einem zweiten Kommunikationsprotokollstapel assoziiert ist, wobei der erste und der zweite Kommunikationsprotokollstapel über einen physikalischen Link kommunizieren; und ein physikalisches Schaltungsmittel, das mit dem Arbitrierungsschaltungsmittel zur Verbindung mit einer ersten Seite des physikalischen Links über eine Schnittstelle gekoppelt ist, wobei das physikalische Schaltungsmittel in Reaktion auf ein Neutraining des physikalischen Links Synchronisation einer Mehrzahl von virtuellen Linkzustandsmitteln, welche das erste und das zweite virtuelle Linkzustandsmittel umfasst, mit entsprechenden virtuellen Linkzustandsmitteln veranlasst, die mit einer zweiten Seite des physikalischen Links assoziiert sind, wobei einer von dem ersten und dem zweiten Kommunikationsprotokollstapel während des Neutrainings und der Synchronisation in einem Niederleistungszustand bleibt.
  24. Vorrichtung nach Anspruch 23, wobei die Vorrichtung ein Mehrchip-Gehäusemittel umfasst, das umfasst: einen ersten Die, der den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist und mit der ersten Seite des physikalischen Links gekoppelt ist, und einen zweiten Die, der über die zweite Seite des physikalischen Links mit dem ersten Die gekoppelt ist und den ersten Kommunikationsprotokollstapel und den zweiten Kommunikationsprotokollstapel aufweist, wobei der zweite Die die entsprechenden virtuellen Linkzustandsmittel aufweist, die mit der zweiten Seite des physikalischen Links assoziiert sind.
  25. Vorrichtung nach Anspruch 24, ferner umfassend ein Auflösungstabellenmittel, das eine Mehrzahl von Einträgen umfasst, die jeweils einen aufgelösten Linkzustand für ein Paar von entsprechenden virtuellen Linkzustandsmitteln identifizieren, wobei das erste virtuelle Linkzustandsmittel des ersten Dies in Reaktion auf ein Paket einer physikalischen Schicht, das vom entsprechenden ersten virtuellen Linkzustandsmittel des zweiten Dies empfangen wird, von einem ersten Linkzustand in einen zweiten Linkzustand auflöst, wobei das erste virtuelle Linkzustandsmittel des ersten Dies auf einen ersten Eintrag des Auflösungstabellenmittels zugreift, um Auflösung vom ersten Linkzustand in den zweiten Linkzustand zu bestimmen.
  26. Vorrichtung nach Anspruch 23, ferner umfassend ein logisches physikalisches Linkschaltungsmittel, das ein drittes virtuelles Linkzustandsmittel zum Virtualisieren eines Linkzustands des Arbitrierungsschaltungsmittels umfasst.
DE102020110873.7A 2019-05-30 2020-04-22 System, Vorrichtung und Verfahren zum Synchronisieren mehrerer virtueller Linkzustände über einen Gehäuse-Interconnect Pending DE102020110873A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/426,361 2019-05-30
US16/426,361 US11442876B2 (en) 2019-05-30 2019-05-30 System, apparatus and method for synchronizing multiple virtual link states over a package interconnect

Publications (1)

Publication Number Publication Date
DE102020110873A1 true DE102020110873A1 (de) 2020-12-03

Family

ID=68463608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020110873.7A Pending DE102020110873A1 (de) 2019-05-30 2020-04-22 System, Vorrichtung und Verfahren zum Synchronisieren mehrerer virtueller Linkzustände über einen Gehäuse-Interconnect

Country Status (2)

Country Link
US (2) US11442876B2 (de)
DE (1) DE102020110873A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751724B (zh) * 2019-10-31 2023-07-11 华为技术有限公司 检测链路状态的方法及装置
CN111813679B (zh) * 2020-07-10 2023-06-30 北京思特奇信息技术股份有限公司 基于python执行测试用例的方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711411B1 (en) * 2000-11-07 2004-03-23 Telefonaktiebolaget Lm Ericsson (Publ) Management of synchronization network
US7117419B2 (en) * 2003-08-05 2006-10-03 Newisys, Inc. Reliable communication between multi-processor clusters of multi-cluster computer systems
US8332729B2 (en) * 2008-09-29 2012-12-11 Oracle International Corporation System and method for automatic communication lane failover in a serial link
US8831666B2 (en) * 2009-06-30 2014-09-09 Intel Corporation Link power savings with state retention
US9244877B2 (en) * 2013-03-14 2016-01-26 Intel Corporation Link layer virtualization in SATA controller
US9344336B2 (en) * 2013-10-15 2016-05-17 Dell Products L.P. System and method for managing virtual link state
US10073808B2 (en) * 2013-12-26 2018-09-11 Intel Corporation Multichip package link
US10120729B2 (en) * 2014-02-14 2018-11-06 Vmware, Inc. Virtual machine load balancing
US9921768B2 (en) * 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
US10298435B2 (en) * 2015-06-08 2019-05-21 Quanta Computer Inc. Server link state detection and notification
US10356008B2 (en) * 2017-06-28 2019-07-16 International Business Machines Corporation Large scale fabric attached architecture
JP2019047146A (ja) * 2017-08-29 2019-03-22 東芝メモリ株式会社 電子機器および電力管理方法
US10776302B2 (en) * 2019-04-02 2020-09-15 Intel Corporation Virtualized link states of multiple protocol layer package interconnects

Also Published As

Publication number Publication date
US20190347218A1 (en) 2019-11-14
US20230026906A1 (en) 2023-01-26
US11442876B2 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE102018006546A1 (de) Plattformschnittstellenschicht und protokoll für beschleuniger
DE69907776T2 (de) Verfahren und Vorrichtung zur Identifizierung gefährdeter Bauteile in einem System mit redundanten Bauteilen
DE19900369B4 (de) Vorrichtung zum Anschluß an einen Universal Serial Bus (USB) und Verfahren zum Betreiben eines Steuerendpunktes an einem Universal Serial Bus (USB)
DE69727856T2 (de) Multiprozessorsystem mit Konsistenzfehler-Registrierung mit entsprechendem Verfahren
DE112011105298B4 (de) Reduzieren des Energieverbrauchs von Uncore-Schaltkreisen eines Prozessors
DE112013001360B4 (de) Vorrichtung, verfahren und system zum bereitstellen einer kopplungsstruktur-linkschicht
DE102018004327A1 (de) Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher
DE112013005044T5 (de) Ausführen von eingehenden PCIE-Schreiboperationen in einen Speicher und Partnereinrichtungen per Dualcast
DE112008001957B4 (de) Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks
DE102015107990A1 (de) Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung
DE102020125353A1 (de) Transaktionsschichtpaketformat
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE102011014588A1 (de) Multicasting-Schreibanforderungen an Mehrfachspeicher-Controller
DE112013007732T5 (de) PCI-Express-Erweiterungen
DE112010001824T5 (de) Paketierte Schnittstelle zur Kopplung von Agenten
DE102009031126A1 (de) Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät
DE10297430T5 (de) Datenspiegelung unter Anwendung von shared Bussen
DE102018127751A1 (de) Einheitlicher Adressraum für mehrere Verbindungen
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102020110873A1 (de) System, Vorrichtung und Verfahren zum Synchronisieren mehrerer virtueller Linkzustände über einen Gehäuse-Interconnect
DE112013003766T5 (de) Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands
DE102019109119A1 (de) Host-verwalteter kohärenter gerätespeicher
DE102012209011A1 (de) System und Verfahren zur Weiterleitung von Fibre-Channel-Eingangs- und Ausgangsdaten
DE112011106079T5 (de) Frühe Weiterleitung von Gewebefehlern

Legal Events

Date Code Title Description
R012 Request for examination validly filed