DE60119068T2 - Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit - Google Patents

Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit Download PDF

Info

Publication number
DE60119068T2
DE60119068T2 DE60119068T DE60119068T DE60119068T2 DE 60119068 T2 DE60119068 T2 DE 60119068T2 DE 60119068 T DE60119068 T DE 60119068T DE 60119068 T DE60119068 T DE 60119068T DE 60119068 T2 DE60119068 T2 DE 60119068T2
Authority
DE
Germany
Prior art keywords
switching element
switch
packets
switching elements
switching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60119068T
Other languages
English (en)
Other versions
DE60119068D1 (de
Inventor
P. Ronald Pittsburgh BIANCHINI
Jeff Valencia SCHULZ
Veera Reddy
A. Joseph Baden HOOK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson AB
Original Assignee
Marconi Intellectual Property Ringfence Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Marconi Intellectual Property Ringfence Inc filed Critical Marconi Intellectual Property Ringfence Inc
Application granted granted Critical
Publication of DE60119068D1 publication Critical patent/DE60119068D1/de
Publication of DE60119068T2 publication Critical patent/DE60119068T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5674Synchronisation, timing recovery or alignment

Description

  • 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.
  • Figure 00140001
    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
    Figure 00260001
    Figure 00270001
  • 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.
  • Figure 00280001
  • Zwei Netzeinrichtungen-80G
    Figure 00280002
  • 120G
    Figure 00280003
  • Vier Netzeinrichtungen-160G
    Figure 00280004
  • Sechs Netzeinrichtungen-240G
    Figure 00290001
  • Zwölf Netzeinrichtungen-480G
    Figure 00290002
  • 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
    Figure 00320001
  • 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.

Claims (12)

  1. Schalter (10) eines Netzwerks, aufweisend: Anschlusskarten (14), welche Pakete vom Netzwerk empfangen und Pakete zum Netzwerk senden; einen Schaltersteuerungsprozessor (21) zum Liefern von Steuerungsinformation; gekennzeichnet durch Schaltelemente (16) zum Vermitteln der Pakete, wobei die Schaltelemente (16) Steuerungsinformation vom Schaltersteuerungsprozessor (21) empfangen, wobei alle Schaltelemente (16) dafür ausgelegt sind, nur die Steuerinformation zur gleichen logischen Zeit zu implementieren, zu der jedes Steuerelement (16) ein Steuerungsinitiierungssignal von einer der Anschlusskarten (14) empfängt, und wobei jedes jeweilige Schaltelement (16) dafür ausgelegt ist, vor, während und nachdem jedes jeweilige Schaltelement (16) das Steuerungsinitiierungssignal empfängt, kontinuierlich Pakete zu bearbeiten, wobei jedes Schaltelement dafür ausgelegt ist, in einen Schlangenresynchronisierungszustand einzutreten, in dem alle Paketfragmente, die durch die Schaltelemente empfangen wurden, bevor die Schaltelemente (16) in den Resynchronisierungszustand eintraten, aus der Schlange entfernt werden, und darüber hinaus so ausgelegt ist, dass jegliche Paketfragmente, welche vom Schaltelement empfangen werden, nachdem in den Schlangenresynchronisierungszustand eingetreten wurde, erst aus der Schlange entfernt werden, nachdem eine vorgegebene Schlangenresynchronisierungszeit verstrichen ist, wobei die Schaltelemente (16) mit dem Schaltersteuerungsprozessor und den Anschlusskarten verbunden sind.
  2. Schalter nach Anspruch 1, wobei jede Anschlusskarte (14) einen Zerkleinerer (20) umfasst, welcher jedem Schalter (16) ein jeweiliges Fragment jedes Pakets zuschickt.
  3. Schalter nach Anspruch 3, wobei alle Schaltelemente (16) miteinander synchronisiert sind.
  4. Schalter nach Anspruch 3, wobei jedes Schaltelement (16) einen Aggregator (22) aufweist, welcher die Paketfragmente vom Zerkleinerer (20) empfängt, einen Speichercontroller (24), in dem die vom Aggregator (22) empfangenen Paketfragmente gespeichert werden, und einen Separator (26), welcher die Paketfragmente im Speichercontroller (24), zu einer Anschlusskarte der Anschlusskarten (14) sendet.
  5. Schalter nach Anspruch 4, wobei jedes Schaltelement (16) dafür ausgelegt ist, mit allen anderen Schaltelementen (16) synchronisiert zu werden, nachdem das Steuerungsinitiierungssignal empfangen wurde und durch Bringen des Aggregators (22), dann des Speichercontrollers (24) und als nächstes des Separators (26) jedes Schaltelements (16) jeweils zur Synchronisation.
  6. Schalter nach Anspruch 5, wobei das Steuerungsinitiierungssignal in einem Schlangenresynchronisierungspaket gesendet wird.
  7. Verfahren zum Schalten von Paketen, gekennzeichnet durch die folgenden Schritte: Empfangen von Paketen einer Anschlusskarte (14) eines Schalters (10) von einem Netzwerk; Senden von Fragmenten jedes Pakets zu Schaltelementen (16) des Schalters (10); gekennzeichnet durch die folgenden Schritte: Verteilung von Steuerungsinformation von einem Schaltersteuerungsprozessor (21) an die Schaltelemente des Schalters (10), wenn die Anschlusskarte (14) fortfährt, Pakete zu empfangen; Empfangen eines Steuerungsinitiierungssignals aus dem Schaltersteuerungsprozessor (21) durch das Netzwerk an einer Anschlusskarte (14); Schicken des Steuerungsinitiierungssignals von der Anschlusskarte (14) zum Schaltelement (16); Implementieren der Steuerungsinformation an jedem Schaltelement (16) erst nachdem das jeweilige Schaltelement (16) das Steuerungsinitiierungssignal empfangen hat, so dass alle Schaltelemente (16) die Steuerungsinformation gleichzeitig implementieren, und Eintreten in einen Schlangenresynchronisierungszustand durch jedes Schaltelement, wenn das jeweilige Schaltelement die Steuerungsinformation implementiert; und Entfernen jeglicher Paketfragmente, welche durch das Schaltelement empfangen wurden, aus der Schlange, bevor irgendwelche neue Paketfragmente, die vom Schaltelement empfangen werden, nachdem das Schaltelement in den Resynchronisierungszustand eingetreten ist, aus der Schlange entfernt werden.
  8. Verfahren nach Anspruch 7, wobei der Schritt des Entfernens aus der Schlange den Schritt des Entfernens jeglicher neuer Pakete aus der Schlange erst dann, nachdem eine vorgegebene Schlangenresynchronisierungszeit verstrichen ist oder die Zahl der neuen empfangenen Paketfragmente einen vorgegebenen Schwellwert von Paketfragmenten übersteigt, welcher als der Schlangenresynchronisierungswert bekannt ist, umfasst.
  9. Verfahren nach Anspruch 8, wobei vor dem Schritt des Empfangens von Steuerungsinformation der Schritt des Hinzufügens eines neuen Schaltelements zu den Schaltelementen (16) des Schalters existiert und wobei der Schritt des Empfangens der Steuerungsinformation den Schritt des Empfangens der Steuerungsinformation, welche Information bezüglich der Initiierung des neuen Schaltelements umfasst, einschließt.
  10. Verfahren nach Anspruch 9, wobei der Schritt des Sendens von Fragmenten der Pakete den Schritt des Sendens von Fragmenten der Pakete durch einen Zerkleinerer (20) der Anschlusskarte (14) zu einem Aggregator (22) jedes Schaltelements (16) umfasst.
  11. Verfahren nach Anspruch 10, wobei der Schritt des Eintretens den Schritt des Bringens des Aggregators (22), dann eines Speichercontrollers (24) und als nächstes eines Separators (26) jeweils jedes Schaltelements (16) zur Synchronisation umfasst.
  12. Verfahren nach Anspruch 11, wobei der Schritt des Empfangens eines Steuerungsinitiierungssignals den Schritt des Empfangens eines Schlangenresynchronisierungspakets umfasst, welcher das Steuerungsinitiierungssignal aufweist, welches mit anderen gesendeten Paketen eingefügt wird.
DE60119068T 2000-06-30 2001-06-29 Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit Expired - Lifetime DE60119068T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US609497 1990-11-05
US09/609,497 US6473433B1 (en) 2000-06-30 2000-06-30 Queue resynch: synchronous real-time upgrade of a distributed switching system
PCT/US2001/020798 WO2002003619A1 (en) 2000-06-30 2001-06-29 Queue resynch: synchronous real-time upgrade of a distributed switching system

Publications (2)

Publication Number Publication Date
DE60119068D1 DE60119068D1 (de) 2006-06-01
DE60119068T2 true DE60119068T2 (de) 2006-09-28

Family

ID=24441057

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60119068T Expired - Lifetime DE60119068T2 (de) 2000-06-30 2001-06-29 Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit

Country Status (6)

Country Link
US (1) US6473433B1 (de)
EP (1) EP1216549B1 (de)
JP (1) JP2004503136A (de)
AU (1) AU2001271659A1 (de)
DE (1) DE60119068T2 (de)
WO (1) WO2002003619A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6973092B1 (en) * 2000-07-28 2005-12-06 Marconi Intellectual Property (Ringfence), Inc. Dynamic queue utilization
US7106692B1 (en) * 2000-10-04 2006-09-12 Ericsson Ab APS/port mirroring
US7009963B1 (en) * 2000-10-11 2006-03-07 Marconi Intellectual Property (Ringfence), Inc. Dual optimality for different data rate backplane transfer
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US6993047B1 (en) * 2000-12-30 2006-01-31 Redback Networks Inc. Any size and location of concatenated packet data across SONET frames in a SONET signal
US20030128701A1 (en) * 2002-01-09 2003-07-10 Nokia Corporation Method of and apparatus for directing packet entities
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
CN100542103C (zh) * 2006-10-25 2009-09-16 华为技术有限公司 一种热升级网络处理器的方法及装置
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3165229B2 (ja) * 1992-05-15 2001-05-14 株式会社日立製作所 Atmスイッチの同期化方法およびatmスイッチ
JP2694791B2 (ja) * 1992-11-27 1997-12-24 日本電気株式会社 同期方法
FI96078C (fi) * 1994-05-09 1996-04-25 Nokia Telecommunications Oy Menetelmä yksikönvaihdon suorittamiseksi pakettimuotoista dataa välittävässä tietoliikennesolmussa
JP2751858B2 (ja) * 1995-03-02 1998-05-18 日本電気株式会社 Atmスイッチ監視回路
US5764634A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Lan switch with zero latency
US5983278A (en) * 1996-04-19 1999-11-09 Lucent Technologies Inc. Low-loss, fair bandwidth allocation flow control in a packet switch
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5982744A (en) * 1997-08-14 1999-11-09 Alcatel Usa Sourcing, L.P. High density unit shelf and method
US5953314A (en) * 1997-08-28 1999-09-14 Ascend Communications, Inc. Control processor switchover for a telecommunications switch
JPH11154954A (ja) * 1997-11-20 1999-06-08 Hitachi Ltd Atmスイッチ
US6049542A (en) * 1997-12-31 2000-04-11 Samsung Electronics Co., Ltd. Scalable multistage interconnection network architecture and method for performing in-service upgrade thereof
EP0961442B1 (de) * 1998-05-29 2004-09-29 International Business Machines Corporation Vermittlungsarchitektur mit zwei Koppelfelden

Also Published As

Publication number Publication date
US6473433B1 (en) 2002-10-29
EP1216549A1 (de) 2002-06-26
WO2002003619A1 (en) 2002-01-10
EP1216549B1 (de) 2006-04-26
DE60119068D1 (de) 2006-06-01
AU2001271659A1 (en) 2002-01-14
EP1216549A4 (de) 2003-07-30
JP2004503136A (ja) 2004-01-29

Similar Documents

Publication Publication Date Title
DE60119068T2 (de) Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit
DE60113058T2 (de) Empfänger korrigiert
DE60118385T2 (de) Verfahren und vorrichtung zur übertragung von paketen in einem speicher
DE3908838C2 (de)
DE69133569T2 (de) Netzschnittstelle
DE69133518T2 (de) Kommunikationsschnittstelle
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE69735740T2 (de) Asynchrone paketvermittlung
DE69823337T2 (de) Vorrichtung und verfahren zur rückgewinnung von puffern
DE60213430T2 (de) Stm-1 bis stm-64 sdh/sonet rahmenanpasser mit datenmultiplexen aus einer serie von konfigurierbaren e/a ports
DE60127366T2 (de) Verfahren und Struktur zur Unterstützung von Rahmen variabler Länge in einer Vermittlungsanlage mit gemeisamem Speicher
DE19950822A1 (de) Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen
DE60131380T2 (de) Segmentierung und wiederzusammensetzung von datenrahmen
DE602004006573T2 (de) Erzeugen eines schmalbandigen Kanals innerhalb einer breitbandigen Paketübertragung
DE4432061C1 (de) Paketübertragungssystem
DE4416719C2 (de) Schaltungsanordnung zum störungsfreien Umleiten eines Nachrichtenzellenstromes auf einen Ersatzweg
EP0351014A2 (de) Koppelfeld für ein Vermittlungssystem
DE69728382T2 (de) Zellenausrichter
DE60111139T2 (de) Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung
DE60126470T2 (de) Netzwerkvorrichtung und Verfahren zum Laufzeitausgleich von Datenpaketen
DE60130711T2 (de) Verfahren und Vorrichtung zum Speichern von Paketen mit einem Grenzeanzeiger
DE60202124T2 (de) Verfahren und Netzwerkelement zum sicheren Transport von Ethernet-Rahmen über ein SDH/SONET Transport-Netzwerk
WO1992021216A2 (de) Anordnung zum anschliessen eines rechners an ein fernmeldenetz sowie ein verfahren zur bitratenadaption in dieser anordnung
EP1230765B1 (de) Empfängerdekodierungsalgorithmus um störungsfreie n+1-redundanz in einem umschalter zu erlauben

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: ERICSSON AB, STOCKHOLM, SE

8364 No opposition during term of opposition