DE112010001469T5 - Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen - Google Patents

Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen Download PDF

Info

Publication number
DE112010001469T5
DE112010001469T5 DE112010001469T DE112010001469T DE112010001469T5 DE 112010001469 T5 DE112010001469 T5 DE 112010001469T5 DE 112010001469 T DE112010001469 T DE 112010001469T DE 112010001469 T DE112010001469 T DE 112010001469T DE 112010001469 T5 DE112010001469 T5 DE 112010001469T5
Authority
DE
Germany
Prior art keywords
fabric
logic
port
message
integrated device
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.)
Granted
Application number
DE112010001469T
Other languages
English (en)
Other versions
DE112010001469B4 (de
Inventor
Michael Klinglesmith
Mohan Nair
Joseph Murray
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 DE112010001469T5 publication Critical patent/DE112010001469T5/de
Application granted granted Critical
Publication of DE112010001469B4 publication Critical patent/DE112010001469B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1845Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

In einer Ausführungsform ist die vorliegende Erfindung auf einen integrierten Endpunkt mit einem virtuellen Port gerichtet, der zwischen einer Upstream-Fabric und einer Integrated-Device-Fabric angeschlossen ist, die eine Multifunktionslogik zur Handhabung von zahlreichen Funktionen für einen oder mehr Intellectual Property(IP)-Blöcken enthält, die mit der Integrated-Device-Fabric gekoppelt sind. Die Integrated-Device-Fabric weist einen primären Kanal zum Kommunizieren von Daten und Befehlsinformation zwischen dem IP-Block und der Upstream-Fabric und einen Seitenbandkanal zum Kommunizieren von Seitenbandinformation zwischen dem IP-Block und der Multifunktionslogik auf. Es werden weitere Ausführungsformen beschrieben und beansprucht.

Description

  • Hintergrund
  • Mainstream-Prozessorchips, sowohl in Hochleistungs- als auch Niedrigverbrauchssegmenten, integrieren zunehmend zusätzliche Funktionalität, wie zum Beispiel Grafik, Display-Engines, Sicherheits-Engines, PCIeTM-Ports (d. h. Ports gemäß der Peripheral Component Interconnect Express (PCI ExpressTM (PCIeTM)) Spezifikation, Base Specification Version 2.0 (am 17. Januar 2007 veröffentlicht) (nachfolgend die PCIeTM-Spezifikation genannt)) und andere PCIeTM-basierte Peripheriegeräte.
  • Traditionelle Entwürfe bzw. Bauformen von peripheren Hub-Produkten sind aufgrund von variierenden Anforderungen von den Server-, Desktop-, mobilen, embedded, ultra-mobile und mobile Internet Device-Segmenten stark segmentiert. Unterschiedliche Märkte versuchen Single-Chip-System-on-Chip(SoC)-Lösungen zu verwenden, die zumindest einige von Prozessorkernen, Memory Controller Hub (MCH), Eingabe/Ausgabe-Controller (ICH) und andere Segment spezifische Beschleunigungselemente auf einem einzigen Chip kombinieren. Die Entwürfe, die diese Merkmale anhäufen, lassen sich jedoch aufgrund der Schwierigkeit beim Integrieren von Intellectual Property(IP)-Blöcken auf einem einzigen Die in internen Standardverbindungseinrichtungen nur langsam entwickeln.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Blockdiagramm eines integrierten Endpunkts und virtuellen Ports gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt ein Blockdiagramm eines integrierten Endpunkts und virtuellen Ports gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt ein Blockdiagramm eines System-on-Chip (SoC) gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 zeigt ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorlegenden Erfindung.
  • 5 zeigt ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6 zeigt ein Flussdiagramm eines Verfahrens zur Handhabung von eintreffenden Meldungen von gekoppelten Agenten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • In zahlreichen Ausführungsformen kann Schnittstellenfunktionalität eines PCIeTM-Endpunktes zwischen Fabric-Logik und einem Agenten, wie zum Beispiel einem Intellectual Property(IP)-Block oder einem anderen Logikblock, der konfiguriert ist, um ein oder mehr Funktionen durchzuführen, segmentiert sein, um eine effiziente Wiederverwendung des Agenten über zahlreiche Plattformen zu ermöglichen. In der hierin verwendeten Form können die Begriffe „Agent” und „IP-Block” synonyme Bezeichnungen einer unabhängigen Logik sein, die in einem Halbleiterbaustein bzw. einer Halbleitereinrichtung gemeinsam mit anderen derartigen Agenten eingepasst sein kann, wobei die Agenten von einem oder mehr Herstellern stammen können. Für eine Implementierung kann ein derartiger Agent on-chip gemeinsam mit einem virtuellen Downstream-Port (Root-Port oder Switch-Port), der eine separate PCIeTM-Einrichtung sein kann, einer Integrated-Device-Fabric (IDF), enthaltend Multifunktions(Multi-Function (MF))-Logik, und einem oder mehr Agenten, der/die jeweils eine oder mehr PCIeTM-Funktionen implementieren kann/können, implementiert sein. Auf diese Weise kann/können ein oder mehr Agent(en) in einer On-Die-PCIeTM-Einrichtung integriert sein.
  • Der virtuelle Downstream-Port erscheint für Software als ein Standard-PCIeTM-Downstream-Port, jedoch sind die Verbindungsschicht und physikalische Schicht entfernt und durch eine Master-Schnittstelle zum Kommunizieren mit einer Upstream-Komponente, z. B. einem Prozessor, und durch eine Zielschnittstelle zum Kommunizieren mit der IDF ersetzt. In einer Ausführungsform enthält der virtuelle Downstream-Port einen Type1-PCIeTM-Konfigurations-Header und zugehörige virtuelle Peer-to-Peer-Brücken-Logik. Der virtuelle Port erscheint für Software als ein „realer” Port, aber die Verbindungsschicht und physikalische Schicht fehlen. Die Software kann nicht den Unterschied feststellen. Zahlreiche Werte für Verbindungsregister und physikalische Register können in dem virtuellen Port so gesetzt werden, dass die Software denkt, dass die Verbindungsschicht und physikalische Schicht vorhanden sind. Die IDF, MF-Logik und Agenten erscheinen wiederum für die Software als ein PCIeTM-Endpunkt. Software kann nicht feststellen, dass der Endpunkt nicht mit dem Downstream-Port mit einer Standard-PCIeTM-Verbindung verbunden ist, da dieselbe Funktionalität und Information präsentiert wird. Das heißt, dass die Kombination von virtuellem Port und IDF, MF-Logik und Agenten eine vollständige Transparenz für Software, wie zum Beispiel ein Shrink-Wrap-Betriebssystem (Operating System (OS)), ermöglicht. Zusätzlich ist diese Schnittstelle Plug-and-Play-OS-kompatibel und unterstützt zahlreiche Funktionen wie zum Beispiel unter anderen Funktionen PCI-Plug-and-Play-Enumeration und PCI-Ordnung.
  • In einer Ausführungsform ist die Integrated-Device-Fabric eine Implementierung einer Fabric, die MF-Logik enthält. Die MF-Logik liefert die Funktionalität, die notwendig ist, um separaten Agenten, die gemäß einer Schnittstellenspezifikation entworfen sind, zu ermöglichen, mit Software zu interagieren und für sie als eine Standard-PCIeTM-Multifunktionseinrichtung zu erscheinen, die z. B. über eine Off-Chip(z. B. PCIcTM)-Verbindung gekoppelt ist. Diese Fabric liefert die Ablaufsteuerungs-, Arbitrierungs- und Ordnungslogik. Zusätzlich unterstützt die Multifunktionslogik zahlreiche Funktionsanforderungen eines bestimmten Standards. Zum Beispiel kann in einer Ausführungsform die MF-Logik Logik zum Handhaben von maximaler Nutzlastgröße in Einrichtungen bzw. Geräten enthalten, die die Alternate Requester ID Interpretation (ARI), Legacy Interrupts, PCI-Power Management(PM)-Meldungen, nicht funktionsspezifische Fehler und Latenztoleranzberichterstattung unterstützen.
  • Ein oder mehr Agenten können mit dieser IDF gekoppelt sein, um eine oder mehr PCIeTM-Funktionen zu implementieren. Die Agenten können in einer Root-Complex-Fabric direkt integriert oder, wie unten beschrieben, unter einer Integrated-Device-Fabric verbunden sein. Die IDF in Verbindung mit den Agenten bildet einen integrierten PCIeTM-Endpunkt, der mit einem integrierten virtuellen Port (Root-Port oder Switch-Port) verbunden werden kann.
  • Ausführungsformen ermöglichen somit, dass Standardagenten, die für eine Schnittstellenspezifikation entworfen worden sind, zwischen Projekten, entweder als Funktionen innerhalb einer Multifunktionseinrichtung oder als Root-Complex-Integrated-Device, wieder verwendet werden. Es gibt keine Beschränkungen für die Agenten, die sie von der Implementierung des vollständigen Merkmalsatzes der PCIeTM-Spezifikation abhalten. Durch Entfernen von Verbindungsschicht und physikalischer Schicht und Ersetzen der Schichten durch eine Fabric wird der Bedarf an zahlreicher Logik von derartigen Schichten, z. B. zyklische Redundanzprüfung (Cyclic Redundancy Checksum (CRC)) und Wiedergabepuffer, beseitigt. Dies erzeugt eine Lösung mit geringer Latenzzeit, geringer Energie und kleinerer Bauform.
  • Die Wiederverwendung wird durch Bauformregeln verbessert, um Logik zwischen Agent und Fabric effizient aufzuteilen. Ein PCIeTM-Einrichtung weist typischerweise gewisse gemeinsame Logik für die gesamte Einrichtung und gewisse Logik auf, die für eine Funktion spezifisch ist. Ausführungsformen der vorliegenden Erfindung definieren die Partionierung und Implementierung von Logik, die sich in einem Agenten befindet (oder ein oder mehr Funktionen), und Logik, die sich in der Fabric befindet (oder einrichtungsspezifische Logik), zum Optimieren der Wiederverwendung für eine große Vielzahl von Plattformen. Ein Teil des Ziels des Entwurfes besteht darin, dem Agenten zu ermöglichen, als Teil einer Einrichtung, die in verschiedenen Komponenten, wie zum Beispiel Endpunkten, Fabrics integriert ist und innerhalb oder außerhalb eines Root Complex integriert sein kann, leicht verwendet zu werden. Somit ist gewisse Funktionalität und Komplexität in der Fabric enthalten, weil sie nicht notwendig sind, wenn ein Agent innerhalb eines Root Complex vorhanden ist.
  • Unter Bezugnahme auf 1 ist dort ein Blockdiagramm eines integrierten Endpunktes gezeigt, der mit einem virtuellen Port verbunden ist, die auf einen einzigen Halbleiter-Die gemäß einer Ausführungsform der vorliegenden Erfindung gebildet sein können. Wie in 1 gezeigt ist, kann der integrierte Endpunkt 10 eine IDF 30 und ein oder mehr Agenten 50 enthalten und mit einem virtuellen Port 20 gekoppelt sein, der in Abhängigkeit von der Einheit, mit der der integrierte Endpunkt 10 gekoppelt ist, ein virtueller Root-Port oder ein virtueller Switch-Port sein kann. Wenn zum Beispiel der virtuelle Port 20 mit einer Root-Complex-Fabric gekoppelt ist, kann er ein virtueller Root-Port sein, während der virtuelle Port 20, wenn er mit einer Switch-Fabric gekoppelt ist, stattdessen ein virtueller Switch-Port sein kann. In zahlreichen Ausführungsformen kann der virtuelle Port 20 ein architekturmäßig sichtbarer Registerraum sein und eine Menge von Konfigurationsregistern zur Unterstützung von Plug-and-Play und Funktionsermittlung enthalten. Der virtuelle Port 20 ist wiederum mit der IDF 30 gekoppelt, die Multifunktionslogik 35 enthält.
  • Die IDF 30 kann wiederum mit einem oder mehr Agenten 50 150 n gekoppelt sein. Jeder derartige Agent ist ein unabhängiger IP-Block und kann verwendet werden, um ein oder mehr Funktionen, wie zum Beispiel eine oder mehr PCIeTM-Funktionen, durchzuführen. Im Gegensatz zu einer herkömmlichen Kopplung von genannten Agenten über eine PCIeTM- oder andere Verbindung kann in zahlreichen Ausführungsformen die integrierte, d. h. On-Die, Kopplung von Agenten 50 mit dem virtuellen Port 20 durch IDF 30 realisiert sein. Auf diese Weise kann der Bedarf an Verbindungsschicht und physikalischer Schicht, sowohl beim virtuellen Port 20 als auch bei den Agenten 50 (und auch IDF 30) vermieden werden. Stattdessen kann der virtuelle Port 20 mit der IDF 30 an der Transaktionsschicht direkt kommunizieren, und in ähnlicher Weise kann die IDF 30 mit Agenten 50 an der Transaktionsschicht direkt kommunizieren. Man sollte beachten, dass die Agenten, die durch die Agenten 50 beispielhaft erläutert sind, heterogene Blöcke von einem oder mehr verschiedenen Herstellern sein können. Zum Beispiel kann ein SoC-Hersteller zahlreiche Agenten in einer einzigen On-Die-Lösung enthalten, die sowohl ihre eigenen Agenten als auch ein oder mehr Agenten von anderen Herstellern, z. B. zum Bereitstellen oder Verbessern von bestimmter Funktionalität, enthält.
  • Nunmehr unter Bezugnahme auf 2 ist dort ein Blockdiagramm eines integrierten Endpunktes 100 gezeigt, der mit einem virtuellen Port gekoppelt ist. Dieser integrierte Endpunkt kann ähnlich wie derjenige von 1 konfiguriert sein. Es werden jedoch weitere Details der IDF 30 vorgestellt. Genauer gesagt, wie in 2 gezeigt ist, kann die IDF 30 Multifunktionslogik 35 enthalten, die eine Vielzahl von unabhängigen Logiken 40a40d (zum Beispiel) enthält, die zahlreiche Funktionalität handhaben können, die die Interaktion von unterschiedlichen Agenten in dem integrierten Endpunkt 100 ermöglicht, während die Sichtbarkeit für die Systemsoftware (z. B. ein Betriebssystem) erhalten bleibt. In der Ausführungsform von 2 enthält derartige Logik Registerschattenlogik (Register Shadow Logic) 40a, Energiemanagement(Power Management (PM))-Logik 40b, Legacy Interrupt-Logik 40c und Fehlerlogik 40d. Während sie mit diesen besonderen Logikfunktionalitäten gezeigt ist, ist der Umfang der vorliegenden Erfindung diesbezüglich nicht beschränkt und kann andere Logik in der MF-Logik 35 vorhanden sein. Zusätzlich enthält die Multifunktionslogik 35 einen Seitenbandendpunkt 42 zur Kopplung mit einem Seitenband-Router 50 über einen Seitenbandkanal 62.
  • Unter weiterer Bezugnahme auf 2 enthält die IDF 30 ferner Arbiters sowohl in der Upstream- als auch in der Downstream-Richtung (d. h. Arbiters 48 a48 b). Genannte Arbiters können Ablaufsteuerung und Arbitrierung zwischen Kommunikation mit den zahlreichen Agenten, zum Beispiel gemäß einem Credit Flow Control- und Prioritätsarbitrierungsschema, handhaben. Arbiter 48a und 48b können die Ressourcen der Agenten 50 überprüfen, um sicherzustellen, dass Platz in den Warteschlangen vorhanden ist, und in der Upstream-Richtung überprüfen sie Ressourcen und arbitrieren, welcher Agent Zugriff auf den Upstream Primary-Kanal 49b haben kann. In einer Ausführungsform kann der Arbiter 48a als ein Verkehrspolizist für die Befehlsleitungen fungieren und in zwei Phasen arbeiten. Als erstes wird ein Befehl an die Agenten gesendet, um Zieldekodieren durchzuführen, d. h. es wird an alle Agenten rundgesendet. Dann antwortet der Zielagent. Da der Arbiter nun weiß, wo sich das Ziel befindet, wird der Arbiter als nächstes seine Ressourcenverfügbarkeit überprüfen und, wenn er ermittelt hat, dass die Ressourcen zur Verfügung stehen, kann er die Zuteilung melden und werden der aktuelle Befehl und die Daten an den Zielagenten geliefert.
  • Über einen primären Kanal 49, der separate Verbindungen 49 a und 49 b in der Downstream- bzw. Upstream-Richtung enthalten kann, kann Kommunikation mit den Agenten 50 stattfinden. In einer Ausführungsform kann der primäre Kanal 49 unterschiedliche Leitungen für Befehls- und Dateninformation aufweisen. Wie ferner ersichtlich ist, kann der Seitenband-Router 60 mit jedem Agenten 50 über einen bestimmten Seitenband-Kanal 65 165 3 kommunizieren. Es ist zu beachten, dass Peer-to-Peer-Kommunikation zwischen den Agenten 50 zulässig ist, obwohl dies in 2 nicht gezeigt ist. Während sie mit dieser speziellen Implementierung in der Ausführungsform von 2 gezeigt ist, soll der Umfang der vorliegenden Erfindung diesbezüglich nicht beschränkt sein.
  • In anderen Implementierungen einer Integrated-Device-Fabric kann die Fabric anstelle von Koppeln mit Agenten, bei denen alle Befehls- und Datenbreiten dieselben sind, eine Warteschlangenbildung und Einspeicherung (Staging) durchführen, um Mehrfachtaktdaten zu akzeptieren und sie danach aufzuweiten oder umgekehrt. Zur einfachen Darstellung ist in der 2 keine interne Warteschlangenbildung gezeigt, obwohl Ausführungsformen eine derartige Warteschlangenbildung vorsehen können. Während in einigen Ausführungsformen Downstream-Meldungen an alle verbundenen Agenten rundgesendet werden können, die ein Dekodieren durchführen, um zu ermitteln, ob ein Befehl für den bestimmten Agenten ist, können ferner andere Ausführungsformen Dekodieren in der IDF implementieren. Zum Beispiel können Downstream-Warteschlangen vorhanden sein, um Transaktionen von dem Root-Port zu akzeptieren, die dann an einen internen Dekodierer weitergeleitet werden, um das beabsichtigte Ziel zu ermitteln.
  • Ein Agent, der eine oder mehr PCIeTM-Funktionen implementiert, kann in einer Root-Complex-Fabric unter einem virtuellen Root-Port als ein Teil eines integrierten Bausteins oder in einer selbständigen PCIeTM-Endpunkt-Komponente integriert sein. Um eine Wiederverwendung eines Agenten in diesen unterschiedlichen Systemen zu ermöglichen, wird gewisse Funktionalität zwischen der Fabric und dem Agenten aufgeteilt, wie dies oben beschrieben ist. Zusätzlich werden Protokolle darüber, wie gewisse Meldungen gesendet werden, durch die IDF erzeugt.
  • Eine integrierte Funktion ist ein Agent, der eine oder mehr PCI-Funktionen implementiert. Diese können Legacy-PCI-Funktionen oder PCIeTM-konforme Funktionen sein. Integrierte Funktionen, die die ARI unterstützen, können bis zu 256 Funktionen in einem Agenten implementieren. Einige Ausführungsformen können Single Root IO Virtualization (SR-IOV) unterstützen, was bis zu 64k Funktionen in einer integrierten Funktion ermöglicht.
  • Bei Verbindung mit einer Root-Complex-Fabric werden die Funktionen in einer integrierten Funktion zu einem Root-Complex-Integrated-Endpunkt. Bei Verbindung mit einem Switch-Fabric sind die integrierten Funktionen ein Teil eines Multifunktionsbausteins bzw. einer Multifunktionseinrichtung, der/die einen Upstream-Switch-Port enthält. Bei Verbindung mit einer Integrated-Device-Fabric sind die integrierten Funktionen ein Teil eines integrierten. PCIeTM-Endpunkts. Somit können zur Maximierung der Wiederverwendbarkeit integrierte Funktionen so implementiert werden, dass sie eine Verbindung mit einer Root-Complex-Fabric, einer Switch-Fabric oder einer Integrated-Device-Fabric herstellen können. Es ist zu beachten, dass zusätzliche Funktionalität vorhanden sein kann, wenn integrierte Funktionen zum Erzeugen eines PCIeTM-Endpunkts verwendet werden.
  • Immer noch unter Bezugnahme auf die 2 kann die Legacy Interrupt-Logik 42c zum Handhaben von Agenten verwendet werden, die PCI-Legacy-Interrupts erzeugen können. Agenten, die PCI- oder PCIeTM-konforme Funktionen implementieren, die Interrupts erzeugen, sind durch die PCI- und PCIeTM-Spezifikationen zum Unterstützen von Legacy Interrupts erforderlich. Das Ziel für diese Legacy Interrupts ist ein Input/Output Advanced Programmable Interrupt Controller (IOxAPIC). Interrupt-Leitungen (d. h. Legacy Interrupt-Leitungen (INTx#)) werden unter Verwendung von Meldungen virtuell ausgeliefert. Eine Assert INTx#-Meldung zeigt einen Hoch-zu-Niedrig-Übergang des virtuellen INTx#-Signals an, während eine DeAssert INTx#-Meldung den Niedrig-zu-Hoch-Übergang des virtuellen INTx#-Signals anzeigt.
  • In zahlreichen Ausführungsformen können INTx Meldungen an sowohl primäre als auch Seitenbandmeldungen-Schnittstellen geliefert werden. Zur Sicherstellung von Interoperabilität der Agenten werden die folgenden Regeln zur Lieferung von Legacy Interrupts verwendet. Agenten, die die Ursprungsquelle von INTx-Meldungen sind (z. B. Endpunkt oder Root-Port), werden sie unter Verwendung von Seitenbandmeldungen senden. Agenten, die mehr als eine PCT/PCI-eTM-Funktion enthalten, die sich virtuelle INTx-Leitungen logisch „oder” virtuellen Leitungen teilen vor Senden der Assert/de-assert-Meldungen. Agenten, die mehr als eine PCI/PCIeTM-Funktion enthalten, die sich nicht virtuelle INTx-Leitungen teilen, senden die Meldungen mit unterschiedlichen Seitenbandquellen-IDs, wodurch der Empfänger die Quelle der INTx-Meldungen unterscheiden kann.
  • Die Legacy Interrupt-Logik 40c aggregiert die Legacy INTx-Meldungen, die von den Agenten unter der Fabric gemeinsam benutzt werden. Der aggregierte Zustand der virtuellen INTx-Leitung wird dann stromaufwärts (Upstream) auf dem primären Kanal 49 weitergeleitet. Agenten, die einen PCIeTM-Root-Port implementieren, werden Legacy-INTx-Meldungen auf einem Seitenbandkanal senden, der einen lokalen IOxAPIC als Ziel hat.
  • Die PM-Logik 42b kann verwendet werden, um PCI-Energiemanagement (PCI Power Management (PCI-PM)) zu unterstützen. Die folgenden drei Meldungen können zur Handhabung von Power Management-Ereignissen, nämlich einer Energiemanagement-Ereignismeldung, und ähnlicher Abschalt- und Abschaltbestätigungsmeldungen verwendet werden: PME, PME Turn Off (TO) und PME TO Ack. In einer Ausführungsform enthält die PCI-PM-Meldung einen Meldungscode zum Anzeigen, ob die Meldung eine PME, PME Turn Off oder PME TO Ack ist. Die Meldung enthält auch den Bus, Baustein und die Funktionsnummer des Meldungsabsenders.
  • Zur Unterstützung der Interoperabilität von Agenten, die die PCI-Energiemanagement-Fähigkeiten implementieren, werden die folgenden Regeln verwendet. Agenten, die die PCI-PM-Fähigkeit implementieren, senden PME-Meldungen, Empfangen PME-Turn Off-Meldungen und senden PME TO Ack-Meldungen auf der Seitenbandmeldungsschnittstelle. IDF 30 liefert wiederum die folgende Funktionalität. Erstens empfängt die IDF PME Turn Off-Meldungen an der Upstream-Primärschnittstelle und sendet sie an jeden gekoppelten Agenten, der PCI-PM unterstützt (dies kann als ein echtes Multicast oder als mehrere Unicast-Meldungen durchgeführt werden). Außerdem empfängt die IDF PME TO Ack-Meldungen über die Seitenbandmeldungsschnittstelle, aggregiert die Meldungen und leitet eine PME TO Ack-Meldung stromaufwärts (Upstream) auf der primären Schnittstelle und empfängt PME-Meldungen auf der Seitenbandmeldungsschnittstelle und leitet sie stromaufwärts auf der primären Schnittstelle weiter. Agenten, die PCIeTM-Root-Ports implementieren, empfangen PME Turn Off-Meldungen auf der Seitenbandmeldungsschnittstelle und leiten sie stromabwärts (Downstream) auf dem primären Kanal weiter und empfangen PME TO Ack-Meldungen von Downstream (über eine IDF für virtuelle Root-Ports, über eine PCIeTM-Verbindung für aktuelle Root-Ports) und leiten eine PME TO Ack-Meldung auf der Seitenbandmeldungsschnittstelle weiter. Agenten, die einen PCIeTM-Root-Complex Event-Collector implementieren, werden PME-Meldungen auf der Seitenbandmeldungsschnittstelle empfangen.
  • Die Fehlerlogik 40d kann für Unterstützung von PCIeTM-Fehlermeldungen sorgen, die die folgenden drei Meldungen einschließen: Fehler korrigiert (ERR CORR), kein fataler Fehler (ERR NONFATAL) und fataler Fehler (ERR FATAL). Zur Unterstützung von Interoperatbilität von Agenten, die diese Meldungen implementieren, werden die folgenden Regeln in einer Ausführungsform verwendet werden. Agenten, die PCIeTM-Fehlermeldungen erzeugen, senden Fehlermeldungen auf der Seitenbandmeldungsschnittstelle, und Integrated-Device-Fabric 30 empfängt Fehlermeldungen auf der Seitenbandmeldungsschnittstelle und leitet sie auf dem primären Kanal 49 stromaufwärts (Upstream). Agenten, die PCIeTM-Root-Ports implementieren, empfangen Fehlermeldungen entweder über die PCIeTM-Verbindung oder auf dem primären Kanal auf der Downstream-Seite bei Implementierung als ein virtueller Root-Port. Agenten, die einen PCIeTM-Root-Complex-Event-Collector implementieren, werden Fehlermeldungen auf der Seitenbandmeldungsschnittstelle empfangen. In anderen Implementierungen können derartige Meldungen auf der primären Schnittstelle gesendet werden.
  • Die PCIeTM-Fehlermeldungen enthalten eine Anforderer-ID (die Busnummer, Baustein und Funktion enthalten kann) und einen Meldungscode. Die PCIeTM-Spezifikation gibt an, dass nicht funktionsspezifische Fehler, die an einem Endpunkt auftreten, in jeder Funktion protokolliert werden, wobei jedoch nur eine Fehlermeldung für jeden aktivierten Schweregrad gesendet wird. Wenn zum Beispiel alle Funktionen so programmiert sind, dass sie den Fehler als fatal behandeln, dann wird nur eine Fataler-Fehler-Meldung gesendet, aber wenn einige Funktionen so programmiert sind, dass sie den Fehler als fatal behandeln, und andere so programmiert sind, dass sie den Fehler als nicht fatal behandeln, dann werden eine Fataler-Fehler- und eine Nicht-Fataler-Fehler-Meldung gesendet. Die folgenden Fehler können nicht funktionsspezifisch sein: nicht unterstützte Anfrage (Unsupported Request (UR)), bei Verursachung durch keine Funktion, die ein Transaktionsschichtpaket (Transaction Layer Packet (TLP)) fordert; unerwartete Ausführung bei Verursachung durch keine Funktion, die eine Ausführung fordert; falsch formatiertes TLP; End-CRC(ECRC)-Scheitern; Empfänger-Overflow; und Ablaufsteuerungsprotokollfehler. Es ist zu beachten, dass in zahlreichen Ausführungsformen die letzten beiden nicht einsetzbar sind. ECRC-Scheitern ist optional und kann nur auftreten, wenn ECRC-Überprüfung aktiviert ist.
  • Die Fehlerlogik 40d der Integrated-Device-Fabric 30 hat die Verantwortung, zu bestimmen, dass eine Transaktion zu einem nichtfunktionsspezifischen Fehler führt. Bei Detektion eines nicht funktionsspezifischen Fehlers wird die IDF an jedem Downstream-Agenten, der Teil der integrierten Einrichtung ist, eine Eingabe mit einem nicht spezifischen Fehlersignal (cmd nfserr) vornehmen. Wenn ein Agent eine Eingabe mit dem behaupteten cmd nfserr empfängt, protokolliert er den Fehler, aber sendet keine Fehlermeldung, selbst wenn er zum Senden einer Meldung konfiguriert ist. MF-Logik 35 ist für das Senden der geeigneten Fehlermeldungen verantwortlich. Ein Single Bit Strap wird in der integrierten Funktion verwendet, um zu wissen, dass sie unter einer Integrated-Device-Fabric angeschlossen ist.
  • Die MF-Logik 35 schattiert die notwendigen Bits von jeder Funktion unter der Integrated-Device-Fabric, die angibt, welchen Schweregradfehler die Funktion für den Fehler melden sollte. In einer Ausführungsform kann eine Tabelle in der Fehlerlogik 40d vorgesehen sein, um anzuzeigen, welche Bits erforderlich sind. Die Integrated-Device-Fabric detektiert somit, dass der Fehler eingetreten ist, und sendet das TLP an alle integrierten Funktionen unter der Integrated-Device-Fabric. Das Rundsenden kann mit einem simultanen ... oder sequentiellen ... an alle Ziele erfolgen. Die MF-Logik wird danach die Schattenkopien der Fehlerkonfigurationsbits überprüfen und die korrekten Fehlermeldungen stromaufwärts (Upstream) senden.
  • Die MF-Logik 35 kann ferner Registerschattenlogik 40a enthalten. Wenn eine Funktion in einem Agenten PCIeTM-ARI-Fähigkeit implementiert, dann müssen sie alle ARI implementieren. Jede integrierte Funktion, die die ARI-Fähigkeit implementiert, implementiert ein privates Register mit maximaler Nutzlastgröße, das von dem Konfigurationsregister mit PCIeTM-definierter maximaler Nutzlastgröße getrennt ist, und eine Strap-Eingabe (Strap Input), um anzuzeigen, ob die integrierte Funktion in einem Root-Complex oder außerhalb eines Root-Complex instantiiert ist. Dieses Register ist von der Seitenbandmeldungsschnittstelle erreichbar. Wenn die integrierte Funktion benutzt wird, um anzuzeigen, dass sie sich außerhalb des Root-Complex befindet, dann ignorieren alle Funktionen mit einer Funktionsnummer ungleich Null das Register mit PCIeTM-spezifikationsdefinierter maximaler Nutzlastgröße und Verwenden das private Register für den maximalen Nutzlastgrößenwert. Es gehört zur Verantwortung der Registerschattenlogik 40a der MF-Logik 30, die Null-Werte für die maximale Nutzlastgröße der Funktionen in den anderen Agenten, die mit der IDF 30 verbunden sind, zu schattieren. Die MF-Logik 35 kann in einigen Ausführungsformen andere Funktionen enthalten. In einer Ausführungsform kann jeder Agent eine Latenzzeitmeldung über den Seitenbandkanal an die Multifunktionslogik senden, die Meldungen aggregiert, die Latenzzeitzahl für den ungünstigsten Fall nimmt und an den virtuellen Port zur Berichterstattung stromaufwärts (upstream) sendet.
  • Nunmehr unter Bezugnahme auf 3 ist dort ein Blockdiagramm eines System-on-Chip (SoC) gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 3 gezeigt ist, kann der SoC 200 ein Einzel-Die-Baustein sein, der zahlreiche Einheiten enthält, die unterschiedliche Funktionen durchführen. Wie in 3 gezeigt ist, kann ein Server Controller Hub (SCH) 210 eine Schnittstelle zu einem Systemcontroller, wie zum Beispiel einer Zentralverarbeitungseinheit (Central Processing Unit (CPU)) oder einer anderen Hauptverarbeitungseinheit, bereitstellen. Über zahlreiche Einstellungen können z. B. Sicherungsauswähleinstellungen, wie z. B. Schmelzverbindungen, die durch Schalter S1 und S2 repräsentiert werden, gesteuert werden, um Koppeln von unterschiedlichen Schaltkreisen mit SCH 210 zu ermöglichen. Wie ersichtlich ist, kann der Schalter S1 eine direkte Kopplung eines virtuellen Ports 220, der ein virtueller Root-Port oder ein virtueller Switch-Port sein kann, direkt mit SCH 210 ermöglichen. Wenn S1 den virtuellen Port 220 mit SCH 210 verbindet, ist der virtuelle Port 220 ein Root-Port. In einer alternativen Konfiguration kann der virtuelle Port 220 mit einer Switch-Fabric (SWF) 270 direkt koppeln. Wenn S1 den virtuellen Port 220 mit SWF 270 verbindet, ist er ein Switch-Port. Der Schalter S2 kann gesteuert werden, um eine Integrated-Device-Fabric 230 mit einer Speichercontrollereinheit (Storage controller unit (SCU)) 260 zu koppeln oder die Kopplung zu deaktivieren.
  • Wie ferner in 3 gezeigt ist, kann die IDF 230 mit einer Schnittstelle 240 gekoppelt sein, die eine Schnittstelle für zahlreiche Off-Chip-Einrichtungen, wie zum Beispiel SMBUS, nichtflüchtiger SRAM, serieller Flash und Ethernet, bereitstellen kann. Ferner kann IDF 230 mit einer SCU 250 koppeln, die auch mit zahlreichen Off-Chip-Einrichtungen, wie zum Beispiel Festplattenlaufwerken oder einem SAS-Netzwerk, koppeln kann. Ferner kann in einer bestimmten Implementierung der Schalter S1 direktes Koppeln des virtuellen Ports 220 mit der Switch-Fabric 270 ermöglichen, die wiederum mit einem Upstream-Switch-Port 280 koppelt, der mit Downstream-Switch-Ports (nicht gezeigt) koppeln kann, die mit einem Off-Chip-Endpunkt koppeln. SoC 200 kann ferner einen Design-for-Test(DFx)-Agenten 290 zur Durchführung von zahlreichen Design-for-Test-Funktionen enthalten. Während sie mit dieser besonderen Implementierung in der Ausführungsform von 3 gezeigt ist, ist der Umfang der vorliegenden Erfindung diesbezüglich nicht beschränkt.
  • Ausführungsformen können ferner in einem weiteren Systemkontext implementiert werden, wie zum Beispiel einem PCIeTM/PCI-System. Unter Bezugnahme auf 4 ist dort ein Blockdiagramm eines Systems 300 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 4 gezeigt ist, kann das System 300 zahlreiche Fabrics zum Koppeln von unterschiedlichen Arten von Funktionen und Einrichtungen mit Upstream-Komponenten, wie zum Beispiel einer Haupt-CPU und einem Speicherkomplex, durch CPU 305 repräsentiert, enthalten. Während sie als ein einzelner Block gezeigt ist, versteht es sich, dass die CPU 305 eine oder mehrere CPUs und lokalen Speicher enthalten kann, die beispielsweise in einer Gruppen- oder Ringtopologie implementiert sein können. Die CPU 305 koppelt mit einer Root Complex-Fabric 310.
  • Root-Complex 310 kann das Root einer IO-Hierarchie kennzeichnen, das die CPU 305 mit dem IO-Subsystem verbindet. Wie ersichtlich, können zahlreiche Einheiten mit dem Root-Complex 310 gekoppelt sein, die Root-Complex-Integrated-Endpunkte 312 a312 n, Root-Ports, die einen physikalischen Root-Port 314 und einen virtuellen Root-Port 330 enthalten, und eine andere derartige Schnittstelle 313 enthalten, die in einer Ausführungsform eine DMI oder DMIc-Schnittstelle sein kann. In der Ausführungsform von 4 können einige dieser Schnittstellen und Ports Off-Die über Cross-Die-Verbindungen 316 und 345 koppeln, während der virtuelle Root-Port 330 On-Die in einer Integrated-Device-Fabric 335 integriert sein kann, die wiederum mit einem integrierten PCIeTM-Endpunkt 340 gekoppelt ist, der eine oder mehr integrierte Funktionen 341 a314 n enthält. Somit können sowohl der Root-Port 314 als auch der virtuelle Root-Port 330 für die auf der CPU 305 laufende Software als mit Off-Chip-PCIeTM-Einrichtungen gekoppelt erscheinen. Es ist zu beachten, dass die Endpunkte 312 a312 n und Funktionen 341 a341 n für dieselben Regeln entworfen sind, so dass ein Systemintegrator wählen kann, einen Agenten als entweder einen RC-integrierten Endpunkt oder eine integrierte Funktion zu instantiieren, ohne Änderungen an der Implementierung mit wieder verwendbaren Agenten vorzunehmen.
  • Ferner ist in 4 gezeigt, dass eine Cross-Die-Verbindung 316 mit einer weiteren Schnittstelle 317 koppeln kann, die wiederum mit einer Root-Complex-Fabric 320 koppelt, mit der ein oder mehr Root-Complex-Integrated-Endpunkte 322 a322 n gekoppelt sein können.
  • Über die Cross-Die-Verbindung 345 kann eine PCIeTM-Multifunktionseinrichtung 350 vorliegen, die auch mit einer Switch-Fabric 360 über einen Switch-Port 352 und eine integrierte Funktion 354 koppeln kann. Die Switch-Fabric 360 kann wiederum mit zahlreichen Downstream-Ports koppeln, die einen Switch-Port 365 und virtuelle Switch-Ports 368 a und 368 b einschließen. Diese virtuellen Switch-Ports können mit IDFs 370 und 375 koppeln, von denen jede ein oder mehr damit gekoppelte PCIeTM-Endpunkte enthalten kann. In der in 4 gezeigten Ausführungsform kann ein PCIeTM-Endpunkt 372 eine integrierte Funktion 373 enthalten und kann ein PCIeTM-Endpunkt 380 integrierte Funktionen 383 a383 n enthalten. Während sie mit dieser Implementierung in der Ausführungsform von 4 gezeigt ist, ist der Umfang der vorliegenden Erfindung diesbezüglich nicht beschränkt.
  • Nunmehr unter Bezugnahme auf 5 ist dort ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 5 gezeigt ist, kann das Verfahren 400 in einer Integrated-Device-Fabric zur Handhabung von eintreffenden Meldungen von einer damit gekoppelten Upstream-verbundenen Einrichtung implementiert sein. Wie in 5 gezeigt ist, kann das Verfahren 400 zur Handhabung von eintreffenden Meldungen verwendet werden, die von Upstream-Komponenten, wie zum Beispiel einem virtuellen Port, mit dem die IDF gekoppelt ist, empfangen werden (Block 410).
  • Bei Empfang in der IDF kann eine Meldung, die ein Befehl sein kann, an alle Downstream-Agenten über einen primären Kanal gesendet werden (Block 420). Dann kann die IDF bestimmen, oh sie eine Dekodierbestätigung von einem der Agenten empfängt (Raute 430). Das heißt, dass, wie oben erörtert, eine Übertragung von Meldungen stromabwärts (Downstream) in einem Zwei-Phasen-Prozess stattfinden kann, in dem die Meldung als erstes an alle Agenten gesendet wird, die deren eigenes Zieldekodieren durchführen. Wenn die Meldung nicht für eine der Downstream-Komponenten vorgesehen ist, dann wird eine Fehlermeldung erzeugt und stromaufwärts (Upstream) gesendet (Block 435).
  • Wenn stattdessen eine Zielbestätigung von einem der Agenten empfangen wird, schreitet die Steuerung zu Raute 440, wo bestimmt werden kann, ob der anvisierte Agent Ressourcen zur Handhabung der Meldung aufweist (Raute 440). Falls ja, so schreitet die Steuerung zu Block 450 vor, wo die Meldung mit anderen Meldungen zur Downstream-Übertragung arbitriert werden kann. Danach kann bei Block 460 die Meldung an den anvisierten Agenten gesendet werden. Natürlich können andere Mechanismen zur Handhabung von empfangenen Meldungen in anderen Ausführungsformen verwendet werden. Wie oben erörtert wurde, kann zum Beispiel Adressdekodierung in der Fabric selbst in einigen Implementierungen stattfinden.
  • Nunmehr unter Bezugnahme auf 6 ist dort ein Flussdiagramm eines Verfahrens zur Handhabung von eintreffenden Meldungen von gekoppelten Agenten gezeigt. Wie in 6 gezeigt ist, kann das Verfahren 500 durch Empfang von Seitenbandmeldungen von einem oder mehr Agenten über einen Seitenbandkanal beginnen (Block 510). Zum Beispiel können eintreffende Seitenbandmeldungen an einen Seitenbandendpunkt geliefert werden, der Teil von Multifunktionslogik einer Integrated-Device-Fabric ist. Dieser Endpunkt kann Meldungen zu einer geeigneten Logik in der Multifunktionslogik lenken (Block 520). Zum Beispiel können Fehlermeldungen zu Fehlerlogik gesendet werden, Energiemanagement-Meldungen zu Energiemanagement-Logik gesendet werden und so weiter. Die bestimmte Logik kann dann die empfangenen Meldungen verarbeiten (Block 530). Wie oben erörtert, kann zum Beispiel die Logik eine Aggregation von mehreren Seitenbandmeldungen durchführen, um dadurch eine geeignete aggregierte Meldung für Upstream-Übertragung zu bilden. Wie in 6 gezeigt ist, kann dann die aggregierte Meldung stromaufwärts (Upstream), z. B. zu einem virtuellen Port über den primären Kanal weitergeleitet werden (Block 540).
  • Durch Verwendung von Ausführungsformen der vorliegenden Erfindung kann somit eine Standardlösung zur Implementierung von Agenten realisiert werden, die entweder als Root-Complex-Integrated-Einrichtungen oder als Non-Root-Complex-Integrated-Devices verwendet werden können. Dementsprechend kann die Wiederverwendung von Agenten über zahlreiche Produkte erfolgen, so dass Agenten von einem oder mehr Herstellern in einen Single-Die-IC (Integrated Circuit) eingebaut sein können.
  • Es ist zu beachten, dass die Ausführungsformen für eine identische Integration eines IP-Blocks unter einem PCIeTM-Schalter, Switch-Port, PCIeTM-Root-Port oder direkt unter einem Root-Complex sorgen. Im Gegensatz dazu dürfen gemäß der PCIeTM-Spezifikation Schalter eine Einrichtung nicht auf einem internen Bus integrieren. (Sprache der PCIeTM-Spezifikation: „Endpoints (represented by Type 00h Configuration Space headers) must not appear to configuration software on the Switch's internal bus as peers of the virtual PCI-to-PCI Bridges representing the Switch Downstream Ports.”) Wie jedoch in 4 gezeigt ist, kann ein IP-Block als eine Funktion einer integrierten Einrichtung integriert sein, die einen Port stromaufwärts vom Schalter (Switch Upstream Port) enthält. In diesem Fall ist die Switch-Fabric 360 eine einzelne Fabric, die Verkehr für zwei logische PCI-Busse überträgt, die zur primären und sekundären Seite der Upstream-Switch-Port Virtual Peer-to-Peer-Bridge gehören.
  • Die Ausführungsformen können auch voll PCIeTM-konform sein, wodurch ermöglicht wird, dass für eine Standardschnittstelle entworfene Agenten innerhalb eines Root-Complex oder in einer integrierten Einrichtung verwendet werden. Außerdem sorgt die Verwendung einer IDF mit Multifunktionslogik gemäß einer Ausführungsform der vorliegenden Erfindung für einen Standardweg zur Handhabung von Interaktionen zwischen Agenten, so dass Agenten von unterschiedlichen Anbietern in einer einzigen Multifunktionseinrichtung miteinander verbunden werden können.
  • Die Ausführungsformen können in Code implementiert und auf einem Speichermedium gespeichert werden, das Anweisungen enthält, die zum Programmieren eines Systems zur Durchführung der Anweisungen verwendet werden können. Das Speichermedium kann, ohne darauf beschränkt zu sein, jeden Typ von Platte, einschließlich Disketten, optische Platten, Solid-State-Laufwerke (Solid-State-Drives (SSDs)), Compact Disk Read-Only Memory (CD-ROMs), Compact Disk Rewritables (CD-RWs) und magnetooptische Platten, Halbleitereinrichtungen, wie zum Beispiel Nur-Lesespeicher (Read-Only Memories (ROMs)), Direktzugriffsspeicher (Random Access Memories (RAMs)), wie zum Beispiel Dynamic Random Access Memories (DRAMs), Static Random Access Memories (SRAMs), löschbare programmierbare Nur-Lesespeicher (Erasable Programmable Read-Only Memories (EPROMs)), Flash-Speicher, elektrisch löschbare programmierbare Nur-Lesespeicher (Electrically Erasable Programmable Read-Only Memories (EEPROMs)), magnetische oder optische Karten, oder irgendeinen anderen Typ von zur Speicherung von elektronischen Anweisungen geeigneten Medien, einschließen.
  • Während die vorliegende Erfindung unter Bezugnahme auf eine begrenzte Anzahl von Ausführungsformen beschrieben worden ist, werden Fachleute auf dem Gebiet zahlreiche Modifikationen und Abwandlungen davon erkennen. Die beigefügten Ansprüche sollen alle derartigen Modifikationen und Abwandlungen, die in den wahren Geist und Umfang der vorliegenden Erfindung fallen, abdecken.

Claims (22)

  1. Vorrichtung, umfassend: einen virtuellen Port, der zwischen einer Upstream-Fabric und einer Integrated-Device-Fabric gekoppelt ist, wobei der virtuelle Port eine Master-Schnittstelle zum Verbinden mit der Upstream-Fabric und eine Zielschnittstelle zum Verbinden mit der Integrated-Device-Fabric enthält; die Integrated-Device-Fabric, die eine Multifunktionslogik zum Handhaben von Interrupts, Energiemanagementmeldungen und nicht funktionsspezifischen Fehlermeldungen enthält, wobei die Integrated-Device-Fabric mit mindestens einem Intellectual Property(IP)-Block gekoppelt ist und einen primären Kanal zum Kommunizieren von Daten und Befehlsinformation zwischen dem mindestens einen IP-Block und dem virtuellen Port und einen Seitenbandkanal zum Kommunizieren von Seitenbandinformation zwischen dem mindestens einen IP-Block und der Multifunktionslogik aufweist; und den mindestens einen IP-Block zum Durchführen einer Funktion, wobei der virtuelle Port, die Integrated-Device-Fabric und der IP-Block auf einem einzigen Halbleiter-Die eingerichtet sind.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Integrated-Device-Fabric mit einer Transaktionsschicht des virtuellen Ports und einer Transaktionsschicht des mindestens einen IP-Blocks ohne Eingriff einer Verbindungsschicht oder einer physikalischen Schicht koppelt.
  3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Multifunktionslogik einen Seitenbandendpunkt zum Kommunizieren mit einem Seitenband-Router über den Seitenbandkanal enthält, wobei der Seitenband-Router ferner mit dem mindestens einen IP-Block gekoppelt ist.
  4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Integrated-Device-Fabric ferner einen Arbiter zum Arbitrieren von Meldungen entlang des primären Kanals von dem virtuellen Port zu einer Vielzahl von IP-Blöcken, die mit der Integrated-Device-Fabric gekoppelt sind, enthält.
  5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Multifunktionslogik eine erste Logik zum Detektieren einer nicht funktionsspezifischen Fehlermeldung von der Vielzahl von IP-Blöcken über den Seitenbandkanal und Erzeugen einer Aggregatmeldung zur Übertragung zum virtuellen Port über den primären Kanal enthält.
  6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Multifunktionslogik eine zweite Logik zum Empfangen einer Energiemanagement-Meldung von dem virtuellen Port über den primären Kanal und zum Erzeugen einer Downstream-Energiemanagement-Meldung an die Vielzahl von IP-Blöcken über den Seitenbandkanal enthält.
  7. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass die Vielzahl von IP-Blöcken heterogene Blöcke sind und dass die Integrated-Device-Fabric zum Standardisieren der Kommunikation zwischen den heterogenen Blöcken und dem virtuellen Port dient.
  8. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass die Integrated-Device-Fabric und die Vielzahl von IP-Blöcken für Software als ein einziger Peripheral Component Interconnect(PCI)-Endpunkt, der über eine PCI-Verbindung gekoppelt ist, erscheint.
  9. Vorrichtung nach Anspruch 1, ferner umfassend eine erste Schmelzverbindung zum Koppeln der Integrated-Device-Fabric mit einer Switch-Fabric über den virtuellen Port, wobei der virtuelle Port als ein Switch-Port fungiert, wenn die erste Schmelzverbindung aktiviert ist, und eine zweite Schmelzverbindung zum Koppeln mit der Integrated-Device-Fabric mit einem Hub-Agenten über den virtuellen Port, wobei der virtuelle Port als ein Root-Port fungiert, wenn die zweite Schmelzverbindung aktiviert ist.
  10. Verfahren, umfassend: Empfangen einer Meldung in einer Integrated-Device-Fabric von einem mit der Integrated-Device-Fabric gekoppelten virtuellen Port, wobei die Integrated-Device-Fabric eine Multifunktionslogik zum Handhaben von erster Funktionalität für eine Vielzahl von Endpunkteinrichtungen enthält, die Integrated-Device-Fabric mit der Vielzahl von Endpunkteinrichtungen gekoppelt ist und einen primären Kanal zum Kommunizieren von Daten und Befehlsinformation zwischen der Vielzahl von Endpunkteinrichtungen und dem virtuellen Port und einen Seitenbandkanal zum Kommunizieren von Seitenbandinformation zwischen der Vielzahl von Endpunkteinrichtungen und der Multifunktionslogik aufweist; Senden eines Befehlsabschnitts der Meldung an die Vielzahl von mit der Integrated-Device-Fabric gekoppelten Endpunkteinrichtungen über den primären Kanal; Empfangen einer Dekodierbestätigung von einer anvisierten der Vielzahl von Endpunkteinrichtungen, um anzuzeigen, dass die Meldung für die anvisierte Endpunkteinrichtung vorgesehen ist; und Bestimmen, ob die anvisierte Endpunkteinrichtung verfügbare Ressourcen zum Handhaben der Meldung aufweist, und falls ja, Senden der Meldung an die anvisierte Endpunkteinrichtung.
  11. Verfahren nach Anspruch 10, ferner umfassend Arbitrieren der Meldung mit anderen Meldungen zur Übertragung an die Vielzahl von Endpunkteinrichtungen.
  12. Verfahren nach Anspruch 10, ferner umfassend Erzeugen einer Fehlermeldung und Senden der Fehlermeldung stromaufwärts (Upstream) an den virtuellen Port, wenn die Integrated-Device-Fabric die Dekodierbestätigung nicht empfängt.
  13. Verfahren nach Anspruch 10, ferner umfassend Koppeln einer Transaktionsschicht des virtuellen Ports mit einer Transaktionsschicht der anvisierten Endpunkteinrichtung ohne Eingriff einer Verbindungsschicht oder einer physikalischen Schicht.
  14. Verfahren nach Anspruch 10, ferner umfassend Empfangen einer Vielzahl von Interrupt-Meldungen in der Multifunktionslogik von mindestens einigen der Endpunkteinrichtungen und Aggregieren der Interrupt-Meldungen in einer an den virtuellen Port zu sendenden Aggregatmeldung.
  15. Verfahren nach Anspruch 10, ferner umfassend Detektieren eines Schreibens in ein Register mit Funktion-Null-Größe auf dem primären Kanal und Schattieren des Schreibens an die Vielzahl von Endpunkteinrichtungen über den Seitenbandkanal.
  16. Verfahren nach Anspruch 13, ferner umfassend Empfangen der Meldung in der Integrated-Device-Fabric und Senden der Meldung an die anvisierte Endpunkteinrichtung ohne Durchführung einer Verbindungsschichtverarbeitung oder physikalischen Schichtverarbeitung.
  17. Verfahren nach Anspruch 10, ferner umfassend Empfangen von nicht funktionsspezifischen Fehlermeldungen von der Vielzahl von Endpunkteinrichtungen in einer ersten Logik der Multifunktionslogik über den Seitenbandkanal und Erzeugen einer Fehlermeldung zur Übertragung an den virtuellen Port über den primären Kanal.
  18. Verfahren nach Anspruch 17, ferner umfassend Empfangen einer Energiemanagement-Meldung von dem virtuellen Port in einer zweiten Logik der Multifunktionslogik über den primären Kanal und Senden einer Downstream-Energiemanagement-Meldung an die Vielzahl von Endpunkteinrichtungen über den Seitenbandkanal.
  19. System, umfassend: einen Prozessor; eine Root-Complex-Fabric, die mit dem Prozessor, einer Vielzahl von integrierten Endpunkteinrichtungen und einem Root-Port gekoppelt ist, wobei der Root-Port mit einer Peripheral Component Interconnect Express(PCIe)-Einrichtung über eine Off-Chip-Verbindung gekoppelt ist, wobei die PCIe-Einrichtung für auf dem Prozessor laufende Software sichtbar ist und der Root-Port und die PCIe-Einrichtung jeweils eine Transaktionsschicht, eine Verbindungsschicht und eine physikalische Schicht enthalten; einen virtuellen Root-Port, der mit der Root-Complex-Fabric gekoppelt ist und eine Maser-Schnittstelle zum Verbinden mit der Root-Complex-Fabric und eine Zielschnittstelle zum Verbinden mit einer Integrated-Device-Fabric aufweist; und die Integrated-Device-Fabric, die mit dem virtuellen Root-Port über eine On-Chip-Verbindung gekoppelt ist und eine Multifunktionslogik zum Handhaben von Interrupts, Energiemanagement-Meldungen und nicht funktionsspezifischen Fehlermeldungen enthält, wobei die Integrated-Device-Fabric mit mindestens einem Agenten gekoppelt ist und einen primären Kanal zum Kommunizieren von Daten und Befehlsinformation zwischen dem mindestens einen Agenten und dem virtuellen Root-Port und einen Seitenbandkanal zum Kommunizieren von Seitenbandinformation zwischen dem mindestens einen Agenten und der Multifunktionslogik aufweist, wobei Kommunikation zwischen dem virtuellen Root-Port und dem mindestens einen IP-Block auf der Transaktionsschicht ohne Eingriff der Verbindungsschicht oder der physikalischen Schicht erfolgt und der mindestens eine Agent für die auf dem Prozessor laufende Software als eine PCIe-Einrichtung sichtbar ist, die mit dem virtuellen Root-Port über eine Off-Chip-Verbindung gekoppelt ist.
  20. System nach Anspruch 19, dadurch gekennzeichnet, dass die Multifunktionslogik eine erste Logik zum Empfangen der nicht funktionsspezifischen Fehlermeldungen von einer Vielzahl von Agenten über den Seitenbandkanal und zum Erzeugen einer Fehlermeldung zur Übertragung an den virtuellen Root-Port über den primären Kanal enthält.
  21. System nach Anspruch 20, dadurch gekennzeichnet, dass die Multifunktionslogik eine zweite Logik zum Empfangen einer Energiemanagement-Meldung von dem virtuellen Root-Port über den primären Kanal und zum Erzeugen einer Dwonstream-Energiemanagement-Meldung an die Vielzahl von Agenten über den Seitenbandkanal enthält.
  22. System nach Anspruch 19, dadurch gekennzeichnet, dass die Multifunktionslogik eine dritte Logik zum Empfangen von Latenzzeittoleranzinformation von der Vielzahl von Agenten und zum Aggregieren von Latenzzeittoleranzinformation in einer an den virtuellen Root-Port zu sendenden Latenzzeitmeldung enthält.
DE112010001469.8T 2009-03-31 2010-03-05 Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen Active DE112010001469B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/415,470 US7873068B2 (en) 2009-03-31 2009-03-31 Flexibly integrating endpoint logic into varied platforms
US12/415,470 2009-03-31
PCT/US2010/026284 WO2010117524A2 (en) 2009-03-31 2010-03-05 Flexibly integrating endpoint logic into varied platforms

Publications (2)

Publication Number Publication Date
DE112010001469T5 true DE112010001469T5 (de) 2012-05-16
DE112010001469B4 DE112010001469B4 (de) 2020-06-18

Family

ID=42784180

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010001469.8T Active DE112010001469B4 (de) 2009-03-31 2010-03-05 Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen

Country Status (4)

Country Link
US (5) US7873068B2 (de)
CN (4) CN103795615B (de)
DE (1) DE112010001469B4 (de)
WO (1) WO2010117524A2 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US8170062B2 (en) * 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8196013B2 (en) 2009-10-23 2012-06-05 Plx Technology, Inc. Supporting global input/output interconnect features on ports of a midpoint device
US8395416B2 (en) * 2010-09-21 2013-03-12 Intel Corporation Incorporating an independent logic block in a system-on-a-chip
US9098438B2 (en) * 2010-09-30 2015-08-04 Texas Instruments Incorporated Synchronized voltage scaling and device calibration
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8929373B2 (en) * 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US9100348B2 (en) * 2011-10-03 2015-08-04 Intel Corporation Managing sideband routers in on-die system fabric
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US9626207B2 (en) 2011-12-16 2017-04-18 International Business Machines Corporation Managing configuration and system operations of a non-shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9411654B2 (en) 2011-12-16 2016-08-09 International Business Machines Corporation Managing configuration and operation of an adapter as a virtual peripheral component interconnect root to expansion read-only memory emulation
US9311127B2 (en) 2011-12-16 2016-04-12 International Business Machines Corporation Managing configuration and system operations of a shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9805221B2 (en) * 2011-12-21 2017-10-31 Intel Corporation Incorporating access control functionality into a system on a chip (SoC)
US9342393B2 (en) 2011-12-30 2016-05-17 Intel Corporation Early fabric error forwarding
US9077624B2 (en) * 2012-03-07 2015-07-07 International Business Machines Corporation Diagnostics in a distributed fabric system
US9436623B2 (en) * 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
US9153867B2 (en) 2012-12-19 2015-10-06 Futurewei Technologies, Inc. Reconfigurable multiband antenna
US9762446B2 (en) 2012-12-28 2017-09-12 Futurewei Technologies Co., Ltd. Methods for dynamic service deployment for virtual/physical multiple device integration
EP2962210A4 (de) * 2013-02-28 2016-11-02 Intel Corp Einsatz eines zählungs- und/oder konfigurationsmechanismus eines verbindungsprotokolls für ein unterschiedliches verbindungsprotokoll
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
CN104679694B (zh) * 2013-11-28 2017-11-14 英业达科技有限公司 快捷外设互联标准的选择设定系统及微服务器
US9747245B2 (en) 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US9727679B2 (en) 2014-12-20 2017-08-08 Intel Corporation System on chip configuration metadata
US9984017B2 (en) * 2014-12-27 2018-05-29 Intel Corporation Intelligent network fabric to connect multiple computer nodes with one or more SR-IOV devices
US10210120B2 (en) * 2015-03-26 2019-02-19 Intel Corporation Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
US10157160B2 (en) 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
CN106502941A (zh) * 2016-11-25 2017-03-15 北京兆芯电子科技有限公司 输入输出扩展器、计算机系统以及其配置方法
US10255223B2 (en) 2016-12-05 2019-04-09 International Business Machines Corporation Detecting a type of storage adapter connected and miscabling of a microbay housing the storage adapter
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10365706B2 (en) * 2017-03-03 2019-07-30 Qualcomm Incorporated Asymmetric power states on a communication link
US11100023B2 (en) * 2017-09-28 2021-08-24 Intel Corporation System, apparatus and method for tunneling validated security information
US20190095554A1 (en) * 2017-09-28 2019-03-28 Intel Corporation Root complex integrated endpoint emulation of a discreet pcie endpoint
CN110311843B (zh) * 2018-03-27 2022-06-28 赛灵思公司 基于PCIe链路的通信方法、装置、电子设备、存储介质
US11157431B2 (en) * 2019-06-20 2021-10-26 Intel Corporation System, apparatus and method for multi-die distributed memory mapped input/output support
US11815984B2 (en) 2020-02-07 2023-11-14 Intel Corporation Error handling in an interconnect
US20230051553A1 (en) * 2021-08-12 2023-02-16 Samsung Electronics Co., Ltd. Multi-function flexible computational storage device
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6799278B2 (en) * 2000-12-21 2004-09-28 Dell Products, L.P. System and method for processing power management signals in a peer bus architecture
JP3824548B2 (ja) * 2001-12-20 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、電源制御装置、情報処理装置制御方法、プログラム、及び記録媒体
US6915365B2 (en) * 2002-03-22 2005-07-05 Intel Corporation Mechanism for PCI I/O-initiated configuration cycles
US7698483B2 (en) * 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7778245B2 (en) * 2003-11-10 2010-08-17 Broadcom Corporation Method and apparatus for remapping module identifiers and substituting ports in network devices
US20050132095A1 (en) * 2003-12-10 2005-06-16 Collins David L. Method and apparatus for controlling peripheral devices in a computer system
US7411591B2 (en) * 2003-12-24 2008-08-12 Intel Corporation Graphics memory switch
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US7552242B2 (en) * 2004-12-03 2009-06-23 Intel Corporation Integrated circuit having processor and switch capabilities
US7650275B2 (en) * 2005-01-20 2010-01-19 Hewlett-Packard Development Company, L.P. Virtualization of a parition based on addresses of an I/O adapter within an external emulation unit
US7260664B2 (en) * 2005-02-25 2007-08-21 International Business Machines Corporation Interrupt mechanism on an IO adapter that supports virtualization
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US7516263B2 (en) * 2006-02-27 2009-04-07 Emerson Network Power - Embedded Computing, Inc. Re-configurable PCI-Express switching device
US7865654B2 (en) * 2006-02-28 2011-01-04 Emulex Design And Manufacturing Corporation Programmable bridge header structures
JP4810349B2 (ja) * 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US7814371B2 (en) * 2006-09-27 2010-10-12 Intel Corporation Apparatus and method for point-to-point interconnect testing
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7574551B2 (en) * 2007-03-23 2009-08-11 International Business Machines Corporation Operating PCI express resources in a logically partitioned computing system
US7730361B2 (en) * 2007-03-30 2010-06-01 Texas Instruments Incorporated Aggregation of error messaging in multifunction PCI express devices
US20080263248A1 (en) * 2007-04-20 2008-10-23 Harriman David J Multi-drop extension for a communication protocol
US20080301350A1 (en) * 2007-05-31 2008-12-04 Larson Chad J Method for Reassigning Root Complex Resources in a Multi-Root PCI-Express System
US20090063894A1 (en) * 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US20090077297A1 (en) * 2007-09-14 2009-03-19 Hongxiao Zhao Method and system for dynamically reconfiguring PCIe-cardbus controllers
JP2009210448A (ja) * 2008-03-05 2009-09-17 Toshiba Corp 半導体装置
US7707346B2 (en) * 2008-03-12 2010-04-27 Lsi Corporation PCI express multi-root IOV endpoint retry buffer controller
CN101983365B (zh) * 2008-04-02 2013-03-27 惠普开发有限公司 在共享的i/o系统中转换重置
US8838867B2 (en) * 2008-12-24 2014-09-16 Nuon, Inc. Software-based virtual PCI system
CN101262439A (zh) * 2008-04-21 2008-09-10 湖北融合通信技术有限公司 一种多业务路由器
US7743189B2 (en) * 2008-05-05 2010-06-22 International Business Machines Corporation PCI function south-side data management
US20090292854A1 (en) * 2008-05-22 2009-11-26 Khoo Ken Use of bond option to alternate between pci configuration space
US8595343B2 (en) * 2008-11-14 2013-11-26 Dell Products, Lp System and method for sharing storage resources
JP5310175B2 (ja) * 2009-03-25 2013-10-09 富士通株式会社 スイッチシステム、及びスイッチシステムの制御方法
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms

Also Published As

Publication number Publication date
CN102326362B (zh) 2014-04-02
WO2010117524A3 (en) 2011-01-13
US8537848B2 (en) 2013-09-17
US20110080920A1 (en) 2011-04-07
CN101873339B (zh) 2013-05-15
CN103795615B (zh) 2017-04-12
CN103795615A (zh) 2014-05-14
WO2010117524A2 (en) 2010-10-14
CN103297330A (zh) 2013-09-11
CN102326362A (zh) 2012-01-18
DE112010001469B4 (de) 2020-06-18
US20100246594A1 (en) 2010-09-30
US20140052889A1 (en) 2014-02-20
US20110131456A1 (en) 2011-06-02
CN103297330B (zh) 2016-09-28
US8831029B2 (en) 2014-09-09
US20110131362A1 (en) 2011-06-02
US9122811B2 (en) 2015-09-01
US8537820B2 (en) 2013-09-17
US7873068B2 (en) 2011-01-18
CN101873339A (zh) 2010-10-27

Similar Documents

Publication Publication Date Title
DE112010001469B4 (de) Flexible Integration von Endpunktlogik in unterschiedlichen Plattformen
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE112013007732B4 (de) System und Vorrichtung zum Bestimmen und Melden eines Fehlers auf einer Bahn
DE112015006961T5 (de) Verbindungsfehlerdetektion in mehrfachchipgehäusen
DE112013007752B3 (de) Hochleistungsverdrahtungs-Bitübertragungsschicht
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE102020122301A1 (de) Konfigurationsschema für link-herstellung
DE102018006546A1 (de) Plattformschnittstellenschicht und protokoll für beschleuniger
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112013007734T5 (de) Mehrchipgehäuseverbindung
DE112013000408T5 (de) Verfahren und Vorrichtung zur gemeinsamen Nutzung einer Netzwerk-Schnittstellensteuerung
DE102009031126A1 (de) Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE112017001148T5 (de) Abflachende portalbrücke .
DE112016006065T5 (de) Spekulative nummerierung von adressräumen für bus-einrichtungsfunktionen
DE102018006852A1 (de) Verfahren, Vorrichtung und System für eine ThunderBolt-basierte Anzeigetopologie für duale Grafiksysteme
DE102020101958A1 (de) Dynamisches spurzugriffswechseln zwischen pcie-wurzelräumen
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
DE112007003722B4 (de) Modifizieren von Systemroutinginformationen in linkbasierenden Systemen
DE102021121490A1 (de) Annähernde datenbusinversionstechnik für latenzempfindliche anwendungen
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
EP2704022A2 (de) Rechnersystem
DE102019101114A1 (de) System, Vorrichtung und Verfahren zum Bereitstellen einer Fabric für einen Beschleuniger

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final