-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der Datenverarbeitung und dabei insbesondere auf ein Verfahren und eine Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen, bei denen Datenpakete in einem Verbindungssystem (interconnect system) mit lokalem Rack (Zugriffsport) über mehrere Verbindungen verteilt werden, sowie auf eine Konzeptionsstruktur, auf der die erfindungsgegenständliche Schaltung aufgebracht ist.
-
Beschreibung der verwandten Technik
-
Es ist erwünscht, mehrere Verbindungen wie etwa Ethernet, Express-Peripheriekomponentenbus (PCIe) und Lichtleitfaserkanal in einem Datenzentrum zu ersetzen, indem ein Verbindungssystem mit lokalem Rack bereitgestellt wird. Das Verbindungssystem mit lokalem Rack wird verwendet, um Datenpakete von einer Quelleinheit mit hoher Bandbreite wie etwa einer zentralen Verarbeitungseinheit (CPU) oder einem Eingabe-/Ausgabe(E/A)-Adapter zu einer Zieleinheit mit hoher Bandbreite z. B. einer CPU oder einem E/A-Adapter unter Verwendung von einem oder mehreren Sprüngen über Verbindungen mit geringerer Bandbreite in dem Verbindungssystem zu übertragen.
-
Das Verbindungssystem mit lokalem Rack muss in der Lage sein, die hohe Bandbreite der Quellen- und Zieleinheiten zu unterstützen, während eine zuverlässige und geordnete Paketübertragung zu der Zieleinheit sichergestellt ist. All das muss mit einer geringen Latenzzeit erfolgen.
-
Es besteht der Bedarf an einem wirkungsvollen Verfahren und einer Schaltung zum Umsetzen der geordneten und zuverlässigen Übertragung von Datenpaketen, wobei Datenpakete über mehrere Verbindungen in einem Verbindungssystem mit lokalem Rack verteilt werden. Es ist erwünscht, ein derartiges Verfahren und eine derartige Schaltung bereitzustellen, die die hohe Bandbreite der Quell- und Zieleinheiten wirksam und effizient aufrechterhalten.
-
Kurzdarstellung der Erfindung
-
Grundlegende Aspekte der vorliegenden Erfindung bestehen darin, ein Verfahren und eine Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen, bei dem/der Letztere über mehrere Verbindungen verteilt werden, sowie eine Konzeptionsstruktur bereitzustellen, auf der die erfindungsgegenständliche Schaltung aufgebracht ist. Weitere wichtige Aspekte der vorliegenden Erfindung bestehen darin, ein derartiges Verfahren, eine Schaltungsanordnung und eine Konzeptionsstruktur im Wesentlichen ohne nachteilige Wirkungen bereitzustellen, wobei viele der in Anordnungen nach dem Stand der Technik vorhandenen Nachteile überwunden werden.
-
Kurz gesagt werden ein Verfahren und eine Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen, bei denen Datenpakete über mehrere Verbindungen verteilt werden, und eine Konzeptionsstruktur bereitgestellt, auf der die erfindungsgegenständliche Schaltung aufgebracht ist. Jeder Quell-Verbindungs-Chip führt eine Verteilermaske mit mehreren verfügbaren Verbindungen für jeden Ziel-Chip zum Verteilen von Datenpaketen über mehrere Verbindungen eines Verbindungssystems mit lokalem Rack. Jedem Datenpaket wird in dem Quell-Verbindungs-Chip eine Versandreihenfolgenummer (End-to-End, ETE sequence number) zugewiesen, die die Paketposition in einem von der Quelleinheit ausgehenden, geordneten Paketstrom wiedergibt. Der Ziel-Verbindungs-Chip verwendet die Versandreihenfolgenummer, um die empfangenen verteilten Datenpakete in der zutreffenden Reihenfolge neu zu ordnen, bevor die Datenpakete an die Zieleinheit verschickt werden.
-
In Übereinstimmung mit Merkmalen der Erfindung übermittelt der Ziel-Verbindungs-Chip eine Eingangsbestätigung an den Quell-Verbindungs-Chip , wenn das betreffende Paket an die Zieleinheit geliefert wurde. Wenn der Quell-Verbindungs-Chip die Eingangsbestätigung nicht innerhalb eines im Voraus festgelegten Zeitraums empfängt oder eine Verbindungsunterbrechung festgestellt wird, sendet der Quell-Chip das Datenpaket erneut, wodurch eine zuverlässige Übertragung von Datenpaketen sichergestellt ist.
-
In Übereinstimmung mit Merkmalen der Erfindung enthält die Verteilermaske einige Verbindungen, die eine direkte Verbindung zwischen dem Quell-Chip und dem Ziel-Chip bereitstellen. Einige Verbindungen bewirken, dass das Datenpaket an einen oder mehrere Zwischenvernetzungsknoten verschickt wird, bevor es den Ziel-Chip erreicht.
-
In Übereinstimmung mit Merkmalen der Erfindung sind in dem Verbindungs-Chip zwei getrennte physische Schalter umgesetzt, um die Verminderung der Gesamtlatenz der Paketübertragung zu unterstützen. Ein Schalter ist ein Speicher- und Weiterleitungsschalter, der den Versand des Datenpakets zu beziehungsweise von der Schnittstelle der Einheit mit großer Bandbreite von beziehungsweise zu der Schnittstelle der Verbindung mit geringer Bandbreite abwickelt. Ein zweiter Schalter ist ein Durchleitungsschalter, der den Versand aller Datenpakete von einer eingehenden Verbindung zu einer abgehenden Verbindung in einem Verbindungs-Zwischen-Chip abwickelt.
-
Kurzbeschreibung der Zeichnungen
-
Die vorliegende Erfindung zusammen mit den oben beschriebenen und weiteren Zielvorgaben und Vorteilen ist am besten anhand der folgenden genauen Beschreibung der bevorzugten Ausführungsformen der Erfindung zu verstehen, die in den Zeichnungen veranschaulicht sind, wobei:
-
die 1A; 1B, 1C, 1D und 1E jeweils schematische Darstellungen und Blockschaltbilder sind, die ein beispielhaftes Verbindungssystem mit lokalem Rack zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen darstellen, wobei Pakete gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden;
-
2 eine schematische Darstellung und ein Blockschaltbild ist, das eine Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen darstellt, wobei Pakete gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden;
-
die 3, 4 und 5 Diagramme sind, die beispielhafte Operationen darstellen, die durch die Schaltung der 2 zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen ausgeführt werden, wobei Pakete gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden; und
-
6 ein Ablaufplan eines Konzeptionsverfahrens ist, das bei der Konzeption, der Herstellung und/oder der Prüfung von Halbleitern verwendet wird.
-
Genaue Beschreibung der bevorzugten Ausführungsformen
-
In der folgenden genauen Beschreibung von Ausführungsformen der Erfindung wird auf die beigefügten Zeichnungen Bezug genommen, die beispielhafte Ausführungsformen veranschaulichen, durch die die Erfindung in die Praxis umgesetzt werden kann. Es versteht sich, dass andere Ausführungsformen verwendet und strukturelle Änderungen vorgenommen werden können, ohne den Geltungsbereich der Erfindung zu überschreiten.
-
Die hier verwendete Begrifflichkeit dient lediglich der Beschreibung bestimmter Ausführungsformen und ist nicht im Sinne einer Beschränkung der Erfindung zu verstehen. Die in dem vorliegenden Dokument verwendeten Einzahlformen „ein” und „der/die/das” sind so zu verstehen, dass sie auch die jeweiligen Mehrzahlformen umfassen, es sei denn, der Kontext weist deutlich auf etwas hin. Es versteht sich außerdem, dass die Begriffe „umfasst” und/oder „umfassen(d)”, soweit sie in dem vorliegenden Dokument verwendet werden, das Vorhandensein der jeweils bezeichneten Merkmale, ganzen Zahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder die Hinzufügung eines oder mehrerer weiterer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen derselben ausschließen.
-
In Übereinstimmung mit Merkmalen der Erfindung werden Schaltungen und Verfahren zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen bereitgestellt, bei denen Pakete in einem Mehrweg-Verbindungssystem mit lokalem Rack über mehrere Verbindungen verteilt werden.
-
Unter Bezugnahme auf die Zeichnungen ist in 1A ein beispielhaftes Mehrweg-Verbindungssystem mit lokalem Rack abgebildet, das allgemein durch das Bezugszeichen 100 gekennzeichnet ist und das zum Umsetzen einer verbesserten geordneten und zuverlässigen Übertragung von Datenpaketen verwendet wird, bei dem Pakete gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden. Das Mehrweg-Verbindungssystem 100 mit lokalem Rack unterstützt Computersystem-Datenübertragungen zwischen mehreren Servern und ermöglicht, dass ein Eingabe-/Ausgabe-(E/A)-Adapter von mehreren Servern gemeinsam genutzt wird. Das Mehrweg-Verbindungssystem 100 mit lokalem Rack unterstützt Netzwerk-, Speicher-, Cluster-Bildungs- und PCIe-Datenverkehr (PCIe – Express-Peripheriekomponentenbus).
-
Das Mehrweg-Verbindungssystem 100 mit lokalem Rack enthält gemäß der bevorzugten Ausführungsform eine Vielzahl von Verbindungs-Chips 102, die in Gruppen oder Superknoten (übergeordneten Knoten) 104 angeordnet sind. Jeder Superknoten 104 enthält eine im Voraus festgelegte Anzahl von Verbindungs-Chips 102, wie z. B. 16 Verbindungs-Chip, die als ein Einschubpaar angeordnet sind, welches eine erste und eine zweite Einschubgruppe 105 enthält, wobei jede Letztere 8 Verbindungs-Chips 102 enthält. Das Mehrweg-Verbindungssystem 100 mit lokalem Rack enthält z. B. eine im Voraus festgelegte Höchstanzahl von neun Superknoten 104. Wie abgebildet ist jeweils ein Paar Superknoten 104 in vier Racks oder in den Racks 0 bis 3 und ein neunter Superknoten 104 in dem fünften Rack oder im Rack 4 bereitgestellt.
-
In 1A ist das Mehrweg-Verbindungssystem 100 mit lokalem Rack in vereinfachter Form, die für ein Verständnis der Erfindung ausreichend ist, abgebildet, wobei innerhalb eines Superknotens (super node) 104 eine Verbindung aus einer Vielzahl von lokalen Verbindungen (L-Verbindungen) 106 abgebildet ist, die ein Paar der Verbindungs-Chips 102 verbindet. Das Mehrweg-Verbindungssystem 100 mit lokalem Rack enthält eine Vielzahl von L-Verbindungen 106, die sämtliche Verbindungs-Chips 102 jedes Superknotens 104 miteinander verbinden. Eine Vielzahl von Fernverbindungen (D-Verbindungen) 108 oder, wie abgebildet, acht D-Verbindungen 108 verbinden die beispielhaften neun Superknoten 104 untereinander in jedem der anderen Einschubpaare jeweils in der gleichen Position. Jede der L-Verbindungen 106 und D-Verbindungen 108 umfasst eine bidirektionale (x2) schnelle serielle (HSS) Verbindung.
-
Außerdem enthält in 1E jeder der Verbindungs-Chips 102 von 1A z. B. 18 L-Verbindungen 106, die mit 18 x2 10 GT/S PRO RICHTUNG bezeichnet sind, und 8 D-Verbindungen, die mit 8 x2 10 GT/S PRO RICHTUNG bezeichnet sind.
-
Außerdem sind in den 1B und 1C mehrere Verbindungs-Chips 102, die einen Superknoten 104 definieren, abgebildet, die in 1B miteinander verbunden sind. Ein erster oder im Stapel oberster Verbindungs-Chip 102, der mit 1,1,1 bezeichnet ist, ist in 1B zweimal abgebildet, einmal separat an der Seite und einmal auf der Oberseite des Stapels. Es sind Verbindungen zu dem dargestellten Verbindungs-Chip 102, der mit 1,1,1 bezeichnet und an der Seite des Superknotens 104 gelegen ist, abgebildet, darunter eine Vielzahl von L-Verbindungen 106 und eine Verbindung zu einer Einheit 110, wie etwa einer zentralen Prozessoreinheit (CPU)/einem Speicher 110. Eine Vielzahl von D-Verbindungen 108 oder acht D-Verbindungen 108 entsprechend der Abbildung in 1A (nicht in 1B abgebildet) sind mit den Verbindungs-Chips 102, darunter etwa dem in 1B mit 1,1,1 bezeichneten Verbindungs-Chip 102 verbunden.
-
Außerdem sind in den 1B und 1C mehrere Verbindungs-Chips 102, die einen Superknoten 104 definieren, abgebildet, die in 1B miteinander verbunden sind. Ein erster oder im Stapel oberster Verbindungs-Chip 102, der mit 1,1,1 bezeichnet ist, ist in 1B zweimal abgebildet, einmal separat an der Seite und einmal auf der Oberseite des Stapels. Es sind Verbindungen zu dem dargestellten Verbindungs-Chip 102, der mit 1,1,1 bezeichnet und an der Seite des Superknotens 104 gelegen ist, abgebildet, darunter eine Vielzahl von L-Verbindungen 106 und eine Verbindung zu einer Einheit 110, wie etwa einer zentralen Prozessoreinheit (CPU)/einem Speicher 110. Eine Vielzahl von D-Verbindungen 108 oder acht D-Verbindungen entsprechend der Abbildung in 1A (nicht in 1B abgebildet) sind mit den Verbindungs-Chips 102, darunter etwa dem in 1B mit 1,1,1 bezeichneten Verbindungs-Chip 102, verbunden.
-
Wie in 1B abgebildet, ist jeder Eingabe-/Ausgabe-(E/A)-Block aus einer Vielzahl von Eingabe-/Ausgabe-(E/A)-Blöcken 112 jeweils mit zugehörigen Verbindungs-Chips 102 verbunden, und entsprechende Blöcke der E/A-Blöcke 112 sind miteinander verbunden. Ein Quell-Verbindungs-Chip 102 wie etwa der mit 1,1,1 bezeichnete Verbindungs-Chip 102 überträgt oder verteilt den gesamten Datenverkehr über alle L-Verbindungen 106. Ein lokaler E/A-Block 112 kann außerdem eine bestimmte L-Verbindung 106 des Ziel-E/A-Blocks 112 verwenden. Mit Ziel in einem Superknoten 104 oder in einem Einschubpaar der ersten oder zweiten Einschubgruppe 105 leitet ein Quell-Verbindungs-Chip oder ein Verbindungs-Zwischen-Chip 102 Datenpakete direkt zu einem Ziel-Verbindungs-Chip 102 über eine L-Verbindung 106 weiter. Mit Ziel außerhalb eines Superknotens 104 leitet ein Quell-Verbindungs-Chip oder ein Verbindungs-Zwischen-Chip 102 Datenpakete an einen Verbindungs-Chip 102 in der gleichen Position in dem Ziel-Superknoten 104 über eine D-Verbindung 108 weiter. Der Verbindungs-Chip 102 an gleicher Position in dem Ziel-Superknoten 104 leitet Datenpakete direkt zu einem Ziel-Verbindungs-Chip 102 über eine L-Verbindung 106 weiter.
-
In dem Mehrweg-Verbindungssystem 100 mit lokalem Rack gehört/gehören zu den möglichen Wegleitungen unter Beteiligung von Quellen- und Ziel-Verbindungs-Chips 102 in ein und demselben Superknoten 104 eine einzelne L-Verbindung 106; oder ein Paar L-Verbindungen 106. Zu den möglichen Lenkungswegen unter Beteiligung von Quellen- und Ziel-Verbindungs-Chips 102 innerhalb unterschiedlicher Superknoten 104 gehört/gehören eine einzelne D-Verbindung 108 (D); oder eine einzelne D-Verbindung 108 und eine einzelne L-Verbindung 106 (D-L); oder eine einzelne L-Verbindung 106 und eine einzelne D-Verbindung 108 (L-D); oder eine einzelne L-Verbindung 106, eine einzelne D-Verbindung 108 und eine einzelne L-Verbindung 106 (L-D-L). Bei einem unbestückten Verbindungs-Chip 102 oder einem fehlerhaften Weg wird in dem Quell-Verbindungs-Chip 102 entweder die L-Verbindung 106 oder die D-Verbindung 108 am Beginn des Wegs aus einer Verteilungsliste entfernt.
-
Wie in den 1B und 1C abgebildet, ist ein direkter Weg von der zentralen Verarbeitungseinheit (CPU)/dem Speicher 110 zu den Verbindungs-Chips 102, darunter etwa dem in 1B mit 1,1,1 bezeichneten Chip 102, und von jeder anderen CPU/jedem anderen Speicher, der innerhalb des Superknotens 104 mit einem weiteren entsprechenden Verbindungs-Chip 102 verbunden ist, bereitgestellt.
-
In 1C ist eine allgemein durch das Bezugszeichen 118 gekennzeichnete Baugruppenträgeransicht abgebildet, wobei ein erster Chip eines Paares von Verbindungs-Chips 102 mit einer zentralen Verarbeitungseinheit (CPU)/einem Speicher 110 verbunden ist und der andere Verbindungs-Chip 102 mit der Eingabe-/Ausgabe-(E/A)-Einheit 112 verbunden ist, wobei die Verbindungs-Chips 102 durch Fabric-L-Verbindungen 106 und D-Verbindungen 108 des lokalen Rack miteinander verbunden sind. Zu beispielhaften Verbindungen, die innerhalb der CPU/dem Speicher 110 zwischen jedem der dargestellten Paare von Servern und dem ersten Verbindungs-Chip 102 abgebildet sind, gehören eine PCIe-Verbindung (Verbindung über Express-Peripheriekomponentenbus) G3 x8 und ein Paar von 100 GbE- oder 2–40 GbE-Verbindungen mit einer zugehörigen Netzwerkschnittstellenkarte (NIC). Zu beispielhaften Verbindungen des anderen Verbindungs-Chips 102 gehören bis zu 7–40/10 GbE-Aufwärtsverbindungen, und zu beispielhaft abgebildeten Verbindungen mit der E-/A-Einheit 112 gehören ein Paar von G3 x16 PCIe-Verbindungen zu einem externen MRIOV-Schalter-Chip, wobei Letzterer vier x16-Verbindungen zu PCI-E E/A-Steckplätzen aufweist, und zwar zu zwei Ethernet-Steckplätzen, die mit 10 GbE angegeben sind, und zu zwei Speichersteckplätzen, die mit SAS (seriell angeschlossenes SCSI) und FC (Faserkanal)angegeben sind; zu beispielhaften Verbindungen des anderen Verbindungs-Chips 102 gehören schließlich auch eine x4 PCIe-Verbindung zu einem IOMC und eine 10GbE-Verbindung zu CNIC (FCF).
-
In den 1D und 1E sind Blockschaltbilder abgebildet, die einen beispielhaften Verbindungs-Chip 102 veranschaulichen. Der Verbindungs-Chip 102 enthält einen Schnittstellenschalter 120, der eine Vielzahl von Transportebenen (TL) 122, darunter etwa 7 TLs und eine (iLink) Ebene 124 mit Schnittstellenverbindungen oder 26 iLinks miteinander verbindet. Ein Schnittstellenprotokoll physischer Ebenen oder iPhy 126 ist zwischen die Ebene der Schnittstellenverbindungen iLink 124 und die schnelle serielle (HSS)Schnittstelle 128, darunter etwa die 7 HSS-Schnittstellen 128 geschaltet. Wie in 1E abgebildet, sind die 7 HSS-Schnittstellen 128 jeweils mit den dargestellten 18 L-Verbindungen 106 und 8 D-Verbindungen 102 verbunden. In der beispielhaften Umsetzung des Verbindungs-Chips 102 werden 26 Verbindungen, zu denen die dargestellten 18 L-Verbindungen 106 und 8 D-Verbindungen 108 mit den 7 HSS 128 gehören, verwendet, wobei die 7 HSS-Schnittstellen 128 28 Verbindungen unterstützen würden.
-
Die Transportebenen (TLs) 122 stellen einen zuverlässigen Transport von Datenpaketen sicher, einschließlich der Beseitigung von Fehlern infolge von defekten Chips 102 und defekten Verbindungen 106, 108 in dem Weg zwischen Quelle und Ziel. Der Schnittstellenschalter 120 verbindet z. B. die 7 Transportebenen (TLs) 122 und die 26 iLinks 124 in einem Kreuzschienenschalter (crossbar switch), wodurch eine Empfangspufferung für iLink-Pakete und eine minimale Pufferung für die Verbindungspakete des lokalen Rack von der Transportebenen-Ausgabe (TLO) 122 bereitgestellt werden. Die von der Transportebene (TL) 122 herrührenden Datenpakete werden durch den Schnittstellenschalter 120 auf mehrere Verbindungen verteilt, um eine höhere Bandbreite zu erreichen. Das Protokoll 124 der iLink-Ebene wickelt die Verbindungsebenen-Ablaufsteuerung, die Erzeugung und Durchführung der CRC-Fehlerprüfung und im Falle von CRC-Fehlern die Neuübertragung auf der Verbindungsebene ab. Das Protokoll 126 der iPhy-Ebene wickelt Übungsfolgen, Spurausrichtung und Verschachtelung und Entschachtelung ab. Die HSS-Schnittstellen 128 sind z. B. 7x8-Vollduplex Kerne, die die dargestellten 26 x2 Spuren bereitstellen.
-
In 1E ist ein genaueres Blockschaltbild abgebildet, das den beispielhaften Verbindungs-Chip 102 darstellt. Jede der 7 Transportebenen (TLs) 122 enthält eine Partition Transportebene-Ausgabe (TLO) und eine Partition Transportebene-Eingabe (TLI). Die TLO/TLI 122 empfangen bzw. senden Verbindungspakete des lokalen Rack von und zu dem dargestellten Ethernet (Enet) und dem PCI-E (Express-Peripheriekomponentenbus), PCI-E x4 bzw. PCI-3 Gen3 Link, und zwar jeweils über Netzwerkadapter oder Fabric-Adapter, wie durch Blöcke veranschaulicht ist, die mit den Bezeichnungen schnelle serielle Verbindung (HSS), Unterebene (MAC/PCS) der Medienzugangssteuerung/physischen Codierung, verteilte virtuelle Ethernet-Brücke (DVEB) versehen sind; und über die Verbindungen PCIE_G3 x4 und PCIE_G3 2x8, PCIE_G3 2x8, eine Unterebene der physischen Codierung (PCS) der PCIe (Express-Peripheriekomponentenbus), eine obere Transaktionsebene (UTL) des Transaktionsebene/Daten/Verbindungsprotokolls (TLDLP), und eine Anwendungsebene der PCIe (PAL MR) TAGGING sowie zu und von dem Verbindungsschalter 120. Ein Netzwerkmanager (NMan) 130, der mit dem Schnittstellenschalter 120 verbunden ist, verwendet kleine End-to-End(ETE)Steuerungspakete für die Netzwerkverwaltung und für Steuerungsfunktionen in dem Mehrweg-Verbindungssystem 100 mit lokalem Rack. Der Verbindungs-Chip 102 beinhaltet JTAG-, Unterbrecher-(INT-) und Registerpartitionierungsfunktionen (REGS functions).
-
In Übereinstimmung mit Merkmalen der Erfindung werden ein Verfahren und eine Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen bereitgestellt, bei denen Pakete über mehrere Verbindungen verteilt werden, sowie eine Konzeptionsstruktur, auf der die erfindungsgegenständliche Schaltung aufgebracht ist. Datenpakete werden ausgehend von einer Quelleinheit mit hoher Bandbreite wie entweder einer zentralen Verarbeitungseinheit (CPU) oder einem Eingabe-/Ausgabe-(E/A)-Adapter von einem Quell-Verbindungs-Chip 102 empfangen, um über das Verbindungssystem 100 und darin über einen Ziel-Verbindungs-Chip 102 zu einer Zieleinheit mit hoher Bandbreite, entweder einer CPU oder einem E/A-Adapter gesendet zu werden. Um die hohe Bandbreite der Quellen- und Zieleinheiten aufrechtzuerhalten, werden Datenpakete über eine Vielzahl von L-Verbindungen 106 oder eine Vielzahl von L-Verbindungen 106 und D-Verbindungen 108 des Mehrweg-Verbindungssystems 100 mit lokalem Rack verteilt. Einige der Vielzahl von L-Verbindungen 106 oder der Vielzahl von L-Verbindungen und D-Verbindungen 108 stellen eine direkte Verbindung zwischen dem Quellen-Verbindungschip 102 und dem Ziel-Verbindungschip 102 bereit. Einige der Vielzahl von L-Verbindungen 106 oder der Vielzahl von L-Verbindungen und D-Verbindungen veranlassen, dass das Datenpaket zu einem oder mehreren Verbindungs-Zwischen-Chips 102 gesendet wird, bevor es den Ziel-Verbindungs-Chip 102 erreicht.
-
In Übereinstimmung mit Merkmalen der Erfindung hält jeder Quell-Verbindungs-Chip 102 eine Verteilermaske bereit, die eine Vielzahl von verfügbaren Verbindungen für jeden Ziel-Verbindungs-Chip 102 zum Verteilen von Datenpaketen über mehrere Verbindungen in dem Mehrweg-Verbindungssystem 100 mit lokalem Rack enthält. Um die Reihenfolge von Datenpaketen zwischen der Quelleinheit und der Zieleinheit aufrechtzuerhalten, wird jedem Datenpaket eine End-to-End(ETE)-Reihenfolgenummer in dem Quell-Verbindungs-Chip zugewiesen, die die Paketposition in dem von der Quelleinheit ausgehenden geordneten Paketstrom wiedergibt. Der Ziel-Verbindungs-Chip 102 verwendet die ETE-Reihenfolgenummer, um die empfangenen verteilten Datenpakete in der zutreffenden Reihenfolge erneut zu ordnen, bevor die Pakete an die Zieleinheit gesendet werden. Um die zuverlässige Übertragung von Datenpaketen aufrechtzuerhalten, reicht der Ziel-Verbindungs-Chip 102 eine ETE-Eingangsbestätigung an den Quell-Verbindungs-Chip 102 zurück, wenn das betreffende Paket an die Zieleinheit geliefert wurde. Wenn der Quell-Verbindungs-Chip 102 die ETE-Eingangsbestätigung nicht innerhalb eines Zeitlimits empfängt, sendet der Quell-Verbindungs-Chip 102 das Datenpaket erneut.
-
In 2 ist eine allgemein durch das Bezugszeichen 200 gekennzeichnete Schaltung zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen abgebildet, bei der Pakete gemäß der bevorzugten Ausführungsform über eine Vielzahl von Verbindungen verteilt werden. Die Schaltung 200 und jeder Verbindungs-Chip 102 enthalten jeweils einen Express-Peripheriekomponentenbus (PCIe)/Netzwerkadapter (NA) 202 oder einen PCIe/NA 202, der wie abgebildet in einem veranschaulichten Paar von Verbindungs-Chips 102, nämlich einem Quell-Verbindungs-Chip 102 A und einem Ziel-Verbindungs-Chip 102 B enthalten ist. Die Schaltung 200 und jeder Verbindungs-Chip 102 enthalten, wie in 2 abgebildet, eine Transportebene 122 mit jeweils einer Transportebene-Ausgabe (TLO)-A 204 und einer Transportebene-Eingabe (TLI)-B 210.
-
Die TLO 204 enthält einen Paketübertragungspuffer 206 zum Speichern von Datenpaketen, die von dem PCIe/NA 202 mit hoher Bandbreite empfangen werden, und eine Verteilermaske 208 oder einen Verteilungsvektor 208, der gemäß der bevorzugten Ausführungsform von einem Netzwerkmanager (NMan) 130 empfangen wird. Der Netzwerkmanager (NMan) 130 verwendet End-to-End(ETE)-Taktsignale zum Erkennen verfügbarer Verbindungen, indem ETE-Taktsignale über lokale Verbindungen 106, 108 in dem Verbindungssystem 100 versendet werden. Jeder Verbindungs-Chip 102 pflegt z. B. die Verteilermaske 208, für alle anderen Verbindungs-Chips in dem Verbindungssystem 100, indem End-to-End(ETE)-Taktsignale über alle lokalen L-Verbindungen 106 und D-Verbindungen 108 an alle Ziel-Verbindungs-Chips 102 versendet werden. Wenn ein erster Verbindungs-Chip 102 gute Taktsignale von einem anderen Verbindungs-Chip 102 auf einer seiner Verbindungen empfängt, setzt der erste Verbindungs-Chip 102 das entsprechende Verbindungsbit in der Verteilermaske 208 für diesen anderen Verbindungs-Chips 102.
-
In Übereinstimmung mit Merkmalen der Erfindung werden in dem Schalter 120 jedes Verbindungs-Chips 102 zwei gesonderte physische Schalter umgesetzt, um die Gesamtlatenzzeit der Paketübertragung vermindern zu helfen. Ein Schalter ISR_TL des Schalters 120 ist ein Speicher- und Weiterleitungsschalter, der das Verschieben des Datenpakets zu/von der Schnittstelle der Einheit mit hoher Bandbreite von/zu der Schnittstelle der Einheit mit geringer Bandbreite abwickelt. Ein zweiter Schalter ISR_LL des Schalters 120 ist ein Durchleitungsschalter, der in einem Verbindungs-Zwischen-Chip das Verschieben aller Datenpakete von einer Eingangsverbindung zu einer Abgangsverbindung abwickelt.
-
Die Schaltung 200 enthält einen Speicher- und Weiterleitungsschalter ISR_TL des Schnittstellenschalters 120, der eine Vielzahl von Transportebenen (TL) 122, darunter etwa 7 TLs und Schnittstellenverbindungs(iLink)-Ebenen 124 oder 26 iLinks verbindet, und einen Durchleitungsschalter ISR_LL des Schnittstellenschalters 120, der z. B. L-Verbindungen (18) und D-Verbindungen (8) der Schnittstellenverbindungs(iLink)-Ebene 124 oder 26 iLinks aller Verbindungs-Chips 102, zu denen der Quell-Verbindungs-Chip 102, A und der Ziel-Verbindungs-Chip 102, B gehören, verbindet. Der Weiterleitungsschalter ISR_TL des Schnittstellenschalters 120 wickelt das Verschieben von Datenpaketen zu bzw. von der Schnittstelle der Einheit mit hoher Bandbreite von bzw. zu der Schnittstelle der Einheit mit geringer Bandbreite ab. Der Durchleitungsschalter ISR_LL des Schnittstellenschalters 120 empfängt ein Datenpaket von einer L-Verbindung 106 oder einer D-Verbindung 108 und versendet das Paket auf einer anderen L-Verbindung 106.
-
Die Schaltung 200 und jeder Verbindungs-Chip 102 enthalten eine Transportebene 122, die, wie in 2 abgebildet, eine Transportebene 122 mit einer entsprechenden Transportebene in (TLI)-B 210 enthält. Jede TLI 210 enthält einen Paketempfangspuffer 212, der eine Paketpufferung und einen Netzwerkmanager (NMan) 130 bereitstellt.
-
In Übereinstimmung mit Merkmalen der Erfindung puffert die TLI-B 210 der Ziel-Transportebene 122 die empfangenen verteilten Datenpakete z. B. in dem Paketempfangspuffer 212 und verwendet die ETE-Reihenfolgenummer, um die empfangenen verteilten Pakete in der zutreffenden Reihenfolge neu zu ordnen, bevor Datenpakete an die Zieleinheit versendet werden.
-
In 3 sind allgemein durch das Bezugszeichen 300 gekennzeichnete beispielhafte Operationen abgebildet, die durch die Schaltung 200 ausgeführt werden, nämlich Operationen zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen, die gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden.
-
Verteilungsoperationen 300 veranschaulichen das Verteilen von Datenpaketen über mehrere L-Verbindungen 106 in einem einzelnen Superknoten 104. Der NMan sendet die Verteilermaske 208 an die TLO-A 204, wodurch Wege bereitgestellt werden, die für jeden Ziel-Verbindungs-Chip 102 verfügbar sind, diese gekennzeichnet durch eine Chip-Kennung, und die TLO-A, 204 verwendet die Verteilermaske 208, um dem ISR_TL-Schalter 120 mitzuteilen, welche Ports zum Verteilen von Paketen genutzt werden können. Wege werden z. B. durch einen Ausgangsport an dem Quell-Verbindungs-Chip 102 gekennzeichnet.
-
Um die Reihenfolge von Datenpaketen zwischen der Quelleinheit und der Zieleinheit beizubehalten, wird jedem Datenpaket in dem Quell-Verbindungs-Chip 102, A eine End-to-End(ETE)-Reihenfolgenummer zugewiesen, wie aus einer entsprechenden Nummer ersichtlich ist, die eine Paketordnungsnummer wiedergibt, mit der eine Vielzahl von Datenpaketen von einem Quell-Chip 102, A zu einem Ziel-Chip 102, B transportiert werden. Datenpakete, die mit 29, 30, 31 bezeichnet sind, stellen eine geordnete Reihenfolge von Paketen in einem Paketstrom dar, die ausgehend von dem PCIe/NA 202 von der Transportebene-Ausgabe (TLO)-A 204 der Transportebene 122 empfangen werden. Datenpakete, die mit 27, 28 bezeichnet sind, stellen eine geordnete Reihenfolge von Paketen dar, die von der TLO-A, 204 an den Speicher- und Weiterleitungsschalter ISR_TL 120 gesendet werden.
-
Eine Vielzahl von L-Verbindungen 106 verlaufen zwischen dem Quell-Chip 102, A und einer Vielzahl von Zwischenchips 102, die über einen entsprechenden Durchleitungsschalter ISR_LL 120 mit einer Vielzahl von L-Verbindungen 106 verbunden sind, welche in dem Superknoten 104 zwischen den Zwischenchips 102 und dem Ziel-Chip 102, B verlaufen. Datenpakete, die mit 13, 26, 21, 25, 23, 24, 22, 18, 10, 15, 17 und 9 bezeichnet sind, sind so dargestellt, dass sie über eine Vielzahl von L-Verbindungen 106 übertragen oder verteilt werden. Einzelne Datenpakete bleiben vollständig und folgen einem einzelnen Weg; und unterschiedliche Pakete folgen unterschiedlichen Wegen. Am Ziel-Chip sind Datenpakete in der Reihenfolge 5, 6 und 7 so abgebildet, dass sie von der TLI-B, 210 zu dem PCIe/NA 202 gesendet werden. Wie abgebildet puffert der TLI-B, 210 ungeordnete Datenpakete 19, 16, 14, 20, 12 und 11, bis der geordnete Paketstrom wiederhergestellt werden kann, und sie dann zu dem PCIe/NA 202 übertragen werden. Das Datenpaket 8 wird wie in 3 abgebildet von dem Speicher- und Weiterleitungsschalter ISR_TL 120 zu dem TLI-B, 210 übertragen.
-
In 4 sind beispielhafte Operationen abgebildet, die allgemein durch das Bezugszeichen 400 gekennzeichnet sind und durch die Schaltung 200 zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen ausgeführt werden, bei der sie gemäß der bevorzugten Ausführungsform über mehrere Verbindungen verteilt werden. Verteilungsoperationen 400 veranschaulichen Paketverteilungswege zur Paketverteilung über mehrere D-Verbindungen 108 zwischen entsprechenden Verbindungs-Chips 102, A, B, C und D eines Paars von Superknoten A und B, 104 und über mehrere L-Verbindungen 106 zwischen entsprechenden Verbindungs-Chips 102, A, B, C und D innerhalb der entsprechenden Superknoten A und B, 104. Wie in 4 veranschaulicht ist der Verbindungs-Chip 102, A der Quell-Verbindungs-Chip 102, wobei die TLO 204 mit dem ISR_TL-Schalter 120 im Superknoten A, 104 verbunden ist. Der Verbindungs-Chip 102, B ist der Ziel-Verbindungs-Chip 102, B, wobei die TLI 210 mit dem ISR_TL-Schalter 120 im Superknoten B, 104 verbunden ist. Die anderen Verbindungs-Chips 102, B, C, D im Superknoten A, 104 und die Verbindungs-Chips 102, A, C, D im Superknoten B, 104 sind Verbindungs-Zwischen-Chips 102, wobei der Durchleitungsschalter ISR_LL 120 Datenpakete von den jeweiligen L-Verbindungen 106 und D-Verbindungen 108 verlagert.
-
In 5 sind beispielhafte Operationen abgebildet, die durch die Schaltung 200 zum Umsetzen einer geordneten und zuverlässigen Übertragung von Datenpaketen ausgeführt werden, wobei Pakete gemäß der bevorzugten Ausführungsform beginnend am Block 400 über mehrere Verbindungen verteilt werden. Datenpakete werden von einer Quelleinheit empfangen, um über eine Vielzahl von Wegen in dem Mehrweg-Verbindungssystem 100 mit lokalem Rack an eine Zieleinheit versendet zu werden, wie dies in einem Block 502 angegeben ist. Die von der Quelleinheit empfangenen Pakete sind geordnet. Die TLO 204 des Quell-Verbindungs-Chips 102 empfängt die geordneten Pakete von dem PCIe/NA 202, wie dies in einem Block 504 angegeben ist.
-
Wie in einem Block 506 angegeben, weist der TLO 204 jedem Datenpaket eine End-to-End(ETE)-Reihenfolgenummer zu und versendet es mit der Verteilermaske jeweils zu dem ISR_TL-Schalter 120. Der ISR_TL-Schalter 120 legt die Verbindung zum Versenden des Pakets fest. Die Verteilermaske 208 wird von dem in dem Quell-Verbindungs-Chip 102 befindlichen ISR_TL-Schalter 120 verwendet um festzulegen, welche der Verbindungen in der Verteilermaske zum Versenden des Datenpakets zu verwenden ist. Der erste Schritt beim Auswählen einer Verbindung besteht darin, alle Verbindungen aus der Verteilermaske 208 zu entfernen, die belegt sind. Der ISR_TL-Schalter 120 gibt an, dass eine bestimmte Verbindung belegt ist, wenn die Anzahl von Bytes, die über die Verbindung übertragen werden sollen, über einem programmierbaren Schwellenwert liegt. Der nächste Schritt besteht darin, jede Verbindung aus der Verteilermaske 208 zu entfernen, die bereits damit befasst ist, ein von einer anderen Quelleinheit stammendes Datenpaket von der Schalterpartition zu empfangen. Aus den verbleibenden Verbindungen in der Verteilermaske 208 wird durch den ISR_TL-Schalter 120 willkürlich eine Verbindung ausgewählt, um eine im Allgemeinen gleichförmige Verteilung von Datenpaketen über alle geeigneten Verbindungen hinweg zu ermöglichen. Der ISR_TL-Schalter 120 sendet jedes Paket auf der ausgewählten Verbindung. Die TLO 204 des Quell-Verbindungs-Chips 102 weist jedem Datenpaket anhand der Zieleinheit in einer sequentiellen Reihenfolge die ETE-Reihenfolgenummer zu. Dies bedeutet, dass jeder Quell-Verbindungs-Chip 102 zur Verwendung für jede Kombination aus Quelleinheit und Zieleinheit die nächste ETE-Reihenfolgenummer überwacht und nachverfolgt. Der Quell-Verbindungs-Chip 102 speichert das Datenpaket in einem in der TLO 204 enthaltenen Neuversuch-Sendepuffer, bis eine Eingangsbestätigung bezüglich der ETE-Reihenfolgenummer von dem Ziel-TLI-B, 120 empfangen wird, die angibt, dass das Paket zu der Zieleinheit gesendet wurde.
-
Wie in einem Block 508 angegeben, wickelt bei einem Datenpaket, das von einem Zwischenchip 102 empfangen wurde, der Durchleitungsschalter ISR_LL die Vermittlung solcher Pakete ab, die von einer Verbindung empfangen wurden und über eine andere Verbindung versendet werden. Der Zwischenchip 102 verwendet die Ziel-Chip-Kennung, die in die eine oder andere von zwei Port-Tabellen PRT1 und PRT2 indexiert wurde, und das Paket wird über die erkannte Verbindung versendet.
-
Wie in einem Block 510 angegeben, wird jedes von dem Ziel-Chip 102 empfangene nicht geordnete Datenpaket gepuffert, und sobald das Paket mit der nächsten geforderten ETE-Reihenfolgenummer empfangen wird, werden die gepufferten Pakete in der zutreffenden Reihenfolge an die Zieleinheit übertragen, die dann die Eingangsbestätigung bezüglich der ETE-Reihenfolgenummer an den Quell-Verbindungs-Chip 102 sendet. Der Ziel-Verbindungs-Chip 102 stellt diese Benachrichtigung bereit, indem er die Eingangsbestätigung bezüglich der ETE-Reihenfolgenummer an den Quelle-Verbindungs-Chip 102 mit einer Angabe zu der nächsten ETE-Reihenfolgenummer, deren Empfang der Ziel-Verbindungs-Chip 102 erwartet, zurückgibt.
-
Wie in einem Entscheidungsblock 512 angegeben, überprüft der Quell-Verbindungs-Chip 102 die von dem Ziel-Chip herrührende Eingangsbestätigung bezüglich der ETE-Reihenfolgenummer. Wenn die Eingangsbestätigung bezüglich der ETE-Reihenfolgenummer von dem Ziel-Chip empfangen wird, entfernt der Quell-Verbindungs-Chip 102, wie in einem Block 514 angegeben, alle Pakete aus seinem Neuversuch-Puffer, die eine ETE-Reihenfolgenummer aufweisen, welche kleiner als die als die nächste erwartete ETE-Reihenfolgenummer angegeben wurde. Danach werden die sequentiellen Operationen wie in einem Block 516 angegeben fortgesetzt.
-
Wenn, wie in einem Entscheidungsblock 518 angegeben, entweder eine unterbrochene Verbindung durch fehlende Taktsignale angezeigt oder die Überschreitung eines Zeitlimits für den Eingang einer Bestätigung bezüglich der ETE-Reihenfolgenummer von dem Ziel-Chip erkannt wird, verhandelt die Quellen-TLO, wie in einem Block 520 angegeben, eine Inkrementierung einer Erzeugungskennung (GID) bei der TLI des Ziel-Verbindungs-Chips 102 für eine Paket-Neuübertragung. Danach werden die Operationen zum Neusenden des Pakets mit der zugewiesenen End-to-End(ETE)-Reihenfolgenummer und der inkrementierten GID im Block 506 fortgesetzt. Anderenfalls werden die sequentiellen Operationen im Block 516 fortgesetzt.
-
6 zeigt ein Blockschaltbild eines beispielhaften Konzeptionsablaufs 600, der für die Schaltung 200 und den hier beschriebenen Verbindungs-Chip 102 verwendet werden kann. Der Konzeptionsablauf 600 kann in Abhängigkeit von dem jeweils konzipierten Typ des Schaltkreises (IC) variieren. Der Konzeptionsablauf 600 zum Bilden eines anwendungsspezifischen Schaltkreises (ASIC) kann sich z. B. vom Konzeptionsablauf 600 zum Entwerfen einer Standardkomponente unterscheiden. Die Konzeptionsstruktur 602 stellt vorzugsweise eine Eingabe in einen Konzeptionsverfahren 604 dar und kann von einem IP-Anbieter, einem Kernentwickler oder einer anderen Entwicklungsfirma kommen oder von einer für den Konzeptionsablauf zuständigen Bedienperson oder von anderen Quellen erzeugt werden. Die Konzeptionsstruktur 602 umfasst Schaltungen 102, 200 in der Form von Schemata oder HDL, einer Hardware-Beschreibungssprache, z. B. Verilog, VHDL, C und dergleichen. Die Konzeptionsstruktur 602 kann in einem oder mehreren maschinenlesbaren Medien enthalten sein. Die Konzeptionsstruktur 602 kann z. B. eine Textdatei oder eine grafische Darstellung von Schaltungen 102, 200 sein. Das Konzeptionsverfahren 604 synthetisiert oder übersetzt Schaltungen 102, 200 in eine Netzliste 606, wobei die Netzliste 606 z. B. eine Liste von Leitungen, Transistoren, logischen Gattern, Steuerschaltungen, E/A-Einheiten, Modellen usw. ist, die die Verbindungen zu anderen Elementen und Schaltungen im Entwurf einer integrierten Schaltung beschreibt und auf wenigstens einem der maschinenlesbaren Medien aufgezeichnet ist. Es kann sich um ein Iterationsverfahren handeln, in dem die Netzliste 606 in Abhängigkeit von Konzeptionsspezifikationen und Parametern für die Schaltungen einmalig oder mehrfach neu synthetisiert wird.
-
Das Konzeptionsverfahren 604 kann die Verwendung einer Vielzahl von Eingaben beinhalten; z. B. Eingaben von Bibliothekselementen 608, die eine Menge von gewöhnlich verwendeten Elementen, Schaltungen und Einheiten, darunter Modelle, Layouts und symbolische Darstellungen für eine vorgegebene Herstellungstechnologie, wie etwa Knoten mit unterschiedlicher Technologie, 32 nm, 45 nm, 90 nm und dergleichen, Konzeptionsspezifikationen 610, Beschreibungsdaten 612, Überprüfungsdaten 614, Konzeptionsregeln 616 und Prüfdaten-Dateien 618, die Prüfmuster oder andere Prüfinformationen enthalten können. Das Konzeptionsverfahren 604 kann ferner z. B. Standard-Schaltungskonzeptionsverfahren wie etwa Zeitablaufanalysen, Überprüfungen, Prüfungen von Konzeptionsregeln, Lage- und Lenkungsoperationen und dergleichen enthalten. Einem Fachmann auf dem Gebiet der Konzeption von integrierten Schaltungen ist es möglich, sein ein Bild von dem Ausmaß des Einsatzes möglicher Werkzeuge zur Automatisierung der elektronischen Konzeption und von Anwendungen zu machen, die im Konzeptionsverfahren 604 verwendet werden, ohne den Geltungsbereich und den Wesensgehalt der Erfindung zu überschreiten. Die Konzeptionsstruktur der Erfindung ist auf keinen konkreten Konzeptionsablauf beschränkt.
-
Vorzugsweise überträgt das Konzeptionsverfahren 604 eine in den 1A bis 1E, 2, 3, 4 und 5 abgebildete Ausführungsform der Erfindung zusammen mit allen zusätzlichen Konzeptionen integrierter Schaltungen und/oder (gegebenenfalls) Daten in eine zweite Konzeptionsstruktur 620. Die Konzeptionsstruktur 620 befindet sich auf einem Speichermedium in einem Datenformat, das für den Austausch von Layout-Daten von integrierten Schaltungen verwendet wird, z. B. Informationen, die in einem Format GDSII (GDS2), GL1, OASIS oder jedem anderen geeigneten Format zum Speichern von derartigen Konzeptionsstrukturen gespeichert sind. Die Konzeptionsstruktur 620 umfasst gegebenenfalls Informationen wie z. B. Prüfdaten-Dateien, Dateien mit Konzeptionsinhalten, Herstellungsdaten, Layout-Parameter, Leitungen, Metallkonzentrationen, Durchkontaktierungen, Formen, Daten zur Wegleitung durch die Fertigungslinie und andere Daten, die von einem Halbleiterhersteller gefordert werden, um eine Ausführungsform der Erfindung herzustellen, wie sie in den 1A bis 1E, 2, 3, 4 und 5 abgebildet ist. Die Konzeptionsstruktur 620 kann dann zu einer Stufe 622 gelangen, an der die Konzeptionsstruktur 620 (auf Band) ausgegeben, zur Herstellung freigegeben, an einen Maskenhersteller freigegeben, einem anderen Konzeptionshersteller übermittelt, an den Kunden zurückgesandt wird oder dergleichen.
-
Wenn die vorliegende Erfindung auch unter Bezugnahme auf die Einzelheiten der in der Zeichnung abgebildeten Ausführungsformen der Erfindung beschrieben wurde, sind diese Einzelheiten nicht dahingehend zu verstehen, dass sie den Geltungsbereich der Erfindung, wie er in den beigefügten Ansprüchen beansprucht wird, einschränken.