-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf das Gebiet der
Hochleistungsvermittlung, einschließlich Vermittlungen, Vermittlungssystemen und
Netzwerken, sowie auf Verbindungs- und Adressierungsverfahren, die
zur Implementierung von Hochleistungs-Vermittlungsfunktionen geeignet
sind, wie sie zum Beispiel in den Fibre Channel-Standards definiert
sind.
-
Hintergrund der bekannten
Technik
-
Der
Bedarf an leistungsfähigen
Vermittlungslösungen
im Bereich der Computer- und
Datenverarbeitungssysteme wächst
weiter. Beispiele für
solche Systeme sind unter anderem die Verbindung von Computern und
Hochleistungs-Speichergeräten,
die Verbindung von Computern in Betriebsumgebungen mit mehreren
Rechnern sowie andere Anwendungen, bei denen mehrere schnelle Datenverbindungen zwischen
bestimmten Knoten oder Gruppen von Knoten in einem Datenverarbeitungsnetz
hergestellt werden müssen.
Höhere
Bandbreiten und größere Flexibilität bei der
Vermittlung sind wichtige Überlegungen
für die
in solchen Systemen verwendeten Vermittlungen und Geräte.
-
Der
Fibre Channel-Standard ANSI X3.T11 soll sich mit diesen Überlegungen
beschäftigen.
Der Fibre Channel-Standard selbst definiert ganz allgemein Leistungsklassen
und -standards, schreibt jedoch die zur Bereitstellung dieser Funktionen
zu verwendenden Implementierungstechnologien nicht vor. Ein bestimmtes
Design einer Vermittlung zur Implementierung von Fibre Channel-Funktionen
wird als Struktur der Vermittlung bezeichnet.
-
Die
meisten gegenwärtig
verfügbaren
Vermittlungsstrukturen implementieren nicht alle Fibre Channel-Funktionen.
Hierfür
gibt es eine Reihe von Gründen,
teils technischer und teils wirtschaftlicher Natur. Für einige
Anwendungen ist nur eine Teilmenge der Fibre Channel-Funktionen
nötig.
In anderen Fällen
jedoch wäre
eine größere Gruppe
von Fibre Channel-Funktionen wünschenswert,
aber die Kosten und die technische Komplexität der Realisierung sind nach
wie vor beträchtliche
Hindernisse.
-
In
US-Patent 6.597.691 B1 vom 22. Juli 2003 mit dem Titel „HIGH PERFORMANCE
SWITCHING" werden
bestimmte Methoden und Vermittlungskonfigurationen zur Bereitstellung
leistungsfähiger
Fibre Channel- oder sonstiger Vermittlungssysteme beschrieben. Diese
Systeme basieren auf einzigartigen Vermittlungsgestellen und einzigartigen
Methoden zur Verbindung der Gestelle, um größere Netze zu schaffen. Das
Verfahren zum Verbinden von Gestellen in dieser Patentanmeldung
könnte
als „Mehrstufenverbindung" bezeichnet werden,
denn es sieht die Verbindung von einzelnen Vermittlungsgestellen
in bevorzugter Weise vor, um größere Netze
zu erhalten.
-
Die
vorliegende Erfindung stellt weitere Verbesserungen für Hochleistungs-Vermittlungsnetze und
-methoden durch Verbesserungen bei den Vermittlungsmodulen und deren
Verbindungen in einem Vermittlungsgestell bereit, um eine höhere Leistung, geringere
Komplexität
und größere Flexibilität zu erzielen.
-
Bei
Hochleistungs-Vermittlungsgestellen nach dem Stand der Technik wird üblicherweise
versucht, mehrere gleiche Vermittlungsmodule zu verwenden und Möglichkeiten
zu deren Verbindung auf einer Leiterplatte oder auf andere Weise
in einem Gestell vorzusehen. Oft können die Vermittlungsmodule
aus spezifischen Vermittlungsmodulen mit einer bestimmten Anzahl
von zum Beispiel zwei, vier oder acht Eingabe- oder Ausgabe-Anschlüssen bestehen. Im Idealfall
sind die meisten oder alle der spezifischen Vermittlungsmodule in
einem einzigen ASIC (anwendungsspezifische integrierte Schaltung)
realisiert, gegebenenfalls mit zusätzlichen Hilfselementen oder
Chips. Je nach den implementierten Fibre Channel-Funktionen kann
es bei solchen Systemen nach dem Stand der Technik erforderlich
sein, eine Anzahl von unterschiedlichen spezifischen Vermittlungsmodul-
und ASIC-Typen vorzusehen, um unterschiedliche Typen von Fibre Channel-Anschlüssen abzudecken.
Das spezifische Vermittlungsmodul kann im Allgemeinen angeforderte
Vermittlungsverbindungen in sich selbst und mit seinen eigenen Anschlüssen handhaben.
Um ein Vermittlungsgestellprodukt mit einer sinnvolleren Anzahl
von Kanälen, zum
Beispiel 32, 48 oder 64 zu schaffen, ist es wünschenswert, mehrere dieser
spezifischen Vermittlungsmodule in dem Gestell auf irgendeine Weise miteinander
zu verbinden.
-
Die übliche Methode
hierfür
besteht darin, einen schnellen Bus vorzusehen, der oft als Backplane bezeichnet
wird und alle spezifischen Vermittlungsmodule verbindet. Ein Struktur-Controller
kann ebenfalls programmiert werden, um den Verkehr zwischen spezifischen
Vermittlungsmodulen entsprechend den jeweils angeforderten Vermitt lungsverbindungen
zu leiten. Es ist leicht ersichtlich, dass bei diesen Systemen die
Bandbreite der Backplane und der Betrieb des Struktur-Controllers
kritisch sind. In der Praxis ist die Backplane der einschränkende Faktor,
was die Anzahl der Gestellkanäle,
die Leistung und die Kosten angeht. Bei solchen Systemen nach dem
Stand der Technik führen
Versuche, die Anzahl der Kanäle in
einem Gestell zu erhöhen,
schnell zu hohen Anforderungen an die Backplane und den Struktur-Controller
im Hinblick auf technische Einschränkungen, Komplexität und Kosten.
Diese Faktoren haben in der Praxis die Anzahl der Kanäle bei der
Auslegung von Vermittlungsgestellen nach dem Stand der Technik begrenzt,
wenn angemessen hohe Datenraten aufrechterhalten werden sollen.
-
WO98/36537
beschreibt eine Fibre Channel-Vermittlungsstruktur zum Verbinden
mehrerer angeschlossener Geräte
mit einer Reihe von Anschlusssteuermodulen für die Kommunikation mit den
Geräten,
die eine Routenanforderung und eine Route-lesen-Antwort bilden, einem Routermodul, das durch
eine Routenanforderung und eine Routenantwortverbindung mit den
Anschlusssteuermodulen verbunden wird, und einem mit den Anschlusssteuermodulen
verbunden Vermittlungskern.
-
EP-A-0856969
beschreibt ein n-Anschluss-Vermittlungselement, umfassend:
n
Anschlüsse,
wobei jeder Anschluss auf der Vermittlung aufweist:
einen Eingabelink
zum Empfangen von Datenblöcken
von einem vom Vermittlungselement entfernten Ursprungsort,
einen
Ausgabelink zum Übertragen
von Datenblöcken
an einen vom Vermittlungselement entfernten Zielort und
einen
Vermittlungscrossbar zum Einrichten eines verfügbaren Datenkanals zwischen
jedem Anschluss und jedem anderen Anschluss im Vermittlungselement.
-
Eine
Steuerungszustandsmaschine ist in Form eines Adressheader-Erzeugungsabschnitts zum
Leiten von Daten an den richtigen Anschluss vorgesehen.
-
Zusammenfassung der Erfindung
-
Nach
einem Aspekt stellt die vorliegende Erfindung ein Vermittlungssystem
mit mehreren n-Anschluss-Vermittlungselementen bereit, umfassend:
n
Anschlüsse
und einen zusätzlichen
Anschluss, der als ein Anschluss für einen Eingabe-Ausgabe-Prozessor
dienen soll, wobei jeder der n Anschlüsse enthält:
einen Eingabelink
zum Empfangen von Datenblöcken
von einem vom Vermittlungselement entfernten Ursprungsort,
einen
Ausgabelink zum Übertragen
von Datenblöcken
an einen vom Vermittlungselement entfernten Zielort,
einen
Vermittlungscrossbar zum Einrichten eines verfügbaren Datenkanals zwischen
jedem Anschluss und jedem anderen Anschluss auf dem Vermittlungselement
und
eine Steuerungszustandsmaschine zum Richten empfangener
Datenblöcke
vom Eingabelink an den Ausgabelink eines oder mehrerer generischer
Anschlüsse
auf dem Vermittlungselement, dadurch gekennzeichnet, dass
jeder
der n Anschlüsse
jedes Vermittlungselements ein generischer Anschluss ist, der dazu
in der Lage ist, als einer der Typen von Fibre Channel-Anschlüssen F_Port,
FL_Port und E_Port zu dienen, wobei jeder Anschluss einen ausgesuchten
Schleifenpfad aufweist, der zwischen dem Eingabelink des Anschlusses
und dem Ausgabelink verläuft,
sowie als eine Schleifenzustandsmaschine zu dienen, die Übertragungs-
und Empfangsfunktionen steuert, so dass von einem Anschluss empfangene
Daten im Betriebszustand des Überwachens
der ausgesuchten Schleife sowie des Bypassmodus über den ausgesuchten Schleifenpfad
zum Ausgabelink desselben Anschlusses zurück übertragen werden können, und
eine
einzelne integrierte Schaltung die n generischen Anschlüsse und
den Vermittlungscrossbar des Vermittlungselements enthält, und
die
n-Anschluss-Vermittlungselemente miteinander verbunden sind, um
ein Vermittlungsgestell zu bilden, das mindestens eine der folgenden
Linkverbindungstechniken verwendet:
eine Kaskadenlinkverbindung,
bei der jedes Vermittlungselement Anschlüsse aufweist, die mit einem
benachbarten Vermittlungselement im Gestell verbunden sind,
eine
Gitterlinkverbindung, bei der jedes Vermittlungselement Anschlüsse aufweist,
die direkt mit jedem anderen Vermittlungselement im Gestell verbunden sind,
und
eine Mikrostufenfinkverbindung, bei der einige Vermittlungselemente
mit den Gestellkanälen
verbunden sind und Anschlüsse
aufweisen, die ebenfalls mit jedem einer weiteren Anzahl von Vermittlungselementen
verbunden sind, die Links dazwischen zur Verfügung stellen.
-
Typischerweise
hat jedes Strukturelement die Form eines ASIC. Die Links zwischen
allen Anschlüssen
des ASIC sind intern im ASIC ausgeführt. Das Strukturelement kann
mehrfach verwendet werden, um Hochleistungs-Vermittlungsgestelle
mit einer deutlich größeren Anzahl
von Anschlüssen
bereitzustellen, als mit der bekannten Technik erreicht werden können. Ein
Beispiel der Erfindung sieht ein einzelnes Strukturelement mit 16
Vermittlungsanschlüssen
und einem blockierungsfreien Crossbar (Kreuzschiene) 17 × 17 mit
intern voller Bandbreite vor, um die Übertragung von Blöcken zwischen
beliebigen Paaren von Anschlüssen
zu ermöglichen.
Bei einer bevorzugten Form sind alle Strukturelement-Vermittlungsanschlüsse individuell
konfigurierbar, um als ein Fibre Channel-Anschluss F_Port, FL_Port
oder E_Port dienen zu können,
je nachdem, was an den Anschluss angeschlossen werden soll.
-
Die
Strukturelementanschlüsse
können
jeweils eine eindeutige lokale Routing-Tabelle aufweisen. Dadurch wird die
Notwendigkeit einer globalen Routing-Tabelle für Anschlüsse wie bei der bekannten Technik
verhindert. Außerdem
gestattet dies das Adressieren und Weiterleiten von Anschluss zu
Anschluss in dem Strukturelement, ohne dass Nachschlagereferenzen
von außerhalb
des Strukturelements nötig
sind, was zur Geschwindigkeit beiträgt.
-
Ein
Vermittlungsschienensystem mit mehreren Vermittlungsschienen kann
zur Verbesserung der Blockübertragung
verwendet werden.
-
Blockübermittlungsentscheidungen
können anhand
von Senderblockkennzeichen vorgenommen werden, die auf dem Senderbedarf
und dem „Block-Pulling" basieren anstatt
auf dem „Block-Pushing" durch den Empfänger.
-
Die
Blocksteuerung kann entweder auf geparsten Blockzieladressfeldern
für Systeme
mit hoher Skalierbarkeit oder auf Zieladressfeldwerten für die Alias-Steuerung
basieren, wobei beide Methoden an jedem Anschluss gleichzeitig zur
Verfügung
stehen. Die Steuerungslogik kann daher ein vollständiges Hardware-Routing
für Unicast-
und Multicast-Funktionen oder Ausstrahlungsfunktionen vorsehen.
-
Das
harte Verzonen kann durch Setzen von Berechtigungs-Bits in der Steuerungs
logik vorgesehen werden, so dass Blöcke für bestimmte Ziele blockiert
werden können.
-
Die
Linkverbindungstechniken nach der vorliegenden Erfindung erlauben
Kaskaden-, Gitter- und Mikrostufenlinkverbindungen sowie Kombinationen davon.
Nach dem Mikrostufen-Aspekt der Erfindung verwendet eine vorbestimmte
Anzahl von Strukturelementen eine vorbestimmte Anzahl ihrer Anschlüsse als
Kanaleingabe-/-ausgabeverbindungen für das Vermittlungsgestell.
Vorzugsweise verwenden diese Strukturelemente die Hälfte ihrer
Anschlüsse
für diesen
Zweck, wobei die verbleibende Hälfte
für Linkverbindungen
verwendet wird. Darüber
hinaus werden bei Vermittlungsgestellen mit einer größeren Anzahl von
Anschlüssen
einige Strukturelemente nur für
die Verbindung zwischen den Strukturelementen verwendet, die als
Kanalanschlüsse
dienen.
-
Nach
einem weiteren Aspekt der Erfindung erlaubt ein einzelnes Strukturelement
die Implementierung einer Domain mit bis zu 16 Bereichsanschlüssen mit
einem blockierungsfreien Crossbar mit voller Bandbreite.
-
Nach
einer derzeit bevorzugten Ausführungsform
der Erfindung wird ein Strukturelement mit 16 Anschlüssen bereitgestellt,
und Mikrostufenverbindungen werden bereitgestellt, um Vermittlungsgestelle
mit 32, 64 oder 128 Kanälen
zu bilden. Darüber hinaus
kann die Ausführungsform
des Mikrostufen-Vermittlungsgestells mit 128 Kanälen erweitert werden, um 256
Kanäle
zu unterstützen,
was einer vollen Fibre Channel-Domain
entspricht. Mehrstufenverfahren können zum Verbinden mehrerer
Domains verwendet werden, unter anderem Kaskaden-, Gitter- oder
Kreuzverbindungen, um das Fibre Channel-Maximum von 239 Domains
zu ermöglichen.
Dies ergibt die maximale Anzahl von Domain-/Bereichsvermittlungsanschlüssen nach
dem Fibre Channel-Standard
von 239 × 256
Leitungsanschlüssen oder
ca. 61.000 Anschlüsse.
-
Diese
und weitere Merkmale und Vorteile werden mit der vorliegenden Erfindung
bereitgestellt, wie in den nachstehenden ausführlichen Beschreibungen der
bevorzugten Ausführungsformen
gezeigt.
-
Kurzbeschreibung der Zeichnungen
-
1 zeigt
ein Blockdiagramm mit den Funktionsdetails eines ASIC-Strukturelements
mit 16 Anschlüssen
nach einem Aspekt der Erfindung.
-
2 zeigt
ein Blockdiagramm eines einzelnen Vermittlungsgestells (Domain)
mit 16 Anschlüssen
unter Verwendung des ASIC-Strukturelements in 1.
-
3 zeigt
ein Blockdiagramm eines 32-Kanal-Gestells mit Kaskadenlinkverbindung.
-
4 zeigt
ein Blockdiagramm eines 32-Kanal-Gestells mit Gitterlinkverbindung.
-
5 zeigt
ein Blockdiagramm eines 32-Kanal-Gestells mit Mikrostufenlinkverbindung.
-
6 zeigt
ein Blockdiagramm eines 64-Kanal-Gestells mit Mikrostufenlinkverbindung.
-
7 zeigt
ein Blockdiagramm eines 128-Kanal-Gestells mit Mikrostufenlinkverbindung.
-
8 zeigt
ein Blockdiagramm eines 256-Kanal-Gestells mit einer Mikrostufen-/Kaskadenlink-Hybridverbindung.
-
9A zeigt
ein Diagramm des Fibre Channel D_ID-Adressfelds.
-
9B zeigt
ein Diagramm für
die Verwendung des Fibre Channel D_ID-Adressfelds zum Adressieren
in 8- oder 16-Kanal-Gestellen nach der vorliegenden Erfindung.
-
9C zeigt
ein Diagramm für
die Verwendung des Fibre Channel D_ID-Adressfelds zum Adressieren
in 32- bis 256-Kanal-Gestellen nach der vorliegenden Erfindung.
-
10 zeigt
ein Blockdiagramm eines Strukturelements in größerem Detail mit Einzelheiten
der Adressdecodierungs- und Blocksteuerungstechniken nach der vorliegenden
Erfindung.
-
Ausführliche Beschreibung der bevorzugten
Ausführungsformen
-
1 zeigt
ein Blockdiagramm eines ASIC-Strukturelements mit 16 Anschlüssen nach
einem Aspekt der Erfindung, und 1 zeigt
in Form eines Blockdiagramms den allgemeinen Aufbau eines 16-Kanal-Vermittlungsgestells
mit dem Strukturelement mit 16 Anschlüssen in 1. In der
bevorzugten Ausführungsform
umfasst das Strukturelement den ASIC 20. In dieser bevorzugten
Ausführungsform
verfügt
der ASIC 20 über
16 Anschlüsse mit
vollem blockierungsfreien Fibre Channel-Service der Klasse 2 (verbindungslos,
bestätigt)
und Klasse 3 (verbindungslos, unbestätigt) zwischen allen Anschlüssen. Es
ist erkennbar, dass das Strukturelement ASIC 20 im Rahmen
des Umfangs und der Anwendung der hier beschriebenen Erfindung auch
für den
Service der Klasse 1 (Verbindung) ausgelegt werden könnte. Für Anwendungen
jedoch, die keinen Klasse 1-Service erfordern, kann ein einfacheres
Design benutzt werden, und dieses ist in den bevorzugten Ausführungsformen
der vorliegenden Erfindung gezeigt.
-
Das
Strukturelement nach der vorliegenden Erfindung ist gegenwärtig als
ein einzelner CMOS-ASIC ausgeführt,
und aus diesem Grund werden die Begriffe Strukturelement und ASIC
im vorliegenden Dokument beide so verwendet, dass sie auf die bevorzugte
Ausführungsform
des Strukturelements verweisen. Die Erfindung ist jedoch weder auf eine
Implementierung mit einem ASIC noch auf einen einzelnen Chip beschränkt. Andere
Technologien können
verwendet werden, zum Beispiel PGA-Bauelemente (Programmable Gate
Array), aber auch andere Implementierungstechnologien, die einen
Chip oder einen Chipset mit den hier beschriebenen Strukturelementfunktionen
vorsehen.
-
In
gleicher Weise ist die Auswahl von 16 Anschlüssen keine Einschränkung der
Erfindung, sondern lediglich eine Möglichkeit, die besondere Vorteile
im Hinblick auf Leistung und Flexibilität bietet. Jede Anzahl von Anschlüssen kann
unterstützt
werden. Zur Diskussion der Überlegungen
hinsichtlich der Anzahl der Anschlüsse folgt die nachstehende
Erläuterung
der Mikrostufenverbindung. Ein Merkmal der Erfindung besteht darin,
dass ein einzelner Strukturelementtyp vorteilhaft für alle Vermittlungsfunktionen und
Stellen in einem Gestell verwendet werden kann, was zur Wirtschaftlichkeit
in Design, Entwicklung und Produktion beiträgt. Es ist jedoch nicht erforderlich, dass
ein einzelner Typ verwendet wird, und Auslegungen mit mehreren Strukturelementen
können
bei Bedarf ebenfalls in dieser Erfindung verwendet werden.
-
Der
ASIC 20 weist 16 Anschlüsse
auf, die in 1 von GL0 bis
GL15 nummeriert sind. Nach einem Aspekt
der Erfindung sind diese Anschlüsse
generisch für
die üblichen
Typen von Fibre Channel-Anschlüssen
F_Port, FL_Port und E_Port. Mit anderen Worten, jeder GL-Anschluss
kann als einer dieser Typen funktionieren, je nachdem, an was er
angeschlossen ist. Die Verwendung von generischen Anschlüssen bietet
Vorteile im Hinblick auf die Flexibilität im Gebrauch, aber bei Bedarf
können
auch getrennte Anschlusstypen verwendet werden. Darüber hinaus
können
diese GL-Anschlüsse
als ein spezieller Typ von Anschluss (nicht dem Fibre Channel-Standard
entsprechend) dienen, der nachstehend als B_Port bezeichnet wird
und für
das Verlinken von Strukturelementen nützlich ist, wie nachstehend
beschrieben.
-
Zur
Illustration sind in 1 alle Anschlüsse GL0 bis GL15 so gezeigt,
dass sie auf derselben Seite des ASIC 20 liegen. In anderen
nachstehend beschriebenen Zeichnungen sind Gruppen von je acht Anschlüssen auf
gegenüberliegenden
Seiten eines ASIC gezeigt. Dies erfolgt lediglich zur einfacheren Darstellung
in den Zeichnungen und impliziert keine Unterschiede im Design der
Anschlüsse.
Die tatsächliche
Anordnung der Anschlüsse
richtet sich selbstverständlich
nach dem Hardware-Layout des ASIC.
-
Jeder
der generischen Anschlüsse
GL0 bis GL15 weist Übermittlungs-
und Empfangsverbindungen zum Vermittlungscrossbar 50 auf.
Eine Verbindung erfolgt über
einen Empfangspuffer 52, der zum Empfangen und vorübergehenden
Speichern eines Blocks während
eines Routingvorgangs dient. Die andere Verbindung erfolgt über einen Übermittlungspuffer 54.
Der Vermittlungscrossbar 50, der weiter unten in Zusammen hang
mit 10 gezeigt und ausführlich beschrieben ist, umfasst
praktisch mehrere Vermittlungscrossbars zur Handhabung bestimmter
Arten von Daten und Datenfluss-Steuerungsinformationen.
Für die
Zwecke der Aufsichtsdarstellung in 1 sind diese
Vermittlungscrossbars jedoch als ein einzelner Vermittlungscrossbar 50 gezeigt.
Der Vermittlungscrossbar 50 ist ein verbindungsloser Crossbar
(Paketvermittlung) mit bekanntem herkömmlichem Design in einer Größe zum Verbinden
von 17 × 17
Pfaden. Dies dient zur Unterbringung der 16 GL-Anschlüsse plus
einen Anschluss für
eine Verbindung zu einem Struktur-Controller außerhalb des ASIC.
-
Bei
den bevorzugten Ausführungsformen des
hier beschriebenen Vermittlungsge stells ist der Struktur-Controller
ein mittels Firmware programmierter Mikroprozessor, der auch als
Eingabe-Ausgabe-Prozessor (IOP) bezeichnet wird. Der IOP 66 ist
in 2 als Teil eines Vermittlungsgestells mit einem
oder mehreren ASICs 20 gezeigt. Wie in 1 gezeigt,
ist die bidirektionale Verbindung zum IOP über den Anschluss 67 geführt, der
intern mit einem Steuerbus 60 verbunden ist. Der Übermittlungspuffer 56,
der Empfangspuffer 58, das Steuerregister 62 und
das Statusregister 64 sind ebenfalls mit dem Bus 60 verbunden.
Der Übermittlungspuffer 56 und
der Empfangspuffer 58 verbinden den internen verbindungslosen
Vermittlungscrossbar 50 mit dem externen IOP, so dass er
Blöcke
aussenden oder empfangen kann. Die Funktion des Steuerregisters 62 besteht
darin, Steuerungsinformationen vom IOP zu empfangen und zu speichern,
damit der IOP die Merkmale oder Betriebskonfiguration des ASIC ändern kann,
indem er Steuerwörter
in das Register eingibt. Der IOP kann den Status des ASIC lesen,
indem er verschiedene Codes überwacht,
die durch Überwachung
der Schaltungen auf dem ASIC (nicht gezeigt) in das Statusregister 64 gegeben
werden.
-
2 zeigt
ein 16-Kanal-Vermittlungsgestell S2 mit einem ASIC 20 als
Strukturelement. Das Gestell S2 umfasst den ASIC 20 und
den IOP 66. Zusätzlich
enthält
es meist weitere Komponenten wie zum Beispiel eine Stromversorgung
(nicht gezeigt). Die 16 GL-Anschlüsse GL0 bis
GL15 des ASIC 20 entsprechen den
16 Kanälen
Co bis C15. Falls aus irgendeinem Grund
ein Gestell mit weniger Kanälen als
der Anzahl der ASIC-Anschlüsse
gewünscht
wird, würden
die nicht verwendeten Kanäle
nicht nach außen
geführt.
-
Wie
in 2 gezeigt, weist jeder der Anschlüsse GL0 bis GL15 einen
Parallel-Serien-/Serien-Parallel-Umsetzer
(SERDES – Serialisierer/Deserialisierer)
auf, mit dem er kommuniziert. Diese sind in der Zeichnung mit S0 bis S15 bezeichnet.
Hierbei handelt es sich um herkömmliche
Komponenten, die über
normale Parallelschnittstellen mit den GL-Anschlüssen verbunden sind. Im Idealfall
könnte
die Serialisierer-/Deserialisierer-Funktion aus Gründen der Effizienz auf dem
ASIC 20 implementiert werden. Die derzeitigen SERDES-Typen
können
jedoch allgemein zu viel Strom verbrauchen und zu starke Geräusche erzeugen,
um sie in den Vermittlungs-ASIC zu integrieren. Aus diesen Gründen ist
es besser, sie getrennt von dem ASIC, jedoch mit diesem verbunden auf
einer kleinen Leiterplatte oder einem anderen Modul zu belassen.
Wenn sich der Stromverbrauch und die Geräuschentwicklung der SERDES
verbessern, können
sie auf dem ASIC integriert werden.
-
Jeder
GL-Anschluss weist auch einen optoelektrischen Umsetzer OE0 bis OE15 auf, der über serielle
Leitungen mit seinem SERDES verbunden ist, um faseroptische Eingabe-/Ausgabeverbindungen bereitzustellen,
wie dies in der Hochleistungs-Vermittlungstechnik allgemein bekannt
ist. Die Umsetzer verbinden die Vermittlungskanäle C0 bis
C15. Als Option können die Anschlüsse auch über Kupferpfade anstelle
der optoelektrischen Umsetzer verbunden werden.
-
Während die
Ausführungsform
in 2 jeden der ASIC-Anschlüsse mit Verbindungen über SERDES
zeigt, gibt es in der Praxis Gründe,
weshalb einige Anschlüsse
ohne SERDES betrieben werden. Wie bereits erwähnt, können diese GL-Anschlüsse als
ein spezieller Typ von Anschluss dienen, der nachstehend als B_Port
bezeichnet wird und für
das Verlinken von Strukturelementen nützlich ist. Bei bestimmten
Arten von Vermittlungstopologien mit mehreren ASICs ist es vorteilhaft,
einen Anschluss auf einem ASIC mit dem Anschluss eines anderen ASIC
im selben Gestell zu verbinden. In diesem Fall können die Anschlüsse als
B_Ports dienen, und die SERDES für
diese Anschlüsse
können
bei der Herstellung weggelassen werden, was zu Kosteneinsparungen führt. In
diesem Fall sind in dem ROM für
den IOP für das
Gestell Informationen darüber
gespeichert, dass bestimmte Anschlüsse B_Ports sind, was das Setzen von
Steuerbits bewirkt, die die betreffende Anschlusslogik anweist,
als B_Ports zu funktionieren. Der Hauptunterschied zwischen einem
B_Port und einem F_Port sind Änderungen
in den Taktsignalen aufgrund des Fehlens der SERDES. Ob eine Verbindung
ohne SERDES möglich
ist, ist im Allgemeinen von dem elektrischen Abstand zwischen den
Anschlüssen
und den Merkmalen der verwendeten Leiterplatte und Steckverbinder
abhängig.
-
Um
Vermittlungsgestelle mit mehr als 16 Kanälen bereitzustellen, können mehrere
Strukturelemente in dem Gestell verwendet werden. Zwischen den mehreren
Strukturelementen müssen
bestimmte Einrichtungen für
die Kommunikation vorgesehen werden, um vollständige Flexibilität bei der
Adressierung zwischen allen Anschlüssen zu ermöglichen. Das Strukturelement
nach der vorliegenden Erfindung bietet einzigartige und besonders
vorteilhafte Verbindungstechniken für mehrere Strukturelemente mit
deutlichen Verbesserungen in Leistung und Konfigurationsflexibilität im Vergleich
zur bisherigen Technik. Vermittlungen nach dem Stand der Technik verwenden
einen Bus, der oft als Backplane bezeichnet wird, zur Verbindung
verschiedener Anschlussschaltungen in einem Vermittlungssystem.
Auf einem Chip sind zum Beispiel in der Regel mehrere Anschlüsse vorgesehen,
und mehrere Chips werden in der Vermittlung verwendet, um die gewünschte Anzahl
von Gestellanschlüssen
zu bilden. Diese Anschluss-Chips
sind alle mit dem Backplane-Bus verbunden, und auf diese Weise können Verbindungen zwischen
Anschlüssen
auf verschiedenen Chips hergestellt werden. Diese Art von bekannter
Technik war bis zu einem gewissen Punkt erfolgreich. In solchen Vermittlungen
wird jedoch der Backplane-Bus mit zunehmender Anzahl von Anschlüssen zu
einem kritischen einschränkenden
Faktor im Hinblick auf Kosten und Leistung. Aufgrund dieser Einschränkungen erreichen
Ausführungen
mit Backplane-Bus nach dem Stand der Technik mit heutigen Komponenten eine
praktische Grenze bei etwa 32 Kanälen pro Gestell. Darüber hinaus
wird das Bus-Design zu einem die Bandbreite einschränkenden
Faktor. Im Vergleich dazu können
die Strukturelemente und Linkverbindungstechniken nach der vorliegenden
Erfindung ohne weiteres Vermittlungen mit bis zu 256 Kanälen ermöglichen.
-
Diese
Vorteile der vorliegenden Erfindung werden durch spezielle Linkverbindungskonfigurationen
ermöglicht,
die nachstehend beschrieben werden, sowie durch die Verwendung moderner
Adressierungstechniken, die ohne weiteres eine große Vielzahl
derartiger Linkverbindungstopologien unterstützen können. In Vermittlungsgestellen
nach der vorliegenden Erfindung gibt es keinen Backplane-Bus. Stattdessen
erfolgen alle Verbindungen unter Verwendung der verfügbaren Anschlüsse auf
den Strukturelementen als Verbindungslinks. Ermöglicht wird dies durch die
flexiblen Adressierungstechniken, die mit den einzelnen Anschlüssen auf
den Strukturelementen möglich
sind.
-
Die
von der vorliegenden Erfindung unterstützten Linkverbindungstechniken
umfassen mehrere Arten, die nachstehend als Kaskaden-, Gitter- und Mikrostufenlinkverbindungen
bezeichnet werden, sowie bestimmte Hybridkombinationen davon.
-
Die
Kaskadenlinkverbindung ist in 3 gezeigt.
Das Vermittlungsgestell S3 weist vier Strukturelemente M0 bis M3 auf. Außerdem weist
es einen oder mehrere IOPs 66 auf. Je nach Größe und Anzahl
der Strukturelemente auf dem Gestell können einer oder mehrere IOPs
vorgesehen sein. Jedes Strukturelement könnte auch seinen eigenen IOP aufweisen,
oder ein einzelner IOP könnte
mit mehr als einem Strukturelement kommunizieren. Daher ist bei
den Zeichnungen, die verschiedene Vermittlungsgestelle zeigen, zu
beachten, dass der gezeigte einzelne IOP auch mehrere IOPs darstellen
könnte.
-
Diese
Strukturelemente in 3 weisen jeweils acht Anschlüsse auf,
die als Gestellkanäle, nummeriert
von C0 bis C31,
in Gruppen zu je acht herausgeführt
sind. Die anderen Anschlüsse
der Strukturelemente werden für
die Kaskadenlinkverbindung verwendet. Im Einzelnen weist jedes der
Strukturelemente M0 bis M3 vier
Anschlüsse
auf, die mit ihrem benachbarten Strukturelement verbunden sind.
So weist M0 zum Beispiel vier Anschlüsse auf,
die mit M1 verbunden sind, das wiederum
vier Anschlüsse
aufweist, die mit M2 verbunden sind usw.
Die vier Anschlüsse
an jedem Ende der Kaskade können
unbelegt bleiben oder zu dem Strukturelement am anderen Ende geschleift
werden, wie gezeigt. Theoretisch ist nur eine Verbindung zum jeweiligen
Nachbarn unbedingt erforderlich, aber aus Gründen der Bandbreite und Leistung
ist es besser, vier solcher Links vorzusehen. Auf diese Weise kann
jeder Kanal mit jedem anderen Kanal kommunizieren, entweder direkt im
Falle eines Ziels auf demselben Strukturelement oder indirekt durch
Kaskadenverbindung für
Ziele auf anderen Strukturelementen. Durch die nachstehend beschriebenen
Adressierungstechniken kann jeder Kanal jeden anderen Kanal auf
dem Gestell S3 adressieren. Zum Adressieren eines anderen Kanals auf
demselben ASIC kann die Vermittlung intern in dem ASIC erfolgen.
Zum Adressieren eines Kanals auf einem anderen ASIC muss die Vermittlung
eine oder mehrere der Kaskadenlinkverbindungen benutzen, um den
gewünschten
Kanal zu erreichen.
-
Obwohl 3 ein
32-Kanal-Gestell zeigt, ist zu erkennen, dass die Anzahl der Strukturelemente und
Kanäle
nach Belieben erweitert werden kann, indem einfach weitere Strukturelemente
kaskadenartig hinzugefügt
werden. Weil jedes hinzugefügte
Strukturelement eine Linkverbindung mit seinem Nachbarn herstellen
kann, gibt es kei ne mathematische Grenze für die Anzahl der Elemente,
die hinzugefügt werden
können.
Im Kontext der Fibre Channel-Vermittlung beträgt die Grenze jedoch 256 Kanäle, was einer
vollen Domain entspricht. Aus Leistungsgründen werden Kaskadenlinkverbindungen
jedoch vermutlich nicht für
große
Vermittlungen verwendet, und zwar wegen der Verzögerungen aufgrund der großen Anzahl
von Sprüngen
im ungünstigsten
Fall bis zum entferntesten Strukturelement. Die Vorteile der Kaskadenlinkverbindung
sind Einfachheit und niedrige Kosten. Der Nachteil ist eine geringe
Leistung im Falle von großen
Vermittlungen mit vielen Kanälen.
Je nach Anwendung und Art der zu verbindenden Datengeräte kann
die Kaskadenlinkverbindung jedoch eine gute Wahl sein. Die sorgfältige Auswahl
der Geräteverbindung
kann zur Vermeidung von Leistungsproblemen beitragen. Geräte, die
erwartungsgemäß häufig miteinander
kommunizieren, können
mit Kanälen
im selben Strukturelement verbunden werden, während solche, die vermutlich
nur sporadisch miteinander kommunizieren werden, auf verschiedene Strukturelemente
verteilt werden können.
-
Die
Gitterlinkverbindung ist in 4 gezeigt. Das
Vermittlungsgestell S4 weist vier Strukturelemente M0 bis
M3 auf. Diese Strukturelemente weisen jeweils
acht Anschlüsse
auf, die als Gestellkanäle, nummeriert
von C0 bis C31,
in Gruppen zu je acht herausgeführt
sind. Die anderen Anschlüsse
der Strukturelemente werden für
die Gitterlinkverbindung verwendet. Im Einzelnen ist jedes der Strukturelemente M0 bis M3 direkt mit
jedem anderen Strukturelement verbunden. Aus Gründen der Bandbreite und Leistung
sind vorzugsweise mehrere Links zu jedem anderen Strukturelement
vorgesehen. Die Anzahl dieser Links ist durch die Anzahl der verfügbaren Anschlüsse begrenzt.
Im Falle von vier 16-Kanal-Strukturelementen sieht eine bevorzugte
Topologie so aus, dass jedes Strukturelement drei Links aufweist, die
mit zweien der Strukturelemente verbunden sind, sowie zwei Links
zu dem anderen Strukturelement. Die drei Verbindungen können zum
Beispiel vorteilhaft zum Anschließen von Geräten an die Kanäle auf der
Grundlage der erwarteten Nutzung bestimmter Kanäle verwendet werden. Die Adressierungstechniken
nach der vorliegenden Erfindung können ebenfalls verwendet werden,
um jeden Kanal in jeder Verbindungstopologie zu adressieren.
-
Der
Vorteil der Gitterlinkverbindung ist die höhere Leistung gegenüber der
Kaskadenlinkverbindung, da jedes Strukturelement direkt mit jedem
anderen verbunden ist. Der Nachteil ist eine Begrenzung der maximalen
Vermittlungsgröße bei Verwendung
der Gitterlinkverbindung. Bei Verwendung von 16-Kanal-Strukturelementen
beträgt
das Maximum 72 Kanäle,
was durch die Anzahl der Strukturelementanschlüsse begrenzt ist, die für Linkverbindungen
zu jedem anderen Strukturelement verfügbar sind.
-
Eine
dritte und sehr wichtige Art der Linkverbindung, die nachstehend
als Mikrostufenverbindung bezeichnet wird, ist in 5 bis 7 gezeigt. 5 zeigt
ein 32-Kanal-Gestell
S5 mit sechs Strukturelementen M0 bis M3 und M20 bis M21. Der terminologischen Einfachheit halber
werden M0 bis M3 als
vordere Reihe bezeichnet, in dem Sinne, dass sie mit den Gestellkanälen verbunden
sind, und M20 bis M21 werden
als hintere Reihe bezeichnet, in dem Sinne, dass sie die Mikrostufenverbindung
für die
Elemente in der vorderen Reihe bereitstellen. Wie bereits erwähnt, sind
alle vorzugsweise identisch. Die als Mikrostufenlinks verwendeten
Anschlüsse
können
jedoch als B_Ports programmiert werden, wodurch die Kosten für die SERDES
für diese
Anschlüsse
gespart werden.
-
Die
Strukturelemente M0 bis M3 weisen
jeweils acht Anschlüsse
auf, die als Gestellkanäle, nummeriert
von C0 bis C31,
in Gruppen zu je acht herausgeführt
sind, entsprechend den vorderen Strukturelementen. Die übrigen acht
Anschlüsse
jedes der vorderen Strukturelemente sind mit den hinteren Strukturelementen
als Mikrostufenlinks verbunden. Im Einzelnen weist jedes vordere
Strukturelement vier Anschlüsse
auf, die mit zwei hinteren Strukturelementen M20 bis
M21 verbunden sind. Auf diese Weise weist
jedes vordere Strukturelement mehrere Pfade zu jedem anderen Element
in der vorderen Reihe auf. Mit dem nachstehend beschriebenen Adressformat
kann jeder Kanal jeden anderen Kanal im Gestell S5 adressieren.
-
Der
Vorteil der Mikrostufenlinkverbindung ist die höhere Leistung im Vergleich
zur Kaskadenlinkverbindung und die höhere Anzahl von Kanälen pro Gestell
im Vergleich zur Gitterlinkverbindung. Ein Nachteil im Falle eines
kleinen 32-Kanal-Gestells ist der, dass zusätzliche Strukturelemente erforderlich sind,
nämlich
sechs anstelle von vier bei den Gitter- oder Kaskadenausführungen.
Dies wird jedoch durch eine bessere Leistung mit mehr möglichen
Verbindungen ausgeglichen sowie durch die Tatsache, dass die Mikrostufenverbindung
größere Vermittlungen
ermöglicht.
Außerdem
ist im Vergleich zu einer Vermittlung mit Backplane-Bus nach der
bisherigen Technik eine Vermittlung mit Mikrostufenlinkverbindung
deutlich unkomplizierter und preiswerter, und sie unterliegt nicht
den Leistungseinschränkungen aufgrund
der Backplane.
-
Bei
dem 64-Kanal-Gestell S6 in 6 werden
die Vorteile der Mikrostufenlinkverbindung noch deutlicher. Das
Gestell S6 weist 12 Strukturelemente auf. Die acht Elemente M0 bis M7 bilden die
vordere Reihe, und jedes dieser Elemente weist acht mit Kanälen verbundene
Anschlüsse
für insgesamt
64 Kanäle
C0 bis C63 auf.
Jedes Strukturelement in der vorderen Reihe weist acht andere Anschlüsse auf,
die mit den Strukturelementen M20 bis M23 in der hinteren Reihe verbunden sind.
Im Einzelnen weist jedes Strukturelement in der vorderen Reihe zwei
Anschlüsse
auf, die mit jedem Strukturelement in der hinteren Reihe verbunden
sind. (Der Übersichtlichkeit
halber sind in 6 nur einige Verbindungen gezeigt.)
Während
es nur zwei Pfade von jedem vorderen Strukturelement zu jedem hinteren
Strukturelement gibt, verglichen mit den vier Pfaden in dem 32-Kanal-Gestell,
gibt es jetzt doppelt so viele hintere Strukturelemente, so dass
jedes vordere Strukturelement immer noch acht mögliche Pfade zu jedem anderen
Strukturelement in der vorderen Reihe aufweist, genau wie in dem
32-Kanal-Gestell. Die Mikrostufenverbindung hat in diesem Punkt
einen klaren Vorteil gegenüber
einer herkömmlichen
Ausführung, die
im Vergleich einen Backplane-Bus zum Verbinden aller acht kanalverbundenen
Strukturelemente vorsehen müsste.
-
7 zeigt
ein 128-Kanal-Gestell S7 mit Mikrostufenverbindung. Das Gestell
S7 weist 24 Strukturelemente auf. Davon bilden 16 Strukturelemente, M0 bis M15, die vordere
Reihe und weisen jeweils acht mit Kanälen verbundene Anschlüsse für insgesamt 128
Kanäle
C0 bis C127 auf.
Die anderen acht Anschlüsse
jedes vorderen Strukturelements sind jeweils mit den hinteren Strukturelementen
M20 bis M27 verbunden.
Im Einzelnen ist bei jedem Strukturelement ein Anschluss mit einem
hinteren Strukturelement verbunden. (Der Übersichtlichkeit halber sind
in 7 nur einige Verbindungen gezeigt.) Während es nur
einen Pfad von jedem vorderen Strukturelement zu jedem hinteren
Strukturelement gibt, verglichen mit den zwei Pfaden in dem 64-Kanal-Gestell,
gibt es wiederum doppelt so viele hintere Strukturelemente, so dass
jedes vordere Strukturelement immer noch acht mögliche Pfade zu jedem anderen
Strukturelement in der vorderen Reihe aufweist, genau wie in dem
32- und 64-Kanal-Gestell.
-
Die
Mikrostufenverbindung hat in diesem Punkt einen klaren Vorteil gegenüber einer
herkömmlichen
Ausführung,
die im Vergleich einen Backplane-Bus zum Verbinden aller 16 kanalverbundenen
Strukturelemente vorsehen müsste.
Es stellt sich die Frage, ob eine solche Backplane auch zu vertretbaren
Kosten oder mit vernünftiger
Leistung vorgesehen werden könnte.
Ein weiterer Vorteil der Mikrostufenverbindung ist der, dass die
Verbindungen zwischen verschiedenen Strukturelementen passiv sind,
während
ein Backplane-Verbindungsbus viele aktive Komponenten aufweisen
müsste.
-
Dadurch
ergeben sich höhere
Kosten und auch ein Mangel an Flexibilität. Weil die Linkverbindungen
selbst bei der vorliegenden Erfindung passiv sind, können die
Verbindungsmuster in dem Gestell vorgesehen werden, und die Strukturelemente
können
austauschbar sein.
-
Mit
einem 16-Kanal-Strukturelement stellt das 128-Kanal-Gestell das
Maximum für
die direkte Mikrostufenverbindung dar, denn es verwendet alle verfügbaren acht
Anschlüsse
für die
acht hinteren Strukturelemente. Andere Techniken können jedoch zusammen
mit der Mikrostufenverbindung verwendet werden, um eine größere Anzahl
von Kanälen
bereitzustellen. 8 zeigt ein 256-Kanal-Gestell
S8, das dem vollen Fibre Channel Domain-Adressraum entspricht.
-
Das
Gestell S8 ist mit 40 Strukturelementen und einer Hybridform der
Linkverbindung gebildet, die eine Kreuzung zwischen Mikrostufen-
und Kaskadenverbindung ist. Die 32 Strukturelemente M0 bis M31 bilden die vordere Reihe und weisen jeweils
acht mit Kanälen
verbundene Anschlüsse
für insgesamt 256
Kanäle
C0 bis C255 auf.
Die acht Strukturelemente M200 bis M207 bilden die hintere Reihe. Aufgrund von Einschränkungen
bezüglich
der Anzahl von Anschlüssen
ist jedes Strukturelement in der vorderen Reihe nur mit jedem zweiten
Strukturelement in der hinteren Reihe in einer modifizierten Mikrostufenlinkverbindung
verbunden. In einer bevorzugten Form weisen die geraden Strukturelemente
in der vorderen Reihe jeweils einen Anschluss auf, der mit einem
Anschluss auf jedem geraden Strukturelement in der hinteren Reihe
verbunden ist, und die ungeraden Strukturelemente in der vorderen
Reihe weisen jeweils einen Anschluss auf, der mit einem Anschluss auf
jedem ungeraden Strukturelement in der hinteren Reihe verbunden
ist. (Der Übersichtlichkeit
halber sind in 8 nur einige Verbindungen gezeigt.)
Darüber
hinaus weist jedes vordere Strukturelement M0 bis
M31 zwei Anschlüsse auf, die in Kaskadenform
mit beiden Nachbarn verbunden sind. Die Strukturelemente M0 und M31 am Ende
weisen zwei Anschlüsse auf,
die unbelegt bleiben oder zum anderen Ende zurückgeschleift werden können, so
dass M0 und M31 Kaskadennachbarn
werden.
-
Auf
diese Weise verbunden kann jeder der 256 Kanäle mit jedem anderen Kanal
kommunizieren. Sofern im selben Strukturelement, kann die Verbindung
intern in dem Strukturelement hergestellt werden. Für Verbindungen
zu Kanälen
auf anderen Strukturelementen in der vorderen Reihe kann die Vermittlung
die Mikrostufenlinkverbindungen zu den Strukturelementen in der
hinteren Reihe oder die Kaskadenlinkverbin dungen zwischen den Strukturelementen
in der vorderen Reihe oder eine Kombination der beiden verwenden.
Befindet sich der Zielkanal zum Beispiel auf einem benachbarten
Strukturelement, kann die Kaskadenlinkverbindung verwendet werden.
Befindet sich der Zielkanal nicht auf einem benachbarten Strukturelement,
kann die Mikrostufenlinkverbindung zur hinteren Reihe verwendet
werden. Für
bestimmte Fälle
ist eine Kombination von Mikrostufen- und Kaskadenverbindung nötig.
-
Betrachtet
man den Fall der Mikrostufenlinkverbindung, kann mit einer größeren Anzahl
von Anschlüssen
pro Strukturelement ein Gestell entsprechend größer ausgeführt werden. Die maximale Anzahl
von Kanälen,
die mit Mikrostufenlinkverbindungen von Strukturelementen unterstützt werden
kann, ist abhängig
von der Anzahl der Anschlüsse
pro Element. Bei Mikrostufenverbindungen von Strukturelementen mit
X Anschlüssen
pro Element kann ein Vermittlungsgestell bis zu n Kanäle unterstützen, wobei
ist. Dies gilt für die Mikrostufenverbindung
allein: kombiniert mit anderen Techniken können zusätzliche Kanäle bereitgestellt werden.
-
Bei
der Betrachtung der Beziehung
müssen Auslegungsentscheidungen
in der Anwendung der Mikrostufenverbindung getroffen werden. Eine
geringere Anzahl von Anschlüssen
pro Strukturelement hat den Vorteil einer geringeren Komplexität des Strukturelements,
aber auch den Nachteil einer geringeren Anzahl möglicher Kanäle in Mikrostufen-Anwendungen.
In gleicher Weise kann eine größere Anzahl
von Anschlüssen
pro Strukturelement die Mikrostufenverbindung für Gestelle mit mehr Kanälen ermöglichen,
aber auf Kosten der Komplexität bei
der Auslegung des Strukturelements, wobei sich dies in den Herstellungskosten
oder der Leistung niederschlagen kann.
-
Ein
Strukturelement mit acht Anschlüssen könnte zum
Beispiel maximal ein 32-Kanal-Gestell ergeben.
Während
dies nützlich
ist, ergibt sich kein sehr großes
Gestell, und Gestelle dieser Kapazität können auch mit bekannten Techniken
hergestellt werden. Wird ein Strukturelement mit 16 Anschlüssen vorgesehen,
wie in den vorstehenden Beispielen beschrieben, ergeben sich Gestelle
mit bis zu 128 Kanälen
(und mehr mit Hybridtechniken). Dies ist eine wesentliche Verbesserung
gegenüber
herkömmlichen
Backplane-Ausführungen,
die im Vergleich dazu mit heutigen Komponenten eine praktische Grenze
bei etwa 32 Kanälen
pro Gestell erreichen. Ein Strukturelement mit 32 Anschlüssen könnte ein
512-Kanal-Gestell ergeben. Dies kann jedoch aus einer Reihe von
Gründen
praktisch nicht wünschenswert
sein. Die Komplexität
eines Strukturelements mit 32 Anschlüssen kann zu möglichen
Kompromissen bei der Auslegung und Leistung des Strukturelements
führen.
Der Bedarf für
ein einzelnes Gestell mit 512 Kanälen ist fraglich angesichts
der vermutlichen Abmessungen und der Tatsache, dass sich Systeme
mit dieser Anzahl von Kanälen
flexibler durch mehrere kleinere Einheiten bereitstellen lassen.
-
Es
ist natürlich
möglich,
Strukturelemente mit einer anderen Anzahl von Anschlüssen, nicht
nur mit Zweierpotenzen, zum Beispiel mit 12 oder 20 Anschlüssen herzustellen.
In der Tat scheint eine Anzahl von etwa 12 Anschlüssen ein
Optimum an Effizienz in Bezug auf Geschwindigkeit und Größe zu bieten.
In Anbetracht der Verbreitung von binären oder Byte-basierten Adressierungssystemen
sind solche anderen Werte jedoch vermutlich nicht die beste Wahl.
Dies gilt insbesondere für
die Verwendung in Fibre Channel-Vermittlungen zur Wahrung der Kompatibilität mit bestehenden
Adressfeldern.
-
Aus
den vorstehend diskutierten Beispielen ist ersichtlich, dass eine
große
Zahl von unterschiedlichen Vermittlungstopologien unter Verwendung
von Kombinationen der Strukturelemente und Linkverbindungen nach
der vorliegenden Erfindung möglich
ist. In der Praxis muss auch ein umfassendes, aber dennoch einfaches
und flexibles Adressierungs- und Blocksteuerungsmodell bereitgestellt
werden, um das Potenzial dieser Topologien nutzen zu können. Die
vorliegende Erfindung stellt eine Adressierung zur Durchführung dieser
Aufgaben bereit.
-
9A,
B und C zeigen, wie das Fibre Channel D_ID-Adressfeld mit 24 Bit
zum Adressieren innerhalb der mittels Links verbundenen Gestelle nach
der vorliegenden Erfindung verwendet wird. Das definierte Fibre
Channel D_ID-Feld ist in 9A gezeigt.
Die niederwertigen Bits 0 bis 7 werden zum Adressieren innerhalb
einer ausgesuchten Schleife (AL_PA in der Fibre Channel-Terminologie)
verwendet. Die Bits 8 bis 15 werden für den Fibre Channel-Bereich
verwendet, das heißt
die Anschlussnummer innerhalb einer Domain, und die Bits 16 bis
23 werden für
die Domain oder das Gestell als das Adressierungskonzept höchster Ordnung
verwendet.
-
In
der vorliegenden Erfindung werden die Bereichsbits des D_ID-Felds
als die Anschlussadresse in mittels Links verbundenen Gestellen
verwendet. Die Bits für
die ausgesuchte Schleife und für
die Domain entsprechen unverändert
dem Fibre Channel-Standard. 9B zeigt,
wie das Bereichsfeld in der vorliegenden Erfindung bei einem 8-
oder 16-Kanal-Gestell verwendet wird. In beiden Fällen ist
nur ein Strukturelement mit 16 Anschlüssen mit seinem ASIC mit 16
Anschlüssen
vorgesehen. Daher können die
Bits 8 bis 11 zum Adressieren der 16 Anschlüsse verwendet werden. Die Bits
12 bis 15 werden nicht benötigt.
-
9C zeigt,
wie das Bereichsfeld in der vorliegenden Erfindung bei einem 32-,
64-, 128- oder 256-Kanal-Gestell verwendet wird. In diesen Fällen gibt
es mehrere Strukturelemente, aber von jedem Strukturelement werden
nur acht seiner Anschlüsse als
Kanäle
verwendet (die übrigen
acht Anschlüsse werden
in Linkverbindungen verwendet). Daher sind nur die drei Bits 8 bis
10 für
die Kanal-Anschlussnummer im ASIC nötig. Weil jedoch bis zu 32
Strukturelemente (ASICs) in der vorderen Reihe vorgesehen sein können, sind
für diese
fünf Adressbits
11 bis 15 nötig.
-
Auf
diese Weise kann das normale Fibre Channel D_ID-Adressfeld verwendet
werden, um jeden der 256 Kanäle
in dem in 8 gezeigten Gestell einzeln
zu adressieren. Selbstverständlich
gilt dies auch für
die kleineren Gestelle in 3 bis 7,
außer
dass in diesen Fällen
nicht alle Bits verwendet werden. Ein Fibre Channel-Block, der auf
einem beliebigen Kanal erscheint, kann daher gezielt jeden anderen
Kanal in dem Gestell adressieren.
-
Mit
dem Strukturelement mit 16 Anschlüssen und den Adressierungs-
und Steuerungstechniken nach der Erfindung können bis zu 256 Domains mit jeweils
256 Kanälen
für insgesamt
65.536 Kanäle (abzüglich der
Anzahl der als Verbindungsleitungen verwendeten Kanäle) unterstützt werden.
-
Nachstehend
folgt eine Zusammenfassung dessen, wie die Adressfelder für die Blocksteuerung verwendet
wird. Wenn eines der Gestelle in 3 bis 8 allein
verwendet wird, befinden sich alle Kanäle im Netz in derselben Domain.
Ein mittels Links verbundenes Gestell nach 3 bis 8 kann
jedoch über
eine Mehrstufenverbindung mit anderen Gestellen verbunden sein,
wobei die verschiedenen Gestelle in diesem Fall unterschiedliche
Domainnummern haben. Bei dieser Mehrstufenverbindung können die einzelnen
Gestelle mittels Kaskaden-, Gitter- oder Kreuzverbindung oder einer
anderen Verbindung verbunden sein. Wird ein Block als eine Eingabe
an einem Kanalanschluss präsentiert,
wird zuerst die Domain des D_ID untersucht. Ist die Zieldomain dieselbe
wie die Eingabeanschluss-Domain, bleibt der Block in dem Gestell;
ist sie unterschiedlich, wird er an ein anderes Gestell geleitet;
im Einzelnen wird er an den richtigen Kanal geleitet, der mit dem
nächsten Gestell
entsprechend der aktuellen Systemtopologie ver bunden ist. Danach
kontrolliert der Eingabeanschluss die ASIC-Nummer. Stimmt der Ziel-ASIC
mit der ASIC-Nummer des Eingabeanschlusses überein, bleibt der Block in
dem ASIC und wird durch den Anschlussnummernteil des D_ID einfach
an den entsprechenden Anschluss geleitet. Natürlich wird er am Zielanschluss,
wenn dort eine ausgesuchte Schleife ist, durch den AL_PA-Teil der
Adresse weitergeleitet.
-
Ist
die Domain korrekt, die Ziel-ASIC-Nummer jedoch nicht dieselbe wie
der Eingabekanal-ASIC, muss der Eingabeanschluss die Route zur Ziel-ASIC-Nummer
nachschlagen. Weil mehrere Links zwischen den Strukturelementen
vorgesehen sind, wie in 3 bis 8 gezeigt,
gibt es mehrere Routen zu dem gewünschten Strukturelement. In 6 könnte zum
Beispiel ein Anschluss im Strukturelement M0 unter
Verwendung jeder der acht Links von M0 und
jeder der Links zu M1 durch das Strukturelement
M20 oder M21 zu
einem Anschluss an einem Anschluss im Strukturelement M1 geführt werden.
Ein einzelner Pfad von einem bestimmten Anschluss zu einem anderen
bestimmten Anschluss, bezeichnet als ein virtueller Kanal, kann
bei der Einrichtung eindeutig ausgewählt und programmiert werden,
so dass dies im Betrieb der einzige Pfad für die betreffende Verbindung
sein wird, um die richtige Übertragungsreihenfolge
der Blöcke
zu gewährleisten.
Sobald der Block am Ziel-ASIC ankommt, erfolgt das Routing durch
die Anschlussnummer, wie vorstehend beschrieben.
-
10 zeigt
eine weitere Ansicht des ASIC 20 in 1 mit mehr
Details, einschließlich
der Crossbars 120 bis 123. In 1 sind
die Crossbars zusammenfassend als ein einzelner Funktionsblock mit
dem Bezugszeichen 50 versehen. In der detaillierten Ansicht
in 10 ist zu erkennen, dass diese Crossbarfunktion
eigentlich von vier getrennten Vermittlungscrossbars bereitgestellt
wird. Dies sind der Blockkennzeichencrossbar 120, der Blockzustandscrossbar 121,
der Blockanfragecrossbar 122 und der Zustands-/Blockübermittlungscrossbar 123.
Darüber hinaus
zeigt 10 einen Eingabelink und einen Ausgabelink
sowie die damit verbundene Adressverarbeitung und Blocksteuerung.
Jeder ASIC weist 16 solcher Paare von Eingabe-/Ausgabelinks auf.
Der Übersichtlichkeit
halber ist in der Zeichnung jedoch nur ein Paar gezeigt. Die übrigen 15
Paare sind in gleicher Weise mit den Crossbars 120 bis 123 verbunden,
ebenso wie der Anschluss zum IOP. Die Crossbars 120 bis 123 werden
zusammen mit dem Steuerungssystem verwendet, um jeden Block zu dem
(den) gewünschten
Ziel(en) zu leiten, wie nachstehend beschrieben.
-
Das
Bezugszeichen 101 (DES) bezeichnet den Deserialisiererabschnitt
des SERDES Sn in 2 und das
Bezugszeichen 131 (SER) den Serialisiererabschnitt. Diese
sind mit den entsprechenden Datenlink-Eingabe- und Datenlink-Ausgabe-Optokopplern
verbunden. Der DES 101 setzt ankommende serielle Linkdaten
in mit den Fibre Channel-„Komma"-Zeichen synchronisierte
parallele 10-Bit-Daten um und gibt die Daten an die Empfangs-Pipe
(RCVR) 102 weiter. Der Empfänger RCVR empfängt parallele 10-Bit-10-B-Daten von
dem DES und demultiplext sie in 20-Bit-Daten, decodiert 10B-Daten zu 8B-Daten mit
Fehlerprüfung
und fügt
ein Paritätsbit
hinzu. Darüber
hinaus führt
der RCVR zahlreiche Fibre Channel-1- und -2-Funktionen wie zum Beispiel
das Erkennen von Blockanfang, Blockende, Freizuständen, R_RDYs
und dergleichen durch, die hier nicht im Detail erläutert sind,
da es sich um Standardfunktionen handelt. Die vom RCVR 102 empfangenen
Blöcke werden
schließlich
in den Empfangspuffer (RBUF) 115 geschrieben (mit Ausnahme
bestimmter Fibre Channel AL-Blöcke).
Der RCVR 102 ist auch mit dem Glättungs-FIFO (SMF) 103 verbunden,
der durch FC_AL geforderte Glättungsfunktionen
ausführt,
um Taktfrequenzschwankungen zwischen den entfernten Übermittlungs-
und lokalen Empfangsgeräten auszugleichen.
-
Das
Bezugszeichen 104 bezeichnet den Blockeingabepfad. Alle
Blöcke,
die an diesem Anschluss der Vermittlungsstruktur ankommen, folgen diesem
Pfad, um in den RBUF 115 geschrieben zu werden, im Gegensatz
zu Blöcken,
die dem AL-Pfad 105 folgen und auf derselben Verbindung
zurückübertragen
werden. Der Pfad 105 wird verwendet, wenn der Link im AL-Überwachungs-
oder AL-Bypassmodus ist, wie durch FC_AL angegeben. In diesem Fall
werden alle auf dem Link empfangenen Daten auf dem Link zurückübertragen,
mit Ausnahme des Fibre Channel Ordered Set, der durch den SMF gelöscht oder
eingefügt
wird.
-
Der
CRC-Prüfer
(CRC) 106 verarbeitet die in die Struktur eingegebenen
Blöcke
weiter, indem die CRC- und Verarbeitungsfehler entsprechend den FC_PH-Regeln
kontrolliert werden. Danach gibt er die Blöcke an den RBUF 115 weiter,
wo sie später
an den entsprechenden Ausgabelink geleitet werden.
-
Auch
die Steuerungszustandsmaschine (SSM) 107 empfängt den
Block und bestimmt, an welches der 17 möglichen Ziele in der Struktur
(16 GL_Ports und der Struktur-Controller) der Block weitergeleitet
werden muss. Die SSM erzeugt eine 17-Bit-Zielmaske mit einem Bit für jedes
Ziel. Jedes auf 1 gesetzte Bit gibt ein gültiges Ziel an, und es können mehrere
Bits gesetzt sein, da es mehrere Ziele für denselben Block gibt.
-
Die
SSM 107 führt
diese Bestimmung anhand von Informationen durch, die in dem Alias-Cache
(AC) 108, dem nativen Kennungsregister (NID) 109,
der Anschlusssteuerungstabelle (PST) 113, der ASIC-Steuerungstabelle
(AST) 112, der Domainsteuerungstabelle (DST) 111 und
dem Topologieregister (TOP) 110 enthalten sind. Alle Tabellen
werden vom IOP auf der Basis der Topologie der vorhandenen Vermittlungsstruktur
geschrieben, so dass die richtigen Ausgabepfade für die gewünschten
Zielanschlussadressen gewählt
werden.
-
Der
AC 108 speichert ausgewählte
Adressen zur Unterstützung
der Fibre Channel-Alias-Adressfunktion. Der AC 108 stellt
das komplette Hardware-Routing für
Ausstrahlungs- und Multicastfunktionen sowie alle anderen Fibre
Channel-Alias-Funktionen bereit. Für Fibre Channel-Alias-Funktionen
ist D_ID ein Wert oder ein Befehl und keine Adresse. Der AC ist
ein Cache mit mehreren Einträgen,
der 24-Bit-D_ID-Werte,
drei Bits für
den Vergleich wichtiger Kennungs- oder ID-Felder für Domain,
Bereich und Anschluss für
zusätzliche
Flexibilität
und eine 17-Bit-Zielmaske enthält.
Im Betrieb vergleicht die SSM die Block-D_ID mit allen Einträgen im AC;
wird eine Übereinstimmung
mit einem Eintrag festgestellt, wird die zugehörige Zielmaske für die Steuerung
verwendet. Die Anzahl der AC-Einträge ist eine Implementierungsoption.
-
Gibt
es keine Übereinstimmung
im AC 108, steuert die SSM bei Unicast-Funktionen mit Hilfe
von TOP-, NID-, DST-, AST- und PST-Befehlen, wie nachstehend beschrieben.
-
NID 109 ist
ein programmierbarer 16-Bit-Wert, der die native Kennung des jeweiligen GL_Ports
angibt und die native Domainnummer, Bereichsnummer und Anschlussnummer
liefert. Er wird zum Vergleich mit der Block-D_ID (Bits 23:16) beim Routing
durch Parsen der Block-D_ID verwendet.
-
TOP 110 ist
ein programmierbarer 2-Bit-Wert, der die Position dieses betreffenden
ASIC in einer Topologie angibt, um der SSM anzuzeigen, wie die Block-D_ID
beim Routing durch die Steuerungstabellen zu parsen ist.
-
Die
Domainsteuerungstabelle (DST) 111 ist eine programmierbare
Lookup-Tabelle mit
einem Eintrag für
jeden einzelnen aller unterstützten
Domainwerte. Jeder Eintrag enthält
ein 4-Bit-Zielfeld, das angibt, über
welchen Chip-Pfad die betreffende Domain zu erreichen ist, und ein
1-Bit-Gültigkeitsfeld,
das angibt, ob die betreffende Domain existiert oder in dem konfigurierten
System verfügbar
ist. Die DST-Tabelle wird konsultiert, wenn die Block-D_ID eine
andere Domainnummer als die NID angibt. Die Anzahl der unterstützten Domainwerte
ist eine Implementierungsoption.
-
Das
Gültigkeitsbit
für die
DST kann verwendet werden, um eine sehr praktische Form des harten Verzonens
zu ermöglichen.
Das Gültigkeitsbit
würde gelöscht, wenn
die Domain in einem bestimmten Netz überhaupt nicht existiert; zusätzlich kann
das Gültigkeitsbit
gelöscht
werden, wenn die Domain existiert, aber für diesen betreffenden Kanal
nicht verfügbar
sein soll. Aus Sicherheitsgründen
ist es in einigen Netzinstallationen wichtig, dass bestimmte Kanäle oder
Gruppen von Kanälen
von der Kommunikation zu oder von bestimmten anderen Kanälen oder
Gruppen ausgeschlossen sind. Die Systemadministratoren benötigen einen
Mechanismus, um sicherzustellen, dass bestimmte Benutzer oder Geräte, die
mit dem Netz verbunden sind, keinen Zugriff auf bestimmte Kanäle und die
daran angeschlossenen Geräte
erhalten. Eine vollständige
physikalische Trennung ist möglicherweise
nicht erwünscht,
weil es trotzdem wichtig sein kann, dass bestimmte Kanäle an andere
senden können,
während
das Senden in entgegengesetzter Richtung verhindert wird. In Vermittlungsnetzen
nach der bisherigen Technik wurde dieses Verzonen realisiert, indem
die Struktur-Controller programmiert wurden, die Domains und Adressen
im Fibre Channel-Alias-Server zu kontrollieren und den Zugang von
und zu bestimmten Kanälen
auf dieser Grundlage zu gestatten oder zu verweigern. Benutzer von
mit dem Netz verbundenen Geräten könnten jedoch
unter bestimmten Umständen
durch bewusstes „Hacking", Scannen aller Adressen
oder Ändern
von Namen im Alias-Server Zugriff auf gesperrte Geräte erhalten.
Das mit der vorliegenden Erfindung bereitgestellte harte Verzonen
kann nicht durch einen mit einem Kanal verbundenen Benutzer geändert werden.
Dies ist nur einem Systemadministrator möglich, indem er das Gültigkeitsbit
für bestimmte
Domains im Voraus in die DST von ausgewählten Strukturelementen lädt. Durch
diese Auswahl können
bestimmte Kanalgruppen durch hartes Verzonen am Senden an Zielkanäle in bestimmten Domains
gehindert werden.
-
Die
ASIC-Steuerungstabelle (AST) 112 ist eine programmierbare
Lookup-Tabelle mit einem Eintrag für jeden von 32 ASIC-Werten.
Jeder Eintrag enthält
ein 4-Bit-Zielfeld, das angibt, über
welchen Chip-Pfad der betreffende ASIC zu erreichen ist, und ein
1-Bit-Gültigkeitsfeld,
das angibt, ob der betreffende ASIC in dem System existiert. Das
Gültigkeitsbit würde gelöscht, wenn
der ASIC überhaupt
nicht existiert oder wenn er existiert, aber für diesen betreffenden Anschluss
nicht verfügbar
ist, was eine Form des harten Verzonens darstellt. Die AST-Tabelle
wird konsultiert, wenn die Block-D_ID eine andere ASIC-Nummer angibt
als die NID.
-
Die
Anschlusssteuerungstabelle (PST) 113 ist eine programmierbare
Lookup-Tabelle mit
einem Eintrag für
jeden von 16 Anschlusswerten. Jeder Eintrag enthält ein 1-Bit-Gültigkeitsfeld,
das angibt, ob der Anschluss in dem System vorhanden ist. Das Gültigkeitsbit
würde gelöscht, wenn
der Anschluss überhaupt
nicht existiert oder wenn er existiert, aber für diesen bestimmten Anschluss
nicht verfügbar
ist, was ebenfalls eine Form des harten Verzonens darstellt. Ist
der Eintrag gültig,
gibt die Block-D_ID (11:8) die Anschlussnummer an, zu der der Block
zu leiten ist. Diese Tabelle wird konsultiert, wenn der Block sich
im Ziel-ASIC befindet; danach muss nur noch das Routing an den richtigen
GL_Port vorgenommen werden.
-
Der
Empfangspuffer (RBUF) 115 ist der in der Fibre Channel-Spezifikation
vorgesehene Standard-Linkempfängerpuffer
und kann mehrere Blöcke aufnehmen.
Die maximale Anzahl von Blöcken
ist der verbindungslose „Kreditzähler" des Puffers, der
in der Anmeldeantwort an das angeschlossene Gerät mitgeteilt wird. Jeder Wert
zwischen 1 und 256 kann implementiert werden.
-
Der
Kennzeichenschreiber (TWT) 114 dient zum Schreiben von
Kennzeichen an alle Ziele, die in der von der SSM 107 erzeugten
Zielmaske angegeben sind. Er schreibt immer mindestens ein Kennzeichen
(Unicast-Aussendung oder adressiert an die Struktur), kann aber
auch mehrere Kennzeichen für die
Multicast-Aussendung schreiben. Jedes vom TWT 114 geschriebene
Kennzeichen gibt den entsprechenden Block an, indem es die Slotnummer
im RBUF 115 enthält,
wo sich der Block befindet, und einen Hinweis, dass das Kennzeichen
gültig
ist.
-
Das
Bezugszeichen 116 bezeichnet das RBUF-Kennzeichenregister
(RTAG). Jeder Slot im RBUF 115 weist eine zugehörige Gruppe
von Kennzeichen auf, die verwendet werden, um die Verfügbarkeit
des Slots zu steuern. Die primären
Kennzeichen sind eine Kopie der bei der Verarbeitung des Blocks
durch die SSM 107 erzeugten Zielmaske. Wie nachstehend
ausführlich
beschrieben, wird so jedes Ziel für einen Block mitgeteilt, und
das Ziel fordert dann eine Kopie des Blocks an und empfängt diese. Wenn
jedes Ziel eine Kopie des Blocks angefordert hat, wird das entsprechende
Zielmaskenbit im RTAG 116 gelöscht. Wenn alle Zielmaskenbits
gelöscht sind,
haben alle angegebenen Ziele eine Kopie des Blocks empfangen, und
der entsprechende Blockslot im RBUF 115 ist leer und für einen
neuen Block verfügbar.
-
Darüber hinaus
enthält
das RTAG 116 andere Kennzeicheninformationen mit Blockinhaltsinformationen,
die an das anfordernde Ziel gegeben werden müssen, um das Ziel für den zu übertragenden Blocktyp
vorzubereiten. Diese Kennzeichen werden über den Lesemultiplexer (RMUX) 119 und
den Zustands-/Blockübermittlungscrossbar 123 an
das Ziel übertragen.
-
Zur
Illustration sind sowohl das RTAG 116 als auch der RBUF 115 mit
vier Krediten gezeigt, aber es ist ersichtlich, dass es in der Praxis
allgemein wünschenswert
ist, erheblich mehr als vier Kredite zu haben, nämlich bis zu 256, und dass
es so viele RTAG-Sätze
wie RBUF-Kredite gibt.
-
Die
RBUF-Schreibsteuerung (RWT) 117 gibt an, in welchen leeren
Slot des RBUF 115 geschrieben wird, wenn ein neuer Block über die
Datenverbindung vom CRC 106 ankommt. Die RWT 117 steuert die
Schreibadresse des RBUF 115 und liefert die Slotnummer
an den TWT 114 zur Weitergabe an die angegebenen Ziele.
-
Die
RBUF-Lesesteuerung (RRD) 118 verarbeitet die Blockübertragungsanfragen
von verschiedenen Zielen für
alle Slots im RBUF 115. Die Blöcke können in beliebiger Reihenfolge
aus dem RBUF 115 ausgelesen werden, unabhängig von
der Reihenfolge, in der sie geschrieben wurden, und die Reihenfolge
des Auslesens wird durch die Reihenfolge bestimmt, in der die Ziele
die Blöcke
anfordern. Die RRD 118 steuert „Lesefenster", in denen mehrere Ziele
gleichzeitig eine Kopie desselben Blocks empfangen können. Die
RRD 118 löscht
auch die Zielmaskenbits im RTAG 116, wenn die Blöcke übertragen
werden.
-
Der
Lesemultiplexer (RMUX) 119 ermöglicht die Weitergabe der Informationen
in dem von dem Ziel angegebenen Slot an ein Ziel. Zuerst wird der Blockzustand
im RTAG 116 weitergegeben, bis das Ziel die Blockübertragung
anfordert, woraufhin der Block aus dem RBUF weitergegeben wird.
Die RRD 118 steuert, was der RMUX 119 weitergibt.
-
Der
Blockkennzeichencrossbar 120 ist ein Koppelfeld 17 × 17, das
es allen TWTs ermöglicht, ihre
Kennzeichen an jedes Ziel zu schreiben. Jeder TWT 114 weist
17 sog. Ziel-„Strobes" und einen „Slot"-Indikator mit 4
Bits auf. Für
einen bestimmten Block aktiviert der TWT 114 die „Strobes" zu allen in der
Zielmaske angegebenen Zielen, wodurch das Schreiben der Slotnummer
aus dem RBUF 115 auf die entsprechenden Übertragungskennzeichen (TTAG) 124 veranlasst
wird.
-
Der
Blockslotcrossbar 121 ist ein Koppelfeld 17 × 17, das
die Weitergabe zusätzlicher
Blockinformationen im RTAG 116 an ein Ziel ermöglicht,
nachdem das Ziel diesen Block für
die Übertragung
ausgewählt
hat. Das Ziel liefert die Slotnummer im RBUF 115 für den ausgewählten Block,
und das RTAG übermittelt
den Blockzustand an den RMUX 119 und den Zustands-Blockübermittlungscrossbar 123.
-
Der
Blockanfragecrossbar 122 ist ein Koppelfeld 17 × 17, das
es Zielen ermöglicht,
die Übertragung
des Blocks aus dem angegebenen Slot im RBUF 115 anzufordern.
Das Ziel nimmt die Anfrage vor, und der RBUF 115 überträgt entweder
den Block an das Ziel oder kann wahlweise die Übertragung ablehnen.
-
Der
Zustands-Blockübermittlungscrossbar 123 ist
ein Koppelfeld 17 × 17,
das die Übertragung eines
Blocks aus einem Slot im RBUF 115 an ein Ziel ermöglicht.
Der übertragene
Zustand/Block stammt aus dem angegebenen Pufferslot auf dem Blockslotcrossbar 121.
Zuerst wird der Blockzustand auf diesem Pfad weitergegeben, um das
Ziel für
die ordnungsgemäße Handhabung
des Blocks vorzubereiten, ehe der Block selbst übertragen wird.
-
Das Übertragungskennzeichenregister (TTAG) 124 liefert
für jedes
Ziel eine Liste aller Blöcke
auf dem Chip, die von dem Ziel übermittelt
werden müssen.
Der Übertragungszuteiler
(TARB) 125 kann dann frei entscheiden, welche Quelle und
welcher Block aus dieser Quelle als Nächstes verarbeitet werden sollen.
Jedes Blockkennzeichen enthält
einen Gültigkeitsindikator
und einen Indikator für
die Slotnummer im RBUF 115.
-
Das
TTAG 124 ist eine Sammlung von Kennzeichen-FIFOs, einer
für jede
Quelle, so dass insgesamt 17 FIFOs vorgesehen sind. Für jede Quelle schreiben
die TWTs 114 die Kennzeichen an einem Ende des FIFO ein,
während
der TARB 125 die Kennzeichen am anderen Ende ausliest.
Dies liefert die grundlegende Funktion, um sicherzustellen, dass Blöcke in derselben
Reihenfolge übermittelt
werden, wie sie von der Quelle empfangen wurden, um die richtige Übertragungsreihenfolge
zu gewährleisten. Für jede gegebene
Quelle gibt es so viele Zellen in den FIFOs des TTAG 124 wie
Kredite im RBUF 115.
-
Das älteste Blockkennzeichen
stellt einen Gültigkeitsindikator
für den
TARB 125 dar und liefert die Slotnummer an die Quelle,
so dass der Blockzustand durch den Zustands-/Blockübermittlungscrossbar 123 verfügbar ist,
damit der TARB 125, wenn er zur Verarbeitung des Blocks
bereit ist, alle nötigen
Informationen hat, um die Übertragung
zu beginnen.
-
Zur
Illustration ist das TTAG 124 so gezeigt, als gebe es fünf Quellen,
jeweils mit vier Krediten. In der Praxis sind jedoch 17 FIFOs für 17 unterschiedliche
Quellen (16 GL_Ports und der IOP) vorgesehen, und die Tiefe jedes
FIFO entspricht der Anzahl der Kredite an jeder Quelle, die zwischen
1 und 256 für GL_Ports
und eine beliebige Anzahl von IOPs betragen kann.
-
Der Übertragungszuteiler
(TARB) 125 bestimmt, welche Quelle die nächste ist
und wie viele Blöcke
von dieser Quelle abgearbeitet werden, ehe er eine weitere Quelle
bedient. Das Verfahren zum Auswählen
der Quellen und Festlegen, wie lange eine Quelle bedient wird, richtet
sich vorzugsweise danach, welche Übertragungseigenschaften für den jeweiligen
Markt bei einer bestimmten Implementierung gewünscht sind.
-
Der
TARB 125 wird jedes Mal aktiviert, wenn eines oder mehrere
gültige
Blockkennzeichen im TTAG 124 vorliegen. Wenn der TARB 125 eine
Quelle bedient, erzwingt das älteste
Blockkennzeichen für diese
Quelle die Übertragung
des Blockzustands für diese
Quelle und den Slot an das Ziel. Sobald der TARB 125 die
Vorbereitung seiner Kontrollen für
den Block abgeschlossen hat, fordert er den Block an und wartet
darauf, dass der Block auf dem Zustands-/Blockübermittlungscrossbar 123 erscheint und
dann in den Übermittlungspuffer
(TBUF) 127 geschrieben wird. Nach Ende der Übertragung
kann der TARB 125 einen weiteren Block von derselben Quelle
anfordern oder entscheiden, eine andere Quelle mit einem gültigen Blockindikator
zu bedienen.
-
Der
Blockmultiplexer (FMUX) 126 ist ein 17-Wege-Multiplexer,
der verwendet wird, um zunächst
den Blockzustand an den TARB 125 und dann den Block selbst
an den TBUF 127 zu übertragen. Die
Wahl des Eingabepfads für
den FMUX 126 wird durch den TARB 125 bestimmt,
der die Quelle auswählt.
-
Zur
Illustration ist der FMUX in 10 so
gezeigt, als gebe es fünf
Quellen. In der Praxis gibt es bei einem ASIC mit 16 Anschlüssen jedoch
17 Quellen, bestehend aus 16 GL_Ports und dem IOP.
-
Der Übertragungspuffer
(TBUF) 127 ist ein Puffer, der einen Block von 2.148 Bytes
aufnehmen kann und vom FMUX 126 gespeist wird. Der TBUF 127 ist
der Pfad zum Linksender. In der Regel landen die Blöcke nicht
vollständig
im TBUF 127, wie etwa im RBUF 115, sondern durchlaufen
den TBUF 127 auf dem Weg zum Sender. Der TBUF 127 dient
auch zur Bereitstellung einer Elastizitätsfunktion in Fällen, in
denen sich die Leserate des TBUF 127 von der Schreibrate
des TBUF 127 unterscheidet.
-
Der
TBUF 127 dient auch zur Bereitstellung der Funktion von
Pfad 134 zum Struktur-Controller für Blöcke, die Ausnahmen darstellen
und vom Struktur-Controller verarbeitet werden müssen (nicht gezeigt). Der TARB 125 überträgt den Ausnahmeblock aus
einem RBUF 115 in den TBUF 127, ehe der Block
sofort zu Verarbeitung an den IOP weitergegeben wird.
-
Der Übertragungsmultiplexer
(TMUX) 128 entscheidet, welcher Datenpfad mit dem Sender
verbunden wird. Die Quellen sind vom IOP angegebene Primitivsequenzen,
durch die TXSM 129 angegebene Primitivsequenzen und Signale,
dem Schleifenpfad folgende Blöcke
oder Steuerblöcke,
die die Struktur über
den TBUF 127 verlassen.
-
Die Übertragungszustandsmaschine (TXSM) 129 wählt die
genauen Daten aus, die an den Linksender gesendet werden, und setzt
alle Fibre Channel-Regeln für
die Übertragung
um. Die TXSM 129 erhält Übertragungsanfragen
von der LPSM 132, vom TBUF 127 und von verschiedenen
IOP-Funktionen.
-
Die
Schleifenzustandsmaschine (LPSM) 132 steuert die Übertragungs-
und Empfangsfunktionen, wenn sich der GL_Port im Schleifenmodus
befindet. Die LPSM 132 unterstützt die in FC-AL und FC-AL-2 angegebenen
Schleifenfunktionen.
-
Die
TXSM 129 handhabt auch alle Kreditmanagementfunktionen,
so dass verbindungslose Fibre Channel-Blöcke nur übertragen werden, wenn ein entsprechender
Linkkredit vorliegt.
-
Der
Sender (XMTR) 130 bringt die ausgewählte Übertragungsquelle in das richtige
Format für die Übertragung
auf dem Ausgabedatenlink. Bei Blöcken
prüft er
zuerst auf Paritätsfehler
in dem Block, ehe sie von 8B in 10B codiert werden, wobei Blöcke nach
den Fibre Channel-Regeln als ungültig
markiert werden, wenn ein Paritätsfehler
vorliegt. Für
alle Fibre Channel-Übertragungsworte
setzt er sie dann in 10B um und multiplext die Daten in das vom
Serialisierer 131 benötigte
Format.
-
Der
Serialisierer (SER) 131 wandelt parallele Übertragungsdaten
in serielle Daten um, ehe die Daten an das Linkmedium weitergegeben
werden. Der SER 131 kann intern im ASIC oder extern ausgeführt werden.
-
Nachdem
die Funktionen der einzelnen Komponenten in 10 vorstehend
beschrieben worden sind, folgt nachstehend eine Zusammenfassung
des Betriebs der Steuerungs- und Routingfunktionen.
-
Die
Steuerregister 109 bis 113 und der Alias-Cache 108 werden
beim Hochfahren geladen. Dies kann durch Laden von Parametern aus
einem Programm erfolgen, das entsprechend der Vermittlungs- und
Netztopologie konfiguriert ist, in der die einzelnen Strukturelemente
verbunden sind. Dies kann auch automatisch als Teil des in Fibre
Channel verwendeten Topologieerkennungsverfahrens erfolgen. Dieses
Verfahren muss erst wiederholt werden, wenn die Vermittlungs- oder
Netztopologie geändert werden
soll. Mit dem Laden dieser Parameter wird jeder ASIC in der Vermittlung über seine
native Kennung und den Ausgabepfad von dem ASIC selbst zu jedem
anderen Anschluss irgendwo in der Vermittlung und, wenn das Vermittlungsgestell
in ein Netz eingebunden ist, zu jedem anderen Anschluss irgendwo
im Netz informiert. Bei diesen letzteren Informationen handelt es
sich implizit um die Topologieinformationen, soweit die Blocksteuerung
betroffen ist.
-
Aufgabe
der SSM 107 ist das Erzeugen der Zielmaske für jeden
empfangenen Block. Auch hierbei muss die SSM das komplexe allgemeine
Problem der gesamten Steuerung zum Erreichen des endgültigen Ziels
nicht kennen oder lösen,
sondern nur das unmittelbare Problem der Steuerung des Blocks zu einem
(oder mehreren) der eigenen Anschlüsse der ASICs. Keines der Strukturelemente
muss jemals für das
vollständige
Routing durch die gesamte Vermittlung oder das Netz verantwortlich
sein. Jedes einzelne Element trifft lokale Entscheidungen für seinen
eigenen Ausgabeanschlüsse.
Wird ein Block empfangen und an den RBUF 115 gesendet,
beginnt die SSM 107 gleichzeitig mit dem Decodieren der
Zieladresse für
den Block. Die Adresse wird gleichzeitig mit dem Alias-Cache 108 und
den Steuerregistern 109 bis 113 vergleichen. Liegt
ein Treffer im Alias-Cache 108 vor, muss das Decodieren
in den Steuerregistern nicht abgeschlossen werden. In diesem Fall liefert
der Alias-Cache 108 die Steuerungsmaske für die betreffende
Adresse, und der Vorgang des Schreibens der Kennzeichen und des Übertragen des
Blocks an die in dieser Maske angegebenen Ausgabeanschlüsse kann
fortgesetzt werden.
-
Liegt
kein Treffer im Alias-Cache 108 vor, kommen die Steuerregister 109 bis 113 ins
Spiel. Die Domain der Zieladresse wird mit der Domain der nativen
Kennung des ASIC verglichen, und wenn sie nicht übereinstimmen, gibt die DST
eine Zielmaske für
den Block zur Steuerung an den richtigen Anschluss (zuvor bei der
Initialisierung programmiert) von diesem ASIC aus, um zu der richtigen
Domain zu gelangen.
-
Stimmen
die Domains überein,
wird die ASIC-Nummer der Zieladresse mit der ASIC-Nummer der nativen
Kennung des ASIC verglichen. Stimmen sie überein, kann das Routing durch
die Anschlussnummer abgeschlossen werden, und die Zielmaske wird
dementsprechend aus der PST 113 erzeugt.
-
Gibt
es eine Übereinstimmung
für die
Domain und eine Nichtübereinstimmung
für die ASIC-Nummer,
wird in der AST 113 nach der Zielmaske gesucht, um den
Ziel-ASIC von diesem
ASIC zu erhalten, und das Routing wird von dort fortgesetzt.
-
Sobald
die Zielmaske für
den Block erzeugt ist, wird der Block unter Verwendung der Kennzeichen,
Crossbars und Übertragungszuteiler
an den Ausgabeanschluss des ASIC geleitet, wie vorstehend beschrieben.
Ein wichtiges Merkmal der Erfindung besteht darin, dass das eigentliche
Routing der Blöcke
von Anschluss zu Anschluss innerhalb des ASIC auf der Grundlage
der frühesten
Verfügbarkeit des
Zielanschlusses zum Empfangen eines bestimmten Blocks beruht. Daher
basiert die bei der bevorzugten Ausführungsform der Erfindung verwendete
Blockübertragungsmethode
auf Senderblockkennzeichen und dem Senderbedarf, um zu bestimmen, welche
im Cache gespeicherten Blöcke
als Nächstes übertragen
werden. Dies wird als Sender-Block-Pull bezeichnet, im Gegensatz
zum Empfänger-Block-Push.
Hierbei tritt kein Zeilenkopfblockieren auf, wie es der Fall wäre, wenn
die Blöcke
von einem Empfangspuffer auf „first
in, first out"-Basis gehandhabt
würden.
Wenn eine Verzögerung
bei dem Zielanschluss auftritt, wird in solchen Systemen der gesamte
Blockverkehr auf dem Strukturelement angehalten, bis das Problem
gelöst
ist. Die verschiedenen Crossbar-, Kennzeichen-, Zustands- und Auswahltechniken
nach der vorliegenden Erfindung verhindern ein Zeilenkopfblockieren.
-
Ein
weiteres wichtiges Merkmal der vorliegenden Erfindung ist die Einfachheit
und Flexibilität, mit
der die Adressierung und Blocksteuerung erreicht werden, auch in
Anbetracht komplexer und unterschiedlicher Topologien, in denen
die Strukturelemente miteinander verbunden sein können. Wie
unter Bezugnahme auf 4 bis 9 erläutert, können einzelne
Strukturelemente in unterschiedlicher Anzahl und mit unterschiedlichen
Verbindungstopologien miteinander verbunden werden, um viele verschiedene
Vermittlungsgestelle zu bilden. Diese wiederum können in unterschiedlicher Anzahl
und mit unterschiedlichen Topologien miteinander verbunden werden,
um viele verschiedene Vermittlungsnetze zu bilden. Für den eigentlichen
Routing-Pfad von einem Kanalanschluss zu einem bestimmten anderen
Kanalanschluss gibt es enorm viele Mög lichkeiten, woraus sich eine
entsprechend große
Anzahl von Komplexitäten
beim Routing von Blöcken
ergibt. Bei der vorliegenden Erfindung muss jedoch das gesamte Problem
des Routing nicht für
jeden Block in jedem Strukturelement gelöst werden. Stattdessen muss
jedes Strukturelement den Block nur an den richtigen seiner Anschlüsse leiten
und an das nächste
Strukturelement übergeben
(sofern sich der Zielanschluss nicht auf demselben Strukturelement
befindet). Das nächste
Strukturelement muss den Block wiederum nur an den richtigen seiner
Anschlüsse
leiten und so weiter, bis der endgültige Zielkanal erreicht ist.
Die Zuordnung von jedem Eingabeanschluss zu jedem möglichen
Zielanschluss für
das gesamte Vermittlungsnetz wird durch die Steuerungslogik vorgenommen,
die im Wesentlichen die Adressbits für jeden Block prüft und mit
der bekannten Position in der Topologie des ASIC vergleicht, um
die Zielmaske zu erzeugen. Die Topologieposition jedes ASIC oder Strukturelements
muss nur einmal in jeden ASIC geschrieben werden, entweder beim
Start oder automatisch bei der Topologieerkennung beim Start. Danach kann,
bis die Konfiguration der Vermittlung aus irgendeinem Grund geändert werden
soll, jeder ASIC einfach das Routing zu seinem richtigen Ausgabeanschluss
auf der Grundlage dieser Topologieinformationen ausführen.
-
Diese
Methodik ermöglicht
auch virtuelle Kanäle,
wie vorstehend beschrieben. Weil jeder Anschluss, der einen Block
empfängt,
eine eigene Steuerungslogik aufweist, können die Zielmasken durch den
IOP programmiert werden, so dass immer ein bestimmter Pfad von einem
bestimmten Anschluss zu einem bestimmten Zielanschluss genommen
wird. Dies ist möglich,
weil die Steuerungstabellen lokal für jeden einzelnen Anschluss
vorgesehen sind. Wären die
Steuerungstabellen global für
die Strukturelemente vorgesehen, würde das vorgesehene Lookup-Verfahren
alle Blöcke
an ein bestimmtes Strukturelement über denselben Pfad schicken.
Es gäbe
keine Möglichkeit
zur Unterscheidung. Mit virtuellen Kanälen ist es jedoch möglich, den
gesamten Pfad anzugeben, der von einem bestimmten Anschluss zu einem
anderen bestimmten Anschluss verwendet wird, auch wenn sie sich
auf unterschiedlichen Strukturelementen befinden und auch wenn mehrere
Sprünge
erforderlich sind, um das Zielstrukturelement zu erreichen. Dieser
virtuelle Kanal kann definiert werden und durch das gesamte Gestell
und das gesamte Netz von mehreren Gestellen verlaufen, indem die
Zielmasken für
jeden Linkempfänger bei
der Programmierung festgelegt werden. Dieses Merkmal kann zum Lastausgleich
sowie dazu benutzt werden, die richtige Übertragungsreihenfolge von
Blöcken
zwischen bestimmten Anschlüssen
sicherzustellen.
-
Aus
der vorstehenden Beschreibung ist ersichtlich, dass die vorliegende
Erfindung ein verbessertes Hochleistungs-Vermittlungsstrukturelement sowie
Verbindungs- und Adressierungstechniken zur Schaffung großer, leistungsfähiger Vermittlungen und
Netze bereitstellt. Obwohl bestimmte Ausführungsformen der Erfindung
beschrieben worden sind, ist zu erkennen, dass die Erfindung nicht
auf diese spezifischen Anwendungen beschränkt ist und dass viele Variationen
innerhalb des Umfangs der Erfindung möglich sind.