DE60111139T2 - Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung - Google Patents

Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung Download PDF

Info

Publication number
DE60111139T2
DE60111139T2 DE60111139T DE60111139T DE60111139T2 DE 60111139 T2 DE60111139 T2 DE 60111139T2 DE 60111139 T DE60111139 T DE 60111139T DE 60111139 T DE60111139 T DE 60111139T DE 60111139 T2 DE60111139 T2 DE 60111139T2
Authority
DE
Germany
Prior art keywords
package
fragments
length
network
packet
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
DE60111139T
Other languages
English (en)
Other versions
DE60111139D1 (de
Inventor
Fan Zhou
Veera Reddy
Jon Vogel
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
Marconi Intellectual Property US 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, Marconi Intellectual Property US Inc filed Critical Marconi Intellectual Property Ringfence Inc
Application granted granted Critical
Publication of DE60111139D1 publication Critical patent/DE60111139D1/de
Publication of DE60111139T2 publication Critical patent/DE60111139T2/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/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Vermitteln von Paketen.
  • HINTERGRUND DER ERFINDUNG
  • Bei BFS Speichercontrollern wird eine Wide Cache Pufferstruktur bzw. eine Breitcachepufferstruktur verwendet, wobei mehrere Pakete in ein Speicherwort gepackt sind, um eine Pufferzugriffsbandbreite zu optimieren. Damit, und da BFS Pakete unterschiedlicher Längen vermitteln kann, geht eine Paketbegrenzungsinformation im breiten Cachepuffer verloren. Falls die Paketbegrenzungsinformation (d. h. die durch Aggregatoren berechnete Paketlänge) auf einem anderen Bus zu Separatoren zu senden wäre (die diese für eine Extraktion von Paketen und für ein Senden dieser zu unterschiedlichen Anschlusskarten benötigen), dann müssen die Speichercontroller diese auf einem Bus aufnehmen, der unabhängig von Daten von Aggregatoren ist, diese unabhängig von Daten in eine Warteschleife setzen, und diese zu Separatoren auf einem Bus unabhängig von Daten aussenden. Weiter müssen in den Speichercontrollern Datenwarteschleifen-Verknüpfungslisten und Längeninformationswarteschleifen-Verknüpfungslisten synchronisiert sein.
  • Die EP 1 009 132 offenbart eine typische Vermittlung des Standes der Technik für ein Vermitteln von Paketen mit variabler Länge. Die EP 0 569 173 offenbart eine Hochgeschwindigkeitspaketvermittlung, die Pakete gleichzeitig von einer Anzahl von Serielleingangsverbindungen empfängt, und diese gleichzeitig zu einer Mehrzahl von Seriellausgangsverbindungen liefert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Vermittlung für ein Vermitteln von Paketen. In Übereinstimmung mit der vorliegenden Erfindung wird eine Vermittlung für ein Vermitteln von Paketen bereitgestellt, wobei jedes Paket eine Länge aufweist, wie in Anspruch 1 definiert.
  • In Übereinstimmung mit einem weiteren Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zum Vermitteln von Paketen mit einer Länge bereitgestellt, wie in Anspruch 7 definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den begleitenden Zeichnungen werden die bevorzugten Ausführungsbeispiele der Erfindung und bevorzugte Verfahren für ein Verwirklichen der Erfindung veranschaulicht:
  • 1 zeigt eine schematische Darstellung eines Paket-Striping in der Vermittlung der vorliegenden Erfindung.
  • 2 zeigt eine schematische Darstellung einer 0C 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 ASIC.
  • 5 zeigt eine schematische Darstellung einer Synchronisationsimpuls- (Sync-Impuls) Verteilung.
  • 6 zeigt eine schematische Darstellung eines Verhältnisses zwischen Übertragungs- und Empfangssequenzzählern für den Separator und beziehungsweise Unstriper.
  • 7 zeigt eine schematische Darstellung einer Vermittlung der vorliegenden Erfindung.
  • 8 zeigt eine schematische Darstellung eines Pakets mit einem Längenindikator.
  • DETAILLIERTE BESCHREIBUNG
  • Bezugnehmend auf die Zeichnungen, in denen in den mehreren Ansichten entsprechende Bezugszeichen entsprechende oder identische Teile bezeichnen, und insbesondere mit Bezug auf 7, wird eine Vermittlung 10 zum Vermitteln von Paketen 11 gezeigt. Jedes Paket 11 weist eine Länge auf. Die Vermittlung 10 enthält eine Anschlusskarte bzw. Port-Karte 12, die Pakete 11 von einem Netz 16 empfängt und dorthin sendet. Die Vermittlung 10 enthält Netzanordnungen 14, die mit der Anschlusskarte 12 verbunden sind, und die die Pakete 11 vermitteln. Jede Netzanordnung 14 weist einen Speichermechanismus 18 auf. Jede Netzanordnung 14 weist einen Mechanismus zum Bestimmen der Länge eines jeden durch die Netzanordnung 14 empfangenen Pakets 11 auf, und zum Anordnen eines Längenindikators 22 mit dem Paket 11 solcher Art, dass, wenn das Paket 11 im Speichermechanismus 18 gespeichert wird, der Bestimmungsmechanismus 20 aus dem Längenindikator 22 identifizieren kann, wie lang das Paket 11 ist, und wo das Paket 11 im Speichermechanismus 18 endet.
  • Vorzugsweise enthält der Bestimmungsmechanismus 20 einen Aggregator 24, der Pakete 11 Fragmente 26 von einem Striper 40 der Anschlusskarte 12 empfängt, die Paket- 11 Länge bestimmt, und Paket- 11 Längeninformation 28 dem Beginn des Pakets 11 im Längenindikator 22 hinzufügt, wie in 8 gezeigt. Unter erneuter Bezugnahme auf 7 enthält der Speichermechanismus 18 vorzugsweise einen Speichercontroller 30. Der Aggregator 24 sendet das Paket 11 mit der Paket- 11 Längeninformation 28 an den Speichercontroller 30, der das Paket 11 mit der Paket- 11 Längeninformation 28 speichert. Vorzugsweise weist der Speichercontroller 30 einen Speicher 32 auf, der eine Breitcachepufferstruktur aufweist, bei der mehrere Pakete 11 in ein Wort 34 gelegt sind. Der Striper 40 sendet vorzugsweise entsprechende Fragmente 26 eines Pakets 11 während der gleichen logischen Zeit an den Aggregator 24 einer jeden der Netzanordnungen 14.
  • Die Netzanordnung 14 enthält vorzugsweise einen Separator 36, der die Pakete 11 von dem Speichercontroller 30 liest und die Paket- 11 Längeninformation 28 von jedem Paket 11 extrahiert, um festzustellen, wann jedes Paket 11 endet, und sendet Fragmente 26 des Pakets 11 zu der Anschlusskarte 12. Vorzugsweise entfernt der Separator 36 die Paket- 11 Längeninformation 28 von jedem Paket 11, bevor er irgendwelche Fragmente 26 eines jeden Pakets 11 zu einem Unstriper 38 der Anschlusskarte 12 sendet.
  • Die vorliegende Erfindung betrifft ein Verfahren zum Vermitteln von Paketen 11 mit einer Länge. Das Verfahren umfasst die Schritte zum Empfangen eines Pakets 11 an einer Anschlusskarte 12 einer Vermittlung 10. Dann gibt es den Schritt eines Sendens von Fragmenten 26 des Pakets 11 zu Netzeinrichtungen (Fabrics) 14 der Vermittlung 10. Als nächstes gibt es den Schritt eines Empfangens der Fragmente 26 des Pakets 11 an den Netzeinrichtungen 14 der Vermittlung 10. Dann gibt es den Schritt eines Messens der Länge des Pakets 11 an jeder Netzanordnung 14 aus den Fragmenten 26 des an jeder Netzanordnung 14 empfangenen Pakets 11. Als nächstes gibt es den Schritt eines Anfügens eines Längenindikators 22 an das Paket 11. Dann gibt es den Schritt zum Speichern des Pakets 11 mit dem Längenindikator 22 in einem Speichermechanismus 18 der Netzanordnung 14. Als nächstes gibt es den Schritt zum Lesen des Pakets 11 von dem Speichermechanismus 18. Dann gibt es den Schritt zum Bestimmen, wo das Paket 11 endet, aus dem Längenindikator 22 des Paketes 11.
  • Vorzugsweise enthält der Empfangsschritt den Schritt zum Empfangen des Fragments 26 am Aggregator 24 der Netzanordnung 14. Der Messschritt enthält vorzugsweise den Schritt zum Messen der Länge des Paketes 11 mit dem Aggregator 24. Vorzugsweise enthält der Anfügeschritt den Schritt zum Anfügen des Längenindikators 22 an das Paket 11 mit dem Aggregator 24. Der Speicherschritt enthält vorzugsweise den Schritt zum Speichern des Pakets 11 mit dem Längenindikator 22 in einem Speichercontroller 30 des Speichermechanismus 18.
  • Vorzugsweise enthält der Leseschritt den Schritt zum Lesen des Pakets 11 von dem Speichercontroller 30 mit einem Separator 36 der Netzanordnung 14. Der Bestimmungsschritt enthält vorzugsweise den Schritt zum Bestimmen, wo ein Paket 11 endet, aus dem Längenindikator 22 mit dem Separator 36. Vorzugsweise gibt es nach dem Bestimmungsschritt den Schritt zum Entfernen der Paket- 11 Längeninformation 28 von dem Separator 36.
  • Nach dem Entfernungsschritt gibt es vorzugsweise den Schritt zum Senden von Fragmenten der Pakete 11 von dem Separator 36 zur Anschlusskarte 12. Vorzugsweise enthält der Schritt zum Senden von Fragmenten 26 den Schritt zum Senden von Fragmenten 26 des Pakets 11 zu der Anschlusskarte 12 zur gleichen logischen Zeit mit entsprechenden Fragmenten 26 von anderen Netzanordnungen zur Anschlusskarte 12. Der Speicherschritt enthält vorzugsweise den Schritt zum Speichern der Fragmente 26 des Pakets 11 in einem Speicher 32 des Speichercontrollers 30, der eine Breitcachepufferstruktur aufweist, bei der mehrere Pakete 11 in ein Wort 34 gelegt sind.
  • Vorzugsweise gibt es nach dem Leseschritt den Schritt zum Extrahieren der Paket- 11 Längeninformation 28 aus dem Paket 11 mit einem Separator 36. Der Empfangsschritt enthält vorzugsweise den Schritt zum Empfangen der Fragmente 26 des Pakets 11 von den Netzeinrichtungen 14 mit einem Unstriper 38 der Anschlusskarte 12. Vorzugsweise enthält der Schritt zum Senden von Fragmenten 26 zur Netzeinrichtung 14 den Schritt zum Senden der Fragmente 26 des Paketes 11, mit einem Striper 40 der Anschlusskarte 12 zu dem Aggregator 24 einer jeden Netzeinrichtung 14. Der Schritt zum Senden von Fragmenten 26 zur Anschlusskarte 12 enthält vorzugsweise den Schritt zum Senden von Fragmenten 26 vom Separator 36 zu einem Unstriper 38 der Anschlusskarte 12.
  • Bei der Ausführung der Erfindung wird im BFS Speichercontroller 30 eine Breitcachepufferstruktur (Wide Cache-Pufferstruktur) verwendet, um die begrenzte Größe einer Pufferzugriffsbandbreite besser zu nutzen, und um große Verkehrsströme in Warteschleifen zu setzen und abzuarbeiten. Damit werden mehrere Pakete in ein Breitspeicherwort 34 zusammengepackt, und nur ein Schreiben und ein Lesen wird für den Puffer für alle die Pakete, die Teil dieses Wortes 34 sind, vorgenommen. Da mehrere Pakete in ein Wort 34 gelegt sind, muss die Information darüber, wo ein Paket 11 endet und ein weiteres beginnt, gehalten werden, d. h. eine Paketlänge muss gehalten werden. Dieses kann auf zwei Arten getätigt werden.
  • In einem Ansatz kann die Paket- 11 Länge in einer Verknüpfungsliste unabhängig von den Paket- 11 Daten gehalten werden. Dieses würde erfordern, dass eine weitere Breitcachepufferstruktur verwendet wird, bei der jedes Wort 34 Längeninformation 28 für bis zu N Pakete halten kann, wobei N die Maximalanzahl von Paketen ist, die in einem Wort 34 des Paketdatenpuffers beginnen können. Mit einem breiten Bereich von Paketgrößen, die durch BFS unterstützt werden (von einem 40 Bytepaket bis 64K Bytepaket), muss N basierend auf den Paketen mit der kleinsten Größe berechnet werden, die in ein Wort 34 des Breitdatenpuffers zusammengelegt werden können. Jedoch würde im Mittel, wenn die Pakete größer als das Paket mit kleinster Größe wären, das Meiste des für ein Speichern von Längeninformation 28 im Puffer verwendeten Speichers 32 verschwendet. Weiter, da eine Paket- 11 Länge und Paket- 11 Daten zur gleichen Zeit von Speichercontrollern zu Separatoren zu senden sind, muss der Verknüpfungslisten-Handhabungslängenpuffer mit dem Verknüpfungslisten-Handhabungspaket 11 Datenpuffer synchronisiert gehalten werden (im Lock-Step gehalten werden). Dieser Ansatz erfordert es auch, einen getrennten Bus für ein Übertragen der Längeninformation 28 unabhängig über mehrere physikalische Vorrichtungen bereitzuhalten.
  • Bei der Ausführung der Erfindung müssen durch ein Anfügen von Paket- 11 Längeninformation 28 an den Anfang eines Pakets 11 in den Aggregatoren und durch ein Senden desselben als einen Strom durch Speichercontroller und zu Separatoren, die Speichercontroller Paket- 11 Längen und Paket- 11 Daten nicht getrennt handhaben. Dieses hilft bei einer Speichercontroller- 30 Entwicklung, da keine getrennten Daten und Längen Verknüpfungslisten für den gleichen Paket- 11 Strom bereitgehalten werden müssen. Weiter spart dies viel Speicher 32, da aufgrund des Breitcachespeicheransatzes für Daten ein Längenspeicher ähnlich zu implementieren ist. Mit unterschiedlichen Paket- 11 Größen könnte im Mittel viel dieses Längenspeichers verschwendet werden.
  • In einem bevorzugten Ansatz wird Paket- 11 Längeninformation 28 in eine Warteschleife gesetzt und zusammen mit den Paket- 11 Daten übertragen. In diesem Fall wird die Paket- 11 Längeninformation 28, (die immer eine festgelegte Anzahl von Bits ist), an den Beginn eines jeden Paket- 11 Datensatzes angefügt. Dann wird diese Einheit mit sowohl Paket- 11 Längen und Daten als eine Einheit behandelt beziehungsweise in eine Warteschleife gesetzt. Auch bei diesem Ansatz werden mehrere Pakete zusammen in ein Wort 34 des Breitcachepuffers gepackt. Wenn Pakete von diesem Puffer gelesen und zum Separator-ASIC gesendet werden, wird er das Längenfeld für das erste Paket 11 extrahieren, und basierend darauf entscheidet er, wo das erste Paket 11 im Datenstrom endet, da das Längenfeld die Anzahl von Bits einer Paket- 11 Länge und Daten zusammen angibt. Das Bit nach dem Ende der ersten Paket- 11 Daten ist das Startbit des zweiten Paket- 11 Längenfeldes. Dann wiederum werden basierend auf diesem Längenwert das Ende der zweiten Paket- 11 Daten und ein Beginn einer dritten Paket- 11 Länge extrahiert. Auf diese Weise können alle Pakete von dem kombinierten Strom extrahiert werden.
  • Die Vermittlung 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 demultiplext, 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 = An XOR Bn XOR Cn, 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 00130001
    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 0C48 als auch 0C192c Konfigurationen. 0C48 Anschlusskarten sind mit den Vermittlungsnetzeinrichtungen mit vier getrennten 0C48 Flüssen verbunden. 0C192 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 0C48c 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 Netzanordnung (Blade).
  • Jede 40G Vermittlungsnetzeinrichtung ordnet bis zu 40Gbps Zellen/Rahmen in Warteschleife an und arbeitet sie mit 80Gbps ab. Diese 2X 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 40 Gbps Verkehr von bis zu 48 Netzanordnungen 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 00280001
  • 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 00290001
  • Zwei Netzeinrichtungen-80G
    Figure 00290002
  • 120G
    Figure 00290003
  • Vier Netzeinrichtungen-160G
    Figure 00300001
  • Sechs Netzeinrichtungen-240G
    Figure 00300002
  • Zwölf Netzeinrichtungen-480G
    Figure 00300003
  • 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 00330001
  • Figure 00340001
  • 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.
    Anschluss– anordnung (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 Ausgangs-Warteschleife 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.
    Warteschleifenresynchronisierung (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.
    SOS Der erste gestreifte Ausgangsbus, der der Ausgangsbus der Netzeinrichtung und der Eingangsbus des Aggregators ist. Siehe auch SIB.
    Synchronisation (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 (21)

  1. Eine Vermittlung (10) zum Vermitteln von Paketen (11), wobei jedes Paket (11) eine Länge aufweist, und wobei die Vermittlung umfasst: eine Anschlusskarte (12), die Pakete (11) von einem Netz (16) empfängt und Pakete (11) dorthin sendet; und Netzeinrichtungen (14), die mit der Anschlusskarte (12) verbunden sind, die die Pakete (11) vermitteln, wobei jede Netzeinrichtung (14) einen Speichermechanismus (18) aufweist, und die Vermittlung dadurch gekennzeichnet ist, dass: die Anschlusskarte (12) Streifen (Stripes) entsprechender Fragmente eines jeden Pakets zu den Netzeinrichtungen sendet, wobei jede Netzeinrichtung (14) einen Mechanismus aufweist, zum Bestimmen der Länge eines jeden Pakets (11) aus den Streifen von Fragmenten (26) des durch die Netzeinrichtung (14) empfangenen Pakets (11), und zum Anordnen eines Längenindikators (22) mit dem Paket (11), sodass dann, wenn das Paket (11) in dem Speichermechanismus (18) gespeichert wird, der Bestimmungsmechanismus (20) aus dem Längenindikator (22) bestimmen kann, wie lang das Paket (11) ist, und wo das Paket (11) in dem Speichermechanismus (18) endet.
  2. Eine Vermittlung (10) nach Anspruch 1, dadurch gekennzeichnet, dass der Bestimmungsmechanismus (20) einen Aggregator (24) enthält, der die Streifen der Paket- (11) Fragmente (26) von der Anschlusskarte (12) empfängt, die Paket- (11) Länge bestimmt, und Paket- (11) Längeninformation (28) an den Beginn des Pakets (11) in dem Längenindikator (22) anfügt.
  3. Eine Vermittlung (10) nach Anspruch 2, dadurch gekennzeichnet, dass der Speichermechanismus (18) einen Speichercontroller (30) enthält, der Aggregator (24) das Paket (11) mit der Paket- (11) Längeninformation (28) zu dem Speichercontroller (30) sendet, der das Paket (11) mit der Paket- (11) Längeninformation (28) speichert.
  4. Eine Vermittlung (10) nach Anspruch 3, dadurch gekennzeichnet, dass der Speichercontroller (30) einen Speicher (32) aufweist, der eine Breitcachepufferstruktur aufweist, in der mehrere Pakete (11) in ein Wort (34) gefügt sind.
  5. Eine Vermittlung (10) nach Anspruch 4, dadurch gekennzeichnet, dass die Netzeinrichtung (14) einen Separator (36) enthält, der die Streifen von Fragmenten (26) von Paketen (11) von dem Speichercontroller (30) liest, und die Paket- (11) Längeninformation (28) aus jedem Streifen von Fragmenten (26) des Pakets (11) extrahiert, um festzustellen, wann jedes Paket (11) endet, und der Fragmente (26) des Pakets (11) zur Anschlusskarte (12) sendet, und die Anschlusskarte das Paket (11) aus den Streifen der Fragmente des Pakets zusammenfügt, die die Anschlusskarte (12) von den Netzeinrichtungen (14) empfängt.
  6. Eine Vermittlung (10) nach Anspruch 5, dadurch gekennzeichnet, dass der Separator (36) die Paket- (11) Längeninformation 28 von jedem Paket (11) entfernt, bevor er irgendwelche Streifen (Stripes) von Fragmenten (26) jedes Pakets (11) zu einem Unstriper (38) der Anschlusskarte (12) sendet.
  7. Ein Verfahren zum Vermitteln von Paketen (11) mit einer Länge, die Schritte umfassend: Empfangen eines Pakets (11) an einer Anschlusskarte (12) einer Vermittlung (10); Senden entsprechender Fragmente (26) des Pakets (11) als Streifen (Stripes) von der Anschlusskarte zu Netzeinrichtungen (14) der Vermittlung (10); Empfangen der Streifen entsprechender Fragmente (26) des Pakets (11) an den Netzeinrichtungen (14) der Vermittlung (10); Messen der Länge des Pakets (11) an jeder Netzeinrichtung (14) aus den an jeder Netzeinrichtung (14) empfangen Streifen von Fragmenten (26) des Pakets (11); Anfügen eines Längenindikators (22) an das Paket (11); Speichern des Pakets (11) mit dem Längenindikator (22) in einem Speichermechanismus (18) der Netzeinrichtung (14); Lesen des Pakets (11) von dem Speichermechanismus (18); und Bestimmen, aus dem Längenindikator (22) des Pakets (11), wo das Paket (11) endet.
  8. Ein Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Schritt zum Empfangen der Streifen entsprechender Fragmente den Schritt enthält, die Fragmente (26) an einem Aggregator (24) einer jeden Netzeinrichtung (14) zu empfangen.
  9. Ein Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Messschritt den Schritt zum Messen der Länge des Pakets (11) mit dem Aggregator (24) umfasst.
  10. Ein Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der Anfügeschritt den Schritt umfasst, den Längenindikator (22) an das Paket (11) mit dem Aggregator (24) anzufügen.
  11. Ein Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der Speicherschritt den Schritt umfasst, das Paket (11) mit dem Längenindikator (22) in einem Speichercontroller (30) des Speichermechanismus (18) zu speichern.
  12. Ein Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass der Leseschritt den Schritt umfasst, das Paket (11) von dem Speichercontroller (30) mit einem Separator (36) der Netzeinrichtung (14) zu lesen.
  13. Ein Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Bestimmungsschritt den Schritt umfasst, zu bestimmen, wo ein Paket (11) endet, aus dem Längenindikator (22), mit dem Separator (36).
  14. Ein Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass nach dem Bestimmungsschritt der Schritt zum Entfernen der Paket- (11) Längeninformation (28) mit dem Separator (36) vorgenommen wird.
  15. Ein Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass nach dem Entfernungsschritt ein Schritt zum Senden von Streifen von Fragmenten (26) des Pakets (11) von dem Separator (36) zur Anschlusskarte (12) vorgenommen wird.
  16. Ein Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass der Schritt zum Senden von Fragmenten (26) von dem Separator (36) zur Anschlusskarte (12) den Schritt umfasst, Fragmente (26) des Pakets (11) zur Anschlusskarte (12) zum gleichen logischen Zeitpunkt mit entsprechenden Fragmenten (26) des Pakets (11) von anderen Netzeinrichtungen (14) zur Anschlusskarte (12) zu senden.
  17. Ein Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass der Speicherschritt den Schritt umfasst, die Fragmente (26) des Pakets (11) in einem Speicher (32) des Speichercontrollers (30) zu speichern, welcher eine Breitcachepufferstruktur aufweist, bei der mehrere Pakete (11) in ein Wort (34) gelegt werden.
  18. Ein Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass nach dem Leseschritt ein Schritt zum Extrahieren der Pakete- (11) Längeninformation (28) von dem Paket (11) mit dem Separator (36) vorgenommen wird.
  19. Ein Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass es einen Schritt enthält, die Streifen von Fragmenten (26) des Pakets (11) von den Netzeinrichtungen (14) mit einem Unstriper (38) der Anschlusskarte (12) zu empfangen.
  20. Ein Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass der Schritt zum Senden von Streifen von Fragmenten (26) des Pakets zur Netzeinrichtung (14) den Schritt umfasst, mit einem Striper (40) der Anschlusskarte (12) zum Aggregator (24) einer jeden Netzeinrichtung (14) die Streifen von Fragmenten (26) des Pakets (11) zu senden.
  21. Ein Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass der Schritt zum Senden von Fragmenten (26) zur Anschlusskarte (12) den Schritt umfasst, Fragmente (26) von dem Separator (36) zu einem Unstriper (38) der Anschlusskarte (12) zu senden.
DE60111139T 2000-08-11 2001-08-09 Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung Expired - Lifetime DE60111139T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/637,049 US7035267B1 (en) 2000-08-11 2000-08-11 Transferring and queueing length and data as one stream
US637049 2000-08-11

Publications (2)

Publication Number Publication Date
DE60111139D1 DE60111139D1 (de) 2005-07-07
DE60111139T2 true DE60111139T2 (de) 2005-10-27

Family

ID=24554334

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60111139T Expired - Lifetime DE60111139T2 (de) 2000-08-11 2001-08-09 Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung

Country Status (4)

Country Link
US (1) US7035267B1 (de)
EP (1) EP1179929B1 (de)
JP (1) JP4662658B2 (de)
DE (1) DE60111139T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6894970B1 (en) * 2000-10-31 2005-05-17 Chiaro Networks, Ltd. Router switch fabric protection using forward error correction
FR2822319B1 (fr) * 2001-03-16 2003-05-30 Thomson Csf Commutateur de trames d'informations de taille variable pour reseaux securitaires embarques
US7352751B2 (en) * 2003-08-18 2008-04-01 Ericsson Ab Accounting for link utilization in scheduling and billing
US7330479B2 (en) * 2003-09-25 2008-02-12 International Business Machines Corporation Shared transmit buffer for network processor and methods for using same
KR20050060286A (ko) * 2003-12-16 2005-06-22 삼성전자주식회사 기록 매체에 데이터를 저장하는 방법 및 장치, 그리고기록 매체에 저장된 데이터를 읽어 오는 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072440A (en) * 1989-03-01 1991-12-10 Fujitsu Limited Self-routing switching system having dual self-routing switch module network structure
US5166926A (en) * 1990-12-18 1992-11-24 Bell Communications Research, Inc. Packet address look-ahead technique for use in implementing a high speed packet switch
US5309432A (en) 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US5457681A (en) * 1992-06-05 1995-10-10 Washington University ATM-Ethernet portal/concentrator
US5732041A (en) 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
JP3405800B2 (ja) * 1994-03-16 2003-05-12 富士通株式会社 Atmによる可変長セルの転送方式,atmによる可変長セルのスイッチ及びatmによる可変長セルの交換機
KR100198065B1 (ko) * 1995-06-28 1999-06-15 김영환 하드웨어 패킷 라우터의 목적지 어드레스 검출장치
US6493347B2 (en) * 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US6078595A (en) * 1997-08-28 2000-06-20 Ascend Communications, Inc. Timing synchronization and switchover in a network switch
JP3003667B2 (ja) * 1998-03-09 2000-01-31 日本電信電話株式会社 パケット中継装置
US6570876B1 (en) * 1998-04-01 2003-05-27 Hitachi, Ltd. Packet switch and switching method for switching variable length packets
US6161155A (en) * 1998-07-20 2000-12-12 Hewlett-Packard Company Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
JP3704438B2 (ja) 1998-12-09 2005-10-12 株式会社日立製作所 可変長パケット通信装置
JP4043125B2 (ja) * 1999-01-20 2008-02-06 富士通株式会社 セル処理装置及びatm交換機及びセル廃棄方法
US6650660B1 (en) * 1999-07-27 2003-11-18 Pluris, Inc. Apparatus and method for synchronization of multiple data paths and recovery from lost synchronization

Also Published As

Publication number Publication date
JP4662658B2 (ja) 2011-03-30
JP2002124988A (ja) 2002-04-26
US7035267B1 (en) 2006-04-25
EP1179929A3 (de) 2002-05-15
EP1179929A2 (de) 2002-02-13
EP1179929B1 (de) 2005-06-01
DE60111139D1 (de) 2005-07-07

Similar Documents

Publication Publication Date Title
DE60113058T2 (de) Empfänger korrigiert
DE60119068T2 (de) Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit
DE60118385T2 (de) Verfahren und vorrichtung zur übertragung von paketen in einem speicher
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69133569T2 (de) Netzschnittstelle
US6792484B1 (en) Method and apparatus for storing data using a plurality of queues
US6654370B1 (en) Backplane synchronization in a distributed system with clock drift and transport delay
US7283547B1 (en) Switch fabrics logical synchronization utilizing propagation lockdown
DE60131380T2 (de) Segmentierung und wiederzusammensetzung von datenrahmen
DE19950822A1 (de) Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen
DE60125300T2 (de) Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung
EP1202500A2 (de) APS/Tor Spiegelung
DE60111139T2 (de) Übertragung und puffern der Länge und Daten als einen Strom in einer Paketvermittlungseinrichtung
DE60130711T2 (de) Verfahren und Vorrichtung zum Speichern von Paketen mit einem Grenzeanzeiger
DE69917639T2 (de) Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung
EP1179930B1 (de) Bearbeitung von langen Datenpaketen
EP1230765B1 (de) Empfängerdekodierungsalgorithmus um störungsfreie n+1-redundanz in einem umschalter zu erlauben
EP1249093B1 (de) Synchronisierung asynchrones gegendrucks von einem ziel zu mehreren quellen
EP1176769B1 (de) Synchrone dynamische Aktualisierung eines Registers über ein verteiltes System
DE69931160T2 (de) Gerät zur Verarbeitung von SONET oder SDH Rahmen auf einem PCI-Bus
DE3735187C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ERICSSON AB, STOCKHOLM, SE