DE202014011596U1 - System zum Erweitern von Peripheral Component Interconnect Express Fabrics - Google Patents

System zum Erweitern von Peripheral Component Interconnect Express Fabrics Download PDF

Info

Publication number
DE202014011596U1
DE202014011596U1 DE202014011596.6U DE202014011596U DE202014011596U1 DE 202014011596 U1 DE202014011596 U1 DE 202014011596U1 DE 202014011596 U DE202014011596 U DE 202014011596U DE 202014011596 U1 DE202014011596 U1 DE 202014011596U1
Authority
DE
Germany
Prior art keywords
pcie
fabric
rcep
space
pcie fabric
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.)
Expired - Lifetime
Application number
DE202014011596.6U
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of DE202014011596U1 publication Critical patent/DE202014011596U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

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

Abstract

System zum Erweitern eines Peripheral Component Interconnect Express- (PCIe-) Fabric, das einen Host-Root-Komplex (102, 502) eines Host-PCIe-Fabric (100, 504), einen Root-Komplex-Endpunkt (RCEP) (106, 508) und eine mit dem RCEP verbundene Speichervorrichtung (114, 116, 512, 514) umfasst,
wobei der RCEP (106, 508) ein Endpunkt des Host-PCIe-Fabric (100, 504) und ein Root-Komplex eines erweiterten PCIe-Fabric (118, 510) ist;
der RCEP (106, 508) konfiguriert ist, um Fehler zu isolieren, die vom erweiterten PCIe-Fabric (118, 510) stammen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein die Computerindustrie; und insbesondere Systeme, Computerprogrammprodukte und Vorrichtungen zum Erweitern von Peripheral Component Interconnect Express (PCIe) Fabrics.
  • HINTERGRUND
  • Peripheral Component Interconnect Express (PCIe) ist ein serieller Hochgeschwindigkeits-Computererweiterungsbusstandard, der weithin verwendet wird, um verschiedene Hardwarevorrichtungen (z. B. Speichervorrichtungen, Netzwerkkarten, Soundkarten und dergleichen) an eine Host-Zentraleinheit (CPU) anzuschließen. Da die Host-CPU-Speicherkonfigurationen herstellerspezifisch sein können, stellt PCIe einen Eingangs-/Ausgangs-(E/A)-Standard bereit, um verschiedene Vorrichtungen mit der CPU zu verbinden. PCIe ermöglicht eine Vielzahl von Verbesserungen gegenüber älteren Busstandards (z. B. PCI und PCI-eXtended). Zum Beispiel ermöglicht PCIe im Allgemeinen einen höheren maximalen Systembusdurchsatz, eine geringere E/A-Pinanzahl, eine kleinere Busgrundfläche, native Hot-Plug-Funktionalität und andere Vorteile.
  • Ein Problem mit dem PCIe-Busstandard ist, dass jedes PCIe-Fabric durch eine begrenzte Menge an Ressourcen begrenzt ist. Zum Beispiel überschreitet der 32-Bit-Adressspeicherraum jedes PCIe-Fabrics möglicherweise nicht die Größe von 4 GB, und jedes Fabric weist möglicherweise nur maximal 256 Busnummem auf. Da PCIe auf Punkt-zu-Punkt-Serienverbindungen arbeitet, begrenzen diese Einschränkungen direkt die maximale Anzahl von Knoten (d. h. Vorrichtungen), die an ein PCIe-Fabric angeschlossen werden können Das heißt, Busnummern für verschiedene Vorrichtungen überlappen möglicherweise nicht, und jede angeschlossene Vorrichtung erfordert einen Satz von einzigartigen Busnummern, um zu funktionieren. Verschiedene Busnummern in einem PCIe-Fabric können für bestimmte Verwendungen reserviert werden (z. B. als interne Busnummern von PCIe-Switchen, Hot-Plug-Funktionalität oder dergleichen), wodurch die Anzahl der verfügbaren Busnummern weiter begrenzt wird.
  • Darüber hinaus kann ein Fehler, der an einer beliebigen Komponente auftritt, die an ein PCIe-Fabric angeschlossen ist, sich auf beliebige andere nachgelagerte oder vorgelagerte Komponenten auswirken, die an die fehlerhafte Komponente angeschlossen sind. Wenn die Anzahl der Komponenten und Softwaretreiber, die an das PCIe-Fabric angeschlossen sind, zunimmt, wird die Fehlerbehandlung schwieriger und die Ausbreitung von Fehlern kann zu einem systemweiten Absturz führen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Diese und andere Probleme werden im Allgemeinen gelöst oder umgangen, und technische Vorteile werden im Allgemeinen durch bevorzugte Ausführungsformen der vorliegenden Erfindung erzielt, die ein erweitertes Peripheral Component Interconnect Express Fabric bereitstellen.
  • Gemäß einer beispielhaften Ausführungsform enthält eine Peripheral Component Interconnect Express Topologie ein Host-PCIe-Fabric, das einen Host-Root-Komplex umfasst. Das Host-PCIe-Fabric enthält einen ersten Satz von Busnummern und einen ersten speicherabgebildeten Eingangs-/Ausgangs-(MMIO)-Raum auf einer Host-Zentraleinheit (CPU). Ferner wird ein erweitertes PCIe-Fabric bereitgestellt, das einen Root Komplex Endpoint (RCEP) als Teil eines Endpunkts des Host-PCIe-Fabric enthält. Das erweiterte PCIe-Fabric enthält auch einen zweiten Satz von Busnummern und einen zweiten MMIO-Raum, der vom ersten Satz von Busnummern bzw. vom ersten MMIO-Raum getrennt ist.
  • Gemäß einer anderen beispielhaften Ausführungsform enthält eine Peripheral Component Interconnect Express (PCIe) Topologie ein erweitertes PCIe-Fabric. Das erweiterte PCIe-Fabric enthält einen Root Komplex End Point (RCEP). Der RCEP ist so konfiguriert, dass er Teil eines Endpunkts eines PCIe-Fabric der ersten Ebene ist. Zusätzlich umfasst das erweiterte PCIe-Fabric einen speicherabgebildeten Eingangs-/Ausgangs-(MMIO)-Raum und einen Satz von Busnummern.
  • Gemäß noch einer anderen beispielhaften Ausführungsform enthält ein Verfahren zum Verbinden von Peripherie das Bereitstellen eines Root Komplex Endpoint (RCEP), der ein erweitertes Peripheral Component Interconnect Express (PCIe) Fabric als Teil eines Endpunkts eines Host-PCIe-Fabric hostet. Das erweiterte PCIe-Fabric weist einen ersten MMIO-Raum auf, der von einem zweiten MMIO-Raum des Host-PCIe-Fabric getrennt ist. Das Verfahren umfasst ferner das Abbilden des ersten MMIO-Raums auf den zweiten MMIO-Raum.
  • Figurenliste
  • Für ein umfassenderes Verständnis der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgenden Beschreibungen in Verbindung mit der begleitenden Zeichnung Bezug genommen, in der:
    • 1 ein Blockdiagramm eines Peripheral Component Interconnect Express (PCIe) Fabric gemäß verschiedenen beispielhaften Ausführungsformen ist;
    • 2A und 2B Blockdiagramme von PCIe-Konfigurationsraumabbildung und Adressierung für ein erweitertes Fabric gemäß verschiedenen beispielhaften Ausführungsformen sind;
    • 3A und 3B Blockdiagramme von 32-Bit-Speicherraumabbildung und Adressierung für ein erweitertes Fabric gemäß verschiedenen beispielhaften Ausführungsformen sind;
    • 4A und 4B Blockdiagramme von 64-Bit-Speicherraumabbildung und Adressierung für ein erweitertes Fabric gemäß verschiedenen beispielhaften Ausführungsformen sind; und
    • 5 ein Systemdiagramm eines Computersystems mit PCIe-Fabrics gemäß verschiedenen beispielhaften Ausführungsformen ist.
  • DETAILLIERTE BESCHREIBUNG VERANSCHAULICHENDER AUSFÜHRUNGSFORMEN
  • Beispielhafte Ausführungsformen, die verschiedene Aspekte der umfassten Innovation abdecken, werden im Folgenden ausführlicher erörtert. Es versteht sich jedoch, dass die vorliegende Erfindung viele anwendbare einzigartige und neuartige Konzepte bereitstellt, die in einer großen Vielzahl von spezifischen Kontexten verkörpert werden können. Dementsprechend veranschaulichen die hierin erörterten spezifischen Ausführungsformen lediglich spezifische Weisen zum Herstellen, Verwenden und Implementieren verschiedener Aspekte der vorliegenden Erfindung und begrenzen nicht notwendigerweise deren Umfang, sofern nicht anders beansprucht.
  • Die folgenden verschiedenen beispielhaften Ausführungsformen werden in einem spezifischen Kontext beschrieben, nämlich einem Peripheral Component Interconnect Express (PCIe)-Busstandard-Fabric. Es versteht sich jedoch, dass solche beispielhaften Ausführungsformen auch andere Fabrics erweitern können (z. B. Baumtopologien mit Ressourcenbeschränkungen auf den Kopf stellen).
  • Wie hierin beschrieben, ist ein Root Komplex eine Hardwarestruktur, die als Brücke zwischen einem PCIe-Fabric und einer Host-Zentraleinheit (CPU) dient. Der Root Komplex kann als Teil der CPU integriert sein. Zum Beispiel veranschaulicht 5 einen Root Komplex 502 als Teil der CPU 500. Der Root Komplex verwaltet und leitet verschiedene Anforderungen zwischen der CPU und Vorrichtungen (z. B. Vorrichtungen 506 und 508) weiter, die mit demselben PCIe-Fabric (z. B. dem PCie-Fabric 504) verbunden sind. Der Root Komplex bildet auch verschiedene verbundene Vorrichtungen (einschließlich Vorrichtungsspeicherorte wie Register und Speicherorte) auf den PCIe-Speicherraum ab. Diese Arten von Abbildungs- und Speicherraum sind als speicherabgebildeter Eingangs-/Ausgangs-(MMIO)-Raum bekannt.
  • Wie hierin auch verwendet, kann der MMIO-Raum einen Teil des Speichers enthalten, der unter Verwendung von 32-Bit-Adressen adressierbar ist, der im Allgemeinen auf den ersten 4GB des MMIO-Raums begrenzt ist. Der MMIO-Raum kann ferner einen Teil des Speichers enthalten, der unter Verwendung von 64-Bit-Adressen adressierbar ist, der auf den MMIO-Raum über dem ersten 4GB abgebildet werden kann. Verschiedene hierin beschriebene beispielhafte Ausführungsformen enthalten eine oder mehrere zusätzliche Root Komplex Hardware-Strukturen als Teil der Endpunkte des Host-PCIe-Fabric. Durch Hinzufügen von Root Komplex Funktionalitäten zu Endpunkten (als Root Komplex Endpoint (RCEP) bezeichnet) können zusätzliche PCIe-Fabrics verbunden werden, um erweiterte PCIe-Fabrics zu bilden, die nicht auf die begrenzten Ressourcen des Host-PCIe beschränkt sind.
  • Zum Beispiel veranschaulicht 5 einen RCEP 508 und ein erweitertes PCIe-Fabric 510, das zusätzliche Endpunkte (z. B. Vorrichtung 512 und 514) mit der Host-CPU 500 verbindet. Gemäß verschiedenen beispielhaften Ausführungsformen können diese RCEPs verwendet werden, um Fehler von kontaminierenden angrenzenden Fabrics oder Vorrichtungen zu isolieren. Darüber hinaus stellen andere beispielhafte Ausführungsformen bereit, dass die RCEPs und erweiterte PCIe-Fabrics mit bestehenden Peripherievorrichtungstreibern kompatibel sein können; wodurch Softwareaktualisierungen für bestehende Vorrichtungstreiber überflüssig werden.
  • 1 veranschaulicht ein Blockdiagramm eines PCIe-Fabric 100 der ersten Ebene, das mit einem erweiterten PCIe-Fabric 118 gemäß verschiedenen beispielhaften Ausführungsformen verbunden ist. Das PCIe-Fabric 100 kann einen Host-Root-Komplex 102 enthalten, der verschiedene Anforderungen zwischen der Host-CPU und verschiedenen mit dem PCIe-Fabric 100 verbundenen Vorrichtungen verwaltet und weiterleitet. Im Allgemeinen besitzt der Root Komplex 102 einen Satz von 256 einzigartigen Busnummern und MMIO-Raum, und er bildet verschiedene verbundene Vorrichtungen (einschließlich ihrer zugehörigen Register und/oder Speicherhardware) auf seinen MMIO-Raum ab. Ferner kann der Root Komplex 102 einen Root Port 103 enthalten, der eine Hardware-Brückenstruktur ist, die PCI-zu-PCI-Verbindungen zwischen der Host-CPU und den mit dem PCIe-Fabric 100 verbundenen Vorrichtungen (z. B. Endpunkte 106 und 108) ermöglicht. Obwohl 1 den Root Komplex 102 als nur einen Root Port 103 aufweisend veranschaulicht, kann ein typischer Root Komplex 102 mehrere Root Ports 103 aufweisen (z. B. zwischen vier bis sechs Root Ports).
  • Wie in 1 gezeigt, ist der Root Komplex 102 durch den Root Port 103 und einen Switch 104 elektrisch mit den Endpunkten 106 und 108 verbunden. Typischerweise sind die Endpunkte 106 und 108 Strukturen, die das PCIe-Fabric 100 abschließen. Solche Endpunkte 106 und 108 können Speichervorrichtungen, Netzwerkvorrichtungen, Soundkarten, Videokarten und dergleichen enthalten. Ebenfalls in 1 veranschaulicht ist der Switch 104, der mindestens einen vorgelagerten Port (Port 104A) und zahlreiche nachgelagerte Ports (z. B. Ports 104B) enthalten kann, die verschiedene Endpunkte (z. B. 106 und 108) mit dem Root Komplex 102 verbinden. Wie hierin allgemein verwendet, bezieht sich ein vorgelagerter Port auf einen Port, der in Richtung des Host-Root-Komplex zeigt (z. B. Root Komplex 102), während sich ein nachgelagerter Port auf einen Port bezieht, der von diesem weg zeigt.
  • Der Switch 104 kann interne Busse enthalten, die es ermöglichen, mehrere Vorrichtungen mit einem einzigen Root Port 103 zu verbinden, während weiterhin eine Punkt-zu-Punkt-Serienverbindung aufrechterhalten wird, die vom PCIe-Standard verwendet wird. Obwohl 1 nur einen Switch 104 veranschaulicht, der zwei Endpunkte 106 und 108 mit dem Root Port 103 verbindet, ziehen verschiedene beispielhafte Ausführungsformen mehrere Root Ports in Betracht, die mit einer beliebigen Anzahl von Switchen verbunden sind, wobei jeder Switch mit einer beliebigen variierenden Anzahl von Endpunkten verbunden sein kann. Alternativ oder in Verbindung kann ein Root Port 103 direkt mit einem Endpunkt verbunden sein. Dementsprechend dient die in 1 und anderen Figuren hierin veranschaulichte Konfiguration nur veranschaulichenden Zwecken und soll den Umfang der vorliegenden Erfindung nicht einschränken oder anderweitig einschränken, sofern nicht ausdrücklich anderweitig beansprucht.
  • Wie in 1 gezeigt, kann der Endpunkt 106 ein Root Komplex Endpoint (RCEP) gemäß beispielhaften Ausführungsformen sein, der eine Hardwarebrücke zwischen dem erweiterten PCIe-Fabric 118 und dem PCIe-Fabric 100 der ersten Ebene bereitstellt. Das heißt, der RCEP 106 kann das erweiterte PCIe-Fabric 118 hosten. Gemäß solchen Ausführungsformen kann der RCEP 106 in Aufbau und Logik einem Host-Root-Komplex (z. B. Root Komplex 102) ähnlich sein. Als solches kann der RCEP 106 seinen eigenen Satz von Busnummern, PCIe-Konfigurationsraum und MMIO-Raum enthalten - getrennt von denen des Root Komplex 102. Daher können zusätzliche Vorrichtungen mit dem RCEP 106 verbunden werden, selbst wenn der Root Komplex 102 keine ausreichende Menge an verfügbaren Ressourcen (z. B. Busnummern) aufweist.
  • Zum Beispiel können die Endpunkte 114 und 116 durch den Switch 112 und den Root Port 110 elektrisch mit dem RCEP 106 verbunden sein. Wie oben angemerkt, können die Endpunkte 114 und 116 die meisten beliebigen Arten von Peripherievorrichtungen sein, einschließlich Speichervorrichtungen, Netzwerkvorrichtungen, Soundkarten, Videokarten und dergleichen. Ähnlich wie bei vorherigen PCIe-Fabrics können die Endpunkte 114 und 116 einfach das erweiterte PCIe-Fabric 118 terminieren. Alternativ und gemäß beispielhaften Ausführungsformen können die Endpunkte 114 und/oder 116 einen anderen RCEP enthalten, der seinen eigenen Satz von Busnummern und MMIO-Raum aufweist; wodurch ein anderes erweitertes PCIe-Fabric gebildet wird. Dementsprechend fügen RCEPs im Wesentlichen Gateway-Funktionalität zu einem PCIe-Endpunkt hinzu; und ermöglichen daher theoretisch, dass eine praktisch unbegrenzte Anzahl von Knoten an einen Host-Root-Komplex angeschlossen werden kann.
  • Obwohl 1 das erweiterte PCIe-Fabric 118 als nur einen Root Point 110, einen Switch 112 und zwei Endpunkte 114 und 116 aufweisend zeigt, können verschiedene Ausführungsformen ein erweitertes PCIe-Fabric enthalten, das mehrere Root Ports, mehrere Switche pro erweitertem Fabric und mehrere Endpunkte pro Switch aufweist.
  • Gemäß beispielhaften Ausführungsformen kann der MMIO des RCEP 106 einen Teil enthalten, der unter Verwendung von 32-Bit-Adressen (als 32-Bit-Speicherraum bezeichnet) adressierbar ist, und einen Teil, der 64-Bit-Adressen (als 64-Bit-Speicherraum bezeichnet) verwendet. Gemäß solchen Ausführungsformen können der PCIe-Konfigurationsraum des RCEP 106, der 32-Bit-Speicherraum und der 64-Bit-Speicherraum auf den 64-Bit-MMIO-Raum des Host-PCIe-Fabric 100 abgebildet werden (d. h. den Teil des MMIO-Raums des PCIe-Fabric 100, der unter Verwendung von 64-Bit-Adressen adressierbar ist). Somit kann gemäß solchen Ausführungsformen auf den RCEP 106 aus dem MMIO-Raum des Host-PCIe-Fabric 100 zugegriffen werden. Die Abbildung und Aufzählung des erweiterten Fabric des RCEP 106 kann unter Verwendung von Endpunkttreibern erfolgen, die dem RCEP 106 zugeordnet sind, wie im Folgenden ausführlicher erklärt wird.
  • Gemäß anderen beispielhaften Ausführungsformen kann der RCEP 106 auch Fehlerbehandlungsmechanismen enthalten, die etwaige Fehler auflösen, die in seinen nachgelagerten Vorrichtungen (z. B. Endpunkten 114 und 116) auftreten. Daher können in solchen Ausführungsformen Fehler durch den RCEP 106 enthalten sein und sich nicht vorgelagert zum PCIe-Fabric 100 ausbreiten, und der RCEP 106 kann als eine Fehlergrenze fungieren. Ferner kann der RCEP 106 einen Fehlerinterrupt erzeugen, um den Host-Root-Komplex 102 über etwaige Fehler zu benachrichtigen. In solchen Ausführungsformen können diese Fehlerinterrupts als ein Meldemechanismus verwendet werden, und etwaige PCIe-Fehler, die in den nachgelagerten Vorrichtungen des RCEP 106 auftreten, können durch den RCEP 106 behandelt werden und nicht vorgelagert zum Host-Root-Komplex 102 weitergeleitet werden. Die spezifischen Einzelheiten bezüglich der Fehlerinterruptmeldung und Fehlerbehandlung können implementierungsspezifisch sein und zwischen Computerplattformen/Root-Komplexes variieren. Zum Beispiel lassen aktuelle PCIe-Standards die Implementierungseinzelheiten bezüglich dessen, wie ein Root-Komplex Fehler behandelt, für verschiedene variierende herstellerspezifische Implementierungen von Computerplattformen/Root-Komplexes offen. Daher können die Implementierungseinzelheiten der Fehlerbehandlungs- und Fehlermeldemechanismen des RCEP 106 ähnlich für verschiedene Implementierungen abhängig von den anwendbaren Computerplattform/Root-Komplex-Konfigurationen offen sein.
  • Das Abbilden und Zugreifen auf den PCIe-Konfigurationsraum für das erweiterte Fabric 118 kann unter Verwendung einer beliebigen geeigneten Konfiguration erfolgen. Zum Beispiel veranschaulichen 2A und 2B ein Beispiel von PCIe-Konfigurationsraumabbildung und Zugriff gemäß beispielhaften Ausführungsformen, die das Verwenden von MMIO zum Zugreifen auf den PCI-Konfigurationsraum unterstützen. Im Allgemeinen ist der physische Adressraum 200 der physische Adressraum der Host-CPU, der z. B. 2n-1 Bytes groß sein kann (wobei „n“ die Anzahl von physischen Adressbits ist, die durch die Host-CPU implementiert werden). Wie gezeigt, kann der physische Adressraum 200 einen Teil des Raums 202 enthalten, der über physische 32-Bit-Adressen mit einem verbleibenden Teil 204 adressierbar ist, der über physische 64-Bit-Adressen adressierbar ist. In einer solchen Ausführungsform kann der Teil 202 den ersten 4GB des Adressraums 200 belegen, während der Teil 204 den Rest des Adressraums 200 belegen kann. Darüber hinaus kann der Teil 204 ferner einen Teil enthalten, der dem 64-Bit-MMIO-Raum 206 des Hosts, des PCIe-Fabric der ersten Ebene (z. B. des PCIe-Fabric 100), zugewiesen ist. Natürlich werden hierin andere Speicherzuweisungen, Konfigurationen und Abbildungen des MIMO-Raums auf das PCIe-Fabric in Betracht gezogen; und somit wird eine beliebige hierin beschriebene spezifische Implementierung nur zu veranschaulichenden Zwecken verwendet - sofern nicht ausdrücklich anderweitig beansprucht.
  • Gemäß beispielhaften Ausführungsformen können alle (oder ein beliebiger Teil) der Funktionen einer Vorrichtung, die mit dem PCIe-Fabric 100 verbunden sind, oder das erweiterte Fabric 118 auf die eigenen dedizierten 256 MB des Konfigurationsraums ihrer jeweiligen Fabrics abgebildet werden. Ein solcher Raum kann zum Beispiel durch Kenntnis der 8-Bit-PCI-Bus-, 5-Bit-Vorrichtungs- und 3-Bit-Funktionsnummern für eine bestimmte Vorrichtungsfunktion adressierbar sein. Diese Art von Funktionsadressierung kann hierin als Bus-/Vorrichtungs-/Funktions-(BDF)-Adressierung bezeichnet werden, die insgesamt 256 Busnummern, 32 Vorrichtungen und 8 Funktionen für jedes PCIe-Fabric ermöglicht. Im Allgemeinen kann in solchen Ausführungsformen die Vorrichtungsnummer gemäß PCIe-Bus-Standardfabrics aufgrund der seriellen Punkt-zu-Punkt-Verbindungsstruktur von PCIe auf 0 gesetzt werden. Ferner kann gemäß solchen Ausführungsformen jede Vorrichtungsfunktion zu 4 KB von Konfigurationsregistern berechtigt sein.
  • Wie gezeigt, kann der PCIe-Konfigurationsraum für das PCIe-Fabric der ersten Ebene (z. B. das Fabric 100) 256 MB des Adressraums 208 im Teil des Raums 202 belegen. In solchen Ausführungsformen kann der PCIe-Konfigurationsraum für das erweiterte PCIe (z. B. das erweiterte Fabric 118) auf 256 MB des Adressraums 210 im 64-Bit-MMIO-Raum 206 abgebildet werden. Ferner können beliebige MMIO-Transaktionen in den Adressräumen 208 oder 210 als PCIe-Konfigurationszugriffstransaktionen für entweder das PCIe-Host-Fabric 100 bzw. das erweiterte Fabric 118 durch ihren entsprechenden Root Komplex behandelt werden.
  • In solchen Ausführungsformen können die Adressen des erweiterten PCIe-Konfigurationsraums 210 beim Basiswert 212 beginnen. Somit können die Konfigurationsraumregister einer PCIe-Vorrichtungsfunktion, die sich bei der Busnummer B, der Vorrichtungsnummer D und der Funktionsnummer F befindet, zum Beispiel bei Basis + (B + D + F)*4K beginnen. Alternativ werden auch andere geeignete Konfigurationen zum Adressieren von Vorrichtungsraumregistern in Betracht gezogen, und die Beschreibung der BDF-Adressierung hier wird nur zu veranschaulichenden Zwecken verwendet.
  • 2B veranschaulicht ein beispielhaftes physisches PCIe-Vorrichtungsadressformat 220 gemäß beispielhaften Ausführungsformen Das Format 220 kann ein Basisfeld 222 (das sich z. B. zwischen den Bits n-1 und 28 befindet), ein Busfeld 224 (das sich z. B. zwischen den Bits 27 und 20 befindet), ein Vorrichtungsfeld 226 (das sich z. B. zwischen den Bits 19 und 15 befindet) und ein Funktionsfeld 228 (das sich z. B. zwischen den Bits 14 und 12 befindet) beinhalten. Darüber hinaus können in solchen Ausführungsformen die Bits 11 bis 0 einen Versatz des Konfigurationsraumregisters (z. B. innerhalb der Vorrichtung), auf das zugegriffen wird, enthalten, der z. B. zu Speicherausrichtungszwecken enthalten sein kann.
  • Das Abbilden und Zugreifen auf den 32-Bit-Speicherraum für das erweiterte PCIe-Fabric 118 kann unter Verwendung einer beliebigen geeigneten Konfiguration erfolgen. Zum Beispiel veranschaulichen 3A und 3B ein Beispiel von PCIe-32-Bit-Speicherraumabbildung und Zugriff gemäß beispielhaften Ausführungsformen Im Allgemeinen kann der 32-Bit-Speicherraumzugriff für Vorrichtungsregisterbänke verwendet werden, auf die mit 32-Bit-Adressen zugegriffen werden kann. In solchen Ausführungsformen können entsprechende Transaktionen als 32-Bit-PCIe-Speicherraumzugriff markiert werden, z. B. in einem PCIe-Paket-Header. Natürlich werden hierin andere Speicherzuweisungen, Konfigurationen und Abbildungen des MIMO-Raums auf das PCIe-Fabric in Betracht gezogen; und somit wird eine beliebige hierin beschriebene spezifische Implementierung nur zu veranschaulichenden Zwecken verwendet - sofern nicht ausdrücklich anderweitig beansprucht.
  • Unter aktuellen PCIe-Standards beträgt die Maximierungsgröße für einen 32-Bit-Adressraum 4 GB. Darüber hinaus kann gemäß aktuellen PCIe-Standards auf bestimmten Computerplattformen (z. B. x86-Plattformen) der 32-Bit-Speicher für das PCIe-Fabric 100 der ersten Ebene mit seinem PCIe-Konfigurationsraum geteilt werden und somit nur 256 MB groß sein.
  • Gemäß beispielhaften Ausführungsformen kann das erweiterte PCIe-Fabric 118 seinen eigenen 32-Bit-Speicherraum getrennt vom physischen Adressraum 200 der Host-CPU aufweisen. Darüber hinaus kann, wie in 3A gezeigt, der RCEP 106 den 32-Bit-Adressraum des erweiterten Fabric 118 auf ein höheres 64-Bit-Adressfenster auf dem 64-Bit-MMIO-Raum 206 des Hosts abbilden, wie durch den Speicherraum 302 veranschaulicht. In solchen Ausführungsformen kann der Speicherraum 302 vom 32-Bit-Speicherraum 300 für das Fabric der ersten Ebene (z. B. das PCIe-Fabric 100) getrennt sein. Ferner kann sich der Speicherraum 300 am 32-Bit-adressierbaren Raum 202 der Host-CPU befinden, der sich innerhalb desselben niedrigen 4G-Raums wie der PCIe-Konfigurationsraum 208 befinden kann. Wie gezeigt, beginnt der Speicherraum 302 bei einer Basisadresse 304 und kann bis zu 4 GB groß sein. Somit kann gemäß solchen Ausführungsformen eine Vorrichtungsregisterbank (z. B. Registerbank 308) durch Kenntnis des geeigneten Versatzes (z. B. Versatz 306) der Registerbank adressiert werden. Das heißt, die Adresse der Registerbank 308 kann Basis 304 + Versatz 306 sein. Alternativ werden auch andere geeignete Schemata zum Adressieren der Registerbank 308 in Betracht gezogen.
  • 3B veranschaulicht physische Registerbank-Adressformate 310 und 312 für Hostadressraum bzw. erweiterten Fabric-Adressraum gemäß beispielhaften Ausführungsformen. Das Format 310 kann ein Basisfeld 314 (das z. B. die Bits n-1 bis 32 belegt) und ein Versatzfeld 316 (das z. B. die Bits 31 bis 0 belegt) beinhalten. In solchen Ausführungsformen kann das Format 310 verwendet werden, um eine Vorrichtungsregisterbank zu adressieren, die auf den MMIO-Raum 206 abgebildet ist. Das Format 312 kann nur ein Versatzfeld 318 (das z. B. 32 Bits belegt) zum Adressieren der Vorrichtungsregisterbank auf dem erweiterten Fabric (z. B. Fabric 118) enthalten. Darüber hinaus kann, bevor ein PCIe-Paket auf dem erweiterten Fabric 118 platziert wird, der RCEP 106 das obere 32-Bit-Format 310 (das 64 Bits lang sein kann) abstreifen und das abgeschnittene PCIe-Paket als 32-Bit-Adresspaket markieren.
  • Das Abbilden und Zugreifen auf den 64-Bit-Speicherraum für das erweiterte PCIe-Fabric 118 kann unter Verwendung einer beliebigen geeigneten Konfiguration erfolgen. Zum Beispiel veranschaulichen 4A und 4B ein Beispiel von 64-Bit-Speicherraumabbildung und Zugriff gemäß beispielhaften Ausführungsformen. Im Allgemeinen kann der 64-Bit-Speicherraumzugriff für Vorrichtungsregisterbänke verwendet werden, auf die mit 64-Bit-Adressen oder 32-Bit-Adressen zugegriffen werden kann. Es ist zu beachten, dass, wenn ein 32-Bit-Adressbereich einer 64-Bit-Adresse zugewiesen wird, die PCIe-Hardware ein 32-Bit-PCI-Speicherraumkonfigurationsschema verwenden kann, um auf diese zuzugreifen (z. B. die in 3A und 3B beschriebene Konfiguration). In solchen Ausführungsformen können entsprechende Transaktionen als 64-Bit-PCIe-Speicherraumzugriff in einem PCIe-Paket-Header markiert werden. Darüber hinaus kann sich der 64-Bit-Speicherraum aus historischen Gründen im Allgemeinen über dem unteren 4GB des physischen Adressraums befinden. Natürlich werden hierin andere Speicherzuweisungen, Konfigurationen und Abbildungen des MIMO-Raums auf das PCIe-Fabric in Betracht gezogen; und somit wird eine beliebige hierin beschriebene spezifische Implementierung nur zu veranschaulichenden Zwecken verwendet - sofern nicht ausdrücklich anderweitig beansprucht.
  • In solchen Ausführungsformen kann das erweiterte PCie-Fabric 118 seinen eigenen 64-Bit-Speicherraum getrennt vom physischen Adressraum 200 der Host-CPU aufweisen. Wie in 4A gezeigt, kann der RCEP 106 den 64-Bit-Adressraum des erweiterten Fabric 118 auf den 64-Bit-MMIO-Raum 206 der Host-CPU abbilden, wie durch den Speicherraum 402 veranschaulicht. Ferner kann der Speicherraum 402 von einem 64-Bit-PCIe-Speicherraum 400 des Fabric der ersten Ebene 100 getrennt sein, der sich auch im 64-Bit-MNΠO-Raum 206 befinden kann. In solchen Ausführungsformen kann der Speicherraum 402 bei einer Basisadresse 404 beginnen und kann zum Beispiel m mal 4 GB groß sein (wobei m eine Konstante ist, was bedeutet, dass der Raum 402 eine Größe von einem oder mehreren Malen 4 GB aufweisen kann). Darüber hinaus kann eine Vorrichtungsregisterbank (z. B. Registerbank 408) durch Kenntnis eines geeigneten Versatzes (z. B. Versatz 406) der Registerbank adressiert werden. Somit kann gemäß solchen Ausführungsformen eine Adresse der Registerbank 408 Basis 404 + Versatz 406 sein. Alternativ werden auch andere geeignete Schemata zum Adressieren der Registerbank 408 in Betracht gezogen.
  • 4B veranschaulicht physische Registerbank-Adressformate 410 und 416/418 für Host-CPU-Adressraum bzw. erweiterten Fabric-Adressraum gemäß beispielhaften Ausführungsformen Das Format 410 kann ein Basisfeld 412 (das z. B. die Bits n-1 bis p belegt) und ein Versatzfeld 414 (das z. B. die Bits p-1 bis 0 belegt) beinhalten. Der Wert der Konstante p kann 32 + ln(m) betragen, was auf den nächsthöheren ganzzahligen Wert gerundet werden kann. Das Format 410 kann verwendet werden, um eine Vorrichtungsregisterbank zu adressieren, die auf den 64-Bit-MMIO-Raum 206 abgebildet ist.
  • In bestimmten beispielhaften Ausführungsformen kann das Adressieren der Vorrichtungsregisterbank auf dem erweiterten Fabric 118 unter Verwendung des Formats 416 erfolgen. Zum Beispiel kann das Format 416 verwendet werden, wenn die physische Basisadresse auf die Speicherraumkonfiguration des erweiterten Fabric 118 ausgerichtet ist. Unter Verwendung des Formats 416 kann der RCEP 106 die oberen Bits (z. B. die Bits 63 bis p) des Formats 410 abstreifen, um eine 64-Bit-Adresse für das erweiterte Fabric 118 zu bilden. In anderen beispielhaften Ausführungsformen kann das Format 418 verwendet werden, wenn die physische Basisadresse nicht auf den Speicherraum des erweiterten Fabric 118 ausgerichtet ist. In solchen Ausführungsformen kann, um die Nichtausrichtung der physischen Adresse zu kompensieren, ein Versatz 420 zu einer 64-Bit-Systembasisadresse 422 hinzugefügt werden. Darüber hinaus kann, wenn die Basisadresse mindestens 4 GB ausgerichtet ist (z. B. die unteren 32 Bits 0 sind), die Größenanpassung nur für die hohen 32 Bits der Basisadresse durchgeführt werden.
  • In einer beispielhaften Ausführungsform können sich der PCIe-Konfigurationsraum 210, der 32-Bit-Speicherraum 302 und der 64-Bit-Speicherraum 402 des erweiterten Fabric 118 in der Host-CPU überlappen. In solchen Ausführungsformen kann der RCEP 106 ein gemeinsames Abbildungsfenster anfordern, das groß genug ist, um alle gewünschten Adressbereiche (z. B. die Räume 210, 302 und 402) von der Host-CPU aufzunehmen, und der RCEP 106 kann dann das gemeinsame Abbildungsfenster nach Bedarf in verschiedene gewünschte Adressbereiche teilen.
  • Gemäß beispielhaften Ausführungsformen kann das erweiterte Fabric 118 Vorrichtungsinterrupts unterstützen, die unter Verwendung eines beliebigen geeigneten Verfahrens behandelt werden können. Zum Beispiel kann das erweiterte Fabric 118 eine Konfiguration eines nachrichtensignalisierten Interrupts (Message Signaled Interrupt, MSI) verwenden. In solchen Ausführungsformen können MSIs, die von Vorrichtungen stammen, die mit dem erweiterten Fabric 118 verbunden sind (z. B. die Endpunkte 114 und 116), gemäß dem PCIe-Busstandard an anwendbare Root Ports (z. B. den Root Port 110) geliefert werden. Darüber hinaus kann der Root Port 110 des RCEP 106 ein vorab zugewiesenes Adressfenster für MSIs aufweisen. In solchen Ausführungsformen kann, wenn eine Speicherschreibadresse mit dem vorab zugewiesenen MSI-Adressfenster übereinstimmt, die Transaktion als ein Interrupt erkannt werden. Darüber hinaus kann der Root Port 110 alle MSIs, die von seinen nachgelagerten Fabrics stammen, sammeln und sie in eine Warteschlange ablegen (wobei sich die Warteschlange im Speicher der Host-CPU im physischen Adressraum 200 befinden kann). Der Root Port 110 kann dann einen separaten Interrupt, der auch ein MSI sein kann, an seinen vorgelagerten Root Port (z. B. den Host-Root Port 103) signalisieren. Der Host-Root Port 102 kann dann einen geeigneten Software-Handler gemäß dem empfangenen Interrupt auslösen. Ein Interrupt-Handler des Root Ports 110 des RCEP 106 kann dann die MSI-Warteschlange im Hauptspeicher untersuchen, die Ursprungsvorrichtung (z. B. Endpunkt 114 oder 116) bestimmen und den geeigneten Interrupt-Handler des Vorrichtungstreibers versenden. Natürlich werden hierin andere Schemata zum Übergeben von Vorrichtungsinterrupts in Betracht gezogen; und somit wird eine beliebige hierin beschriebene spezifische Implementierung nur zu veranschaulichenden Zwecken verwendet - sofern nicht ausdrücklich anderweitig beansprucht.
  • Gemäß anderen beispielhaften Ausführungsformen kann das erweiterte Fabric 118 auch direkten Speicherzugriff (DMA) unterstützen, der unter Verwendung eines beliebigen geeigneten Verfahrens behandelt werden kann. In solchen Ausführungsformen können DMA-Transaktionen Leseanforderungen, Leseabschlüsse und Schreibanforderungen enthalten. PCIe-Pakete können eine physische Systemadresse oder eine virtuelle IO-(Eingangs-/Ausgangs-)Adresse tragen, die durch eine IOMMU (Eingangs-/Ausgangs-Speicherverwaltungseinheit) übersetzt wird. Darüber hinaus können die PCIe-Anforderer-IDs pro Fabric sein. Somit können die Anforderer-IDs durch die ID des RCEP 106 ersetzt werden, wenn eine Anforderung eine PCIe-Fabric-Grenze überquert und vorgelagert zum Host-PCIe-Fabric 100 geht.
  • Das heißt, auf dem erweiterten Fabric 118 kann die Anforderer-ID die ID der Endpunktvorrichtung (z. B. Endpunkt 114 oder 116) sein. Während die Anforderung vorgelagert zum Root Komplex 102 weitergeleitet wird, kann die Anforderer-ID durch die ID des RCEP 106 ersetzt werden.
  • In solchen Ausführungsformen beziehen sich DMA-Schreibvorgänge auf das Verschieben von Daten von einer Vorrichtung (z. B. Endpunkt 114 oder 116) zum Speicher der Host-CPU. Der RCEP 106 kann die Vorrichtungs-ID durch die ID des RCEP 106 ersetzen, wenn die Anforderung vorgelagert durch den RCEP 106 zum Root Komplex 102 und der Host-CPU weitergeleitet wird. Darüber hinaus beziehen sich DMA-Lesevorgänge auf das Verschieben von Daten vom Speicher der Host-CPU zur Vorrichtung. In solchen Ausführungsformen kann der RCEP 106 ein Hardware-Scoreboard verwenden, um alle Leseanforderungen durch Zuweisen von Transaktions-Tags (z. B. als Teil der Anforderungspakete) für Transaktionen zum Fabric 100 zu verfolgen. Diese Transaktions-Tags können mit den Score-Board-Einträgen des RCEP 106 verknüpft sein und können verwendet werden, um die Anforderer-IDs von Leseanforderungspaketen aufzuzeichnen, die auf dem erweiterten Fabric 118 stammen. Abschlussdaten, die durch den RCEP 106 vom Root Komplex 102 empfangen werden, können das gleiche Transaktions-Tag wie die entsprechende Leseanforderung gemäß solchen Ausführungsformen tragen. Somit können in solchen Ausführungsformen Transaktions-Tags verwendet werden, um mit Score-Board-Einträgen übereinzustimmen, um die geeignete Vorrichtungs-ID zu bestimmen, die auf dem erweiterten Fabric 118 verwendet wird. Natürlich werden hierin andere Schemata zum Übergeben von DMA-Anforderungen in Betracht gezogen; und somit wird eine beliebige hierin beschriebene spezifische Implementierung nur zu veranschaulichenden Zwecken verwendet - sofern nicht ausdrücklich anderweitig beansprucht.
  • Daher können unter Verwendung der verschiedenen PCIe-Konfigurationszugriffs-, Speicherzugriffs-, DMAs und Unterbrechungsmechanismen, die in beispielhaften Ausführungsformen der obigen Absätze beschrieben sind, RCEP-Vorrichtungen verwendet werden, um erweiterte PCIe-Fabrics zu hosten und zusätzliche Vorrichtungen (z. B. zusätzliche RCEP-Vorrichtungen und/oder Peripherievorrichtungen) mit einem Host-Root-Komplex zu verbinden. RCEP-Vorrichtungen können einer typischen PCIe-Root-Komplex-Logik ähnlich sein. Jedes erweiterte PCIe-Fabric kann seinen eigenen MMIO-Raum und Satz von Busnummern aufweisen. Daher kann die Gesamtanzahl von Vorrichtungen, die an alle angeschlossen werden können, die mit einer Host-CPU verbunden sind, nicht auf die Anzahl der verfügbaren Busnummern des Host-PCIe-Fabric beschrankt sein. In solchen Ausführungsformen kann der MMIO-Raum von jedem der erweiterten Fabric auf den 64-Bit-MMIO-Raum seines Parent-Fabric (z. B. ist das Parent-Fabric für das erweiterte Fabric 118 das Fabric der ersten Ebene 100) zur Erleichterung des Zugriffs abgebildet werden. Darüber hinaus kann die Fabric-Aufzählung der erweiterten Fabrics durch den RCEP-Endpunktvorrichtungstreiber erreicht werden. In solchen Ausführungsformen kann jeder RCEP Fehler behandeln, die auf dem anwendbaren erweiterten Root Komplex Fabric stammen. Somit kann eine Fehlerisolierung erreicht werden, so dass nachgelagerte Fabric-Fehler an der Fabric-Grenze eines erweiterten PCIe-Fabric abgefangen und nicht vorgelagert ausgebreitet werden können.
  • Gemäß Ausführungsbeispielen können fast jede Peripherievorrichtung (z. B. Soundkarten, Videokarten, Netzwerktreiber, Speicherkarten und dergleichen) mit dem erweiterten Fabric verbunden sein und müssen ihre Treibersoftware nicht ändern. In solchen Ausführungsformen interagiert das erweiterte PCIe-Fabric mit Peripherievorrichtungen auf die gleiche Weise wie ein PCIe-Fabric der ersten Ebene. Darüber hinaus können die Software der Host-CPU (z. B. ein Betriebssystem) und RCEP-Treiber modifiziert und/oder erzeugt werden, um Registerzuordnung, DMA-Adresszuordnung, Interrupt-Handler durch den RCEP und andere ähnliche Funktionen einzurichten. Daher müssen Peripherievorrichtungen nicht benachrichtigt werden, dass sie mit einem erweiterten PCIe-Fabric anstelle eines PCIe-Fabric der ersten Ebene verbunden sind. Somit können erweiterte PCIe-Fabrics und RCEP mit bestehenden Peripherievorrichtungstreibern kompatibel sein.
  • Während diese Erfindung unter Bezugnahme auf veranschaulichende beispielhafte Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht in einem einschränkenden Sinn ausgelegt werden. Verschiedene Modifikationen und Kombinationen der veranschaulichenden beispielhaften Ausführungsformen sowie anderer Ausführungsformen der Erfindung sind für Fachleute bei Bezugnahme auf die Beschreibung ersichtlich. Es ist daher beabsichtigt, dass die beigefügten Ansprüche beliebige derartige Modifikationen oder Ausführungsformen umfassen.
  • Weitere Ausführungsformen der vorliegenden Erfindung werden im Folgenden bereitgestellt. Es ist anzumerken, dass die im folgenden Abschnitt verwendete Nummerierung nicht notwendigerweise mit der in den vorherigen Abschnitten verwendeten Nummerierung übereinstimmen muss.
  • Ausführungsform 1. erweiterte Peripheral Component Interconnect Express (PCIe-) -Topologie, umfassend:
    • ein Host-PCIe-Fabric, umfassend einen Host-Root-Komplex, wobei das Host-PCIe-Fabric einen ersten Satz von Busnummern und einen ersten speicherabgebildeten Eingangs-/Ausgangs-(MMIO)-Raum auf einer Host-Zentraleinheit (CPU) aufweist; und
    • ein erweitertes PCIe-Fabric, umfassend einen Root Komplex Endpoint (RCEP) als Teil eines Endpunkts des Host-PCIe-Fabric, wobei das erweiterte PCIe-Fabric einen zweiten Satz von Busnummern und einen zweiten MMIO-Raum aufweist, der vom ersten Satz von Busnummem bzw. vom ersten MMIO-Raum getrennt ist.
  • Ausführungsform 2. PCIe-Topologie nach Ausführungsform 1, wobei der RCEP eine Brücke zwischen dem erweiterten PCIe-Fabric und dem Host-PCIe-Fabric ist.
  • Ausführungsform 3. PCIe-Topologie nach Ausführungsform 1, wobei der zweite MMIO-Raum in den ersten MMIO-Raum abgebildet wird.
  • Ausführungsform 4. PCIe-Topologie nach Ausführungsform 3, wobei ein 32-Bit-Speicherraum des erweiterten Fabric in einen 64-Bit-MMIO-Raum des ersten MMIO-Raums abgebildet wird.
  • Ausführungsform 5. PCIe-Topologie nach Ausführungsform 3, wobei ein 64-Bit-Speicherraum des erweiterten Fabric in einen 64-Bit-MMIO-Raum des ersten MMIO-Raums abgebildet wird.
  • Ausführungsform 6. PCIe-Topologie nach Ausführungsform 1, wobei ein PCIe-Konfigurationsraum des erweiterten PCIe-Fabric in einen 64-Bit-MMIO-Raum des ersten MMIO-Raums abgebildet wird.
  • Ausführungsform 7. PCIe-Topologie nach Ausführungsform 6, wobei jede Vorrichtungsfunktion des erweiterten PCIe-Fabric auf jeweilige vier Kilobytes des 64-Bit-MMIO-Raums abgebildet wird.
  • Ausführungsform 8. PCIe-Topologie nach Ausführungsform 6, wobei Konfigurationsregister für jede Vorrichtungsfunktion, die dem erweiterten PCIe-Fabric zugeordnet ist, konfiguriert sind, um unter Verwendung von Basis-/Vorrichtungs-/Funktionsadressierung adressiert zu werden.
  • Ausführungsform 9. PCIe-Topologie nach Ausführungsform 1, wobei der zweite Satz von Busnummern bis zu 256 einzigartige Busnummern für das erweiterte PCIe-Fabric enthält.
  • Ausführungsform 10. PCIe-Topologie nach Ausführungsform 1, wobei der RCEP konfiguriert ist, um Fehler zu isolieren, die auf dem erweiterten PCIe-Fabric stammen.
  • Ausführungsform 11. PCIe-Topologie nach Ausführungsform 1, wobei das erweiterte PCIe-Fabric mit einer Peripherievorrichtung auf die gleiche Weise wie das Host-PCIe-Fabric interagiert.
  • Ausführungsform 12. Peripheral Component Interconnect Express (PCIe-) -Topologie, umfassend ein erweitertes PCIe-Fabric, wobei das erweiterte PCIe-Fabric eine Root Komplex End Point (RCEP-) -Vorrichtung umfasst, wobei die RCEP-Vorrichtung konfiguriert ist, um Teil eines Endpunkts eines PCIe-Fabrics der ersten Ebene zu sein, und wobei das erweiterte PCIe-Fabric einen speicherabgebildeten Eingangs-/Ausgangs (MMIO) -Raum und einen Satz von Busnummern umfasst.
  • Ausführungsform 13. PCIe-Topologie nach Ausführungsform 12, wobei der MMIO-Raum auf einen physischen 64-Bit-adressierbaren Adressraum des PCIe-Fabric der ersten Ebene abgebildet wird.
  • Ausführungsform 14. PCIe-Topologie nach Ausführungsform 12, wobei die RCEP-Vorrichtung einen oder mehrere Root Ports umfasst.
  • Ausführungsform 15. PCIe-Topologie nach Ausführungsform 12, wobei das erweiterte PCIe-Fabric einen oder mehrere Switche umfasst, die einen oder mehrere Endpunkte elektrisch mit dem RCEP verbinden.
  • Ausführungsform 16. Verfahren zum Entwerfen von Peripherievorrichtungen, umfassend:
    • Einschließen eines Root Komplex Endpoint (RCEP), der ein erweitertes Peripheral Component Interconnect Express (PCIe) Fabric als Teil eines Endpunkts eines Host-PCIe-Fabric hostet, wobei das erweiterte PCIe-Fabric einen ersten MMIO-Raum aufweist, der von einem zweiten MMIO-Raum des Host-PCIe-Fabric getrennt ist; und
    • Abbilden des ersten MMIO-Raums auf den zweiten MMIO-Raum.
  • Ausführungsform 17. Verfahren nach Ausführungsform 16, wobei das erweiterte PCIe-Fabric ferner einen ersten Satz von bis zu 256 einzigartigen Busnummern umfasst, der von einem zweiten Satz von Busnummern des Host-PCIe-Fabric getrennt ist.
  • Ausführungsform 18. Verfahren nach Ausführungsform 16, ferner umfassend Abfangen, durch die RCEP-Vorrichtung, von nachgelagerten Fehlern, die auf dem erweiterten PCIe-Fabric auftreten.
  • Ausführungsform 19. Verfahren nach Ausführungsform 16, ferner umfassend Abbilden eines PCIe-Konfigurationsraums, eines 32-Bit-Speicherraums und eines 64-Bit-Speicherraums des erweiterten PCIe-Fabric auf den zweiten MMIO-Raum.
  • Ausführungsform 20. Verfahren nach Ausführungsform 16, ferner umfassend Behandeln, durch die RCEP-Vorrichtung, von Vorrichtungsinterrupts, die auf dem erweiterten PCIe-Fabric stammen, unter Verwendung von nachrichtensignalisierten Interrupts (Message Signaled Interrupts, MSIs).
  • Ausführungsform 21. Verfahren nach Ausführungsform 16, ferner umfassend Übergeben einer Anforderung für direkten Speicherzugriff (DMA) von einer Vorrichtung, die mit dem erweiterten PCIe-Fabric verbunden ist, durch Ersetzen einer Ursprungs-Vorrichtungs-ID in einer DMA-Anforderung durch eine RCEP-ID, wenn die DMA-Anforderung vorgelagert zum Host-PCIe-Fabric weitergeleitet wird.

Claims (20)

  1. System zum Erweitern eines Peripheral Component Interconnect Express- (PCIe-) Fabric, das einen Host-Root-Komplex (102, 502) eines Host-PCIe-Fabric (100, 504), einen Root-Komplex-Endpunkt (RCEP) (106, 508) und eine mit dem RCEP verbundene Speichervorrichtung (114, 116, 512, 514) umfasst, wobei der RCEP (106, 508) ein Endpunkt des Host-PCIe-Fabric (100, 504) und ein Root-Komplex eines erweiterten PCIe-Fabric (118, 510) ist; der RCEP (106, 508) konfiguriert ist, um Fehler zu isolieren, die vom erweiterten PCIe-Fabric (118, 510) stammen.
  2. System nach Anspruch 1, wobei der RCEP (106, 508) konfiguriert ist, um einen PCIe-Konfigurationsraum des erweiterten PCIe-Fabric (118, 510) in einen ersten speicherabgebildeten Eingangs-/Ausgangs-(MMIO-) Raum des Host-PCIe-Fabric (100, 504) abzubilden.
  3. System nach Anspruch 1, wobei ein Treiber des RCEP (106, 508) konfiguriert ist, um die Speichervorrichtung (114, 116, 512, 514) zu enumerieren.
  4. System nach Anspruch 1, wobei das Host-PCIe-Fabric (100, 504) einen ersten Satz von Busnummern aufweist und das erweiterte PCIe-Fabric (118, 510) einen zweiten Satz von Busnummern aufweist, der vom ersten Satz von Busnummern getrennt ist.
  5. System nach Anspruch 2, wobei der RCEP (106, 508) konfiguriert ist, um eine MMIO-Transaktion vom Host-PCIe-Fabric in eine PCIe-Konfigurationszugriffstransaktionfür das erweiterte PCIe-Fabric (118, 510) zu übersetzen.
  6. System nach Anspruch 5, wobei sich eine Adresse der MMIO-Transaktion im PCIe-Konfigurationsraum des erweiterten PCIe-Fabric (118, 510) befindet.
  7. System nach Anspruch 2, wobei der RCEP (106, 508) konfiguriert ist, um einen zweiten MMIO-Raum des erweiterten PCIe-Fabric (118, 510) in den ersten MMIO-Raum abzubilden.
  8. System nach Anspruch 2, wobei ein 32-Bit-Speicherraum des erweiterten PCIe-Fabric in einen 64-Bit-MMIO-Raum des ersten MMIO-Raums abgebildet wird.
  9. System nach Anspruch 2, wobei ein 64-Bit-Speicherraum des erweiterten PCIe-Fabric in einen 64-Bit-MMIO-Raum des ersten MMIO-Raums abgebildet wird.
  10. System nach Anspruch 2, wobei jede Vorrichtungsfunktion des erweiterten PCIe-Fabric (118, 510) auf jeweils vier Kilobytes eines 64-Bit-MMIO-Raums des ersten MMIO-Raums abgebildet wird.
  11. System nach Anspruch 1, wobei der RCEP (106, 508) konfiguriert ist, um Vorrichtungsinterrupts, die von dem erweiterten PCIe-Fabric stammen, unter Verwendung von nachrichtensignalisierten Interrupts (Messages Signaled Interrupts, MSIs) zu behandeln.
  12. System nach Anspruch 1, wobei der RCEP (106, 508) konfiguriert ist, um eine Anforderung für direkten Speicherzugriff, DMA-Aufforderung, von der Speichervorrichtung (114, 116, 512, 514) durch Ersetzen einer Ursprungs-Vorrichtungs-ID der Speichervorrichtung in der DMA-Anforderung durch eine RCEP-ID zu behandeln, wenn die DMA-Anforderung vorgelagert zum Host-PCIe-Fabric weitergeleitet wird.
  13. System nach Anspruch 1, wobei der Host-Root-Komplex (102, 502) in einem Prozessor (500) des Systems integriert ist.
  14. Rechenvorrichtung zum Erweitern eines Peripheral Component Interconnect Express- (PCIe-) Fabric, wobei die Rechenvorrichtung einen Host-Root-Komplex (102, 502) eines Host-PCIe-Fabric (100, 504) und einen Root-Komplex-Endpoint (RCEP) (106, 508) umfasst, wobei der RCEP (106, 508) ein Endpunkt des Host-PCIe-Fabric (100, 504) und ein Root-Komplex eines erweiterten PCIe-Fabric (118, 510) ist, wobei der RCEP (106, 508) konfiguriert ist, um sich mit einer Speichervorrichtung (114, 116, 512, 514) des erweiterten PCIe-Fabric (118, 510) zu verbinden, und wobei der RCEP (106, 508) konfiguriert ist, um Fehler zu isolieren, die vom erweiterten PCIe-Fabric (118, 510) stammen.
  15. Rechenvorrichtung nach Anspruch 14, wobei der RCEP (106, 508) konfiguriert ist, um einen PCIe-Konfigurationsraum des erweiterten PCIe-Fabric (118, 510) in einen ersten speicherabgebildeten Eingangs-/Ausgangs-(MMIO-) Raum des Host-PCIe-Fabric (100, 504) abzubilden.
  16. Rechenvorrichtung nach Anspruch 14, wobei ein Treiber des RCEP (106, 508) konfiguriert ist, um die Speichervorrichtung (114, 116, 512, 514) zu enumerieren.
  17. Rechenvorrichtung nach Anspruch 14, wobei das Host-PCIe-Fabric (100, 504) einen ersten Satz von Busnummern aufweist und das erweiterte PCIe-Fabric (118, 510) einen zweiten Satz von Busnummern aufweist, der vom ersten Satz von Busnummern getrennt ist.
  18. System nach Anspruch 15, wobei der RCEP (106, 508) konfiguriert ist, um eine MMIO-Transaktion vom Host-PCIe-Fabric in eine PCIe-Konfigurationszugriffstransaktion für das erweiterte PCIe-Fabric (118, 510) zu übersetzen.
  19. System nach Anspruch 18, wobei sich eine Adresse der MMIO-Transaktion im PCIe-Konfigurationsraum des erweiterten PCIe-Fabric (118, 510) befindet.
  20. System nach Anspruch 15, wobei der RCEP (106, 508) konfiguriert ist, um einen zweiten MMIO-Raum des erweiterten PCIe-Fabric (118, 510) in den ersten MMIO-Raum abzubilden.
DE202014011596.6U 2013-06-28 2014-06-28 System zum Erweitern von Peripheral Component Interconnect Express Fabrics Expired - Lifetime DE202014011596U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/931,640 US9135200B2 (en) 2013-06-28 2013-06-28 System and method for extended peripheral component interconnect express fabrics
US13/931,640 2013-06-28

Publications (1)

Publication Number Publication Date
DE202014011596U1 true DE202014011596U1 (de) 2023-01-12

Family

ID=52116806

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202014011596.6U Expired - Lifetime DE202014011596U1 (de) 2013-06-28 2014-06-28 System zum Erweitern von Peripheral Component Interconnect Express Fabrics

Country Status (12)

Country Link
US (7) US9135200B2 (de)
EP (5) EP3273358B1 (de)
JP (2) JP6325665B2 (de)
KR (2) KR101835851B1 (de)
CN (4) CN114817103A (de)
AU (1) AU2014301745B2 (de)
DE (1) DE202014011596U1 (de)
DK (1) DK3273358T3 (de)
ES (3) ES2642829T3 (de)
HU (2) HUE037146T2 (de)
NO (1) NO3027015T3 (de)
WO (1) WO2014206356A2 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135200B2 (en) 2013-06-28 2015-09-15 Futurewei Technologies, Inc. System and method for extended peripheral component interconnect express fabrics
ES2656464T3 (es) * 2013-09-11 2018-02-27 Huawei Technologies Co., Ltd. Procedimiento, sistema informático y aparato de procesamiento de fallo
EP4089544B1 (de) 2013-12-31 2024-01-31 Huawei Technologies Co., Ltd. Verfahren und vorrichtung zur erweiterung einer pcie-domäne
US9507740B2 (en) * 2014-06-10 2016-11-29 Oracle International Corporation Aggregation of interrupts using event queues
US20180107728A1 (en) * 2014-12-31 2018-04-19 International Business Machines Corporation Using tombstone objects to synchronize deletes
US20180107535A1 (en) * 2014-12-31 2018-04-19 International Business Machines Corporation Vault redundancy reduction within a dispersed storage network
US20180101434A1 (en) * 2014-12-31 2018-04-12 International Business Machines Corporation Listing types in a distributed storage system
US10656866B2 (en) * 2014-12-31 2020-05-19 Pure Storage, Inc. Unidirectional vault synchronization to support tiering
US10114688B2 (en) * 2015-02-16 2018-10-30 Dell Products L.P. System and method for peripheral bus device failure management
US10698849B2 (en) * 2015-03-11 2020-06-30 Apple Inc. Methods and apparatus for augmented bus numbering
CN104898775A (zh) * 2015-05-20 2015-09-09 浪潮电子信息产业股份有限公司 计算装置、存储装置、网络交换设备及计算机体系架构
US9978247B2 (en) 2015-09-24 2018-05-22 Microsoft Technology Licensing, Llc Smart fabric that detects events and generates notifications
US20170091013A1 (en) * 2015-09-28 2017-03-30 Netapp, Inc. Pcie error reporting and throttling
CN106713183B (zh) * 2015-10-30 2020-03-17 新华三技术有限公司 网络设备的接口板以及该网络设备和报文转发方法
CN105700967A (zh) * 2016-01-08 2016-06-22 华为技术有限公司 一种外设部件内部互联PCIe设备及其检测方法
CN105701051B (zh) * 2016-01-15 2019-10-15 华为技术有限公司 一种热插拔方法、主机控制器、主机及PCIe桥设备
WO2018058625A1 (zh) 2016-09-30 2018-04-05 华为技术有限公司 一种检测报文反压的方法及装置
CN106502941A (zh) * 2016-11-25 2017-03-15 北京兆芯电子科技有限公司 输入输出扩展器、计算机系统以及其配置方法
CN111897751A (zh) 2017-01-26 2020-11-06 华为技术有限公司 一种数据传输的方法、装置、设备和系统
US10394468B2 (en) * 2017-02-23 2019-08-27 International Business Machines Corporation Handling data slice revisions in a dispersed storage network
US10635602B2 (en) 2017-11-14 2020-04-28 International Business Machines Corporation Address translation prior to receiving a storage reference using the address to be translated
US10558366B2 (en) 2017-11-14 2020-02-11 International Business Machines Corporation Automatic pinning of units of memory
US10664181B2 (en) 2017-11-14 2020-05-26 International Business Machines Corporation Protecting in-memory configuration state registers
US10496437B2 (en) 2017-11-14 2019-12-03 International Business Machines Corporation Context switch by changing memory pointers
US10761983B2 (en) * 2017-11-14 2020-09-01 International Business Machines Corporation Memory based configuration state registers
US10761751B2 (en) 2017-11-14 2020-09-01 International Business Machines Corporation Configuration state registers grouped based on functional affinity
US10698686B2 (en) 2017-11-14 2020-06-30 International Business Machines Corporation Configurable architectural placement control
US10642757B2 (en) 2017-11-14 2020-05-05 International Business Machines Corporation Single call to perform pin and unpin operations
US10592164B2 (en) 2017-11-14 2020-03-17 International Business Machines Corporation Portions of configuration state registers in-memory
US10901738B2 (en) 2017-11-14 2021-01-26 International Business Machines Corporation Bulk store and load operations of configuration state registers
CN107992438A (zh) * 2017-11-24 2018-05-04 郑州云海信息技术有限公司 一种服务器及在服务器内灵活配置PCIe拓扑的方法
JP6635209B2 (ja) * 2018-04-18 2020-01-22 富士通クライアントコンピューティング株式会社 情報処理システム
CN109002591B (zh) * 2018-06-26 2021-11-09 郑州云海信息技术有限公司 一种从服务器主板端调整PCIe拓扑的方法和系统
JP7115128B2 (ja) * 2018-08-07 2022-08-09 富士通株式会社 情報処理装置、ブート方法及びブートプログラム
CN109408454B (zh) * 2018-11-01 2021-10-22 郑州云海信息技术有限公司 一种芯片管理的方法以及相关装置
WO2020132962A1 (zh) * 2018-12-26 2020-07-02 华为技术有限公司 安全元件、数据处理装置及数据处理方法
JP6700564B1 (ja) * 2018-12-28 2020-05-27 富士通クライアントコンピューティング株式会社 情報処理システム
US11016795B2 (en) * 2019-01-31 2021-05-25 EMC IP Holding Company, LLC System and method for virtualizing hot-swappable PCIe devices for virtual machines
CN109902038B (zh) * 2019-02-21 2020-12-29 杭州迪普科技股份有限公司 一种PCIe总线地址空间分配方法及装置
JP6574917B1 (ja) * 2019-05-20 2019-09-11 富士通クライアントコンピューティング株式会社 情報処理システム、及び中継装置
US11558296B2 (en) * 2020-09-18 2023-01-17 Serialtek, Llc Transaction analyzer for peripheral bus traffic
US11593026B2 (en) 2020-03-06 2023-02-28 International Business Machines Corporation Zone storage optimization using predictive protocol patterns
CN111651397B (zh) * 2020-05-09 2022-11-15 山东浪潮科学研究院有限公司 一种访问PXIe外设模块的方法和设备
CN111858407B (zh) * 2020-07-14 2021-12-07 中航航空电子有限公司 高速外围设备互连系统内的通信方法及高速外围设备互连系统
CN111930660B (zh) * 2020-07-30 2022-04-15 长沙景嘉微电子股份有限公司 Pcie通路配置方法、装置、终端和介质
US11836059B1 (en) 2020-12-14 2023-12-05 Sanblaze Technology, Inc. System and method for testing non-volatile memory express storage devices
US11971839B2 (en) * 2022-07-20 2024-04-30 Vmware, Inc. Exposing PCIE configuration spaces as ECAM compatible
CN116414759B (zh) * 2023-06-09 2023-09-29 深圳中安辰鸿技术有限公司 计算机交换系统及地址分配、枚举、数据分发方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983339B1 (en) * 2000-09-29 2006-01-03 Intel Corporation Method and apparatus for processing interrupts of a bus
US7334071B2 (en) 2005-05-25 2008-02-19 Integrated Device Technology, Inc. Expansion of cross-domain addressing for PCI-express packets passing through non-transparent bridge
US8463969B2 (en) * 2005-06-30 2013-06-11 Intel Corporation Extended message signal interrupt
JP4828899B2 (ja) * 2005-09-21 2011-11-30 株式会社リコー 情報処理装置および記憶デバイス共有方法
US7793010B2 (en) 2005-11-22 2010-09-07 Lsi Corporation Bus system with multiple modes of operation
US8189573B2 (en) 2005-12-22 2012-05-29 Intel Corporation Method and apparatus for configuring at least one port in a switch to be an upstream port or a downstream port
US7660922B2 (en) * 2006-05-12 2010-02-09 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US7506084B2 (en) 2006-10-17 2009-03-17 International Business Machines Corporation Method for communicating with an I/O adapter using cached address translations
US7617377B2 (en) 2006-10-17 2009-11-10 International Business Machines Corporation Splitting endpoint address translation cache management responsibilities between a device driver and device driver services
US8271604B2 (en) * 2006-12-19 2012-09-18 International Business Machines Corporation Initializing shared memories for sharing endpoints across a plurality of root complexes
US7836238B2 (en) 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7836129B2 (en) 2006-12-19 2010-11-16 International Business Machines Corporation Communication between host systems using a queuing system and shared memories
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
JP5058615B2 (ja) * 2007-01-25 2012-10-24 エヌイーシーコンピュータテクノ株式会社 ノード制御装置および情報処理装置
US7562176B2 (en) * 2007-02-28 2009-07-14 Lsi Corporation Apparatus and methods for clustering multiple independent PCI express hierarchies
CN101052013B (zh) * 2007-05-22 2011-09-28 杭州华三通信技术有限公司 一种网络设备内部管理通道实现的方法及系统
US20090063894A1 (en) * 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US7752346B2 (en) * 2007-12-21 2010-07-06 Aprius, Inc. Universal routing in PCI-Express fabrics
US8386654B2 (en) * 2008-03-25 2013-02-26 Hewlett-Packard Development Company, L.P. System and method for transforming PCIe SR-IOV functions to appear as legacy functions
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US8838867B2 (en) 2008-12-24 2014-09-16 Nuon, Inc. Software-based virtual PCI system
US8103810B2 (en) 2008-05-05 2012-01-24 International Business Machines Corporation Native and non-native I/O virtualization in a single adapter
US8625615B2 (en) 2008-05-16 2014-01-07 Nec Corporation PCI express switch, PCI express system, and network control method
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
US8144582B2 (en) 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US8521915B2 (en) * 2009-08-18 2013-08-27 Fusion-Io, Inc. Communicating between host computers and peripheral resources in an input/output (I/O) virtualization system
EP2480977B1 (de) 2009-09-25 2014-11-05 Hewlett-Packard Development Company, L.P. Mapping von nicht-vorausladbaren speicherorten in speichergemappten eingabe/ausgabe-raum
US8539134B2 (en) 2010-02-15 2013-09-17 International Business Machines Corporation PCI express multiplier device
EP2365445B1 (de) * 2010-03-11 2013-10-23 Ricoh Company, Ltd. Adapter und Kommunikationsverfahren
JP5764919B2 (ja) * 2010-12-16 2015-08-19 株式会社リコー 通信機器および通信システム
GB2478727B (en) * 2010-03-15 2013-07-17 Advanced Risc Mach Ltd Translation table control
JP2011199419A (ja) * 2010-03-17 2011-10-06 Ricoh Co Ltd 画像形成装置、画像形成方法、およびプログラム
JP2011227539A (ja) * 2010-04-15 2011-11-10 Ricoh Co Ltd 画像処理装置
US8443126B2 (en) * 2010-09-22 2013-05-14 Wilocity, Ltd. Hot plug process in a distributed interconnect bus
US8677176B2 (en) 2010-12-03 2014-03-18 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
US8521941B2 (en) * 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
JP5903801B2 (ja) * 2011-08-23 2016-04-13 富士通株式会社 通信装置およびid設定方法
JP5682829B2 (ja) 2011-09-01 2015-03-11 日本電気株式会社 情報処理装置
JP2013088879A (ja) * 2011-10-13 2013-05-13 Kyocera Document Solutions Inc 情報処理装置
US9128920B2 (en) * 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
US20140223061A1 (en) * 2011-12-19 2014-08-07 Keng Lai Yap System and deterministic method for servicing msi interrupts using direct cache access
JP2013196593A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd データ処理装置、データ処理方法及びプログラム
WO2014000271A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 一种pcie交换系统、装置及交换方法
TW201411358A (zh) * 2012-09-10 2014-03-16 Accusys Inc 透過PCIe介面連接於一主機系統的儲存裝置和方法
US9189441B2 (en) * 2012-10-19 2015-11-17 Intel Corporation Dual casting PCIE inbound writes to memory and peer devices
US8995302B1 (en) * 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
CN103095463B (zh) * 2013-02-01 2016-08-03 福建星网锐捷网络有限公司 Pcie交换网系统和通信方法
US9298658B2 (en) 2013-02-26 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Using PCI-E extended configuration space to send IOCTLS to a PCI-E adapter
US9405688B2 (en) 2013-03-05 2016-08-02 Intel Corporation Method, apparatus, system for handling address conflicts in a distributed memory fabric architecture
US8806098B1 (en) 2013-03-15 2014-08-12 Avalanche Technology, Inc. Multi root shared peripheral component interconnect express (PCIe) end point
US9286258B2 (en) * 2013-06-14 2016-03-15 National Instruments Corporation Opaque bridge for peripheral component interconnect express bus systems
US10071975B2 (en) 2013-06-18 2018-09-11 Cygnet Biosciences B.V. Macrocyclic amidinourea derivatives, methods of preparation and uses thereof as chitinase inhibitors
US9135200B2 (en) 2013-06-28 2015-09-15 Futurewei Technologies, Inc. System and method for extended peripheral component interconnect express fabrics

Also Published As

Publication number Publication date
US20200110722A1 (en) 2020-04-09
EP3540604A1 (de) 2019-09-18
US20150347339A1 (en) 2015-12-03
US10417160B2 (en) 2019-09-17
WO2014206356A2 (en) 2014-12-31
JP6325665B2 (ja) 2018-05-16
EP3933604B1 (de) 2023-09-20
CN105359124B (zh) 2018-03-13
CN108268412B (zh) 2022-04-05
US11429550B2 (en) 2022-08-30
NO3027015T3 (de) 2018-04-07
HUE044846T2 (hu) 2019-11-28
US10922259B2 (en) 2021-02-16
AU2014301745A1 (en) 2016-01-07
ES2741100T3 (es) 2020-02-10
CN108268412A (zh) 2018-07-10
US9135200B2 (en) 2015-09-15
US10210124B2 (en) 2019-02-19
CN115129638A (zh) 2022-09-30
WO2014206356A3 (en) 2015-04-23
ES2884848T3 (es) 2021-12-13
DK3273358T3 (da) 2019-08-05
US20220276976A1 (en) 2022-09-01
JP6790015B2 (ja) 2020-11-25
EP3273358B1 (de) 2019-05-15
EP2997483A4 (de) 2016-07-06
ES2642829T3 (es) 2017-11-20
JP2016526727A (ja) 2016-09-05
EP4137953A1 (de) 2023-02-22
AU2014301745B2 (en) 2017-04-20
HUE037146T2 (hu) 2018-08-28
KR101906525B1 (ko) 2018-10-10
US10216676B2 (en) 2019-02-26
CN105359124A (zh) 2016-02-24
KR20160014062A (ko) 2016-02-05
US11954058B2 (en) 2024-04-09
EP2997483A2 (de) 2016-03-23
CN114817103A (zh) 2022-07-29
US20180300277A1 (en) 2018-10-18
JP2018125028A (ja) 2018-08-09
EP3540604B1 (de) 2021-05-19
US20150006780A1 (en) 2015-01-01
US20180300276A1 (en) 2018-10-18
KR101835851B1 (ko) 2018-04-19
KR20180026570A (ko) 2018-03-12
EP3933604A1 (de) 2022-01-05
EP2997483B1 (de) 2017-08-23
EP3273358A1 (de) 2018-01-24
US20210216485A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
DE202014011596U1 (de) System zum Erweitern von Peripheral Component Interconnect Express Fabrics
DE112005002405B4 (de) Fehlerverarbeitung für Direktspeicherzugriffs-Adreßübersetzung
DE112013005044B4 (de) Verfahren, einrichtung, vorrichtung und system zum ausführen von eingehenden pcie-schreiboperationen in einen speicher und partnereinrichtungen per dualcast
DE102018213430A1 (de) Beschleuniger mit geringer Latenzzeit
DE112008001957B4 (de) Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks
DE112016005910T5 (de) Architechtur für Software-Definierten Interconnect-Switch
DE112008002416T5 (de) Gemeinsame Nutzung von Legacy-Geräten in einer Multithost-Umgebung
DE112007000688B4 (de) Fehlerverwaltungstopologien
DE102020111193A1 (de) System, einrichtung und verfahren für eine auf einen verteilten arbeitsspeicher mit mehreren chips abgebildete eingabe/ausgabe-unterstützung
DE102019126897A1 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten eines interrupts
DE102022204514A1 (de) Multi-socket-netzwerkschnittstellen-controller mit konsistenter transaktionsreihenfolge
DE102022211573A1 (de) Speicherzugriffsverfolgung unter verwendung einer peripherievorrichtung

Legal Events

Date Code Title Description
R152 Utility model maintained after payment of third maintenance fee after eight years
R207 Utility model specification
R071 Expiry of right