DE102009021865B4 - Bereitstellung eines Präfixes für einen Datenkopf - Google Patents

Bereitstellung eines Präfixes für einen Datenkopf Download PDF

Info

Publication number
DE102009021865B4
DE102009021865B4 DE102009021865.3A DE102009021865A DE102009021865B4 DE 102009021865 B4 DE102009021865 B4 DE 102009021865B4 DE 102009021865 A DE102009021865 A DE 102009021865A DE 102009021865 B4 DE102009021865 B4 DE 102009021865B4
Authority
DE
Germany
Prior art keywords
prefix
header
tlp
units
opcode
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.)
Active
Application number
DE102009021865.3A
Other languages
English (en)
Other versions
DE102009021865A1 (de
Inventor
Mahesh Wagh
Jasmin Ajanovic
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 DE102009021865A1 publication Critical patent/DE102009021865A1/de
Application granted granted Critical
Publication of DE102009021865B4 publication Critical patent/DE102009021865B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren, umfassend: Generieren eines Präfix-Kopfes mit einem Opcode-Feld und einem Präfix-spezifischen Feld für ein von einem Sender zu sendendes erstes Paket, umfassend Generieren des Opcode-Feldes, das einen ersten Abschnitt mit einem vorab festgelegten Wert zum Anzeigen des Vorhandenseins des Präfix-Kopfes und einen zweiten Abschnitt zum Anzeigen eines Opcode enthält; und Senden des ersten Pakets von dem Sender an einen Empfänger entlang eines Interconnect, wobei das erste Paket den Präfix-Kopf, dem ein Kopf folgt, enthält, ferner umfassend Generieren des Präfix-Kopfes mit einem erweiterten Präfix-Kopf, der eine Vielzahl von Einheiten enthält, die jeweils ein Opcode-Feld und ein Präfix-spezifisches Feld enthalten.

Description

  • Hintergrund
  • Computersysteme enthalten eine Anzahl von Komponenten und Elementen, die typischerweise über einen Bus oder Interconnect gekoppelt sind. Bisher wurden Eingabe/Ausgabe (Input/Output(IO)-Geräte durch eine herkömmliche Mehrpunkt(multidrop)-Parallelbusarchitektur, als Peripheral Component Interconnect (PCI) bezeichnet, miteinander gekoppelt. In jüngster Zeit wurde eine neue Generation eines IO-Busses, als PCI-Express (PCIe) bezeichnet, verwendet, um schnellere Verbindung zwischen Geräten zu erleichtern, die ein serielles Bitübertragungsebene-Kommunikationsprotokoll (serial physical layer cmmunication protocol) aufweisen.
  • Eine PCIe-Architektur enthält ein Schichtenprotokoll für Kommunikation zwischen den Geräten. Beispielsweise bilden eine physische Schicht, Sicherungsschicht und Transaktionsschicht einen PCIe-Protokollstapel. Die PCIe-Verbindung wird um dedizierte unidirektionale Paare von seriellen Punk-zu-Punkt-Verbindungen, als eine Lane bezeichnet wird, aufgebaut. Eine Verbindung zwischen Geräten enthält eine gewisse Anzahl von Lanes, wie zum Beispiel, eine, zwei, sechzehn, zweiunddreißig u. s. w. Die aktuelle PCIe-Spezifikation, PCI ExpressTM Specification Base Version 2.0 (am 17. Januar 2007 veröffentlicht) ist erhältlich unter http://www.pcisig.com/specifications/pciexpress/.
  • Eine physische Schicht kann drei Arten von Verbindungsverkehr übertragen: geordnete Mengen, Datensicherungsschichtpakete (Data Link Layer Packets (DLLPs)) und Transaktionsschichtpakete (Transaction Layer Packets (TLPs)). Lokaler Verbindungsverkehr, der geordnete Mengen und DLLPs enthält, wird nicht weitergeleitet und überträgt keine Routing-Information. Im Gegensatz dazu können TLPs von Verbindung zu Verbindung unter Verwendung von Routing-Information, die in einem Paketkopf enthalten ist, gehen. Genauer gesagt enthält jedes TLP einen Drei- oder Vier-Doppelwort(Double Word (DW)) (12 oder 16 Byte)-Kopf. In dem 3DW- oder 4DW-Kopf befinden sich unter anderem zwei Felder: Typ und Format (Fmt), die das Format des Restes des Kopfes und das Routing-Verfahren definieren, das auf das gesamte TLP anzuwenden ist, wenn es sich zwischen Geräten in einem PCIe-System bewegt. Während der Kopf benötigte Information bereitstellt, ist sein Format fest und verhindert es Flexibilität hinsichtlich der Bereitstellung von zusätzlicher Information mittels des Kopfes.
  • GLASER, Steve: Multi-Root IOV. In: PCI.SIG Developers Conference, Mai 2007, S. 1–80 offenbart ein Verfahren, umfassend Generieren eines Präfix-Kopfes mit einem Opcode-Feld und einem Präfix-spezifischen Feld für ein von einem Sender zu sendendes erstes Paket, umfassend Generieren des Opcode-Feldes, mit einem vorab festgelegten Wert zum Anzeigen des Vorhandenseins des Präfix-Kopfes und zum Anzeigen eines Opcode, und Senden des ersten Pakets von dem Sender an einen Empfänger entlang eines Interconnect, wobei das erste Paket den Präfix-Kopf, dem ein Kopf folgt, enthält.
  • Zur prinzipiellen Anwendung von spezifischen PCIe-Übertragungsverfahren mit Transaktions-Layer-Paketen werden beispielhaft US 2005/0144339 A1 und US 2006/0253619 A1 genannt.
  • BUDRUK R. [u. a.]: PCI Express System Architecture. Inc.: MindShare, August 2003. S. 105–152 offenbart einen TLP-Header, der ein 2-Bit-Formatfeld FMT aufweist, welches zusätzlich zum 6-Bit-Befehlsfeld TYPE existiert und die Headerlänge variabel definiert und damit empfangsseitig auswertet.
  • Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, die Flexibilität hinsichtlich der Bereitstellung von zusätzlichen Informationen eines Präfix-Kopfes zu erhöhen.
  • Erfindungsgemäß wird diese Aufgabe gelöst durch ein Verfahren gemäß Anspruch 1, eine Vorrichtung gemäß Anspruch 7 und ein System gemäß Anspruch 12.
  • Die jeweiligen Unteransprüche betreffen jeweilige vorteilhafte Ausführungsformen derselben.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt einen Basis-TLP-Präfix-Kopf gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt ein Blockdiagramm eines TLP-Präfixes, der an ein TLP angehängt ist, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 zeigt ein Blockdiagramm eines TLP-Präfix-Kopfes, der gemäß einer Ausführungsform der vorliegenden Erfindung erweitert ist.
  • 55B zeigen Stapeln von TLP-Präfixen und Kopf gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6A6C zeigen unterschiedliche Kopf-Kredit-Zuteilungen gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 7 zeigt ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • Ausführungsformen können das PCIe-Architektur-Kopfformat zur Unterstützung von aufkommenden Anwendungsanforderungen erweitern. Genauer gesagt kann in zahlreichen Ausführungsformen ein TLP-Präfix, das eine architektierte Definition von zusätzlicher Kopfinformation ist, die an einen TLP-Kopf angehängt werden kann, verwendet werden, um Flexibilität von Information zu ermöglichen, die in einem TLP oder einem anderen derartigen Paketkopf bereitgestellt wird. Das heißt, während zum Beispiel hierin die Anwendung auf TLPs eines PCIe-Systems beschrieben wird, ist der Schutzbereich diesbezüglich nicht beschränkt und können Ausführungsformen verwendet werden, um Senden von zusätzlicher Kopfinformation für Pakete von zahlreichen Kommunikationsprotokollen zu ermöglichen.
  • In unterschiedlichen Implementierungen kann dieser TLP-Präfix-Kopf als eine Kapselungsschicht für PCIe-Transaktionsschichtköpfe verwendet werden, zusätzliche Routing-Information bereitstellen, um Zwischen-Routing-Elementen beim Routen von TLPs zu helfen, Transakationsverarbeitungshinweise für einen Completer bereitstellen und/oder lieferantenspezifische Debug-Information bereitstellen. Ferner kann ein Präfix gemäß einer Ausführungsform der vorliegenden Erfindung verwendet werden, um Sicherheitsinformation bereitzustellen und für zukünftigen Gebrauch Modelle bereitzustellen, die erweiterte Köpfe benötigen können, um zusätzliche Information bereitzustellen, die in einem gegenwärtig spezifizierten Kopfformat fehlt.
  • In 1 ist ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt, das Geräte bzw. Einrichtungen enthält, die über eine serielle Verbindung mit einem Controller Hub gekoppelt sind. System 100 enthält einen Prozessor 105 und einen Systemspeicher 110, der mit einem Controller Hub 115 gekoppelt ist. Der Prozessor 105 enthält irgendein Verarbeitungselement, wie zum Beispiel einen Mikroprozessor, einen Host-Prozessor, einen eingebetteten Prozessor, einen Co-Prozessor oder einen anderen Prozessor. Der Prozessor 105 ist mit dem Controller Hub 115 über einen Frontseitenbus (Front-Side bus (FSB)) 106 gekoppelt. In einer Ausführungsform ist der FSB 106 ein serieller Punkt-zu-Punkt (Point-to-Point(PtP))-Interconnet, wie oben beschrieben.
  • Der Systemspeicher 110 enthält irgendeinen Speicherbaustein, wie zum Beispiel einen Direktzugriffsspeicher (Random Access Memory (RAM)), nichtflüchtigen Speicher (Non-Volatile(NV))-Speicher oder einen anderen Speicher, der durch Einrichtungen in dem System 100 zugänglich ist. Der Systemspeicher 110 ist mit dem Controller Hub 115 über eine Speicherschnittstelle 116 gekoppelt.
  • In einer Ausführungsform ist der Controller Hub 115 ein Root-Hub oder Root-Controller in einer PCIe-Verbindungshierarchie. Beispiele für den Controller Hub 115 schließen einen Chipsatz, einen Memory Controller Hub (MCH), eine Northbridge, einen Input/Output-Controller Hub (ICH), eine Southbridge und einen Root-Controller Hub ein. Hier ist der Controller Hub 115 über eine serielle Verbindung 119 mit einem Switch/einer Brücke 120 gekoppelt. Eingabe/Ausgabe-Module 117 und 121, die auch als Schnittstellen/Ports 117 und 121 bezeichnet werden können, schließen einen Schichtenprotokollstapel ein bzw. implementieren diesen, um Kommunikation zwischen dem Controller Hub 115 und dem Switch 120 zu liefern. In einer Ausführungsform sind mehrere Einrichtungen mit dem Switch 120 koppelbar. Es sind auch Ausführungsformen denkbar, bei denen ein Prozessor und Chipsatz in demselben Gehäuse integriert sind. Ferner erfordert diese Technik keine Überarbeitung eines PCIe-Protokolls und kann sie unter anderem durch PCIe 2.0, 1.1-kompatible Einrichtungen bzw. Geräte implementiert werden. Somit können Ausführungsformen überall dort verwendet werden, wo ein PCIe-Interconnect zur Kommunikation verwendet wird.
  • Der Switch 120 lenkt Pakete/Nachrichten von einer Einrichtung 125 stromaufwärts, d. h. eine Hierarchie zum Controller Hub 115 hinauf, und stromabwärts, d. h. eine Hierarchie hinab weg vom Controller Hub 115 zur Einrichtung 125. Eingabe/Ausgabe-Module 122 und 126 implementieren einen Schichtenprotokollstapel zur Kommunikation zwischen Switch 120 und Einrichtung 125. Die Einrichtung 125 enthält irgendeine interne oder externe Einrichtung oder Komponente, die mit einem elektronischen System, wie zum Beispiel einer E/A-Einrichtung, einem Network Interface Controller (NIC), einer Add-in-Karte, einem Audioprozessor, einem Netzwerkprozessor, einer Festplatte, einer Speichereinrichtung, einem Monitor, einem Drucker, einer Maus, einer Tastatur, einem Router, einer tragbaren Speichereinrichtung, einer Firewire-Einrichtung, einer USB(Universal Serial Bus)-Einrichtung, einem Scanner und anderen Eingabe/Ausgabe-Einrichtungen koppelbar ist.
  • Ein Graphikbeschleuniger 130 ist auch mit dem Controller Hub 115 über eine serielle Verbindung 132 gekoppelt. In einer Ausführungsform ist der Graphikbeschleuniger 130 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Switch 120 und dementsprechend E/A-Einrichtung 125 ist dann mit dem ICH gekoppelt. E/A-Module 131 und 118 dienen auch zur Implementierung eines Schichtenprotokollstapels zur Kommunikation zwischen Graphikbeschleuniger 130 und Controller Hub 115.
  • In einer Ausführungsform kann ein PCIe-Protokollstapel eine Transaktionsschicht, eine Sicherungsschicht und eine physische Schicht enthalten. In einer Ausführungsform dient die Transaktionsschicht zum Bereitstellen einer Schnittstelle zwischen dem Verarbeitungskern einer Einrichtung und der Interconnect-Architektur, wie zum Beispiel einer Datensicherungsschicht und einer physischen Schicht. Diesbezüglich ist die Transaktionsschicht hauptsächlich für das Zusammenfügen und Zerlegen von Paketen (d. h. Transaktionsschichtpakete oder TLPs) verantwortlich. Man beachte, dass zur sanften Implementierung von Zuverlässigkeit-Verfügbarkeit-Funktionstüchtigkeit (Reliability-Availibilty-Serviceability (RAS)) PCIe zuverlässige Protokollfehlerdetektions-, -korrektur- und -berichtsleistung auf drei kooperativen Funktionsschichten einer Gerätearchitektur liefert: physische, Sicherungs- und Transaktionsschichten. In einem PCIe-basierten Design vereinigen sich ein oder mehrere TLPs zur Bildung einer Transaktion, die über eine Verbindung von einem Gerät auf dem Bus zu einem anderen gesendet wird. Für ein bestimmtes TLP liefert ein Gerät Fehlerdetektion und -korrektur auf Geräteebene durch Analyse von Zuverlässigkeitsmechanismen, die in jedem TLP vorhanden sind. Diese Fehlerdetektions/korrekturverantwortlichkeiten erstrecken sich über die drei funktionalen Geräteebenen. PCIe implementiert auch geteilte Transaktionen, d. h. Transaktionen mit zeitlich getrennter Anfrage und Antwort, was einer Verbindung ermöglicht, anderen Verkehr zu übertragen, während das Zielgerät Daten für die Antwort erfasst.
  • Zusätzlich verwendet PCIe Kredit-basierte Flusskontrolle. In diesem Schema zeigt ein Gerät eine anfängliche Kreditmenge für jeden der Empfangspuffer in der Transaktionsschicht an. Ein externes Gerät an dem gegenüberliegenden Ende der Verbindung, wie zum Beispiel Controller Hub 115 in 1, zählt die Anzahl von Krediten, die von jedem TLP verbraucht werden. Eine Transaktion kann erfolgen, wenn die Transaktion keine Kreditgrenze überschreitet. Bei Empfang einer Antwort wird eine Kreditmenge wiederhergestellt. Ein Vorteil eines Kreditschemas besteht darin, dass die Latenz von Kreditrückkehr nicht die Leistung beeinträchtigt, vorausgesetzt dass die Kreditgrenze nicht erreicht wird.
  • Die Sicherungsschicht wirkt als eine Zwischenstufe zwischen der Transaktionsschicht und der physischen Schicht. In einer Ausführungsform besteht eine Verantwortlichkeit der Datensicherungsschicht darin, einen zuverlässigen Mechanismus zum Austauschen von TLPs zwischen zwei Komponenten durch eine Verbindung zu liefern. Eine Seite der Sicherungsschicht akzeptiert TLPs, die von der Transaktionsschicht zusammengefügt sind, wendet Identifizierer an, berechnet und wendet einen Fehlerdetektionscode, d. h. zyklische Wiederherstellungscodes (Cyclic Recovery Codes (CRC)), an und sendet die modifizierten TLPs zur physischen Schicht zum Senden über eine physikalische Verbindung an ein externes Gerät.
  • In einer Ausführungsform sendet die physische Schicht ein Paket physikalisch an ein externes Gerät. Die physische Schicht enthält einen Sendeabschnitt zum Vorbereiten von abgehender Information zum Senden und einen Empfangsabschnitt zum Identifizieren und Vorbereiten von empfangener Information vor Leiten zur Sicherungsschicht. Die physische Schicht enthält einen Sender und einen Empfänger. Der Sender ist mit Symbolen ausgestattet, die der Sender serialisiert und an ein externes Gerät sendet. Der Empfänger wird mit serialisierten Symbolen von einem externen Gerät versorgt und wandelt die empfangenen Signale in einen Bit-Strom um. Der Bit-Strom wird deserialisiert und an einen logischen Unterblock geliefert. In einer Ausführungsform wird ein 8b/10b-Sendecode verwendet, wobei Zehn-Bit-Symbole gesendet/empfangen werden. Zusätzlich liefert in einem Beispiel der Empfänger auch einen Symboltakt, der aus dem eintreffenden seriellen Strom zurückgewonnen ist. Obwohl die Transaktionsschicht, Sicherungsschicht und physische Schicht unter Bezugnahme auf eine spezielle Ausführungsform eines PCIe-Protokollstapels erörtert worden sind, ist ein Schichtenprotokollstapel, wie oben angegeben, nicht derart beschränkt. In der Tat kann jedes Schichtenprotokoll enthalten/implementiert sein.
  • Somit erfolgt eine Kommunikation unter Geräten in einem PCIe-System über das Senden von einem oder mehreren TLPs, die in Kombination eine Transaktion bilden, die über eine zwischen zwei Geräten angeschlossene Verbindung gesendet wird. Unter Verwendung der oben beschriebenen drei Schichten kann somit ein TLP gesendet werden, das zahlreiche Informationen enthält. Genauer gesagt kann die physische Schicht Frame-Information an einem Anfang und Ende eines TLP liefern. Die Sicherungsschicht kann wiederum eine Sequenzzahl an das Paket sowie einen Verbindungs-CRC liefern. Die Transaktionsschicht kann wiederum einen Kopf, der an Daten (falls vorhanden) angehängt ist, und einen optionalen Ende-zu-Ende-CRC (ECRC) generieren. Auf diese Weise kann ein gesendetes TLP die folgenden Teile in Folge enthalten: ein Simple Transmission Protocol(STP)-Framing-Feld, ein Sequenzfeld, ein Kopffeld, ein Datenfeld, ein ECRC-Feld und Link-CRC(LCRC)-Feld und ein Framing End-Feld. Wie oben beschrieben, ist dieses Format des TLP-Kopfes fest und liefert es keine Flexibilität hinsichtlich der Bereitstellung von zusätzlichen Informationen, die mit einem derartigen Kopf verbunden sind.
  • Zur Erhöhung von Flexibilität können TLP-Präfixe gemäß einer Ausführungsform der vorliegenden Erfindung an TLPs gehängt werden, die durch die PCI-Spezifikation definiert sind. In einer solchen Ausführungsform kann die Basis-TLP-Präfix-Größe ein Doppelwort (Double Word (DW)) betragen und kann sie an TLP-Köpfe, sowohl gegenwärtig definierte als auch zukünftige TLP-Köpfe, angehängt werden. Wie in 2 gezeigt ist, die einen Basis-TLP-Präfix-Kopf gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, kann das Präfix ein Opcode-Feld und Präfix-spezifisches Feld enthalten. Wie in 2 gezeigt ist, enthalten genauer gesagt die Daten 10 einen Basis-TLP-Präfix-Kopf, der aus einem Präfix DW 20 mit einem ersten Feld 25 gebildet ist, das mit einem Opcode-Feld und einem Präfix-spezifischen Feld 28 übereinstimmen kann, das zahlreiche Informationen liefern kann, die auf dem Opcode-Feld basieren, mit dem es verbunden ist. Wie in der Ausführungsform von 2 gezeigt ist, kann das Opcode-Feld 25 fest, d. h. vorab festgelegte höchstwertige Bits (Most Significant Bits (MSBs)) aufweisen. Genauer gesagt können die drei MSBs einen Wert von „100” aufweisen, um das Vorhandensein eines Präfixes anzuzeigen. Die niedrigstwertigen Bits (Least Significant Bits (LSBs)), die in der Ausführungsform von 2 als die 5 LSBs gezeigt sind, können einen variierenden Wert aufweisen, um einer bestimmten Opcode-Zuordnung zu entsprechen.
  • In einer Ausführungsform kann das Opcode-Feld mit den folgenden Zuweisungen verbunden sein Tabelle 1
    100 – ttttt, wobei ttttt der TLP-Präfix-Opcode ist (d. h. bis zu 32 Präfixe können definiert werden);
    100-00000 – lieferantenspezifisch;
    100-00001 – erweitertes Opcode-Präfix;
    100-11111 – TLP-Präfix-Erweiterung; und
    100-andere – für zukünftige Verwendung reserviert.
  • In 3 ist ein Blockdiagramm eines TLP-Präfixes gezeigt, das gemäß einer Ausführungsform der vorliegenden Erfindung an ein TLP gehängt ist. Wie in 3 gezeigt ist, enthalten Daten 10' ein TLP-Präfix 20, das dem oben in Verbindung mit 2 beschriebenen entsprechen kann, und einen TLP-Kopf 30. Wie in 3 gezeigt ist, ist nur ein erstes DW des TLP-Kopfes gezeigt. Es versteht sich jedoch, dass in zahlreichen Implementierungen ein TLP-Kopf aus drei oder vier DWs gebildet werden kann. Der TLP-Kopf 30 kann zahlreiche Felder enthalten. In 3 gezeigte spezielle Felder enthalten ein Formatfeld 32, ein Typenfeld 34 und ein Längenfeld 36. Formatfeld 32 und Typenfeld 34 können zum Definieren des Formats des Rests des Kopfes 30 und des auf dem gesamten TLP zu verwendenden Routing-Verfahren verwendet werden, wenn es unterschiedliche Geräte durchläuft. Außerdem kann ein Längenfeld 36 eine Länge eines Datenabschnitts des TLP, der dem Kopf 30 folgt, anzeigen. Man beachte, dass die Struktur des Kopfes 30 durch das PCIe-Protokoll fest ist und somit einen Mangel an Flexibilität aufweist. Somit können Ausführungsformen der vorliegenden Erfindung die Flexibilität liefern, um zusätzliche Informationen, die mit einem TLP-Kopf verbunden sind, durch Aufnahme von einem oder mehreren TLP-Präfixen vor dem TLP-Kopf bereitzustellen.
  • Zur Herbeiführung von Funktionalität kann TLP-Präfix-Unterstützung (durch die Hierarchie) End-End ermöglicht werden. Der Bereich kann jedoch in einigen Fällen auf Link-Link für lokale Verbindungs-TLP-Präfixe (link local TLP prefixes) beschränkt werden, während andere zu Endpunkt- und Zwischen-Switches gelenkt werden können. Für Routing-Elemente (z. B. Switches, Peer-Peer usw.) können TLP-Präfixe standardmäßig übergehbar sein, sofern nicht ein bestimmtes Nutzungsmodell von ihnen verlangt, dass sie verstanden und verarbeitet werden. Zum Beispiel kann ein Per-hop-Append-Remove-TLP, das an dem fernen Ende der Verbindung angeschlossen und regeneriert (Link-Local-TLPs) ist, verwendet werden.
  • In zahlreichen Systemen kann es zwei TLP-Präfix-Typen geben. Erstens kann ein lokales TLP-Präfix einer Verbindung vorgesehen sein, für das Routing-Elemente das TLP zum Routen oder für andere Zwecke verarbeiten müssen. Ein derartiges Präfix kann verwendet werden, wenn beide Enden das TLP-Präfix verstehen. Das heißt, dass der Typ von Präfix kein Blind pass für Routing-Elemente ist. Man beachte, dass ein ECRC auf lokale TLP-Präfix-Köpfe einer Verbindung nicht anwendbar sind.
  • Ein zweites Präfix kann ein globales TLP-Präfix sein, das dort verwendet werden kann, wo das TLP durch Routing-Elemente geht, als solche können Routing-Elemente nicht TLP-Präfix-Inhalte kennen. Wenn ein Basis-TLP durch ECRC geschützt wird, dann wird auch ein korrespondierendes globales TLP-Präfix durch ECRC geschützt.
  • Das in 2 gezeigte Basis-TLP-Präfix liefert 24 Bits für TLP-Opcode-spezifische Felder. In gewissen Nutzungsfällen kann diese Anzahl von Bits nicht ausreichen und kann bzw. können ein oder mehrere zusätzliche DWs verwendet werden, um für TLP-Präfix-Erweiterung zu sorgen, zum Beispiel wenn zusätzliche Opcode-spezifische Bits erforderlich sind. In solchen Fällen können die TLP-Präfix-Opcode-Kodierung von 100-11111 verwendet werden, um für eine Erweiterung des TLP-Opcode-spezifischen Feldes zu sorgen. Die Vorteile von TLP-Erweiterungs-Opcode sind wie folgt: Liefern einer TLP-Präfix-Architektur mit fester DW-Größe, die, falls erforderlich, erweitert werden kann; Ermöglichen einer Definition von TLP-Präfixen, die Felder mit mehr als 24 Bits erfordern; und Bereitstellen der Fähigkeit, die TLP-Präfix-Opcode-spezifischen Felder in der Zukunft zu vergrößern, ohne das Ökosystem zu beeinflussen.
  • In 4 ist ein Blockdiagramm eines erweiterten TLP-Präfix-Kopfes gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. In 4 zeigt ein Blockdiagramm von Daten 10'', die einen erweiterten TLP-Präfix-Kopf gemäß einer Ausführungsform der vorliegenden Erfindung enthalten. Das heißt, dass zusätzlich zu einem ersten Präfix-DW 20 zwei zusätzliche erweiterte Präfix-DWs 40 und 45 vorhanden sind. Auf diese Weise können zusätzliche Informationen bereitgestellt werden. Man beachte, dass beide erweiterten Präfixe 40 und 45 dieselbe Opcode-Zuordnung, nämlich „10011111”, aufweisen, was, wie oben in Tabelle 1 zu sehen ist, mit dem TLP-Präfix-Expanisionscode übereinstimmt. Somit kann das mit diesen beiden erweiterten Präfixen verbundene Präfix-spezifische Feld 48 zusätzliche Informationen liefern, zum Beispiel zusätzliche Daten zu denjenigen, die in dem Präfix-Doppelwort 20 vorhanden sind.
  • In gewissen Fällen kann TLP-Präfix-Stapeln verwendet werden, bei dem mehrere TLP-Präfixe an andere TLP-Präfixe oder TLP-Köpfe angehängt werden können (und die als ein Stapel betrachtet werden können). Die folgenden Regeln gelten für Stapeln von TLP-Präfixen in einer Ausführungsform. TLP-Präfixe können übereinander gestapelt werden, wobei die gestapelten TLP-Präfixe Basis-TLP-Präfixe oder Erweiterungs-TLP-Präfixe sein können. Es ist zulässig, dass mehrere TLP-Präfixe gestapelt werden. Globale TLP-Präfixe können auf anderen globalen TLP-Präfixen oder einem Standardkopf-TLP gestapelt werden, aber nicht auf einem lokalen TLP-Präfix einer Verbindung. Im Gegensatz dazu können jedoch lokale TLP-Präfixe einer Verbindung auf irgendeinem anderen TLP-Präfix oder Kopf-TLP gestapelt werden.
  • 5A zeigt zulässiges Stapeln von TLP-Präfixen und einem Kopf gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 5A gezeigt ist, ist eine Stapel 100 bereitgestellt, der einen TLP-Kopf 105, 1 – N globale TLP-Präfixe 110 und 1 – N lokale TLP-Präfixe einer Verbindung 115 enthält. In einer Ausführungsform kann ein derartiger Stapel 100 zulässig sein, da lokale TLP-Präfixe 115 einer Verbindung auf globalen Präfixen 110 gestapelt sind (die wiederum auf TLP-Kopf 105 gestapelt sind). Wie in 5B gezeigt ist, kann im Gegensatz dazu Stapel 120 in gewissen Ausführungsformen nicht zulässig sein, da globale TLP-Präfixe 135 nicht auf lokalen TLP-Präfixen 130 einer Verbindung gestapelt werden dürfen.
  • Wie oben beschrieben, können TLP-Präfixe erweitert und gestapelt werden. Somit kann ein Empfänger das Basis-TLP detektieren, um den Typ von TLP zu Routing- und Flusskontrollezwecken zu ermitteln. Die Regeln zum Detektieren des Basis-TLP gemäß einer Ausführungsform sind wie folgt: Wenn ein TLP-Präfix detektiert wird (z. B. durch Vorhandensein eines vorab festgelegten Präfix-Codes von 100 in den drei MSBs des ersten Bytes des Präfix) werden alle nachfolgenden DWs gescannt, bis ein nicht-100-Kodieren für diese Bits detektiert wird. Die Anzahl von zwischenzeitlich gezählten DWs ist TLP-Präfixe, entweder gestapelt oder erweitert. Man beachte, dass kein separates Abschlussbit zum Detektieren des Endes von TLP-Präfixen notwendig ist.
  • Gemäß dem PCIe-Protokoll ist eine Kopf-Flusskontrolle-Granularität eine Einheit von Kopfkredit, wobei eine Einheit 16 Bytes (B) gleicht (in Anbetracht dessen, dass 16 B einem TLP-Kopf entsprechen). Ein TLP-Präfix-DW (d. h. ein Basis-TLP-Präfix oder erweitertes TLP-Präfix), das an ein Kopf-TLP gehängt ist, braucht einen zusätzlichen Kopfkredit (zusätzlich zum Basiskopfkredit).
  • Ein architektierter konfigurierbarer maximaler TLP-Präfix-Größenparameter kann für zahlreiche Komponenten festgelegt werden. Genauer gesagt muss ein Empfänger die TLP-Präfixe in einem Speicherelement aufbewahren, bis das Standard-TLP detektiert ist, wonach er das TLP in die geeignete Pufferresource bewegen kann (für die die Flusskontrolle ausgewiesen ist). Somit sollte die Fähigkeit von Zwischen/Stufenpuffern eines Empfängers betrachtet werden, d. h. eine Grenze der Anzahl von TLP-Präfix-DWs, die in einem Paket ausgegeben werden kann. Diese Granularität kann als eine unterstützte maximale TLP-Präfix-Größe definiert sein, z. B. in Mehrfachem von Kopfgranularität – 1, 2, 4, etc. Dieser architektierte Konfigurationsparameter kann als eine maximale TLP-Präfix-Größe bezeichnet werden und kann durch Bereitstellen eines Feldes in einem PCIe-Fähigkeitsregister aufgefunden und über ein PCIe-Steuerregister programmiert werden.
  • Wie in 6A gezeigt ist, sind somit, wenn zwei TLP-Präfixe 210 auf einem TLP 200 gestapelt werden, zwei Kopfkredite notwendig, da zusätzlich zum einzigen Kopfkredit, der für einen 16 B-Kopf notwendig ist, ein zusätzlicher Kredit zum Unterstützen der beiden TLP-Präfixe notwendig ist. Wie in 6A gezeigt ist, können in ähnlicher Weise dieselben zwei Kopfkredite zum Unterstützen eines Stapels von TLP-Präfixen 215 verwendet werden, der vier DWs (d. h. 16 Bytes) aufweist. Wie in 6C gezeigt ist, sind im Gegensatz dazu drei Kopfkredite notwendig, um einen Präfix-Stapel 220 zu unterstützen, der vier Doppelwörter enthält, da 20 Bytes, die einen Kredit wert sind, zum Unterstützen dieses Stapels 220 notwendig sind. Während dies mit dieser speziellen Implementierung in den 6A6C gezeigt ist, können andere Kopfkreditregeln in anderen Ausführungsformen gelten.
  • In 7 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 7 gezeigt ist, kann ein Verfahren 300 durch eine Transaktionsschicht einer Sendeeinrichtung implementiert werden, um ein TLP-Präfix gemäß einer Ausführungsform der vorliegenden Erfindung zu erzeugen. Das Verfahren 300 kann damit beginnen, dass bestimmt wird, ob zusätzliche Information in einem TLP-Kopf (Raute 310) gesendet werden soll. Während diesbezüglich keine Beschränkung besteht, kann genannte zusätzliche Information zum Kapseln weiterer Daten in dem TLP-Kopf, Bereitstellen von zusätzlichen Routing-Informationen für Zwischen-Routingelemente, Bereitstellen von Transkationsverarbeitung usw. verwendet werden. Wenn solche zusätzliche Information bereitgestellt werden soll, geht die Steuerung zu Block 320.
  • Bei Block 320 kann ein TLP-Präfix-Kopf mit einem Opcode-Feld un einem Präfix-spezifischen Feld generiert werden. In einer Ausführungsform kann der TLP-Präfix-Kopf beispielsweise wie der in 2 gezeigte Basiskopf generiert werden. Als nächstes kann ermittelt werden, ob zusätzlich zur in diesem Basis-Präfix-Kopf bereitgestellten Information zusätzliche Information in dem TLP-Präfix (Raute 33) enthalten sein soll. Falls ja, geht die Steuerung in einer Schleife zu Block 320 zurück. Andernfalls kann bzw. können die eine oder mehreren Präfix-Kopfeinheiten gesendet werden (Block 340). Das heißt, dass genannte TLP-Präfix-Einheiten von der Transaktionsschicht zu einer Datensicherungsschicht und auf einer physischen Schicht und dann über eine Verbindung zu einer Empfangseinrichtung bzw. zu einem Empfangsgerät gesendet werden können, die bzw. das diese Information durch eine physische Schicht, eine Datensicherungsschicht und eine Transaktionsschicht der Empfangseinrichtung bzw. des Empfangsgerätes zum Dekodieren und Handling entsprechend gehen lassen kann.
  • Nach Senden des TLP-Präfix-Kopfes kann ein TLP-Kopf, der ein herkömmlicher TLP-Kopf sein kann, der zahlreiche Felder, wie zum Beispiel ein Formatfeld, ein Typfeld u. s. w. enthält, gesendet werden. Genanntes Senden kann in derselben Weise wie für den TLP-Präfix-Kopf erfolgen. Nach genanntem TLP-Kopf-Senden kann irgendeine Nutzlast, die auch mit dem TLP gesendet werden soll, gesendet werden (Block 360). Empfang und Handling des Präfixes, des TLP-Kopfes und zusätzlicher Paketinformation kann in dem Empfänger unter Verwendung der zahlreichen Schichten erfolgen. Während dies mit dieser speziellen Implementierung in der Ausführungsform von 7 gezeigt ist, ist der Schutzbereich der vorliegenden Erfindung diesbezüglich nicht beschränkt.
  • Somit können Ausführungsformen Flexibilität hinsichtlich der in einem Paket-Kopf bereitgestellten Information liefern, ohne dass ad-hoc-Lösungen oder die Verwendung von reservierten Kopffeldern zum Liefern/Einführen von neuen Merkmalen oder Punktlösungen notwendig sind. In einigen Ausführungsformen ermöglicht ein TLP-Präfix eine leichte Definition und Implementierung, so dass ein minimaler Einfluss auf das Ökosystem und eine skalierbare Lösung vorliegt. TLP-Präfixe können gestapelt/erweitert werden, wie oben beschrieben, was dazu verwendet werden kann, um für zukünftige Unterstützung zu sorgen, wie zum Beispiel Kodieren, das für zahlreiche Lieferanten definiert ist, oder Kodieren, das für Verwaltung definiert ist. Ferner sind keine neuen Flusskontrolltypen notwendig.
  • Ausführungsformen können als Code implementiert und auf einem Speichermedium gespeichert werden, auf dem Anweisungen gespeichert sind, die verwendet werden können, um ein System zur Durchführung der Anweisungen zu programmieren. Das Speichermedium kann, ohne aber darauf beschränkt zu sein, jede Art von Platte, einschließlich Floppy Disk, optische Platte, CD-ROMs (Compact Disk Read-Only Memories), CD-RWs (Compact Disk Rewritables) und magnetooptische Platten, Halbleitereinrichtungen, wie zum Beispiel Nur-Lese-Speicher (ROMs), Direktzugriffsspeicher (RAMs), wie zum Beispiel dynamische Direktzugriffsspeicher (DRAMs), statische Direktzugriffsspeicher (SRAMs), löschbare programmierbare Nur-Lese-Speicher (EPROMs), Flash-Speicher, elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROMs), magnetische oder optische Karten oder irgendeine andere Art von Medien, die zum Speichern von elektronischen Anweisungen geeignet sind, sein.
  • 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 Variationen derselben erkennen. Es ist beabsichtigt, dass die beigefügten Ansprüche all diese Modifikationen und Variationen abdecken, die unter den wahren Geist und Schutzbereich der vorliegenden Erfindung fallen.

Claims (16)

  1. Verfahren, umfassend: Generieren eines Präfix-Kopfes mit einem Opcode-Feld und einem Präfix-spezifischen Feld für ein von einem Sender zu sendendes erstes Paket, umfassend Generieren des Opcode-Feldes, das einen ersten Abschnitt mit einem vorab festgelegten Wert zum Anzeigen des Vorhandenseins des Präfix-Kopfes und einen zweiten Abschnitt zum Anzeigen eines Opcode enthält; und Senden des ersten Pakets von dem Sender an einen Empfänger entlang eines Interconnect, wobei das erste Paket den Präfix-Kopf, dem ein Kopf folgt, enthält, ferner umfassend Generieren des Präfix-Kopfes mit einem erweiterten Präfix-Kopf, der eine Vielzahl von Einheiten enthält, die jeweils ein Opcode-Feld und ein Präfix-spezifisches Feld enthalten.
  2. Verfahren nach Anspruch 1, ferner umfassend Einschließen von Rooting-Information in den Präfix-Kopf für einen Zwischenempfänger des ersten Pakets.
  3. Verfahren nach Anspruch 2, ferner umfassend Generieren des Präfix-Kopfes als ein lokales Präfix zur Verarbeitung durch den Zwischenempfänger.
  4. Verfahren nach Anspruch 1, ferner umfassend Generieren des Präfix-Kopfes als ein globales Präfix zum Leiten durch den Empfänger ohne Dekodieren durch den Empfänger.
  5. Verfahren nach Anspruch 1, ferner umfassend Generieren des Präfix-Kopfes, der eine Vielzahl von gestapelten Präfix-Einheiten enthält, wobei mindestens einige der gestapelten Präfix-Einheiten globale Präfix-Einheiten sind, die durch ein Routing-Element ohne Dekodieren geleitet werden sollen.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass mindestens einige der gestapelten Präfix-Einheiten lokale Präfix-Einheiten sind, die in dem Routing-Element verarbeitet werden sollen, um zusätzliche Routing-Informationen für das Routing-Element zu liefern.
  7. Vorrichtung, umfassend: eine erste Komponente zum Kommunizieren mit einer zweiten Komponente über einen Punkt-zu-Punkt-(PtP)-Interconnect, wobei die erste Komponente zum Senden eines ersten Paketes entlang des PtP-Interconnects dient, das erste Paket ein Kopf-Präfix mit einem Opcode-Feld und einem Datenfeld enthält, wobei das Opcode-Feld einen ersten Abschnitt mit einem vorab festgelegten Wert zum Anzeigen des Vorhandenseins des Kopf-Präfixes und einen zweiten Abschnitt zum Anzeigen eines Opcodes aufweist, wobei das erste Paket ferner einen Kopf enthält, der dem Kopf-Präfix folgt, wobei die erste Komponente zum Senden des ersten Paketes mit einem erweiterten Kopf-Präfix dient, der eine Vielzahl von Einheiten enthält, wobei jede dasselbe Opcode-Feld und ein anderes Datenfeld enthält.
  8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die erste Komponente eine Sicherungsschicht zum Generieren eines ersten Kopf-Präfixes und eine Transaktionsschicht zum Generieren eines zweiten Kopf-Präfixes enthält, wobei die ersten und zweiten Kopf-Präfixe mit dem Kopfverbunden sind.
  9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass das erste Kopf-Präfix zum Liefern von Routing-Informationen für ein Zwischen-Routing-Element dient, das mit dem Punkt-zu-Punkt-(PtP)-Interconnect gekoppelt ist.
  10. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die erste Komponente zum Generieren des Kopf-Präfixes dient, das eine Vielzahl von gestapelten Präfix-Einheiten enthält, wobei mindestens einige der gestapelten Präfix-Einheiten globale Präfix-Einheiten sind, die durch ein Routing-Element ohne Dekodierung geleitet werden sollen.
  11. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die erste Komponente zum Generieren des Präfix-Kopfes dient, der eine Vielzahl von Präfix-Einheiten enthält, wobei eine erste Präfix-Einheit das Opcode-Feld enthält, das einen ersten Opcode-Wert, der einem Kodieren entspricht, zum Dekodieren durch einen Empfänger aufweist, und die restlichen Präfix-Einheiten das Opcode-Feld enthalten, das einen zweiten Opcode-Wert aufweist, um anzuzeigen, dass das korrespondierende Datenfeld mit der ersten Präfix-Einheit verbunden ist.
  12. System, umfassend: einen Sender zum Senden eines ersten Transaktionsschichtenpaket (TLP), das ein Kopf-Präfix mit einem Kodierfeld und einem Datenfeld enthält, wobei das Kodierfeld einen ersten Abschnitt mit einem vorab festgelegten Wert zum Anzeigen des Vorhandenseins des Kopf-Präfixes und einen zweiten Abschnitt zum Anzeigen eines Opcodes aufweist, wobei der erste Code zum Anzeigen des Vorhandenseins eines erweiterten Präfixes in dem ersten TLP dient oder ein zweiter Code zum Anzeigen des Vorhandenseins von Opcode-Information in dem Datenfeld dient, wobei das erste TLP ferner einen Kopf enthält, der dem Kopf-Präfix folgt; einen Empfänger, der durch einen Punkt-zu-Punkt(PtP)-Interconnect mit dem Sensor gekoppelt ist; und einen dynamischen Direktzugriffsspeicher (DRAM), der mit dem Empfänger und Sender gekoppelt ist, wobei der Sender zum Senden des ersten Pakets mit dem erweiterten Präfix dient, der eine Vielzahl von Einheiten enthält, die jeweils den ersten Code und ein anderes Datenfeld aufweisen.
  13. System nach Anspruch 12, dadurch gekennzeichnet, dass der Sender zum Generieren des Kopf-Präfixes dient, das eine Vielzahl von gestapelten Präfix-Einheiten enthält, wobei mindestens einige der gestapelten Präfix-Einheiten globale Präfix-Einheiten sind, die durch ein Routing-Element ohne Dekodieren geleitet werden sollen.
  14. System nach Anspruch 13, dadurch gekennzeichnet, dass die Vielzahl von gestapelten Präfix-Einheiten zum Verbrauchen eines einzigen Kopfkredits dient, wenn die Anzahl von Präfix-Einheiten geringer als ein vorab festgelegter Schwellenwert ist.
  15. System nach Anspruch 12, dadurch gekennzeichnet, dass der Sender zum Generieren des Präfix-Kopfes dient, der eine Vielzahl von Präfix-Einheiten enthält, wobei eine erste Präfix-Einheit das Kodierfeld mit dem zweiten Abschnitt enthält, der einen ersten Opcode-Wert, der einem Opcode entspricht, zum Dekodieren durch den Empfänger aufweist, und die restlichen Präfix-Einheiten das Kodierfeld mit dem zweiten Abschnitt enthalten, der den ersten Code aufweist, um anzuzeigen, dass das korrespondierende Datenfeld mit dem Opcode der ersten Präfix-Einheit verbunden ist.
  16. System nach Anspruch 12, dadurch gekennzeichnet, dass der Empfänger ein Konfigurationsregister mit einem maximalen Präfix-Parameter enthält, der einem maximalen erweiterten Präfix entspricht, das durch den Empfänger gehandhabt werden kann.
DE102009021865.3A 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf Active DE102009021865B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/156,409 2008-05-30
US12/156,409 US7849252B2 (en) 2008-05-30 2008-05-30 Providing a prefix for a packet header

Publications (2)

Publication Number Publication Date
DE102009021865A1 DE102009021865A1 (de) 2009-12-10
DE102009021865B4 true DE102009021865B4 (de) 2017-08-24

Family

ID=41268993

Family Applications (3)

Application Number Title Priority Date Filing Date
DE102009061279.3A Active DE102009061279B3 (de) 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf
DE102009021865.3A Active DE102009021865B4 (de) 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf
DE102009061731.0A Active DE102009061731B3 (de) 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102009061279.3A Active DE102009061279B3 (de) 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102009061731.0A Active DE102009061731B3 (de) 2008-05-30 2009-05-19 Bereitstellung eines Präfixes für einen Datenkopf

Country Status (3)

Country Link
US (1) US7849252B2 (de)
CN (3) CN103490997B (de)
DE (3) DE102009061279B3 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139575B2 (en) * 2007-06-29 2012-03-20 International Business Machines Corporation Device, system and method of modification of PCI express packet digest
US7852757B1 (en) * 2009-03-10 2010-12-14 Xilinx, Inc. Status based data flow control for chip systems
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
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
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
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US8929373B2 (en) * 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US9032102B2 (en) * 2012-03-02 2015-05-12 International Business Machines Corporation Decode data for fast PCI express multi-function device address decode
JP5928087B2 (ja) * 2012-03-29 2016-06-01 富士通株式会社 スイッチ、情報処理装置および通信制御方法
US9003090B1 (en) 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
JPWO2015155997A1 (ja) * 2014-04-11 2017-04-27 日本電気株式会社 設定装置、制御装置、設定方法及びネットワークスイッチ
US9946683B2 (en) * 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty
US10491525B2 (en) 2015-03-10 2019-11-26 Huawei Technologies Co., Ltd. Traffic engineering feeder for packet switched networks
US10698849B2 (en) * 2015-03-11 2020-06-30 Apple Inc. Methods and apparatus for augmented bus numbering
CN106533991B (zh) * 2016-10-14 2019-09-20 盛科网络(苏州)有限公司 堆叠系统中可变长堆叠头的实现方法及其设备
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
EP3439210B1 (de) * 2017-07-31 2019-12-25 Mitsubishi Electric R&D Centre Europe B.V. Zuverlässige durchschaltung für ieee 802.1-zeitempfindliche netzwerkstandards
US10795400B2 (en) * 2018-04-30 2020-10-06 Qualcomm Incorporated Time synchronization for clocks separated by a communication link
CN109150584B (zh) * 2018-07-04 2022-02-25 北京中创腾锐技术有限公司 一种基于simd指令的为网络分组分类提供加速支持的方法
US11775470B2 (en) * 2019-11-20 2023-10-03 Intel Corporation Transaction layer packet format
EP4086778A4 (de) * 2020-01-22 2023-01-18 Huawei Technologies Co., Ltd. Pcie-basiertes datenübertragungsverfahren, -gerät und -system
WO2021147051A1 (zh) * 2020-01-22 2021-07-29 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113498595B (zh) * 2020-01-22 2022-10-11 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113498596B (zh) * 2020-01-22 2022-10-11 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN114475733A (zh) * 2022-01-07 2022-05-13 北京全路通信信号研究设计院集团有限公司 一种基于以太网通信的计算机联锁方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144339A1 (en) * 2003-12-24 2005-06-30 Wagh Mahesh U. Speculative processing of transaction layer packets
US20060253619A1 (en) * 2005-04-22 2006-11-09 Ola Torudbakken Virtualization for device sharing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157032C (zh) * 1998-10-26 2004-07-07 高通股份有限公司 具有共同ip地址的移动终端和无线设备
KR100513863B1 (ko) * 2003-04-29 2005-09-09 삼성전자주식회사 호스트의 이동성을 지원할 수 있는 무선 근거리 네트워크시스템 및 그의 동작방법
US7571242B2 (en) * 2003-10-24 2009-08-04 Alcatel Lucent Method for accelerated packet processing
US7464174B1 (en) * 2005-03-07 2008-12-09 Pericom Semiconductor Corp. Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors
US20060268913A1 (en) * 2005-05-27 2006-11-30 Utstarcom, Inc. Streaming buffer system for variable sized data packets
JP4394624B2 (ja) * 2005-09-21 2010-01-06 株式会社日立製作所 計算機システム及びi/oブリッジ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144339A1 (en) * 2003-12-24 2005-06-30 Wagh Mahesh U. Speculative processing of transaction layer packets
US20060253619A1 (en) * 2005-04-22 2006-11-09 Ola Torudbakken Virtualization for device sharing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BUDRUK R. [u.a.]: PCI Express System Architecture. Inc. : MindShare, August 2003. S.105-152. - ISBN 0-321-15630-7 *
COWAN, Joe: In: PCI-SIG. Beaverton: PCIe 2.0 Errata & Protocol Extensions. April 2008. - Firmenschrift *
GLASER, Steve: Multi-Root IOV. In: PCI.SIG Developers Conference, Mai 2007, S.1-80. *

Also Published As

Publication number Publication date
DE102009021865A1 (de) 2009-12-10
US20090296740A1 (en) 2009-12-03
DE102009061279B3 (de) 2020-04-23
CN101594306B (zh) 2013-09-18
CN103490852B (zh) 2018-05-18
CN103490852A (zh) 2014-01-01
CN103490997B (zh) 2017-09-26
US7849252B2 (en) 2010-12-07
DE102009061731B3 (de) 2024-02-29
CN101594306A (zh) 2009-12-02
CN103490997A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
DE102009021865B4 (de) Bereitstellung eines Präfixes für einen Datenkopf
DE60213616T2 (de) Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102020125353A1 (de) Transaktionsschichtpaketformat
DE60219047T2 (de) Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zum aufbau virtueller kanäle darin
DE102018128569A1 (de) Nebensprecherzeugung in einem link für mehrere spuren während des spurtestens
DE202010018100U1 (de) Vorrichtung für ID-basierte Ströme über PCI-Express
DE112004002567T5 (de) Lane-zu-Lane-Entzerrung über Nicht-Daten-Symbolverarbeitung für eine serielle Punkt-zu-Punkt-Verbindung
DE60216299T2 (de) Allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur bereitstellung virtueller kanäle
DE112015006961T5 (de) Verbindungsfehlerdetektion in mehrfachchipgehäusen
DE112013005090T5 (de) Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE102005021515A1 (de) System und Verfahren für ein informationsverarbeitendes System mit PCI-Express Advanced Switching
DE112013007732T5 (de) PCI-Express-Erweiterungen
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
DE112005003124T5 (de) Schnittstelle PCI Express zu erweitertem Schaltnetzwerk
DE112018001088T5 (de) Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung
DE112010004006T5 (de) Zuverlässige kommunikationen in chipintegrierten netzwerken
DE112013000808T5 (de) Dekodierdaten zur schnellen Dekodierung von Adressen von PCI-Express-Multifunktionseinheiten
DE112015006516T5 (de) BUS-Einrichtung-Funktion-Adressraumabbildung
DE102020119682A1 (de) System, einrichtung und verfahren zum erhöhen der effizienz von streckenübermittlungen
DE60017774T2 (de) Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
DE69626929T2 (de) Bidirektionale parallelschnittstelle
DE102020115989A1 (de) Dynamische Präsentation von Zwischenverbindungsprotokollfähigkeitsstrukturen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012745000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012745000

Effective date: 20121121

R130 Divisional application to

Ref document number: 102009061279

Country of ref document: DE

Effective date: 20131106

Ref document number: 102009061731

Country of ref document: DE

Effective date: 20131106

Ref document number: 102009061731

Country of ref document: DE

Effective date: 20131230

Ref document number: 102009061279

Country of ref document: DE

Effective date: 20131230

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012745000

Ipc: H04L0045748000