-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft das synchrone Aktualisieren eines
verteilten Vermittlungssystems in Echtzeit, ohne den Datenverkehr
zu unterbrechen. Insbesondere betrifft die vorliegende Erfindung
das synchrone Aktualisieren eines verteilten Vermittlungssystems
in Echtzeit, ohne den Datenverkehr zu unterbrechen, indem ein Schlangenresynchronisierungssignal
bzw. ein Warteschleifenresynchronisierungssignal gesendet wird und
bewirkt wird, dass alle Schaltelemente auf dieses Signal zur gleichen
logischen Zeit einwirken, wenn dieses Signal empfangen wird.
-
Hintergrund
der Erfindung
-
Bei
einem verteilten Vermittlungssystem, bei dem zahlreiche Schaltelemente
einen Teil jedes Pakets verarbeiten, müssen alle Schaltelemente synchron
sein, d.h. die gleichen Schritte zur gleichen logischen Zeit ausführen. Dies
ist besonders relevant, wenn Pakete, bspw. aufgrund zeitweiliger Überbeanspruchung
der verfügbaren
Ressourcen fallengelassen werden können. Für gewöhnlich wird während einer
Systemaktualisierung, wenn neue Schaltelemente hinzugefügt werden
oder eine Systemsteuerinformation synchron in allen Schaltelementen
aktualisiert werden muss, der gesamte Datenverkehr unterbrochen,
bis die Aktualisierung ausgeführt
ist. In der
US 5,802,052 ist
ein bekanntes Vermittlungssystem offenbart, welches ein Schaltelement mit
geteiltem Speicher aufweist, welches skalierbar ist. Der Schalter
umfasst mindestens ein HiPas-Element, welches Zugang zum Speicher
gewährt
und eine Eingangs- und Ausgangsverarbeitung von Datensegmenten auf
einem Paket-/ATM-Zellenbus ausführt.
Das Element umfasst einen parallelen Datenpfad, der verknüpfbar ist,
um eine einstellbare Bandbreite für den Bus zu schaffen. Es gibt
mindesten eine Pufferspeichereinrichtung, die mit den Elementen
gekoppelt ist, um Pakete in den Zellen von den Schaltelementen zu
speichern. Der Vermittlungs-Fabric-Controller ist mit den Beipasselementen
mit einer Vermittlungs-Fabric-Controllerbusschnittstelle
gekoppelt, um ein Steuersignal an das Element zu geben. Das Abschalten
des Datenverkehrs bis zum Abschluss der Aktualisierung ist bei kritischen
Systemen problematisch, da der Datenverkehr nicht über eine lange
Zeitperiode unterbrochen werden kann. Ein System zum Aktualisieren
von Software ist in NIENG, "Updating
software in a real-time distributed system" Proceedings of the National Communications
Forum, National Engineering Consortium Inc., Illinois, USA, 24 Sept.
1084, Seiten 57 bis 60, XP002043614, beschrieben.
-
Ein
Schalter, welcher Daten auf mehrere Fabrics streift und Paritätsdaten
zu einem anderen Fabric sendet, wurde in der
US 6 842 422 beschrieben. In diesem
Zusammenhang sei auch die US-Patentanmeldung 09/293,563 erwähnt, welche
ein TDM-Schaltsystem mit breitem Speicher beschreibt.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung betrifft einen Schalter eines Netzwerks. Der
Schalter umfasst Anschlusskarten, welche Pakete vom Netzwerk empfangen
und Pakete zum Netzwerk senden. Der Schalter umfasst einen Schaltersteuerungsprozessor
zum Bereitstellen von Steuerungsinformation. Der Schalter umfasst
Netzeinrichtungen (Fabrics) oder Schaltelemente zum Schalten der
Pakete. Die Netzeinrichtungen oder Schaltelemente empfangen Steuerungsinformation
vom Schaltersteuerungsprozessor, aber alle Schaltelemente implementieren
nur die Steuerinformation zu der gleichen logischen Zeit, zu der
jedes Schaltelement ein Steuerungsinitiierungssignal von einer der
Anschlusskarten bzw. Port-Karten
empfängt.
Jedes jeweilige Schaltelement arbeitet kontinuierlich auf Paketen
bevor jedes jeweilige Schaltelement das Steuerungsinitiierungssignal
empfängt, während dieses
Vorgangs und nach diesem Vorgang.
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Schalter eines Netzwerks angegeben,
welcher folgendes aufweist: Anschlusskarten bzw. Port-Karten, welche
Pakete vom Netzwerk empfangen und Pakete zum Netzwerk senden; einen
Schaltungssteuerungsprozessor zum Bereitstellen von Steuerinformation;
gekennzeichnet durch Schaltelemente bzw. Netzeinrichtungen zum Schalten
der Pakete, wobei die Schaltelemente Steuerungsinformation vom Schaltersteuerungsprozessor
empfangen, wobei alle Schaltelemente dafür ausgelegt sind, nur die Steuerinformation
zur gleichen logischen Zeit zu implementieren, zu der jedes Steuerelement
ein Steuerungsinitiierungssignal von einer der Anschlusskarten bzw.
Port-Karten empfängt,
und wobei jedes jeweilige Schaltelement dafür ausgelegt ist, vor, während und
nachdem jedes jeweilige Schaltelement das Steuerungsinitiierungssignal
empfängt,
kontinuierlich Pakete zu bearbeiten, wobei jedes Schaltelement dafür ausgelegt
ist, in einen Schlangenresynchronisierungszustand bzw. Warteschleifenresynchronisierungszustand
einzutreten, bei dem alle Paketfragmente, welche vom Schaltelement
empfangen werden, bevor die Schaltelemente in den Resynchronisierungszustand
eintraten, aus der Schlange entfernt werden, und darüber hinaus
so angelegt ist, dass alle Paketfragmente, welche vom Schaltelement
empfangen werden, nachdem in den Schlangenresynchronisierungszustand
bzw. den Warteschleifenresynchronisierungszustand eingetreten wurde,
erst aus der Schlange entfernt werden, nachdem eine vorgegebene
Schlangenresynchronisierungszeit bzw. Warteschleifenresynchronisierungszeit
verstrichen ist, wobei die Schaltelemente mit dem Schaltungssteuerungsprozessor
und den Anschlusskarten verbunden sind.
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Schalten bzw. Vermitteln
von Paketen. Das Verfahren umfasst die Schritte des Empfangens von
Paketen an einer Anschlusskarte eines Schalters von einem Netzwerk.
Dann kommt der Schritt des Sendens von Fragmenten jedes Pakets zu
Schaltelementen bzw. Netzeinrichtungen des Schalters. Dann kommt
der Schritt des Verteilens von Steuerungsinformation von einem Prozessor
zu den Schaltelementen bzw. Netzeinrichtungen des Schalters, wenn
die Anschlusskarte fortfährt, Pakete
zu empfangen. Als nächstes
kommt der Schritt des Empfangens eines Steuerungsinitiierungssignals aus
dem Schaltersteuerungsprozessor durch das Netzwerk an der Anschlusskarte
bzw. Port-Karte. Dann kommt der Schritt des Sendens des Steuerungsinitiierungssignals
von der Anschlusskarte zum Schaltelement bzw. der Netzeinrichtung.
Als nächstes
kommt der Schritt des Implementierens der Steuerungsinformation
an jedem Schaltelement erst nachdem das jeweilige Schaltelement
das Steuerungsinitiierungssignal empfangen hat, so dass alle Schaltelemente
die Steuerungsinformation zur gleichen Zeit implementieren.
-
Gemäß einem
zweiten Aspekt der Erfindung wird ein Verfahren zum Vermitteln bzw.
Schalten von Paketen angegeben, welches die folgenden Schritte umfasst:
Empfangen von Paketen an einer Anschlusskarte eines Schalters von
einem Netzwerk; Senden von Fragmenten jedes Pakets zu Schaltelementen
des Schalters; gekennzeichnet durch die folgenden Schritte: Verteilung
von Steuerungsinformation von einem Schaltersteuerungsprozessor
zu den Schaltelementen des Schalters, wenn die Anschlusskarte fortfährt, Pakete
zu empfangen; Empfangen eines Steuerungsinitiierungssignals vom
Schaltersteuerungsprozessor durch das Netzwerk an einer Anschlusskarte
bzw. Port-Karte; Senden des Steuerungsinitiierungssignals von der
Anschlusskarte zu dem Schaltele ment; Implementieren der Steuerungsinformation
an jedem Schaltelement erst nachdem das jeweilige Schaltelement
das Steuerungsinitiierungssignal empfangen hat, so dass alle Schaltelemente
die Steuerungsinformation zur gleichen Zeit implementieren, und
Eintreten in einen Schlangenresynchronisierungszustand bzw. Warteschleifenresynchronisierungszustand
durch jedes Schaltelement, wenn das jeweilige Schaltelement die
Steuerungsinformation implementiert; und Entfernen jeglicher Paketfragmente, welche
durch das Schaltelement empfangen wurden, bevor irgendwelche neuen
Paketfragmente, die vom Schaltelement empfangen werden, nachdem
das Schaltelement in den Resynchronisierungszustand eingetreten
ist, aus der Schlange entfernt werden.
-
Kurze Beschreibung
der Zeichnungen
-
In
den beigefügten
Zeichnungen werden die bevorzugten Ausführungsbeispiele der Erfindung
und bevorzugte Verfahren zum Ausführen der Erfindung veranschaulicht:
-
1 ist
eine schematische Darstellung eines Paket-Striping im Schalter der
vorliegenden Erfindung.
-
2 zeigt
eine schematische Darstellung einer OC 48 Anschlusskarte bzw. Port-Karte.
-
3 zeigt
eine schematische Darstellung einer verknüpften Netzanschlussanordnung
(Blade).
-
4a und 4b zeigen
schematische Darstellungen bezüglich
einer Konnektivität
der Netz-ASICs.
-
5 ist
eine schematische Darstellung einer Synchronisationsimpuls-(Sync-Impuls-)Verteilung.
-
6 zeigt
eine schematische Darstellung des Verhältnisses zwischen Übertragungs-
und Empfangssequenzzählern
für den
Separator bzw. den Unstriper.
-
7 zeigt
eine schematische Darstellung eines erfindungsgemäßen Schalters.
-
Detaillierte
Beschreibung
-
Bezugnehmend
auf die Zeichnungen, in denen gleiche Bezugszeichen entsprechende
oder identische Teile durch die verschiedenen Ansichten hinweg bezeichnen,
und insbesondere mit Bezug auf 7, ist ein Schalter 10 eines
Netzwerkes gezeigt. Der Schalter 10 umfasst Anschlusskarten 14,
welche Pakete vom Netzwerk empfangen und Pakete zum Netzwerk senden.
Der Schalter umfasst einen Schaltersteuerungsprozessor 21 zum
Bereitstellen von Steuerungsinformation. Der Schalter 10 umfasst
Schaltelemente bzw. Netzeinrichtungen 16 zum Vermitteln
der Pakete. Die Schaltelemente 16 empfangen Steuerungsinformation
vom Schaltersteuerungsprozessor 21, wobei jedoch die Schaltelemente 16 die
Steuerungsinformation zum gleichen logischen Zeitpunkt implementieren,
und zwar nur dann, wenn jedes Schaltelement ein Steuerungsinitiierungssignal
von einer der Anschlusskarten 14 empfängt. Jedes jeweilige Schaltelement
wirkt auf Pakete ein, bevor, während
und nachdem jedes jeweilige Schaltelement das Steuerungsinitiierungssignal
empfängt,
wobei die Schaltelemente mit dem Schaltungssteuerungsprozessor und
den Anschlusskarten verbunden sind.
-
Vorzugsweise
umfasst jede Anschlusskarte 14 einen Zerkleinerer bzw.
Striper 20, welcher zu jedem Schaltelement einen jeweiligen
Abschnitt jedes Pakets sendet. Alle Schaltelemente 16 sind
vorzugsweise miteinander synchronisiert. Vorzugsweise hat jedes
Schaltelement einen Aggregator 22, welcher die Paketfragmente
vom Zerkleinerer bzw. Striper 20 empfängt, einen Speicherkontroller 24,
in dem die Paketfragmente, die vom Aggregator 22 empfangen
wurden, gespeichert werden, und einen Separator 26, welcher
die Paketfragmente im Speicherkontroller 24 zur Anschlusskarte 14 sendet.
-
Jedes
Schaltelement gelangt vorzugsweise mit allen anderen Schaltelementen 16 in
Synchronisierung, nachdem das Steuerungsinitiierungssignal empfangen
wurde, indem der Aggregator 22, dann der Speicherkontroller 24 und
als nächstes
der Separator 26 jedes Schaltelements jeweils zur Synchronisierung
gebracht werden. Vorzugsweise wird das Steuerungsinitiierungssignal
in einem Warteschleifenresynchronisierungspaket bzw. Schlangenresynchronisierungspaket
gesendet. Jedes Schaltelement tritt vorzugsweise in einen Schlangenresynchronisierungszustand
ein, in dem alle Paketfragmente, die vom Schaltelement empfangen
wurden, bevor die Schaltelemente 16 in den Schlangenresyn chronisierungszustand
eintreten, aus der Schlange bzw. Warteschleife herausgenommen werden
und alle Paketfragmente, die vom Schaltelement empfangen werden,
nachdem in den Schlagenresynchronisierungszustand eingetreten wurde,
nur dann aus der Schlange ausgebracht werden, nachdem eine vorgegebene
Schlangenresynchronisierungszeit verstrichen ist.
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Vermitteln bzw.
Schalten von Paketen. Das Verfahren umfasst die Schritte des Empfangens
von Paketen an einer Anschlusskarte 14 eines Schalters 10 aus einem
Netzwerk. Dann kommt der Schritt des Sendens von Fragmenten jedes
Pakets zu Schaltelementen 16 des Schalters 10.
Dann besteht der Schritt des Verteilens von Steuerungsinformation
von einem Schaltungssteuerungsprozessor 21 zu den Schaltelementen 16 des
Schalters 10, wenn die Anschlusskarte 14 fortfährt, Pakete
zu empfangen. Als nächstes
kommt der Schritt des Empfangens eines Steuerungsinitiierungssignals vom
Schaltersteuerungsprozessor 21 durch das Netzwerk an der
Anschlusskarte 14. Dann kommt der Schritt des Sendens des
Steuerungsinitiierungssignals von der Anschlusskarte 14 zu
den Schaltelementen 16. Als nächstes kommt der Schritt des
Implementierens der Steuerungsinformation bei jedem Schaltelement
erst dann, nachdem das jeweilige Schaltelement das Steuerungsinitiierungssignal
empfangen hat, so dass alle Schaltelemente 16 die Steuerungsinformation
zur selben Zeit implementieren.
-
Vorzugsweise
umfasst der Implementierungsschritt den Schritt des Eintretens in
einen Schlangenresynchronisierungszustand durch jedes Schaltelement,
wenn das jeweilige Schaltelement die Steuerungsinformation implementiert.
Nach dem Schritt des Eintretens kommt vorzugsweise der Schritt des
Entfernens aller Paketfragmente, die vom Schaltelement empfangen
wurden, aus der Warteschlange, bevor jegliche neue Paketfragmente,
die vom Schaltelement empfangen werden, nachdem das Schaltelement
in den Resynchronisierungszustand eingetreten ist, aus der Schlange
entfernt werden.
-
Vorzugsweise
umfasst der Schritt des Entfernens aus der Schlange den Schritt
des Entfernens aller neuen Pakete aus der Schlange erst nach Verstreichen
einer vorgegebenen Schlangenresynchronisierungszeit oder wenn die
neuen Paketfragmente, die empfangen wurden, einen vorgegebenen Schlangeresynchronisierungsschwellwert
der Paketfragmente übersteigen.
Vor dem Schritt des Empfangens der Steuerungsinforma tion kommt vorzugsweise
der Schritt des Hinzufügens
eines neuen Schaltelements zu den Schaltelementen 16 des
Schalters 10. Der Schritt des Empfangens der Steuerungsinformation
umfasst den Schritt des Empfangens der Steuerungsinformation, welche
Information bezüglich
der Initiierung des neuen Schaltelements enthält.
-
Vorzugsweise
umfasst der Schritt des Sendens von Fragmenten der Pakete den Schritt
des Sendens von Fragmenten der Pakete mit einem Zerkleinerer bzw.
Striper 20 der Anschlusskarte 14 zu einem Aggregator 22 jedes
Schaltelements. Der Schritt des Eintretens umfasst vorzugsweise
den Schritt des Bringens des Aggregators 22, dann eines
Speichercontrollers 24 und als nächstes eines Separators 26 jeweils
jedes Schaltelements zur Synchronisation. Vorzugsweise umfasst der
Schritt des Empfangens des Steuerungsinitiierungssignals den Schritt
des Empfangens eines Schlagenresynchronisierungspakets, welches
das Steuerungsinitiierungssignal aufweist, welches eingefügt wird,
wenn andere Pakete gesendet werden.
-
Bei
der Ausführung
der Erfindung im BFS, wenn jedes Schaltelement einen Teil jedes
Pakets handhabt, müssen
alle Schaltelemente 16 synchronisiert sein (d.h. die gleichen
Arbeitsschritte zur gleichen logischen Zeit und im selben Schlangen-
bzw. Warteschleifenzustand ausführen),
damit alle unter ihnen dieselben Entscheidungen bezüglich des
Einfügens
und Herausnehmens von Paketen in die bzw. aus der Schlange treffen.
Dies garantiert, dass das gesamte Paket entweder akzeptiert oder
fallengelassen wird, und Paketsegmente werden in der gleichen Reihenfolge über alle
Schaltelemente 16 hinweg aus der Schlange genommen. Ein global
verteilter Synchronisierungspuls gibt allen Schaltelementen 16 die
logische Bezugszeit an.
-
Wenn
ein oder mehrere neue Schaltelemente 16 hinzugefügt werden,
während
einige der Schaltelemente 16 vorhanden sind und laufen
und Datenfluss durch sie fließt,
ist/sind das neue Schaltelement/die neuen Schaltelemente gegebenenfalls
nicht in Synchronisation mit den bereits bestehenden Schaltelementen 16, da
sie unterschiedliche Warteschleifentiefen aufweisen können und
ihre Zustandsmaschinen im Vergleich zu bereits bestehenden Schaltelementen 16 in
unterschiedlichen Zuständen
sein können.
Bis das/die neu hinzugefügte(n)
Schaltelemente) zur Synchronisierung (d.h. in die gleichen Schlangentiefen
und Zustandsmaschinenzustände)
mit den anderen Schaltelementen 16 gebracht worden ist/sind,
tragen die neuen Schaltelemente 16 nutzlose Information,
welche nicht von den Bestimmungsanschlusskarten 14 benutzt
wird. Erst nachdem das/die neue(n) Schaltelemente) zur Synchronisation
mit den alten Schaltelementen 16 gebracht worden ist/sind,
können
sie nützlichen
Datenverkehr transportieren. Um das bzw. die neu hinzugefügte(n) Schaltelemente)
zur Synchronisation mit den alten Schaltelementen 16 zu
bringen, sollten die Schlangentiefen und Zustände einiger der internen Zustandsmaschinen
dieser neuen Schaltelemente gleich denjenigen der alten Schaltelemente 16 sein.
-
Um
dies zu verwirklichen, wird ein spezielles Paket, welches das Schlangeresynchronisierungspaket genannt
wird, von einem der Schaltungssteuerungsprozessoren zu allen Schaltelementen 16 geschickt.
Beim Empfangen diesen Pakets erkennen alle Schaltelemente 16 dies
als Schlangenresynchronisierungsereignis zur gleichen logischen
Zeit und treten in einen Schlangenresynchronisierungszustand ein,
in dem sie alle alten Pakete (Pakete, welche vor dem Schlangenresynchronisierungsereignis
empfangen wurden) aus der Schlange entfernen und die neuen Pakete
(Pakete, welche nach dem Schlangenresynchronisierungsereignis empfangen
wurden) nur nach einer vorgegeben Schlangenresynchronisierungszeit
entfernen und aus einer vorgegebenen Warteschleife. Die Schlangenresynchronisierungszeit
wir so eingestellt, dass sie lang genug ist, um alle alten Pakete
abzugeben, jedoch kurz genug, um das Fallenlassen neuer Pakete zu
verhindern. Wenn mehr neue Pakete ankommen sollen, als in die Schlange
eingebracht werden können,
bevor die Schlangenresynchronisierungszeit verstreicht, wird Raum
für neue
Pakete im Puffer geschaffen, indem alte Pakete fallen gelassen werden.
Auch wenn die Zahl neuer Pakete einen vorgegebenen Schwellwert überschreitet,
welcher der Schlangenresynchronisierungsschwellwert genannt wird,
dann wird ebenfalls ein Schlangenresynchronisierungszustand ausgebildet.
In jedem Fall, in dem der Schlangenresynchronisierungszustand angeregt
wird, entweder aufgrund des Überschreitens
der Schlangenresynchronisierungszeit oder des Überschreitens des Schlangenresynchronisierungsschwellwerts,
werden alle alten Pakete, die noch im Puffer gelassen wurden, ausgebracht,
um den Puffer zu löschen.
Dies garantiert, dass am Ende des Schlangenresynchronisierungszustands
alle Schaltelementschlangen und Zustandsmaschinen im gleichen Zustand
sind und die Schaltelemente 16 die gleichen Pakete in der
gleichen Reihenfolge in die Schlange ein- und aus dieser ausbringen.
-
Um
beim BFS ein Schaltelement in Synchronisierung mit anderen Schaltelementen 16 zu
bringen, sollten Aggregatoren, Speicherkontroller und Separatoren
jeweils auf dem/den neuen Schaltelementen) zur Synchronisation mit
den entsprechenden Elementen auf den alten Schaltelementen 16 gebracht
werden. Dies wird erreicht, indem Schlangenresynchronisierungsschritte
in einem Element ausgeführt
werden und dann auf das nächste
in der gleichen Richtung übergegangen
wird, die dem Datenfluss entspricht. Dies wird fortschreitende Schlangenresynchronisierung
genannt.
-
Schlangenresynchronisierung
kann auch verwendet werden, wenn eine Systemsteuerinformation synchron
bei mehreren Schaltelementen 16 aktualisiert werden muss.
Unter der Annahme, dass Schaltelemente 16 bereits in Synchronisation
sind, soll die Steuerungsinformation in jedem Schaltelement unabhängig aktualisiert
werden, jedoch die Veränderung
noch nicht umgesetzt werden. Dann soll durch Ausführen des
Schlangenresynchronisierungsprozesses oder einer Version desselben
die aktualisierte Steuerungsinformation am Ende des Schlangenresynchronisierungsprozesses
umgesetzt werden. Da dieses Ereignis zum gleichen logischen Zeitzyklus
in allen Schaltelementen 16 passiert, sehen alle die aktualisierte
Steuerungsinformation beim selben logischen Schritt.
-
Dieser
Ansatz weist einen minimalen Overhead auf. Es sollte eine gewisse
Menge an extra Bandbreite geben, um das Schlangenresynchronisierungspaket
selbst zu senden. Dieses Erfordernis nach zusätzlicher Bandbreite ist vernachlässigbar,
da dieses Pakete nur gesendet werden muss, wenn sich die Systemkonfiguration ändert, und
das Schlangenresynchronisierungspaket kann ein Paket minimaler Länge sein.
Auch müssen
die Datenpfad-FIFOs, welche über
die zahlreichen Schaltelemente 16 hinweg in einen synchronen
Zustand gebracht werden müssen,
tiefer als normal sein, damit in allen Schaltelementen 16 diese
FIFOs alte Pakete aussenden, bevor irgendwelche Schaltelemente 16 neue
Pakete aus diesen FIFOs auslesen. Beim BFS mussten Aggregator-FIFOs
um ein Drittel tiefer als normal sein, um die Schlangenresynchronisierung
zu unterstützen.
Selbst bei diesen inkrementalen Overheads stellt die Schlangenresynchronisierung
einen großen Vorteil
dar, da sie eine synchrone Aktualisierung eines verteilten Schaltsystems
in Echtzeit gewährleistet.
-
Anstelle
des Abschaltens des Datenverkehrs während der Systemaktualisierung
wird die Aktualisierung in Echtzeit ausgeführt. Durch Senden der Schlangenresynchronisierungsinformation
(d.h. der Systemaktualisierungsinformation) zu allen Schaltelementen,
die mit dem Datenverkehr von einem der Eingangsschaltersteuerungsprozessoren 21 in
einer Reihe sind, und durch Bewirken, dass alle Schaltelemente auf
diese Information zur gleichen logischen Zeit einwirken, wird die
Aktualisierung vervollständigt,
und alle neuen Schaltelemente, die hinzugefügt wurden und mit den anderen
nicht synchron waren, werden synchronisiert. Der gleiche Ansatz
kann dazu verwendet werden, eine beliebige Systemsteuerungsinformation
synchron in allen Schaltelementen zu aktualisieren.
-
Die
Vermittlung bzw. der Schalter nutzt RAID-Verfahren zu einer Erhöhung einer
Gesamtvermittlungsbandbreite während
eine individuelle Netzeinrichtungsbandbreite minimiert wird. Bei
der Vermittlungsarchitektur werden alle Daten gleichmäßig über alle
Netzeinrichtungen verteilt, sodass die Vermittlung eine Bandbreite vergrößert, durch
ein Hinzufügen
von Netzeinrichtungen, und die Netzeinrichtung muss ihre Bandbreitenkapazität nicht
erhöhen,
wenn die Vermittlung eine Bandbreitenkapazität erhöht.
-
Jede
Netzeinrichtung liefert 40G einer Vermittlungsbandbreite und das
System unterstützt
1, 2, 3, 4, 6 oder 12 Netzeinrichtungen, exklusive der redundanten/Reserveeinrichtung.
Mit anderen Worten kann die Vermittlung eine 40G, 80G, 120G, 160G,
240G, oder 480G Vermittlung sein, in Abhängigkeit davon, wie viele Netzeinrichtungen
installiert sind.
-
Eine
Anschlusskarte liefert 10G Anschlussbandbreite. Für jede 4
Anschlusskarten wird eine Netzeinrichtung benötigt. Die Vermittlungsarchitektur
unterstützt
keine beliebigen Installationen von Anschlusskarten und Netzeinrichtungen.
-
Die
Netzeinrichtungs-ASICs unterstützen
sowohl Zellen als auch Pakete. Insgesamt verwendet die Vermittlung
einen "mach es dem
Empfänger
recht" Ansatz, bei
dem ein Ausgangspfad auf ATM Anschlussanordnungen (Blades) Rahmen
in Zellen segmentieren muss und der Ausgangspfad von Rahmenanordnungen muss
eine Zusammenführung
von Zellen in Pakete durchführen.
-
Es
gibt momentan 8 Vermittlungs-ASICs, die in der Vermittlung verwendet
werden:
- 1. Striper – Der Striper sitzt auf der
Anschlusskarte und dem SCP-IM. Dieser formatiert die Daten in einen 12
Bit Datenstrom, fügt
ein Prüfwort
an, trennt den Datenstrom über
N, Nicht-Reserve, Netzeinrichtungen in dem System auf, erzeugt einen
Paritätsstreifen
einer Breite, die gleich den Streifen ist, die zu der anderen Netzeinrichtung
gehen, und die N + 1 Datenströme
hinaus zur Backplane.
- 2. Unstriper – Der
Unstriper ist der andere Anschlusskarten ASIC in der Vermittlungsarchitektur.
Er empfängt
Datenstreifen von allen Netzeinrichtungen in dem System. Er rekonstruiert
dann den ursprünglichen Datenstrom
unter Verwendung des Prüfwortes
und des Paritätsstreifens,
um eine Fehlererfassung und Korrektur durchzuführen.
- 3. Aggregator -Der Aggregator nimmt die Datenströme und Leitworte
von den Stripern auf, und multiplext diese in einen einzelnen Eingangsstrom
an den Speichercontroller.
- 4. Speichercontroller – Der
Speichercontroller implementiert die Warteschleifenbildungs- und
Abarbeitungsmechanismen (Queuing und De-Queuing) der Vermittlung.
Dieses enthält
die proprietäre
Breitspeicherschnittstelle, um das gleichzeitige Ein/Ausschleifen
mehrerer Zellen von Daten pro Taktzyklus zu erzielen. Die Abarbeitungs-(De-Queuing)Seite
des Speichercontrollers läuft
mit 80Gbps im Vergleich zu 40Gbps, um den Hauptanteil des Warteschleifenbildens
und Formens von Verbindungen zu tätigen, die auf den Anschlusskarten
auftreten.
- 5. Separator – Der
Separator implementiert den inversen Betrieb des Aggregators. Der
Datenstrom von dem Speichercontroller wird in mehrere Ströme von Daten
de-multiplext, und zum geeigneten Unstriper ASIC weitergeleitet.
In der Schnittstelle zum Unstriper ist ein Warteschleifen- und Flusssteuerhandshaking enthalten.
-
Es
gibt 3 unterschiedliche Standpunkte, die man bezüglich der Verbindungen zwischen
der Netzeinrichtung nehmen kann: physikalisch, logisch und "aktiv". Physikalisch sind
die Verbindungen zwischen den Anschlusskarten und den Netzeinrichtungen
alle serielle Verbindungen mit differentiellen Paar mit Gigabitgeschwindigkeit.
Dieses ist genaugenommen ein Implementierungsansatz zur Reduzierung
der Anzahl von Signalen, die über
die Backplane gehen. Die "Aktiv"-Perspektive betrachtet
eine einzelne Vermittlungskonfiguration, oder kann als ein Schnappschuss
davon erachtet werden, wie Daten zu einem gegebenen Moment verarbeitet
werden. Die Schnittstelle zwischen den Netzeinrichtungs-ASIC auf
den Anschlusskarten und den Netzeinrichtungen ist effektiv 12 Bit
breit. Diese 12 Bits sind gleichmäßig über 1, 2, 3, 4, 6 oder 12 Netzeinrichtungen
verteilt beziehungsweise gestreift ("striped"), basierend darauf, wie die Netzeinrichtungs-ASICs konfiguriert
sind. Die "Aktiv"-Perspektive betrifft
die Anzahl von Bits, die durch jede Netzeinrichtung in der momentanen
Konfiguration verarbeitet werden, was genau 12 geteilt durch die
Anzahl von Netzeinrichtungen ist.
-
Die
logische Perspektive kann als die Verbindung oder Max-Funktion aller
möglichen
Aktiv-Konfigurationen betrachtet werden. Der Netzeinrichtungsschlitz
#1 kann in Abhängigkeit
von einer Konfiguration 12, 6, 4, 3, 2 oder 1 Bit der Daten von
einem einzelnen Striper verarbeiten, und wird daher mit einem 12
Bit Bus bedient. Im Gegensatz dazu kann der Netzeinrichtungsschlitz
#3 nur für
eine Verarbeitung von 4, 3, 2 oder 1 Bits von einem einzelnen Striper
verwendet werden, und wird daher mit einem 4-Bit Bus bedient.
-
Anders
als frühere
Vermittlungen hat die Vermittlung genaugenommen kein Konzept eines
mit Software steuerbaren Netzeinrichtungsredundanzmodus. Die Netzeinrichtungs-ASICs implementieren
eine N + 1 Redundanz ohne Intervenierung, solange die Bewerbenetzeinrichtung
installiert ist.
-
Hinsichtlich
dessen, was sie bereitstellt bedeutet eine N + 1 Redundanz, dass
die Hardware automatisch einen einzelnen Fehler erfassen und korrigiert,
ohne einen Verlust irgendwelcher Daten.
-
Die
Art und Weise, mit der die Redundanz funktioniert, ist ziemlich
einfach, um es jedoch für
ein Verständnis
noch einfacher zu machen, wird ein spezieller Fall einer 120G Vermittlung
verwendet, die 3 Netzeinrichtungen (A, B und C) plus eine Reserve
(S) enthält.
Der Striper nimmt den 12 Bit Bus und erzeugt zuerst ein Prüfwort, das
an die Dateneinheit (Zelle oder Rahmen) angefügt wird. Die Dateneinheit und
das Prüfwort
werden dann in einen 4-Bit-pro-Taktzyklusdatenstreifen für jeden
der A, B und C Netzeinrichtungen aufgetrennt (A3A2A1A0,
B3B2B1B0, und C3C2C1C0).
Diese Streifen werden dann dazu verwendet, den Streifen für die Reservenetzeinrichtung
S3S2S1S0 zu bilden, wobei Sn =
AnXORBnXORCn, und diese 4 Streifen werden dann zu ihren entsprechenden
Netzeinrichtungen gesendet. Auf der anderen Seite der Netzeinrichtungen
empfängt
der Unstriper 4 4-Bit-Streifen von A, B, C und S. Alle möglichen
Kombinationen von 3 Netzeinrichtungen (ABC, ABS, ASC und SBC) werden
dann dazu verwendet, einen "vorläufigen" 12-Bit Datenstrom
zu rekonstruieren. Ein Prüfwort
wird dann für
jeden der 4 vorläufigen
Ströme
berechnet, und das berechnete Prüfwort
wird mit dem Prüfwort
am Ende der Dateneinheit verglichen. Falls kein Übertragungsfehler aufgetreten
ist, werden alle 4 Ströme übereinstimmende
Prüfworte
aufweisen, und der ABC Strom wird zum Unstriper-Ausgang weitergeleitet.
Falls ein (einzelner) Fehler aufgetreten ist, wird nur eine Prüfwortübereinstimmung
existieren, und der Strom mit der Übereinstimmung wird Off-Chip
weitergeleitet, und der Unstriper wird den fehlerhaften Netzeinrichtungsstreifen
identifizieren.
-
Für unterschiedliche
Vermittlungskonfigurationen, d.h. 1, 2, 4, 6 oder 12 Netzeinrichtungen,
ist der Algorithmus der Gleiche, es ändert sich jedoch die Streifenbreite.
-
Falls
2 Netzeinrichtungen fehlerhaft sind, werden mit höchster Wahrscheinlichkeit
alle durch die Vermittlung laufenden Daten korrupt sein.
-
Die
Netzeinrichtungsschlitze sind nummeriert und müssen in absteigender Reihenfolge
befüllt
werden. Weiter ist die Reservenetzeinrichtung ein spezieller Schlitz,
sodass ein Befüllen
von Netzeinrichtungsschlitzen 1, 2, 3 und 4 unterschiedlich von
einem Befüllen
von Netzeinrichtungsschlitzen 1, 2, 3 und der Reserve ist. Ersteres
ist eine 160G Vermittlung ohne Redundanz und Letzteres ist eine
120G Vermittlung mit Redundanz.
-
Zuerst
werden die ASICs aufgebaut, und die Backplane angeschlossen, sodass
die Verwendung von bestimmten Anschlusskartenschlitzen es erfordert,
dass zumindest eine bestimmte Minimalanzahl von Netzeinrichtungen
installiert ist, nicht die Reserve umfassend. Diese Beziehung ist
in Tabelle 0 gezeigt.
-
Zusätzlich ist
die Redundanz innerhalb der Vermittlung auf speziell gepaarte Anschlusskarten
beschränkt.
Anschlusskarten 1 und 2 sind gepaart, 3 und 4 sind gepaart, und
so weiter bis zu Anschlusskarten 47 und 48. Dieses bedeutet, dass,
falls eine APS Redundanz erforderlich ist, die gepaarten Schlitze
zusammen befüllt
werden müssen.
-
Um
ein einfaches Beispiel zu geben, nehme man eine Konfiguration mit
2 Anschlusskarten und nur einer Netzeinrichtung. Falls der Nutzer
keine APS Redundanz verwenden möchte,
dann können
die 2 Anschlusskarten mit beliebigen 2 von Anschlusskartenschlitzen
1 bis 4 installiert werden. Falls eine APS Redundanz erwünscht ist,
dann müssen
die 2 Anschlusskarten entweder in Schlitz 1 und 2 oder 3 und 4 installiert werden.
-
Tabelle
0: Netzeinrichtungsanforderungen für eine Anschlusskartenschlitznutzung
-
Um
eine Kapazität
hinzuzufügen,
füge man
eine oder mehrere neue Netzeinrichtungen hinzu, warte man darauf,
dass die Vermittlung die Änderung
erkennt und das System rekonfiguriert, um über der neuen Anzahl von Netzeinrichtungen
Streifen zu bilden. Man installiere die neuen Anschlusskarten.
-
Es
wird darauf hingewiesen, dass es technisch nicht notwendig ist,
die vollen 4 Anschlusskarten pro Netzeinrichtung zu haben. Die Vermittlung
wird mit 3 installierten Netzeinrichtungen und an einzigen Anschlusskarte
im Schlitz 12 richtig arbeiten. Dies ist nicht kosteneffizient,
wird jedoch funktionieren.
-
Um
eine Kapazität
zu entfernen, kehre man die Prozedur für ein Hinzufügen von
Kapazität
um.
-
Falls
die Vermittlung zu viele Teilnehmer hat, installiere man 8 Anschlusskarten
und nur eine Netzeinrichtung.
-
Es
sollte nur als ein Ergebnis eines ungeeigneten Aufrüstens der
Vermittlung oder eines Systemfehlers irgendeiner Art dazu kommen.
Die Realität
ist es, dass einer von zwei Fällen
auftreten wird, in Abhängigkeit
davon, wie diese Situation auftritt. Falls die Vermittlung als eine
40G Vermittlung konfiguriert ist und die Anschlusskarten vor der
Netzeinrichtung hinzugefügt
werden, dann werden die 5. bis 8. Anschlusskarte tot sein. Falls
die Vermittlung als 80G nicht-redundante Vermittlung konfiguriert
ist und die zweite Netzeinrichtung fehlerhaft ist oder entfernt
wird, dann werden alle Daten durch die Vermittlung korrumpiert sein
(unter der Annahme, dass die Reservenetzeinrichtung nicht installiert
ist). Und nur der Vollständigkeit
halber, falls 8 Anschlusskarten in einer 80G redundanten Vermittlung
installiert wären
und die zweite Netzeinrichtung fehlerhaft wäre oder entfernt würde, dann
würde die
Vermittlung mit einem normalen Betrieb fortfahren, bei dem die Reserve
die fehlerhafte/entfernte Netzeinrichtung abdeckt.
-
1 zeigt
ein Paket-Stripen in der Vermittlung.
-
Der
Chipsatz unterstützt
ATM und POS Anschlusskarten sowohl in OC48 als auch OC192c Konfigurationen.
OC48 Anschlusskarten sind mit den Vermittlungsnetzeinrichtungen
mit vier getrennten OC48 Flüssen verbunden.
OC192 Anschlusskarten kombinieren logisch die 4 Kanäle in einen
10G Strom. Die Eingangsseite einer Anschlusskarte führt keine
Verkehrsumwandlungen für
ein Verkehrsändern
zwischen ATM Zellen und Paketen durch. Welche Art auch immer von
Verkehr empfangen wird, er wird zu den Vermittlungsnetzeinrichtungen
gesendet. Die Vermittlungsnetzeinrichtungen werden Pakete und Zellen
mischen und dann eine Mischung von Paketen und Zellen an die Ausgangsseite
einer Anschlusskarte abarbeiten.
-
Die
Ausgangsseite des Ports ist für
ein Umwandeln des Verkehrs in das geeignete Format für den Ausgangsport
verantwortlich. Diese Übereinkunft
wird im Kontext der Vermittlung als "mach es dem Empfänger recht" bezeichnet. Eine Zellenanschlussanordnung
(Blade) ist für
eine Segmentierung von Paketen verantwortlich und eine Zellenanschlussanordnung
(Blade) ist für
eine Zusammensetzung von Zellen in Pakete verantwortlich. Um eine
Netzeinrichtungsbeschleunigung zu unterstützen, unterstützt die
Ausgangsseite der Anschlusskarte eine Verbindungsbandbreite, die
das doppelte der der Eingangsseite der Anschlusskarte ist.
-
Das
Blockdiagramm für
eine Poseidon-basierte ATM Anschlusskarte ist in 2 gezeigt.
Jeder 2,5G Kanal besteht aus 4 ASICs: Eingangs TM und Striper ASIC
an der Eingangsseite und Unstriper ASIC und Ausgangs TM ASIC an
der Ausgangsseite.
-
An
der Eingangsseite werden OC48c oder 4 OC-12c Schnittstellen aggregiert.
Jeder Worttext sendet einen 2,5 großen G Zellenstrom in einen
bestimmten Striper ASIC (unter Verwendung des BIB Busses, wie unterhalb
beschrieben). Der Striper wandelt das gelieferte Leitwort in zwei
Stücke
um. Ein Abschnitt des Leitwortes wird zur Netzeinrichtung geführt, um
den Ausgangsport (oder die Ausgangsports) für die Zelle zu bestimmen. Das
gesamte Leitwort wird ebenso auf dem Datenabschnitt des Busses als
ein Leitwort für
eine Verwendung durch den Ausgangsspeichercontroller geführt. Das
erste Leitwort wird als "Netzeinrichtungsleitwort" (fabric routeword)
bezeichnet. Das Leitwort für
den Ausgangsspeichercontroller ist das "Ausgangsleitwort".
-
An
der Ausgangsseite nimmt der Unstriper ASIC in jedem Kanal Verkehr
von einer jeden der Anschlusskarten auf, prüft Fehler und korrigiert die
Daten und sendet dann die korrekten Pakete an seinem Ausgangsbus
aus. Der Unstriper nutzt die Daten von der Reservenetzeinrichtung
und die durch den Striper eingefügte
Prüfsumme,
um eine Datenkorruption zu erfassen und zu korrigieren.
-
2 zeigt
eine OC48 Anschlusskarte.
-
Die
OC192 Anschlusskarte unterstützt
einen einzelnen 10G Strom in die Netzeinrichtung und zwischen einem
10G und 20G Ausgangsstrom. Diese Karte nutzt auch 4 Striper und 4
Unstriper, die 4 Chips arbeiten jedoch parallel auf einem breiteren
Datenbus. Die zu jeder Netzeinrichtung gesendeten Daten sind identisch
für sowohl
OC48 als auch OC192 Ports, sodass Daten zwischen den Porttypen ohne
eine Notwendigkeit spezieller Umwandlungsfunktionen fließen können.
-
3 zeigt
eine 10G verknüpfte
Netzeinrichtung (Blade).
-
Jede
40G Vermittlungsnetzeinrichtung ordnet bis zu 40Gbps Zellen/Rahmen
in Warteschleife an und arbeitet sie mit 80Gbps ab. Diese 2× Geschwindigkeitserhöhung reduziert
ein Ausmaß eines
an der Netzeinrichtung gepufferten Verkehrs und erlaubt es dem Ausgangs-ASIC
Verkehrsspitzen weit über
einer Linienrate zu verarbeiten. Eine Vermittlungsnetzeinrichtung
besteht aus drei Arten von ASICs: Aggregatoren, Speichercontrollern
und Separatoren. Neun Aggregator-ASICs empfangen 40Gbps Verkehr
von bis zu 48 Netzeinrichtungen und dem Steuerport. Die Aggregator-ASICs
kombinieren das Netzeinrichtungsleitwort und eine Nutzlast in einen
einzelnen Datenstrom und TDM zwischen den Quellen und setzen die
resultierenden Daten auf einen Bus mit breiter Ausgabe. Ein zusätzlicher
Steuerbus (destid) wird für
eine Steuerung verwendet, wie die Speichercontroller die Daten in
Warteschlange setzen. Der Datenstrom von jedem Aggregator-ASIC wird
dann in 12 Speichercontroller bitmäßig aufgetrennt (bit-sliced).
-
Der
Speichercontroller empfängt
bis zu 16 Zellen/Rahmen an jedem Taktzyklus. Jeder der
12 ASICs speichert 1/12 der aggregierten Datenströme. Er speichert
dann die ankommenden Daten basierend auf von dem destid-Bus empfangener
Steuerinformation. Eine Speicherung von Daten wird in dem Speichercontroller vereinfacht,
sodass sie vergleichsweise ohne Berücksichtigung von Paketgrenzen
ist (Zwischenspeicherlinienkonzept). Alle 12 ASICs arbeiten die
Zellen gleichzeitig mit einer aggregierten Geschwindigkeit von 80Gbps ab.
-
Neun
Separator-ASICs führen
die umgekehrte Funktion der Aggregator-ASICs ab. Jeder Separator empfängt Daten
von allen 12 Speichercontrollern und decodiert die Leitworte, die
in die Datenströme
durch den Aggregator eingebettet sind, um Paketbegrenzungen zu finden.
Jeder Separator ASIC sendet dann die Daten bis zu 24 unterschiedlichen Unstriper,
in Abhängigkeit
von dem exakten Ziel, das durch den Speichercontroller angegeben
ist, als Daten zum Separator geführt
wurden.
-
Der
Abarbeitungsprozess wird durch einen rückwärtigen Druck getrieben. Falls
ein rückwärtiger Druck an
den Unstriper angelegt wird, wird der rückwärtige Druck zurück zum Separator
kommuniziert. Der Separator und Speichercontroller weisen ebenso
einen Mechanismus für
rückwärtigen Druck
auf, der steuert, wann ein Speichercontroller eine Verkehr zu einem
Ausgangsport abarbeiten kann.
-
Um
OC48 und OC192 effizient im Chipsatz zu unterstützen, werden die 4 OC48 Ports
von einer Anschlusskarte immer zu dem gleichen Aggregator und von
dem gleichen Separator geleitet (die Portverbindungen für den Aggregator & Separator sind
immer symmetrisch).
-
Die 4a und 4b zeigen
die Konnektivität
der Netzeinrichtungs-ASICs.
-
Die
externen Schnittstellen der Vermittlungen sind der Eingabebus (BIB)
zwischen dem Striper-ASIC und der Eingangsanordnungs-ASIC, wie beispielsweise
Vortex und der Ausgangsbus (BOB) zwischen dem Unstriper-ASIC und
dem Ausgangsanordnungs-ASIC
wie beispielsweise Trident.
-
Der
Stiper-ASIC akzeptiert Daten von dem Eingangsport über den
Eingangbus (BIB) (auch als DIN_ST_bl_ch Bus bekannt).
-
Dieser
Bus kann entweder als 4 getrennte 32-Bit Eingangsbusse (4XOC48c)
oder als ein einzelner 128-Bit breiter Datenbus mit einem gemeinsamen
Satz von Steuerleitungen zu allen Stripern arbeiten. Dieser Bus
unterstützt
entweder Zellen oder Pakete basierend auf Softwarekonfigurationen
des Striperchips.
-
Der
Unstriper-ASIC sendet Daten zum Ausgangsport über den Ausgangsbus (BOB) (auch
als DOUT_UN_bl_ch Bus bekannt), der ein 64 (oder 256) Bit Datenbus
ist, der entweder eine Zelle oder ein Paket unterstützen kann.
Er besteht aus den folgenden Signalen: Dieser Bus kann entweder
als 4 getrennte 32-Bit Ausgangsbusse (4XOC48c) oder als ein einzelner
128-Bit breiter Datenbus mit einem gemeinsamen Satz von Steuerleitungen
von allen Ent-Stipern arbeiten. Dieser Bus unterstützt entweder
Zellen oder Pakete basierend auf einer Softwarekonfiguration des
Unstriperchips.
-
Der
Synchronizer hat zwei Hauptzwecke. Der erste Zweck ist ein Aufrechterhalten
einer logischen Zellen/Paket- oder Datagrammreihenfolge über allen
Netzeinrichtungen. An der Netzeinrichtungseingangsschnittstelle
müssen
an mehr als einer Netzeinrichtung von Kanälen einer Anschlusskarte ankommende
Datengramme in der gleichen Reihenfolge über alle Netzeinrichtungen
verarbeitet werden. Der zweite Zweck des Synchronizers ist es, dass
alle Ausgangskanäle
einer Anschlusskarte alle Segmente oder Streifen eines Datengramms,
die zusammengehören,
wieder zusammensetzen, obwohl die Datengrammsegmente von mehr als einer
Netzeinrichtung gesendet werden und an den Einrichtungsausgangseingängen zu
unterschiedlichen Zeitpunkten ankommen können. Dieser Mechanismus muss
in einem System, das unterschiedliche Netzverzögerungen und veränderliche
Größen einer
Taktdrift zwischen Anschlussanordnungen (Blades) und Netzeinrichtungen
(Fabrics) aufweist, aufrecht erhalten werden.
-
Die
Vermittlung nutzt ein System eines synchronisierten Fensters, wenn
Startinformation im System übertragen
wird. Jeder Transmitter und Empfänger
kann relative Taktzählungen
von der letzten Resynchronisierungsanzeige betrachten, um Daten
von mehreren Quellen zu synchronisieren. Der Empfänger wird
den Empfang von Daten verzögern,
welches der erste Taktzyklus von Daten in einer Synchronisationsperiode
ist, bis zu einer programmierbaren Verzögerung, nachdem er die globale
Synchronisationsanzeige empfängt.
An dieser Stelle werden alle Daten als gleichzeitig empfangen betrachtet,
und eine feste Reihenfolge wird angewendet. Auch wenn die Verzögerungen
für ein
Paket 0 und eine Zelle 0 bewirkt haben, dass sie aufgrund der Verzögerungen
durch die Einrichtung an den Empfängern in unterschiedlichen
Reihenfolgen gesehen werden, ist eine resultierende Reihenfolge
beider Ströme
zu einer Empfangszeit = 1 die gleiche, Paket 0, Zelle 0, basierend
auf dem physikalischen Bus, von dem sie empfangen wurden.
-
Mehrere
Zellen oder Pakete können
in einem Zählerschritt
gesendet werden. Alle Ziele werden alle Zellen von der ersten Schnittstelle
anfordern, bevor sie auf die nächste Schnittstelle
weitergehen, und so weiter. Dieses Zellensynchronisationsverfahren
wird auf allen Zellenschnittstellen angewendet. Unterschiedliche Auflösungen sind
für einige
Schnittstellen erforderlich.
-
Der
Synchronisierer besteht aus zwei Hauptblöcken, insbesondere dem Transmitter
und dem Empfänger.
Der Transmitterblock wird in den Striper- und Separator-ASIC angeordnet
sein, und der Empfängerblock wird
im Aggregator- und Unstriper-ASIC angeordnet sein. Der Empfänger im
Aggregator wird bis zu 24 (6 Anschlusskarten × 4 Kanäle) Eingangsleitungen handhaben.
Der Empfänger
im Unstriper wird bis zu 13 (12 Netzeinrichtungen + 1 Paritäts-Netzeinrichtung)
Eingangsleitungen handhaben.
-
Wenn
ein Synchronisationsimpuls empfangen wird, berechnet der Transmitter
zuerst die Anzahl von Taktzyklen, wie schnell er ist (als N Takte
bezeichnet).
-
Der Übertragungssynchronisierer
wird den Ausgangsstrom unterbrechen und N K Zeichen übertragen, die
anzeigen, dass er abriegelt.
-
Am
Ende der Abriegelungssequenz überträgt der Transmitter
ein K Zeichen, was anzeigt, dass gültige Daten mit dem nächsten Taktzyklus
beginnen. Diese Gültiganzeige
mit dem nächsten
Zyklus wird durch die Empfänger
verwendet, um einen Verkehr von allen Quellen zu synchronisieren.
-
Beim
nächsten
Ende einer Übertragung
wird der Transmitter dann mindestens einen Frei- bzw. Leerlauf an
der Schnittstelle einfügen.
Diese Freiläufe
erlauben den 10-Bit Decodern, dass sie sich korrekt auf das serielle
10-Bit Codefenster resynchronisieren, falls sie die Synchronisation
verlieren.
-
Der
Empfangssynchronisierer empfängt
den globalen Synchronisierungsimpuls und verzögert den Synchronisierungsimpuls
um eine programmierte Zahl (die basierend auf der Maximalgröße einer
Transportverzögerung
basierend programmiert ist, die eine physikalische Einheit aufweisen
kann). Nach einem Verzögern
des Synchronisationsimpulses wird der Empfänger dann den Taktzyklus unmittelbar
nach dem Synchronisierungszeichen als für einen Empfang vorgesehen
betrachtet. Daten werden dann jeden Taktzyklus empfangen, bis das
nächste
Synchronisierungszeichen auf dem Eingangsstrom ersichtlich ist.
Diese Daten werden nicht als für
einen Empfang verfügbar
betrachtet, bis der verzögerte
globale Synchronisierungsimpuls ersichtlich ist.
-
Da
Transmitter und Empfänger
auf unterschiedlichen physikalischen Platinen angeordnet sein werden und
durch unterschiedliche Oszillatoren getaktet werden, werden Taktgeschwindigkeitsunterschiede
zwischen ihnen auftreten. Um die Anzahl von Taktzyklen zwischen
unterschiedlichen Transmittern und Empfängern zu begrenzen, wird ein
globaler Synchronisierungsimpuls auf der Systemebene verwendet,
um alle Sequenzzähler
zu resynchronisieren. Jeder Chip ist programmiert, um sicherzustellen,
dass unter allen gültigen
Taktverschiebungen jeder Transmitter und Empfänger denken wird, dass er um
mindestens einen Taktzyklus schnell ist. Jeder Chip wartet dann
die geeignete Anzahl von Taktzyklen, die in ihrem momentanen sync_pulse_window
sind. Dies stellt sicher, dass alle Quellen N* sync_pulse_window
gültige
Taktzyklen zwischen den Synchronisationsimpulsen laufen lassen.
-
Als
ein Beispiel könnte
das Synchronisationsimpulsfenster auf 100 Takte programmiert sein,
und die Synchronisationsimpulse könnten mit einer nominalen Rate
von einem Synchronisationsimpulse jede 10.000 Takte ausgesendet
werden. Basierend auf den Verschiebungen im schlimmsten Fall für die Synchronisationsimpulstransmitter-Taktgebung und die
Synchronisationsimpulsempfänger-Taktgebung
können
tatsächlich 9.995
bis 10.005 Takte am Empfänger
für 10.000
Takte am Synchronisationsimpulstransmitter vorliegen. In diesem
Fall würde
der Synchronisationsimpulstransmitter programmiert sein, Synchronisationsimpulse
jede 10.006 Taktzyklen auszusenden. Die 10.006 Takte garantieren,
dass alle Empfänger
in ihrem nächsten
Fenster sein müssen.
Ein Empfänger
mit einem zu schnellen Takt könnte
tatsächlich
10.012 Takte gesehen haben, falls der Synchronisationsimpulstransmitter
einen langsamen Takt aufweist. Da der Synchronisationsimpuls 12 Taktzyklen
in das Synchronisationsimpulsfenster hineinempfangen wurde, würde der
Chip um 12 Taktzyklen verzögern.
Ein weiterer Empfänger
könnte
10.006 Takte sehen und für
6 Taktzyklen am Ende des Synchronisationsimpulsfensters verriegeln.
In beiden Fällen
würde jede
Quelle 10.100 Taktzyklen laufen.
-
Wenn
eine Anschlusskarte oder Netzeinrichtung nicht vorhanden ist oder
gerade eingefügt
wurde, und beide als die Eingänge
eines Empfangssynchronisierers ansteuernd betrachtet werden, wird
das Schreiben von Daten an das spezielle Eingangs-FIFO unterbunden
sein, da der Eingangstakt nicht vorhanden sein wird oder instabil
sein wird, und der Status der Datenleitungen wird unbekannt sein.
Wenn die Anschlusskarte oder Netzeinrichtung eingefügt wird,
muss Software aktiv werden und den Eingang an die Byteleitung freigeben,
um eine Freigabe von Daten von dieser Quelle zu ermöglichen.
Schreibvorgänge
an den Eingangs-FIFO werden freigegeben. Es wird angenommen, dass
das Freigabesignal angeführt
wird, nachdem die Daten, das Leitwort und der Takt von der Anschlusskarte
oder Netzeinrichtung stabil sind.
-
Auf
einer Systemebene wird es einen primären und einen sekundären Synchronisationsimpulstransmitter
geben, die auf zwei getrennten Netzeinrichtungen liegen. Es wird
auch einen Synchronisationsimpulsempfänger auf jeder Netzeinrichtung
und Anordnung (Blade) geben. Dies ist in 5 ersichtlich.
Ein primärer Synchronisationsimpulstransmitter
wird ein freilaufender Synchronisationsimpulsgenerator sein, und
ein sekundärer
Synchronisationsimpulstransmitter wird seine Synchronisationsimpulse
an den primären
synchronisieren. Die Synchronisationsimpulsempfänger werden sowohl primäre als auch
sekundäre
Synchronisationsimpulse empfangen und basierend auf einem Fehlerprüfalgorithmus
den richtigen Synchronisationsimpuls auswählen, um ihn zu den ASICs weiterzuleiten,
die auf dieser Platine angeordnet sind. Der Synchronisationsimpulsempfänger wird
sicherstellen, dass ein Synchronisationsimpuls nur zu dem Rest der
Platine weitergeleitet wird, falls der Synchronisationsimpuls von
den Synchronisationsimpulstransmittern innerhalb seiner eigenen
Sequenz "0" Zählung fällt. Beispielsweise
werden der Synchronisationsimpulsempfänger und ein Ent-Streifer-ASIC
auf der gleichen Anschlussanordnung (Blade) liegen. Der Synchronisationsimpulsempfänger und
der Empfangssynchronisierer in dem Unstriper werden von dem gleichen
Kristalloszillator getaktet, und so sollte keine Taktdrift zwischen
den Takten, die für
eine Inkrementierung der internen Sequenzzähler verwendet werden, vorliegen.
Der Empfangssynchronisierer wird erforderlich machen, dass der Synchronisationsimpuls,
den er empfängt,
immer im "0" Zählerfenster
liegt.
-
Falls
der Synchronisationsimpulsempfänger
feststellt, dass der primäre
Synchronisationsimpulstransmitter die Synchronisation verloren hat,
wird er zu der sekundären Synchronisationsimpulstransmitterquelle umschalten.
Der sekundäre
Synchronisationsimpulstransmitter wird ebenso feststellen, dass
der primäre
Synchronisationsimpulstransmitter die Synchronisation verloren hat,
und wird damit beginnen, seinen eigenen Synchronisationsimpuls unabhängig vom
primären
Synchronisationsimpulstransmitter zu erzeugen. Dies ist der primäre Betriebsmodus
des sekundären
Synchronisationsimpulstransmitters. Falls der Synchronisationsimpulsempfänger feststellt,
dass der primäre
Synchronisationsimpulstransmitter wieder in Synchronisation liegt,
wird er auf die primäre
Seite umschalten. Der sekundäre
Synchronisationsimpulstransmitter wird ebenso feststellen, dass
der primäre
Synchronisationsimpulstransmitter wieder in Synchronisation liegt,
und wird in einen sekundären
Modus zurückschalten.
Im sekundären
Modus wird er seinen eigenen Synchronisationsimpuls mit dem primären Synchronisationsimpuls
synchronisieren. Der Synchronisationsimpulsempfänger wird weniger Toleranz
in seinem Synchronisationsimpus-Filtermechanismus aufweisen, als
der sekundäre
Synchronisationsimpulstransmitter. Der Synchronisationsimpulsempfänger wird
schneller als der sekundäre
Synchronisationsimpulstransmitter umschalten. Dies wird vorgenommen,
um sicherzustellen, dass alle Empfängersynchronisierer auf ein
Verwenden der sekundären
Synchronisationsimpulstransmitterquelle umgeschaltet haben, bevor
der sekundäre
Synchronisationsimpulstransmitter in einen primären Modus umschaltet.
-
5 zeigt
eine Synchronisationsimpulsverteilung.
-
Um
die Backplaneübertragung
von einer Netzeinrichtung für
die in der Synchronisationsberechnung angezeigte Anzahl von Taktzyklen
abzuriegeln, muss die gesamte Netzeinrichtung praktisch für so viele
Taktzyklen eingefroren werden, um sicherzustellen, dass die gleichen
Warteschleifen und Abarbeitungsentscheidungen in Synchronisation
verbleiben. Dieses erfordert eine Unterstützung in jedem ASIC der Netzeinrichtung. Ein
Abriegeln hält
alle Funktionalität
an, einschließlich
spezieller Funktionen wie Warteschleifen-Resynchronisierung.
-
Das
Synchronisierungssignal von dem Synchronisierungsimpulsempfänger wird
an alle ASICs verteilt. Jeder ASIC der Netzeinrichtung enthält einen
Zähler
im Kerntaktbereich, der Taktzyklen zwischen globalen Synchronisationsimpulsen
zählt.
Nach einem Empfang des Synchronisationsimpulses berechnet jeder
ASIC die Anzahl von Taktzyklen, die er zu schnell ist. Da der globale
Sync nicht mit seinem eigenen Takt übertragen wird, kann der berechnete
Abriegelungszykluswert für
manche ASICs auf der gleichen Netzeinrichtung möglicherweise nicht der Gleiche
sein. Diese Differenz wird berücksichtigt,
indem alle Schnittstellen-FIFOs auf einer Tiefe gehalten werden,
an der sie die maximale Verschiebung von Abriegelungszählungen
tolerieren können.
-
Abriegelungszyklen
auf allen Chips werden immer am gleichen logischen Punkt eingefügt, relativ
zum Beginn der letzten Sequenz von "nützlichen" (Nicht-Abriegelungs-)
Zyklen. Das heißt,
jeder Chip wird immer die gleiche Anzahl von "nützlichen" Zyklen zwischen
Abriegelungsereignissen ausführen,
auch wenn die Anzahl von Abriegelungszyklen veränderlich ist.
-
Ein
Abriegeln kann zu unterschiedlichen Zeitpunkten auf unterschiedlichen
Chips auftreten. Alle Netzeinrichtungseingangs-FIFOs werden anfangs
so eingestellt, dass ein Abriegeln auf beiden Seiten des FIFO zunächst auftreten
kann, ohne dass die FIFOs trockenlaufen oder überlaufen. Es gibt an jeder
Chip-Schnittstelle ein Synchronisations-FIFO, um Abriegelungszyklen zu berücksichtigen
(wie auch Platinenspurlängen
und Taktverschiebungen). Die Transmittersignale werden abgeriegelt,
wenn dieser abgeriegelt wird. Der Empfänger schiebt während der
angezeigten Zyklen nichts an, und holt während der Abriegelung auch
nichts hervor (kein Push beziehungsweise Pop). Die FIFO-Tiefe wird
veränderlich
sein, in Abhängigkeit
davon, welcher Chip zuerst verriegelt, die Veränderlichkeit ist jedoch durch
die Maximalanzahl von Abriegelungszyklen begrenzt. Die Anzahl von
Abriegelungszyklen, die ein spezieller Chip während einer globalen Synchronisationsperiode sieht,
können
variieren, sie werden jedoch alle die gleiche Anzahl von nützlichen
Zyklen aufweisen. Die Gesamtanzahl von Abriegelungszyklen, die jeder
Chip auf einer speziellen Netzeinrichtung sieht, wird die gleiche sein,
innerhalb einer begrenzten Toleranz.
-
Der
Aggregatorenkerntaktbereich hält
für die
Abriegelungsdauer vollständig
an, alle Flip Flops und der Speicher halten ihren Zustand. Eingangs-FIFOs
wird es erlaubt, aufgebaut zu werden. Abriegelungsbuszyklen werden
in die Ausgangswarteschleifen eingefügt. Der genaue Zeitpunkt wann
die Kernabriegelung ausgeführt wird,
wird vorgegeben wenn das DOUT_AG Busprotokoll Abriegelungszyklen
für eine
Einfügung
erlaubt.). DOUT_AG Abrieglungszyklen werden auf dem DestID Bus angezeigt.
Der Speichercontroller muss alle Flip Flops für die geeignete Anzahl von
Zyklen abriegeln. Um einen Einfluss auf den Siliziumbereich im Speichercontroller
zu reduzieren, wird ein fortschreitendes Abriegeln genanntes Verfahren
verwendet.
-
Die
Auf-der-Netzteinrichtung-Chip-zu-Chip Synchronisation wird jeden
Synchronisationsimpuls ausgeführt.
Während
einiges an Synchronisationsfehler-Erkennungsfähigkeiten in einigen der ASICs
existieren kann, ist es die Aufgabe des Unstripers, Netzeinrichtungssynchronisationsfehler
zu erfassen, und die verstoßende
Netzeinrichtung zu entfernen. Die Chip-zu-Chip-Synchronisation ist
eine kaskadierte Funktion, die ausgeführt wird, bevor irgendein Paketfluss
auf der Netzeinrichtung freigegeben wird. Die Synchronisation verläuft vom
Aggregator zum Speichercontroller, zum Separator, und zurück zum Speichercontroller.
Nach der Systemrücksetzung
warten die Aggregatoren auf das erste globale Synchrisationssignal.
Wenn empfangen, überträgt jeder
Aggregator einen lokalen Synchronisationsbefehl (Wert 0 × 2) auf
dem DestID Bus zu jedem Speichercontroller.
-
Die
Stripingfunktion weist Bits von eingehenden Datenströmen individuellen
Netzeinrichtungen zu. Zwei Elemente wurden bei einer Ableitung einer
Stripingzuordnung optimiert:
- 1. Eine Backplaneeffizienz
sollte für
OC48 und OC192 optimiert sein.
- 2. Eine Backplanezwischenverbindung sollte für einen OC192 Betrieb nicht
signifikant geändert
werden.
-
In
dieser Hinsicht wurde ein Kompromiss gebildet gegenüber zusätzlichen
MUX-Stellen für
den Striper- und Unstriper-AXIC. Ungeachtet der Optimierung muss
die Vermittlung das gleiche Datenformat im Speichercontroller für sowohl
OC48 als auch OC192 aufweisen.
-
Eine
Backplaneeffizienz erfordert, dass ein minimales Padding (Auffüllen) hinzugefügt wird,
wenn die Backplanebusse gebildet werden. Den 12 Bit Backplanebus
für OC48
und den 48 Bit Backplanebus für
OC192 gegeben, erfordert eine optimale Zuordnung, dass die Anzahl
von ungenutzten Bits für
eine Übertragung
gleich (number_of_bytes *8)/bus_width ist, wobei "/" eine ganzzahlige Division ist. Für OC48 kann
der Bus 0,4 oder 8 ungenutzte Bits aufweisen. Für OC192 kann der Bus 0, 8,
16, 24, 32 oder 40 ungenutzte Bits aufweisen.
-
Dieses
bedeutet, dass kein Bit zwischen 12 Bit Grenzen verschoben werden
kann, oder anderweitig wäre
ein OC48 Padding für
bestimmte Paketlängen
nicht optimal.
-
Für OC192c
bedeutet eine maximale Bandbreitennutzung, dass jeder Striper die
gleiche Anzahl von Bits empfangen muss (was ein Bit verschachteln
in die Striper hinein impliziert). Wenn mit der gleichen Backplanezwischenverbindung
kombiniert bedeutet dies, dass bei OC192c jeder Streifen genau die
richtige Anzahl von Bits aufweisen muss, die von jedem Striper kommen,
der 1/4 der Bits aufweist.
-
Zum
Zwecke einer Zuordnung von Datenbits auf Netzeinrichtungen wird
ein 48 Bit Rahmen verwendet. Innerhalb des Stripers ist ein FIFO,
das 32 Bit breit bei 80–100
MHz beschrieben wird und 24 Bit breit bei 125 MHz liegt. Drei 32-Bit
Worte werden 24 Bit Worte liefern. Jedes Paar von 24 Bit Worten
wird als 48 Bit Rahmen behandelt. Die Zuordnungen zwischen Bits
und Netzeinrichtungen hängen
von der Anzahl von Netzeinrichtungen ab. Tabelle
11: Bit Striping Funktion
- fab
- = Netzeinrichtung
-
Die
folgenden Tabellen geben die Bytespuren an, die zuerst in den Aggregator
eingelesen werden und zuerst in den Separator geschrieben werden.
Die vier Kanäle
werden mit A, B, C, D bezeichnet. Die unterschiedlichen Netzeinrichtungen
haben eine unterschiedliche Lese/Schreibreihenfolge der Kanäle, um zu
erlauben, dass alle Busse voll genutzt werden.
-
Eine Netzeinrichtung-40G
-
Die
nächste
Tabelle gibt die Schnittstellenlesereihenfolge für den Aggregator an.
-
-
Zwei
Netzeinrichtungen-80G
-
-
Vier
Netzeinrichtungen-160G
-
Sechs
Netzeinrichtungen-240G
-
Zwölf Netzeinrichtungen-480G
-
Schnittstellen
zu den Gigabit-Transceivern werden den Transceiver als einen geteilten
Bus mit zwei getrennten Leitwort- und Datenbussen nutzen. Der Leitwortbus
wird eine feste Größe aufweisen
(2 Bit für OC48
Eingang, 4 Bit für
OC48 Ausgang, 8 Bit für
OC192 Eingang und 16 Bit für
OC192 Ausgang), der Datenbus wird ein Bus mit variabler Größe sein.
Die Übertragungsreihenfolge
wird immer Leitwortbits an festen Orten aufweisen. Jede Stripingkonfiguration
weist einen Transceiver auf, der dazu verwendet wird, mit einem
Ziel in allen gültigen
Konfigurationen zu sprechen. Dieser Transceiver wird dazu verwendet,
sowohl Leitwortbusse zu senden, als auch ein Senden der Daten zu
beginnen.
-
Die
Backplaneschnittstelle wird physikalisch unter Verwendung der Schnittstellen
zu den Backplane-Transceivern implementiert. Der Bus für sowohl
einen Eingang als auch einen Ausgang wird als aus zwei Hälften bestehend
betrachtet, jede mit Leitwortdaten.
-
Die
zwei Bushälften
können
Information bezüglich
getrennter Pakete haben, falls die erste Bushälfte ein Paket beendet.
-
Beispielsweise
hat eine zu den Netzeinrichtung gehende OC48 Schnittstelle logisch
gesagt 24 Datenbits und 2 Leitwortbits. Dieser Bus wird verwendet,
als ob er mit 2 × (12
Bit Datenbus + 1 Bit Leitwortbus) arbeitet. Die zwei Bushälften werden
als A und B bezeichnet. Bus A sind die ersten Daten, gefolgt durch
Bus B. Ein Paket kann auf entweder Bus A oder B beginnen und auf
entweder Bus A oder B enden.
-
Ein
Zuordnen von Datenbits und Leitwortbits zu Transceiverbits werden
die Busbits verschachtelt. Dieses stellt sicher, dass alle Transceiver
den gleichen Gültig/Ungültigzustand
haben sollten, auch wenn sich das Stripingausmaß ändert. Leitworte sollten mit
Bus A interpretiert werden, bevor sie auf Bus B auftreten.
-
Das
Bus A/Bus B Konzept entspricht eng einem Bereitstellen von Schnittstellen
zwischen den Chips.
-
Alle
Backplanebusse unterstützen
eine Fragmentierung von Daten. Das verwendete Protokoll markiert die
letzte Übertragung
(über das
finale Segmentbit in dem Leitwort). Alle Transceiver, die nicht
im finalen Segment sind, müssen
die gesamte Busbreite verwenden, auch wenn dies keine gerade Anzahl
von Bytes ist. Ein beliebiges gegebenes Paket muss auf die gleiche
Anzahl von Netzeinrichtungen für
alle Übertragungen
dieses Pakets gestreift werden. Falls die Stripinggröße in dem
Striper während
einer Übertragung
eines Pakets aktualisiert wird, wird das Striping nur am Beginn
des nächsten
Pakets aktualisiert.
-
Jeder
Transmitter auf den ASICs wird die folgenden I/O (E/A) für jeden
Kanal aufweisen:
8 Bit Datenbus, 1 Bit Takt, 1 Bit Steuerung.
Auf
der Empfangsseite für
den Kanal, den der ASIC empfängt,
einen
Empfangstakt, einen 8 Bit Datenbus, einen 3 Bit Statusbus.
-
Die
Vermittlung optimiert die Transceiver, indem ein Transmitter auf
zwischen 1 und 3 Backplanepaare zugeordnet wird und jeder Empfänger auf
zwischen 1 und 3 Backplanepaare zugeordnet wird. Dieses erlaubt nicht
nur, dass genügend
Transmitter einen Verkehr unterstützen, benötigt in einer Konfiguration,
die auf der Platine zu bevölkern
ist, während
ein vollständiger
Satz von Backplanenetzen erhalten wird. Die Motivation für diese
Optimierung ist es, die Anzahl von benötigten Transceivern zu reduzieren.
-
Die
Optimierung wurde vorgenommen, während
immer noch gefordert wird, dass zu einem beliebigen Zeitpunkt zwei
unterschiedliche Stripingausmaße
in den Gigabit-Transceivern
unterstützt
werden müssen. Dieses
ermöglicht,
dass ein Verkehr von Stripingdaten zu einer Netzeinrichtung in Warteposition
geschleift wird und zur gleichen Zeit ein Striper Daten zu zwei
Netzeinrichtungen streift.
-
In
Abhängigkeit
von der Buskonfiguration können
multiple Kanäle
erforderlich sein, um aneinander geknüpft zu sein, um eine Leitung
mit größerer Bandbreite
zu bilden (zu beliebiger Zeit gibt es mehr als einen Transceiver
in einer logischen Verbindung). Obwohl Quad gbit Transceiver 4 Kanäle zusammenlegen
können, wird
diese Funktionalität
nicht verwendet. Stattdessen ist der Empfangs-ASIC für eine Synchronisierung
zwischen den Kanälen
von einer Quelle zuständig.
Dieses wird im gleichen Kontext wie der generische Synchronisierungsalgorithmus
vorgenommen.
-
Das
8b/10b Codieren/Decodieren in den Gigabit-Transceivern ermöglicht eine
Anzahl von Steuerereignissen, die über den Kanal zu übermitteln
sind. Die Notation für
diese Steuerereignisse sind K-Zeichen und sie sind basierend auf
dem codierten 10 Bitwert nummeriert. Mehrere dieser K-Zeichen werden
in dem Chipsatz verwendet. Die verwendeten K-Zeichen und deren Funktionen
sind in der untenstehenden Tabelle gegeben.
-
Tabelle
12: K-Zeichennutzung
-
Die
Vermittlung weist eine variable Anzahl von für jeden Backplanekanal unterstützten Datenbits
auf, in Abhängigkeit
von der Stripingkonfiguration für
ein Paket. Innerhalb eines Satzes von Transceivern werden Daten
in der folgenden Reihenfolge aufgefüllt:
F[fabric]_[oc192
port_number][oc192 port_designation]
(a,b,c,d)[transceiver_number]
-
Der
Chipsatz implementiert bestimmte Funktionen, die hier beschrieben
sind. Die meisten der Funktionen, die hier erwähnt werden, werden in mehreren
ASIC unterstützt, und
so ergibt eine Dokumentierung dieser auf einer pro ASIC Grundlage
kein klares Verständnis
des vollen Umfangs der erforderlichen Funktionen.
-
Der
Vermittlungschipsatz ist dazu ausgelegt, mit Paketen bis zu 64K
+ 6 Byte lang zu arbeiten. Auf der Eingangsseite der Vermittlung
gibt es Busse, die von mehreren Ports bzw. Anschlüssen gemeinsam
genutzt werden. Für
die meisten Pakete gilt, dass sie ohne irgendeine Unterbrechung
von Beginn des Pakets zum Ende des Pakets übertragen werden. Dieser Ansatz
kann jedoch zu großen
Verzögerungsveränderlichkeiten für einen
verzögerungsempfindlichen
Verkehr führen.
Um zu ermöglichen,
dass ein verzögerungssensitiver Verkehr
und ein langer Verkehr auf der gleichen Vermittlungsnetzeinrichtung
koexistieren, wird das Konzept langer Pakete eingeführt. Grundlegend
gesagt erlauben lange Pakete, dass Abschnitte von Daten an den Warteschleifenort
gesendet werden, an dem Warteschleifenort auf einer Quellengrundlage
aufgebaut werden, und dann in die Warteschleife komplett eingefügt werden,
wenn das Ende des langen Pakets übertragen
ist. Die Definition eines langen Pakets basiert auf der Anzahl von
Bits auf jeder Netzeinrichtung.
-
Falls
die Vermittlung in einer Umgebung läuft, in der Ethernet MTU im
gesamten Netz aufrechterhalten wird, werden in einer Vermittlung
keine langen Pakete gesehen, die größer als 40G groß sind.
-
Eine
gemeinsam genutzte Speichertechnik mit breiter Cacheleitung wird
dazu verwendet, um Zellen/Pakete in den Port/Prioritätswarteschleifen
zu speichern. Der gemeinsam genutzte Speicher speichert Zellen/Pakete
fortlaufend, sodass es praktisch keine Fragmentierung und Bandbreitenverschwendung
im gemeinsam genutzten Speicher gibt.
-
Es
gibt mehrere Warteschleifen im gemeinsam genutzten Speicher. Sie
sind bereitgestellt auf einer pro-Ziel- und Prioritäts-Grundlage.
Alle Zellen/Pakete, die die gleiche Ausgangsprioritäts- und
Anordnungs (Blade)/Kanal ID aufweisen, werden in der gleichen Warteschleife
gespeichert. Zellen werden immer von oben von der Liste abgearbeitet
und in das Ende der Warteschleife eingeschleift. Jede Zelle/Paket
besteht aus einem Abschnitt des Eingangsleitworts, einer Paketlänge, und
Paketdaten variabler Länge.
Zellen und Pakete werden fortlaufend gespeichert, d.h. der Speichercontroller erkennt
selbst keine Grenzen von Zellen/Paketen für die Unicast-Verbindungen.
Die Paketlänge
wird für
MC-Pakete gespeichert.
-
Der
Multicast-Anschlussmaskenspeicher 64K × 16-Bit wird zur Speicherung
der ZielAnschlussmaske für
die Multicast-Verbindungen verwendet, ein Eintrag (oder mehrere
Einträge)
pro Multicast VC. Die Anschlussmasken der Kopf-Multicast-Verbindungen, die
durch die Multicast DestID FIFOs bezeichnet sind, werden intern
für eine
Planungsreferenz gespeichert. Der Anschlussmaskenspeicher wird abgerufen,
wenn die Anschlussmaske der Kopfverbindung gelöscht wird und eine neue Kopfverbindung
bereitgestellt wird.
-
APS
bedeutet Automatic Protection Switching, welches ein SONET Redundanzstandard
ist. Um die APS-Eigenschaft in der Vermittlung zu unterstützen, senden
zwei Ausgangsports auf zwei unterschiedlichen Anschlusskarten ungefähr den gleichen
Verkehr. Die Speichercontroller halten einen Satz von Warteschleifen für einen
APS-Port und senden Duplikatdaten an beide Ausgangsports.
-
Um
eine Datenduplikation in dem Speichercontroller ASIC zu unterstützen, weist
eine von mehreren Unicast-Warteschleifen ein programmierbares APS
Bit auf. Falls das APS Bit auf eins gesetzt ist, wird ein Paket
an beide Ausgangsports abgearbeitet. Falls das APS Bit für einen
Port auf Null gesetzt ist, arbeitet die Unicast-Warteschleife im
Normalmodus. Falls ein Port als ein APS-Slave konfiguriert ist,
wird er von den Warteschleifen des APS-Masterports lesen. Für OC48 Ports
ist der APS-Port immer auf dem gleichen OC48 Port auf der benachbarten
Anschlusskarte.
-
Die
gemeinsam genutzten Speicherwarteschleifen in den Speichercontrollern
unter den Netzeinrichtungen können
eine Synchronisation verlieren (d.h. gleiche Warteschleifen auf
unterschiedlichen Speichercontroller-ASICs haben unterschiedliche
Tiefe) aufgrund von Taktverschiebungen oder einer neu eingefügten Netzeinrichtung.
Es ist wichtig, die Netzeinrichtungs-Warteschleifen auf die gültigen und
synchronisierten Zustände
von beliebigen Zuständen
zu bringen. Es ist weiter wünschenswert,
keine Zellen für
irgendeinen Wiederherstellungsmechanismus zu verwerfen.
-
Eine
Resynchronisierungszelle wird an alle Netzeinrichtungen ausgesendet
(neue und existierende), sodass diese den Resynchronisierungszustand
eingehen. Netzeinrichtungen werden versuchen, allen vor der Resynchronisierungszelle
empfangenen Verkehr auszuspülen,
bevor die Warteschleifen-Resynchronisierung endet, es wird jedoch
kein nach der Resynchronisierungszelle empfangener Verkehr abfließen, bis
die Warteschleifen-Resynchronisierung endet. Eine Warteschleifen-Resynchronisierung
endet, wenn eines der zwei Ereignisse auftritt:
- 1.
Ein Zeitgeber läuft
ab.
- 2. Das Ausmaß von
neuem Verkehr (nach der Resynchronisierungszelle empfangener Verkehr) überschreitet
einen Schwellwert.
-
Am
Ende der Warteschleife-Resynchronisierung werden alle Speichercontroller
igendwelchen übrig gebliebenen
alten Verkehr (Verkehr, der vor der Warteschleifen-Resynchronisierungszelle
empfangen wurde) herausspülen.
Der Freimachbetrieb ist schnell genug, um sicherzustellen, dass
alle Speichercontroller allen Speicher auffüllen können, ungeachtet der Tatsache,
wann der Resynchronisationszustand eingegangen wurde.
-
Eine
Warteschleifen-Resynchronisierunge beeinflusst alle drei Netzeinrichtungs-ASICs.
Die Aggregatoren müssen
Sicherstellen, dass die FIFOs nach einer Warteschleifen-Resynchronisierungszelle
identisch abfließen
lassen. Die Speichercontroller implementieren das in die Warteschleife
Setzen und davon Absetzen. Die Separatoren müssen handhaben, dass die Speichercontroller
einen Verkehr absetzen und die Längenanalysier(Parsing)-Zustandsmaschinen
rücksetzen,
wenn dies auftritt. Für
Details hinsichtlich einer Unterstützung einer Warteschleifen-Resynchronisierung
in individuellen ASICs nehme man auf die Chip-ADSs Bezug.
-
Für die Abarbeitungsseite
müssen
Multicast-Verbindungen unabhängige
32 Token pro Port aufweisen, jedes Wort bis zu 50 Bitdaten oder
ein komplettes Paket. Die Kopfverbindung und ihre Anschlussmaske
einer höheren
Prioritäts-Warteschleife
wird von dem Verbindungs-FIFO und dem Anschlussmaskenspeicher in
jedem Zyklus ausgelesen. Ein komplettes Paket wird von der Multicast-Cacheleitung
basierend auf dem Längenfeld
der Kopfverbindung isoliert. Das Kopfpaket wird an alle seine Zielports
gesendet. Die 8 Warteschleifen-Drainer (Absauger) übertragen
das Paket an die Separatoren, wenn Nicht-Null Multicast-Token für die Anschlüsse bzw.
Ports verfügbar
sind. Die nächste
Kopfverbindung wird nur dann verarbeitet, wenn das momentane Kopfpaket
an allen seinen Anschlüssen
ausgesendet ist.
-
Eine
Warteschleifenstruktur kann dynamisch geändert werden, über die
Netzeinrichtungs-Resynchronisierungszelle, wenn das Feld für eine Zahl
einer Priorität
pro Port verwendet wird, um anzuzeigen, wieviele Prioritäts-Warteschleifen
jeder Port innehat. Der Striper-ASIC liegt auf der Netzanordnung
(Blade). Die folgenden Worte haben ausreichend spezielle Bedeutungen
in dem Vokabular der Vermittlung. Viele sind anderweitig erwähnt, dies
ist jedoch ein Versuch, diese an einer Stelle mit Definitionen zusammenzubringen. Tabelle
23:
Wort | Bedeutung |
APS | Automatic
Protection Switching. Ein sonet/sdh-Standard für eine Implementierung einer
Redundanz auf physikalischen Verbindungen. Für die Vermittlung wird APS
auch dazu verwendet, von irgendwelchen erfassten Port-Kartenfehlern wieder
einzurichten. |
Backplane-Synchronisierung | Ein
generischer Ausdruck, der entweder den allgemeinen Prozess bezeichnet,
mit den Vermittlungsplatinen verwenden, um variierende Transportverzögerungen
zwischen Platinen und eine Taktverschiebung zu berücksichtigen,
oder die Logik, die die TX/RX-Funktionalität implementiert, die für den Vermittlungs-ASIC
erforderlich ist, um variierende Transportverzögerungen und Taktdriften zu
berücksichtigen. |
BIB | Der
Vermittlungseingangsbus. Der Bus, der dazu verwendet wird, Daten
zu den Stripern zu leiten. Siehe auch BOB. |
Anschlussanordnung
(Blade) | Ein
anderer für
eine Anschlusskarte verwendeter Ausdruck. Bezüge auf sollten aus diesem Dokument
entfernt sein, einige können
jedoch übriggeblieben
sein. |
BOB | Der
Vermittlungsausgangsbus. Der Ausgangsbus von dem Striper, der mit
dem Ausgangsspeichercontroller verbunden ist. Siehe auch BIB. |
Ausgangs-(Egress) Leitwort | Dies
ist das Leitwort, das dem Chip nach dem Unstriper geliefert wird.
Von einer Perspektive des internen Chipsatzes aus gesehen, wird
das Ausgangsleitwort als Daten behandelt. Siehe auch Netzeinrichtungsleitwort. |
Netzeinrichtungs-Leitwort | Leitwort,
das durch die Netzeinrichtung für
eine Bestimmung der AusgangsWarteschleife verwendet wird. Dieses
Leitwort wird nicht nach außerhalb
des Unstripers geführt.
Ein signifikanter Abschnitt dieses Leitworts wird in den Netzeinrichtungen
entfernt. |
Freeze
(Einfrieren) | Wenn
eine Logik ihre Werte während
Abriegelungszyklen aufrecht erhält. |
Abriegelung | Zeitperiode,
wenn die Netzeinrichtung effektiv ein Durchführen irgendwelcher Arbeiten
anhält,
um eine Taktdrift zu kompensieren. Falls die Backplane-Synchronisationslogik
feststellt, dass eine Netzeinrichtung 8 Taktzyklen zu schnell ist,
wird die Netzeinrichtung für
8 Takte abgeriegelt. |
Warteschlei-fenresynchronisierung
(Queue Resynch) | Eine
Warteschleifen-Resynchronisierung ist eine Serie von Schritten,
die ausgeführt
wird, um sicherzustellen, dass die logischen Zustände aller
Netzeinrichtungs-Warteschleifen für alle Ports zu einem logischen
Zeitpunkt alle identisch sind. Eine Warteschleifen-Resynchronisierung
ist nicht mit einer Backplane-Resynchronisierung (einschließlich Verriegelung) auf
irgendeine Weise verbunden, mit Ausnahme, dass eine Abriegelung
während
einer Warteschleifen-Resynchronisierung auftreten kann. |
SIB | Gestreifter
(striped) Eingangsbus. Ein im weitesten Sinn obloleter Ausdruck,
der dazu verwendet wird, den Ausgangsbus vom Striper und den Eingangsbus zum
Aggregator zu bezeichnen. |
SOB | Der
erste gestreifte Ausgangsbus, der der Ausgangsbus der Netzeinrichtung
und der Eingangsbus des Aggregators ist. Siehe auch SIB. |
Synchroni-sation (Sync) | Hängt stark
vom Kontext ab. In Verbindung stehende Ausdrücke sind Warteschleifen-Resynchronisierung, Abriegelung,
Einfrieren, und Backplane-Synchronisation. |
Wacking | Das
implizite Bitsteuern, das an der OC192 Eingangsstufe auftritt, da
Daten unter Stripern Bit verschachtelt sind. Dieses Bitsteuern wird
durch die Aggregatoren umgekehrt. |
-
Das
Verhältnis
zwischen den Übertragungs-
und Empfangszählern
ist in 6 ersichtlich.
-
Obwohl
die Erfindung detailliert in den vorhergehenden Ausführungsbeispielen
zum Zwecke einer Veranschaulichung beschrieben wurde, versteht es
sich, dass alle diese Details lediglich diesem Zwecke dienen, und
dass Abänderungen
darin durch den Fachmann vorgenommen werden können, ohne vom Umfang der Erfindung
abzuweichen, mit Ausnahme dessen, wie es durch die folgenden Ansprüche beschrieben
sein kann.