-
ERFINDUNGSGEBIET
-
Hierin
beschriebene Ausführungsformen
richten sich auf Datennetzwerke. Insbesondere betreffen hierin beschriebene
Ausführungsformen
das Senden von Daten von mehreren Datenquellen zu mehreren Zielen.
-
VERWANDTE TECHNIK
-
Die
höhere
Geschwindigkeit und das größere Volumen
von Direktzugriffsspeichern (Random Access Memories, RAM) zwischen
Knoten in Datenkommunikationsnetzwerken haben die Geschwindigkeit,
mit der lokale Gebietsnetzwerke (LAN) und breite Gebietsnetzwerke
(WAN) Daten zwischen zwei gegebenen Stellen in einem Netzwerk senden,
potenziell erhöht.
Diese Netzwerke enthalten in der Regel Schalter oder Brücken, die einen
oder mehrere Eingangsports zum Empfangen paketierter Daten von Quellen
und einen oder mehrere Ausgangsports zum Senden von an den Eingangsports
empfangenen Daten an physische Ziele in dem Netzwerk enthalten.
-
Datenschalter
setzen in der Regel Schaltstrukturen ein, die die Eingangsports
an die Ausgangsports koppeln. An den Eingangsports empfangene Datenrahmen
werden in der Regel temporär
in einem RAM an der Schaltstruktur gespeichert, bevor sie an den
mit einem gewünschten
Ziel verbundenen Ausgangsport gesendet werden. In einer Art von
Schaltern mit großer
Kapazität
werden Datenrahmen in der Regel an Eingangsports empfangen, in kleinere
Datenzellen segmentiert und dann an den Zielausgangsport gesendet.
Hier verwaltet eine zentralisierte Vermittlungslogik die Segmentation,
die Sendung und das Wiederzusammensetzen der Datenrahmen zur Sendung
von den empfangenen Eingangsports zu den Zielausgangsports. Leider wird
diese zentralisierte Vermittlungslogik zunehmend komplex, da die
Größe (d. h.
die Anzahl von Ports) der Schaltstruktur zunimmt. Außerdem verringert
eine solche zentralisierte Vermittlungslogik in der Regel die Leistung
der Schaltstruktur, wenn die Anzahl von Ports groß wird.
-
Datenschalter
haben in der Regel Kreuzschienen zum Verbinden mehrerer Ports eingesetzt,
wobei jeder Eingangsport mit jedem der Ausgangsports gekoppelt ist.
Integrierte Schaltungsimplementationen solcher Kreuzschienenschaltungen
sind in der Regel für
eine Satzanzahl von Ports ausgerichtet. Aktuelle Kreuzschienenarchitekturen
erfordern in der Regel eine geometrische Erhöhung der Anzahl integrierter
Schaltungen, um die Anzahl von Eingangsports über die Größe eines einzigen Kreuzschienenchips
hinaus zu erhöhen.
Dementsprechend besteht ein Bedarf an einer Schaltstrukturarchitektur,
die so bemessen werden kann, dass sie zusätzliche Anzahlen von Eingangs-
und Ausgangsports aufnehmen kann, ohne die entsprechende geometrische
Anzahl von integrierten Schaltungen, die zum Senden von Datenrahmen
von den Eingangsports zu den Ausgangsports erforderlich sind, zu
erhöhen.
-
In
der Europäischen
Patentanmeldung
EP 0987918 wird
ein Verfahren zum Erzeugen und Prüfen eines Prüffelds offenbart,
das an Zellen oder Pakete in einem Datenkommunikationsnetzwerk angehängt werden soll,
um zu bestätigen,
dass der Zelleninhalt nicht verändert
wurde, dass die Zellenlieferreihenfolge eingehalten wird, dass alle
Zellen empfangen werden und keine wiederholte oder fälschlich
eingefügte
Zelle gefunden wird.
-
KURZE BESCHREIBUNG DER FIGUREN
-
1 zeigt
die Topologie eines Datenschalters, der eine Schaltstruktur gemäß einer
Ausführungsform der
vorliegenden Erfindung einsetzt;
-
2 zeigt
eine schematische Zeichnung, die eine Schaltstruktur gemäß einer
Ausführungsform
der in 1 gezeigten Schaltstruktur darstellt;
-
3 zeigt
die Komponenten eines einzigen Eingangsports und eines einzigen
Ausgangsports, die durch Abschnitte einer Kreuzschiene gemäß einer
Ausführungsform
der Schaltstruktur aus 2 gekoppelt sind;
-
4a und 4b zeigen
die Kompositionen einer Datenzelle gemäß der Ausführungsform aus 3;
-
5 zeigt
eine Schaltstrukturtopologie, die eine Verbindung jedes Kreuzschienenabschnitts
mit jedem Eingangsport und Ausgangsport der in 2 gezeigten
Schaltstruktur zeigt;
-
6 zeigt
eine Ausführungsform
eines Kreuzschienenabschnitts der Schaltstruktur aus 2,
die Zellenpuffer zum Führen
einer Schlange für
jeden zugeordneten Ausgangsport verwendet;
-
7 zeigt
den Strom von Steuersignalen über
Datenbusse, die Elemente einer Ausführungsform der in 1 gezeigten
Schaltstruktur verwenden;
-
8 zeigt
eine Logik an den Eingangsports zum Einteilen der Sendung von den
Datenzellen an Kreuzschienenabschnitte.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen
der vorliegenden Erfindung richten sich auf ein System und ein Verfahren
zum Senden von Datenrahmen zwischen einer Vielzahl von Eingangsports
und einer Vielzahl von Ausgangsports. Die Eingangsports segmentieren
Abschnitte der empfangenen Datenrahmen, um kleinere Datenzellen
bereitzustellen, die einzeln über
eine logische Kreuzschiene an einen mit einem Ziel der segmentierten
Datenrahmen verbundenen Ausgangsport gesendet werden. Basierend
auf Informationen, die in den Datenzellen enthalten sind, welche
an dem Ausgangsport empfangen werden, bestimmt der Ausgangsport
die Reihenfolgenposition der empfangenen Datenzellen in dem segmentierten
Datenrahmen und setzt den Datenrahmen, der an dem Eingangsport segmentiert
worden ist, wieder zusammen. Der Ausgangsport leitet den wiederzusammengesetzten
Rahmen dann an das zugeordnete Ziel weiter.
-
1 zeigt
einen Datenschalter 7 zum Senden von Datenpaketen zwischen
MAC-Vorrichtungen MAC0 bis MACn+2.
Jede MAC-Vorrichtung ist mit einem Eingangsport 2 und einem
Ausgangsport 4 verbunden. Jede MAC-Vorrichtung empfängt Datenpakete
mit einem Ziel, welches mit einer der anderen MAC-Vorrichtungen
verbunden ist. Die MAC-Vorrichtungen leiten Datenrahmen (basierend
auf den empfangenen Datenpaketen) an einen entsprechenden Eingangsport
weiter. Der Eingangsport 2 sendet die Datenrahmen dann über eine
Kreuzschiene 6 an einen Ausgangsport 4, der der
MAC-Vorrichtung entspricht, die mit dem Ziel des Datenrahmens verbunden
ist.
-
Vor
dem Empfang von Datenrahmen an den Eingangsports 2 werden
die Datenrahmen zunächst
an einer entsprechenden Nachschlagemaschine (LUE) 9 verarbeitet.
Jeder an einer LUE 9 von einer Quell-MAC-Vorrichtung empfangene Datenrahmen
enthält
Zielinformationen, die einer oder mehrerer der anderen MAC-Vorrichtungen
entsprechen. Die LUE 9 verbindet diese Zielinformationen
mit einem Ausgangsport 4 und stellt Informationen, die
den Ausgangsport 4 kennzeichnen, in einem Zwischendatenrahmen
bereit, der an an den mit der LUE 9 gekoppelten Eingangsport 2 gesendet
werden soll. Basierend auf den Informationen in dem Zwischendatenrahmen,
die den Ausgangsport 4 kennzeichnen, kann der Eingangsport 2 dann
die Sendung des Zwischendatenrahmens über die Kreuzschiene 6 an
den Ausgangsport 4, der mit dem Ziel des an der LUE 9 empfangenen
Datenrahmen verbunden ist, initiieren.
-
In
der Ausführungsform
von 2 empfängt
jeder der Eingangsports Daten bei einer Geschwindigkeit S (z. B.
8.0 Gbps) und sendet Daten an die Kreuzschiene 6 mit einer
Geschwindigkeit von zweimal S (z. B. 16.0 Gbps). Das Zwischenspeichern
an der Kreuzschiene 6 unter Verwendung des Rahmens in Kombination mit
der erhöhten
Sendegeschwindigkeit zwischen den Eingangsports und der Kreuzschiene 6 ermöglicht,
dass die Rahmen an die Ausgangsports 4 mit einer Geschwindigkeit
weitergeleitet werden, die größer als
die Mediengeschwindigkeit ist (d. h. die Datengeschwindigkeit, mit
der Datenrahmen an den Eingangsports 2 empfangen werden).
-
3 zeigt
eine Ausführungsform
des Eingangsports 2 und des Ausgangsports 4 in
der Schaltstruktur aus 2. Eine entsprechende LUE 9 (1)
bestimmt die Zielausgangsports 4 für jeden Datenrahmen, der an
dem Eingangsport 2 empfangen wurde, und identifiziert den
Ausgangsport 4 in dem Header des Datenrahmens, der an dem
Eingangsport 4 empfangen wurde. Jeder Eingangsport 2 führt mindestens
eine virtuelle Ausgangsschlange (VOQ) 14 in einem RAM-Zwischenspeicher
für jeden
Ausgangsport 4. Die Größe des RAM-Zwischenspeichers
kann basierend auf der Eingangsmediengeschwindigkeit relativ zu
der Aggregatdatengeschwindigkeit von einem Eingangsport 2 zu
der Kreuzschiene 6 ausgewählt werden.
-
Ein
Rahmenauswähler 16 wählt die über die
Kreuzschiene 6 zu dem Ausgangsport 4 weiterzuleitenden
Rahmen aus. Um das effiziente Weiterleiten der Rahmen zu gewährleisten,
partitioniert der Rahmenauswähler 16 die
Datennutzlast des empfangenen Datenrahmens und hängt jede Partitionierung an
eine Headerinformation an, um eine Datenzelle 51, wie in 4a gezeigt,
bereitzustellen. Die Eingangsports 2 kommunizieren mit
Abschnitten 100 der Kreuzschiene 6, um Ausgangsstau
an jedem Kreuzschienenabschnitt zu managen, wie in Bezug auf 5 und 6 gezeigt.
Ein solcher Ausgangsstau kann auftreten, wenn eine Datenzelle aufgrund
einer fehlenden Verfügbarkeit
von Stellen in den Ausgangsschlangen 102 eines Kreuzschienenabschnitts 100 nicht
an einen Ausgangsport 4 weitergeleitet werden kann.
-
3 zeigt
die Kreuzschiene 6 mit vier Kreuzschienenabschnitten. In
anderen Ausführungsformen kann
die Kreuzschiene 6 weniger oder mehr Abschnitte enthalten,
wobei jeder Abschnitt so gekoppelt ist, dass er Daten von jedem
der Eingangsports 2 empfingt, und Daten zu jedem der Ausgangsports 4 sendet,
wie in 5 gezeigt. Gemäß einer
Ausführungsform
ist die zusammengefasste Datengeschwindigkeit auf den Strecken 1 zwischen
einem Eingangsport 2 und einem Abschnitt der Kreuzschiene 6 doppelt
so groß wie
die Geschwindigkeit der Daten, die an dem Eingangsport 2 empfangen
werden. Dieses Verbindungsnetz, das Daten von den Eingangsports 2 zu
den Kreuzschienenabschnitten bei einer doppelt so hohen Geschwindigkeit
sendet, wie die, mit der Daten an den Eingangsports empfangen werden,
verringert den Ausgangsportstau und reduziert das Auftreten von
Kopfzeilenblockierung.
-
Jeder
Ausgangsport 4 enthält
einen Ausgangs-RAM 19 und einen ASIC-Abschnitt. Der ASIC-Abschnitt enthält einen
Rahmenzusammensetzer 18 und einen MAC-Schlangenbilder 20 zum
Führen
einer Rahmensendeschlange für
jede MAC-Vorrichtung, die mit dem Ausgangsport 4 verbunden
ist. Die Logik an dem Ausgang 4 zeigt die Verfügbarkeit
von Pufferraum für
den Empfang zusätzlicher
Zellen von der Kreuzschiene 6 an. Die Datenzellen von der
Kreuzschiene 6 werden in einer korrekten Sequenz in dem
Ausgangs-RAM 19 platziert, um Rahmen neu zu konstruieren.
Wenn Rahmen wieder zusammengesetzt und in dem Ausgangs-RAM 19 zwischengespeichert
werden, kann der Ausgangs-MAC-Schlangenbilder 20 einen
Rahmen in eine geeignete Schlange, die mit der Ziel-MAC-Vorrichtung
verbunden ist, platzieren.
-
Gemäß dem IEEE-Standard
802.1 muss die Rahmenreihenfolge in einem Kontext, der mit einer
spezifischen Netzwerkadresse verbunden ist, aufrechterhalten werden.
Gemäß einer
Ausführungsform
wird ein Rahmen in einer MAC-Schlange 22 nicht hintereinandergereiht,
bis alle Rahmen, die zunächst
gesendet werden müssen
(um die Rahmenreihenfolge aufrechtzuerhalten) hintereinandergereiht
sind. Dies kann durch Ordnen der an dem Ausgangsport 4 empfangenen
Datenzellen gemäß der Sequenznummer 56 in
einem Feld der Datenzellen implementiert werden, wie in den unten
erläuterten 4a und 4b dargestellt.
Nach Empfang aller Datenzellen für
den Rahmen, wie durch eine ununterbrochene Sequenz von Sequenznummern 56 für die empfangenen
Sequenznummern 56 aller empfangenen Datenzellen angezeigt,
wird ein Rahmen in einer MAC-Schlange 22 hintereinandergereiht,
vorausgesetzt, dass keine Datenzellen einer früheren Sequenznummer 56 eines
teilweise empfangenen Datenrahmens empfangen worden sind. Andere
Verfahren zum Überwachen
der Integrität
der Datenrahmen können
verwendet werden, wie Fachleuten bekannt ist.
-
4a und 4b zeigen
die Formate der Datenzellen, die von einem Datenrahmen, der an einem Eingangsport 2 empfangen
wird, erstellt wurde. In der dargestellten Ausführungsform trägt eine
Datenzellennutzlast 60 64 Byte Rahmenheaderinformationen
zuzüglich
der zugefügten
LUE 9 und/oder der Ethernetrahmendaten. Die Größe der Datenzelle
wird aus einer erwünschten
Nutzlastgröße im Zellenheader
und der Zellentrailergröße bestimmt.
In den gezeigten Ausführungsformen
wird dies in einer 79 Byte Zelle ausgeführt. Solche Datenzellen, die
auf den Strecken getragen werden, enthalten auch einen "leeren" Trenner von 1 Byte,
um eine Zellzeit von 80 Byte zu ergeben. Diese Ausführungsform
stellt für
Ethernetrahmen eine nicht blockierende Leitungsweiterleitungsgeschwindigkeit
bereit, wenn die Datenstrecke 1 die doppelte Geschwindigkeit
der Datenstrecke 7 aufweist und die Strecke 7 mindestens
so schnell ist wie die zusammengefasste Datengeschwindigkeit der
mit einem Vermittlungsstrukturport verbundenen MAC-Vorrichtungen.
Der Eingangsport 2 erzeugt den Zellenheader mit ausreichenden
Informationen zur Datenzusammensetzung an dem Zielausgangsport 4. Der
Eingangsport 2 kann die Adresse des Zielausgangsports 4 verwenden,
um den Rahmen entsprechend dem Zielausgangsport 4 in die
korrekte VOQ 14 (3) zu platzieren,
gemeinsam mit einer Prioritätsinformation,
die in dem Rahmenheader enthalten ist.
-
Die
Datenzelle 50 aus 4a mit
einem Zielportfeld 52 zeigt ein Format einer Datenzelle 50,
die von einem Eingangsport 2 zu einem Kreuzschienenabschnitt 100 gemäß einer
Ausführungsform
gesendet wird. Die physikalische Strecke, die diese Zelle sendet,
zeigt inhärent
den Quelleingangsport 2 an dem empfangenden Kreuzschienenabschnitt 100 an.
Der empfangende Kreuzschienenabschnitt 100 verwendet die
Zielportinformation 52, um die Zelle in eine korrekte Ausgangsschlange
zu platzieren, wie unten mit Bezug auf 6 erörtert. Der
empfangende Kreuzschienenabschnitt speichert Informationen, die
den inhärenten
Quellport identifizieren, wenn er die Zelle in dem Zwischenspeicher 102 speichert.
Die Datenzelle 51 aus 4b mit
einem Quellportfeld 54 anstelle eines Zielportfelds (welches
aus der physikalischen Strecke, die die Datenzelle zu dem Kreuzschienenabschnitt 100 sendet,
bestimmt wird) veranschaulicht ein Format einer Datenzelle 51, die
von einem Kreuzschienenabschnitt 100 zu einem Ausgangsport 2 gesendet
wird. Der empfangende Ausgangsport 4 verwendet die Quellportinformationen 54 und
die Sequenznummer 56, um die Rahmen wieder zusammenzusetzen.
Ein Fehlerprüffeld 62 wird
von der Kreuzschiene 6 und dem Ausgangsport 4 verwendet,
um Fehler in den Strecken in die und aus der Kreuzschiene 6 zu
erfassen. Alle anderen Weiterleitungsdaten (z. B. VLAN und MAC-Adressen)
können
in dem Rahmenheader enthalten sein, der von der LUE 9 erzeugt
wird, und auf Datenstrecke 7 zu dem Eingangsport gesendet
wird.
-
In
der veranschaulichten Ausführungsform
führt jeder
Eingangsport 2 eine Sequenznummer 56 für jeden
Ausgangsport 4. Die Sequenznummerngröße ist vorzugsweise signifikant
größer als
die Gesamtanzahl von Zellen, die sich zu einer Zeit im Transit durch
die Kreuzschiene 6 befinden. Dies ermöglicht die Verwendung eines
sich bewegenden Fensters in dem Sequenznummernbereich für Fehlerdetektionsprotokolle.
Die Sequenznummer 56 wird für jede nachfolgende Datenzelle,
die für
den verbundenen Ausgangsport 4 an die Struktur weitergeleitet
wird, inkrementiert. Die Sequenznummer 56 zeigt daher eine
Reihenfolgenposition der Datenzelle unter den Datenzellen an, die
die partitionierte Datenrahmennutzlast bilden.
-
Wenn
der Eingangsport das Weiterleiten eines Rahmens an einen Ausgangsport 4 beginnt
(d. h. eine erste Anfangsdatenzelle des Rahmens sendet), schließt der Eingangsport
gemäß einer
Ausführungsform
die Sendung des Rahmens ab (d. h. die Sendung aller Datenzellen
mit einer Sequenznummer in dem Bereich von Sequenznummern, die den
Datenrahmen definieren), auch wenn der Eingangsport 2 einen
Rahmen höherer Priorität empfangt,
der ein mit diesem Ausgangsport 4 verbundenes Ziel aufweist.
Dies stellt sicher, dass die Sequenznummern in einem Rahmen durchgängig sind
und dass alle Prioritätsschlangen
zu dem Ausgangsport 4 dieselbe Sequenznummer verwenden
können,
die für
die Sendung von Datenzellen von dem Eingangsport 2 zu dem
Ausgangsport 4 verwendet werden. Dadurch wird auch das
Neuzusammensetzen vereinfacht, indem die Anzahl von Rahmen und Zellen,
die außerhalb
der Reihenfolge ankommen können,
reduziert wird.
-
Jeder
Ausgangsport 4 sortiert weitergeleitete Datenzellen 51 basierend
auf dem Feldquellenport 54 und der Sequenznummer 56 (4b).
Die Sequenznummer 56 kann zum Bestimmen der Reihenfolgenposition
der Datennutzlast einer weitergeleiteten Datenzelle 51 in
der Datennutzlast des neu konstruierten Rahmens verwendet werden.
Fachleuten bekannte Algorithmen können dann verwendet werden,
um zu erkennen, ob die Rahmen vollständig sind, und um zu bestimmen,
ob es unvollständige
Rahmen gibt, die zuerst weitergeleitet werden müssen (die in eine MAC-Sendeschlange 22 platziert
werden müssen
(3)). Der Ausgangsport 4 kann ASIC-basierte
Zusammensetzungspuffer verwenden, um den Empfang von Datenzellen
in den Ausgangspuffer-RAM 19 mit der zusammengesetzten
Geschwindigkeit der Kreuzschiene 6, durch die mit dem Ausgangsport 4 verbundenen
Strecken zu unterstützen,
oder in dem Rahmen 19 direkt wiederzusammenzusetzen. Jedes
Verfahren profitiert von dem Verringern der Anzahl ausstehender
Zellen.
-
Gemäß einer
Ausführungsform
können
die VOQs 14 an den Eingangsports 2 und die MAC-Schlangen 22 an
dem Ausgangsport 4 so angepasst werden, dass sie Prioritätsschemata
unterstützen.
Der Rahmenzusammensetzer 18 und der MAC-Schlangenbilder 20 an
dem Ausgangsport 4 können beispielsweise
Prioritätsschemata
implementieren, um die Anforderungen des MAC-Protokolls und des
IEEE-Standards 802.1 zu erfüllen.
-
Die
Ausganglogik an den Ausgangports 4 kann jeden einer Reihe
von Algorithmen implementieren, um die Priorität von Rahmen, die an eine bestimmte
MAC-Vorrichtung gesendet werden sollen, zu bestimmen. Beispielsweise
kann der Ausgangsport 4 eine MAC-Schlange 22 mit
vier Prioritätspegeln
implementieren, wobei jeder Rahmen in einer korrekten entsprechenden
Reihe platziert werden kann, die mit einer der vier Prioritäten verbunden
ist. Zu weiteren Schemata können
Rundlauf, reine Priorität
und gewichtete Zugriffsschemata gehören. Der Ausgangsport 4 kann
ein Rahmenverwerfungsschema implementieren, um das Verhungern der MAC-Ausgang
zu verhindern, welches aus schwerwiegenden Staubedingungen resultiert.
Ein solches Verwerfungsschema kann zwischen zufälliger früher Verwerfung (RED) und gewichteter
zufälliger
früher
Verwerfung (WRED) selektierbar sein. Gemäß einer Ausführungsform
kann die Größe des Ausgangpuffers
basierend auf der besonderen Datenrate physikalischer Strecken von
der Kreuzschiene 6 und der Anzahl und Datenrate der mit
den Eingangsports 2 und den Ausgangsports 4 verbundenen
MAC-Vorrichtungen optimiert werden.
-
5 zeigt
eine Ausführungsform
der Schaltstruktur enthaltend eine Satzzahl von Kreuzschienenabschnitten 100,
die die Kreuzschiene 6 bilden. Eingangsports 2a–2z haben
eine Kommunikationsstrecke zu jedem der Kreuzschienenabschnitte 100.
Analog hat jeder der Eingangsports 4a–4z eine Kommunikationsstrecke
zu jedem der Kreuzschienenabschnitte 100 der Kreuzschiene 6.
In der dargestellten Ausführungsform sendet
jede der Strecke, die einen Eingangsport 2 mit einem Kreuzschienenabschnitt
koppelt oder einen Kreuzschienenabschnitt 100 mit einem
Ausgangsport 4 koppelt, Daten bei einer Datengeschwindigkeit
(z. B. 16,0 Gbps), die doppelt so hoch ist, wie die an dem Eingangsport 2 empfangenen
Daten (z. B. 8,0 Gbps).
-
In
der dargestellten Ausführungsform
führt jeder
der Abschnitte 100 der Kreuzschiene 6 eine Ausgangsschlange
für jeden
Ausgangsport 4. Diese Schlangen bilden die Strecken zu
den Ausgangsports 4 eins zu eins ab. Jeder Eingangsport 2 sendet
Datenzellen zu den Abschnitten 100 der Kreuzschiene unabhängig, um
effizienten Betrieb und modulare Implementation zu ermöglichen.
Der Verlust von einer Strecke, die einen Eingangsport 2 mit
einem Kreuzschienenabschnitt 100 verbindet, verhindert
beispielsweise nicht, dass der Kreuzschienenabschnitt 100 von
einem anderen Eingangsport 2 verwendet wird. Analog verhindert
der Verlust eines Kreuzschienenabschnitts 100 nicht, dass
die Last in den Eingangsports 2 unter den verbleibenden Kreuzschienenabschnitten 100 verteilt
wird. 6 zeigt die Ausgangsschlangen 102, welche
in einem repräsentativen
Kreuzschienenabschnitt 100 der Kreuzschiene 6,
die in 5 gezeigt wird, geführt werden. Der Kreuzschienenabschnitt 100 führt Ausgangsschlangen 102a–102z,
wobei jede Ausgangsschlange 102 einem der Ausgangsports 4 entspricht.
-
Datenzellen
werden von Eingangsports 2 zu den Kreuzschienenabschnitten 100 gesendet
und von den Kreuzschienenabschnitten 100 zu den Ausgangsports 4 bei
den eingestellten Zellintervallen. Bei jedem Zellintervall bestimmt
jeder Eingangsport 2 unabhängig für jede Strecke zu einem Kreuzschienenabschnitt 100,
welche VOQ 14, wenn überhaupt,
bedient wird. Dementsprechend ist es für alle Eingangsports 2 möglich, eine
Datenzelle gleichzeitig zu derselben Ausgangsschlange 102 in
einem Kreuzschienenabschnitt 100 weiterzuleiten. Daher
enthält
jede Ausgangsschlange 102 in einem Kreuzschienenabschnitt 100 vorzugsweise
die Kapazität
für einen
Eingangsport 2 für
mindestens eine Zelle.
-
6 zeigt
den Kreuzschienenabschnitt 100, der Datenzellen von jedem
der Eingangsports empfangt. In der Ausführungsform aus 6 kann
jede der Ausgangsschlangen 102 bis zu einer eingestellten
Anzahl von Datenzellen hintereinanderreihen. Die Anzahl von Zellenpuffern
in jeder Ausgangsschlange 102 ist vorzugsweise größer als
die Anzahl von Eingangsports 2. Andernfalls können die
Ausgangsstrecken zu den Ausgangsports 4 nicht bei einer
Maximalgeschwindigkeit angetrieben werden. Andererseits wird die
Rahmenzusammensetzungslogik an dem Ausgangsport 4 zunehmend
komplex, wenn die Anzahl von Zellenstellen in einer Ausgangsschlange 102 zunimmt.
Daher ist die empfohlene Anzahl von Zellenstellen pro Ausgangsschlange 102 größer als
die Anzahl von Eingangsports 2, aber geringer als das Doppelte
der Anzahl der Eingangsports 2.
-
Eine
auf einer der Eingangsstrecken von den Eingangsports 2 empfangenen
Datenzellen kann in eine der Ausgangsschlagen 102 geschrieben
werden. Die Logik an dem empfangenden Ende des Kreuzschienenabschnitts 100 kann
ausreichend Verzögerung
berücksichtigen,
um den Header der eintreffenden Datenzellen zu untersuchen und zu
bestimmen und die Ausgangsschlange 102 zu bestimmen, um
die eingehenden Datenzellen hintereinanderzureihen. Datenzellen,
die in den Ausgangsschlangen 102 warten, werden nachfolgend
an die entsprechende Strecke, die dem entsprechenden Ausgangsport 4 fest
zugewiesen ist, gesendet.
-
Wie
oben erörtert,
partitionieren die Eingangsports 2 die Datennutzlast der
empfangenen Rahmen in Datenzellen, wie in dem in 4a gezeigten
Format gezeigt. Die Ausgangsports 4 empfangen die Datenzellen,
um den Rahmen an einem Rahmenzusammensetzer 18 wieder zusammenzusetzen
(3). Datenzellen jedes bestimmten Rahmens können unter
den verschiedenen Abschnitten 100 der Kreuzschiene 6 verteilt
werden, bevor sie nachfolgend an die mit dem Ziel des Rahmens verbundenen
Ausgangsport weitergeleitet werden. Da jeder Eingangsport unabhängig Datenzellen
zu den Kreuzschienenabschnitten 100 weiterleitet, um seine
Last unter den Kreuzschienenabschnitten 100 zu verteilen,
ist es möglich,
dass Lastmuster, die Reihenfolge der Ankunft von Datenzellen, die
an dem Zielausgangsport 4 ankommen, ändern. Dies kann zum Beispiel in
Situationen auftreten, wenn die momentane Last auf einem Kreuzschienenabschnitt 100 größer als
die für andere
Kreuzschienenabschnitte 100 ist.
-
Das
Minimieren der Anzahl von Zellenpuffern in jeder Ausgangsschlange 102 in
jedem Kreuzschienenabschnitt 100 reduziert die Komplexität des Rahmenzusammensetzers 18.
Der Rahmenzusammensetzer 18 stellt vorzugsweise ausreichend
Zellpuffer bereit, um die Datengeschwindigkeit von der Kreuzschiene 6 in den
Ausgangspuffer-RAM 19 ohne Zellverlust aufrechtzuerhalten
(z. B. wenn eine Rahmenverwerfung ausgeführt werden muss, wenn MAC-Vorrichtungen gestaut
sind), wird bewirkt, dass der Ausgangspuffer-RAM 19 sich
aufgrund der Weiterleitungsgeschwindigkeit von der Kreuzschiene
nicht füllt.
Wenn die Daten nur durch Schreiben von Seiten oder ähnlichen
Informationsblöcken
in den Ausgangspuffer-RAM 19 gefüllt werden können, kann
die Zusammensetzungsimplementation den schlimmsten Fall berücksichtigen,
nämlich,
dass Datenzellen 51 bestimmter Rahmen außerhalb
der Reihenfolge eintreffen.
-
Gemäß einer
Ausführungsform
können
an jedem der Eingangsports 2 ankommende Rahmen Mehrfachrahmen
sein, die unter allen oder einer Untergruppe der Ausgangsports 4 und
der MAC-Schlangen 22 rundgesendet werden sollen. Hier sendet
der empfangende Eingangsport 2 eine Kopie des Rahmens über die Kreuzschiene 6 zu
jedem Ausgangsport 4. Jeder empfangende Ausgangsport 4 kann
dann zusätzliche Kopien für Mehrfach-MAC-Schlangen 22,
die mit dem empfangenden Ausgangsport 4 verbunden sind,
machen.
-
Die
Datenstrecken 7 in die Schaltstruktur und die Datenstrecken 5 aus
der Schaltstruktur bedienen eine Sammlung von MAC-Adressen. Dies
kann Potenzial für
die Schaltstruktur aufweisen, Eigenschaften zu zeigen, die das Verhalten
für individuelle
MAC-Ports blockieren. Dies passiert, wenn eine der MAC-Vorrichtungen den
gesamten Ausgangspuffer 19 seines Ausgangsports 4 verbrauchen
kann. Dies könnte
dazu führen, dass
andere MAC-Vorrichtungen an den Ausgangsports 4 ihre Daten
eingeschränkt
haben. Dieses Problem kann vermieden werden, wenn das Puffer für eine bestimmte
MAC-Schlange 22 garantiert wird. Dies kann durch Verwenden
eines Rahmenverwerfungsprotokolls oder durch Reservieren von Pufferraum
für jede MAC-Schlange 22 ausgeführt werden,
wobei es sich um Techniken handelt, die Fachleuten bekannt sind.
-
Jeder
Ausgangsport 4 zeigt seine Fähigkeit an, zusätzliche
Datenzellen anzunehmen, indem er dies den Kreuzschienenabschnitten 100 signalisiert.
Die Kreuzschienenabschnitte 100 senden Signale zu den Eingangsports 2,
um die Fähigkeit
des Kreuzschienenabschnitts 100 anzuzeigen, weitere Datenzellen
anzunehmen. Jeder Kreuzschienenabschnitt 100 sendet einen
Bitvektor zu jedem Eingangsport 2 bei jedem Zellenintervall,
welcher die Fähigkeit
des Kreuzschienenabschnitts 100 anzeigt, eine Datenzelle
an jeder seiner Ausgangsschlangen 102 in dem folgenden
Zellintervall zu empfangen. Die Ausgangsports 4 stellen ähnliche
Signalgebung zu jedem der Kreuzschienenabschnitte 100 bereit.
Dies stellt die Fähigkeit
bereit, Stau an den Ausgangsports 4 durch Steuern der an
den Eingangsports 2 gesendeten Daten zu verringern. In
jedem Intervall sendet jeder Ausgangsport 4 ein Signal
zu allen Kreuzschienenabschnitten 100, um seine Fähigkeit
anzuzeigen, zusätzliche
Datenzellen in dem folgenden Zellintervall anzunehmen. Der Ausgangsport 4 signalisiert nicht,
dass er bereit ist, zusätzliche
Datenzellen zu empfangen, wenn es unzureichende Zwischenspeicher gibt,
und Datenzellen von jedem Kreuzschienenabschnitt 100 zu
empfangen. 7 zeigt eine Ausführungsform
zum Senden von Signalen von jedem der Ausgangsports 4 zu
den Kreuzschienenabschnitte 100, die eine Verfügbarkeit
zur Annahme von Datenzellen von den Kreuzschienenabschnitten unter
Verwendung von Steuerbussen 73 anzeigen und die den Bitvektor
von jedem der Kreuzschienenabschnitte zu jedem der Eingangsports 2 unter
Verwendung von Steuerbussen 71 senden. In dieser Ausführungsform
werden Steuersignale direkt an Datenbussen von jedem Ausgangsport 4 zu
jedem Kreuzschienenabschnitt 100 gesendet und von jedem
Kreuzschienenabschnitt 100 zu jedem Eingangsport 2.
-
In
einer alternativen Ausführungsform
senden die Kreuzschienenabschnitte 100 und die Ausgangsports 4 solche
Steuersignale in dem vorwärts
gerichteten Datenstrom durch die Datenstrecken 3 und 5 (2). Jeder
der Ausgangsports 4 kann mit seinen entsprechenden Eingangsports 2 Steuerinformationen
gekoppelt sein, die von der Kreuzschiene über die Datenstrecken 3 (äquivalent
mit den Steuersignalen von Steuerbussen 71) empfangen werden
oder Steuersignale an Ausgangsports 4 bereitstellen (äquivalent
mit den Steuersignalen der Steuerbusse 73) zur Sendung
zu der Kreuzschiene 100 über die Datenstrecken 1.
-
Jeder
Eingangsport 2 kann jeden Bitvektor, der von einem Kreuzschienenabschnitt 100 empfangen wird,
verwenden, um einen Zellentransfer auf der Datenstrecke zwischen
dem Kreuzschienenabschnitt 100 und dem Eingangsport 2 in
dem nächsten
Zellenintervall einzuteilen. Wenn jeder Eingangsport 2 in
der Lage ist, unabhängig
Datenzellen zu bestimmen, die er an einem bestimmten Kreuzschienenabschnitt
weiterleitet, ist es für
alle Eingangsports 2 möglich,
Traffic zu derselben Ausgangsschlange 102 (eines Kreuzschienenabschnittes 100 gleichzeitig
weiterzuleiten). Daher signalisiert ein Kreuzschienenabschnitt 100 vorzugsweise nicht,
dass er bereit ist, Daten an einer besonderen Ausgangsschlange 102 zu
empfangen, es sei denn, er kann mindestens eine Zelle für diese
Ausgangschlange 102 von jedem Eingangsport 2 (entsprechend
einem bestimmten Ausgangsport 4) empfangen.
-
Wie
oben erörtert,
führt jeder
Eingangsport 2 mindestens eine VOQ 14 für jeden
Ausgangsport 4 für Datenrahmen
mit einem mit dem Ausgangsport 4 verbundenen Ziel. Eine
Ausführungsform
des Eingangsports 2 führt
mehrere (z. B. vier) VOQs 14 für jeden Ausgangsport 4,
eine VOQ 14 für
jede einzelne Priorität.
Bei Empfang eines Einfachrahmens (auf der Datenstrecke 7)
an einem Eingangsport 2 wird sein Header untersucht, um
den Ausgangsport 4 des Ziels und die Priorität des Rahmens
zu bestimmen. Er wird dann in der mit dem Ausgangsport 4 verbundenen
entsprechenden VOQ 14 platziert. Rahmen in einer VOQ 14 können in
einem FIFO oder einer anderen Einteilungsordnung bedient werden,
wie Fachleuten bekannt ist. Ein Weiterleitungsvermittlungsprotokoll
des Eingangsports 2 bestimmt die Reihenfolge, in der VOQ 14 bedient
werden. Die Prozedur der dargestellten Ausführungsform stellt sicher, dass
in die Kreuzschiene 6 eingehende Rahmen die Ordnungsanforderungen
des IEEE-Standards 802.1 erfüllen.
Bei Empfang eines Mehrfachrahmens an dem Eingangsport 2 wird
sein Header untersucht, um die Zielausgangsports 4 zu bestimmen.
Der Rahmen kann dann für
jeden Zielausgangsport 4 in die VOQ 14 einer entsprechenden
Priorität
platziert werden.
-
Jeder
Eingangsport 2 untersucht den Rahmenheader jedes empfangenen
Datenrahmens, um zu bestimmen, ob der Rahmen gefiltert oder weitergeleitet
werden soll. Wenn der Rahmen weitergeleitet werden soll, kann der
Eingangsport 2 auch den Datenrahmen zur Sendung an mehrere
Ausgangsports 4 kopieren (z. B. wenn ein Mehrfachrahmen
in jeden Ausgang kopiert wird). Rahmen, die an einen Ausgangsport 4 weitergeleitet
werden sollen, werden ineine VOQ 14 des Ausgangsports 4 platziert,
die der Rahmenpriorität
entspricht.
-
Die
Verwendung der Netzverbindungseingangsports 2 zu den unabhängigen Kreuzschienenabschnitten 100 der
Kreuzschiene 6 erzielt die erwünschte erhöhte Geschwindigkeit von S auf
zweimal S (z. B. 8,0 Gbps zu 16,0 Gbps) durch volle Ausnutzung der
Datenstrecken 1 von den Eingangsports 2 zu den
Kreuzschienenabschnitten 100. Jede der Datenstrecken 1 (z.
B. Datenstrecke 1z) von einem Eingangsport 2 kann
eine Datenzelle von demselben Rahmen, jeweils von einem anderen
Rahmen oder einer Kombination davon übertragen. Die Anwendung eines
Prioritätsschemas
kann daher jeweils für
einen Rahmen ausgeführt
werden, um einen Stau zu verhindern und die Komplexität der Rahmenzusammensetzer 18 zu
verringern. Nach der Initialisierung kann dem Abschluss eines teilweise
gesendeten Rahmens der Vorzug gegenüber dem Beginn eines neuen
Rahmens gegeben werden. Die Sendung der Datenzellen für nachfolgende
neue Datenrahmen kann für
die VOQ 14 anderer Ausgangsports 4 in einer Rundlaufreihenfolge
eingeteilt werden. Dies verhindert, dass ein teilweise gesendeter
Rahmen einen für
einen anderen Ausgangsport 4 bestimmten Rahmen blockiert.
Der Rahmenauswähler 16 an
dem Eingangsport 2 kann auf der Grundlage des Status des
ersten Datenrahmens in der VOQ 14 (d. h. ob Datenzellen
an die Kreuzschiene 6 gesendet wurden) eines bestimmten
Ausgangsports 4 und der Bereitschaft des Kreuzschienenabschnitts 100 (d.
h. von dem Bitvektor) bestimmen, ob eine Datenzelle in der VOQ 14 an
einen Kreuzschienenabschnitt 100 weitergeleitet werden
soll. Nach der Initialisierung der Übertragung eines Rahmens beginnt
der Eingangsport 2 vorzugsweise nicht mit dem Weiterleiten von
Datenzellen anderer Rahmen für
den Zielausgangsport 4, bis alle Datenzellen des Rahmens
in die Kreuzschiene 6 gesendet wurden oder gesendet werden.
Der Verarbeitung eines einzigen Rahmens pro Ausgangport 4 vereinfacht
den Prozess des Zusammensetzen an dem Ausgangport 4.
-
8 zeigt
ein Funktionsflussdiagramm, welches eine in dem Rahmenauswähler 16 einer
Ausführungsform
des Eingangsports 2 ausgeführte Logik zeigt. Die Auswahl
kann aufeinanderfolgend für
jeden Kreuzschienenabschnitt 100 ausgeführt werden und für jede Zellenzeit
wiederholt werden. Bei Schritt 202 wartet der dem Rahmenauswähler 16 entsprechende
Eingangsport 2 auf den Beginn einer neuen Zellenzeit für den ersten
Kreuzschienenabschnitt (z. B. Kreuzschienenabschnitt 100a).
In Schritt 204 empfingt der Auswählerrahmen 16 einen
Bitvektor von dem aktuellen Kreuzschienenabschnitt 100,
der die Fähigkeit
des Kreuzschienenabschnitts 100 anzeigt, Datenzellen zur
Sendung an einen bestimmten Ausgangsport 4 zu empfangen.
Bei den Schritten 204 bis 216 teilt der Rahmenauswähler 16 die
Sendung von Datenzellen auf jeder der Datenstrecken 1 ein,
welche den Eingangsport 2 mit dem Kreuzschienenabschnitt 100 verbinden.
Schritt 206 bestimmt, ob es teilweise gesendete Datenrahmen
in einer der VOQ 14 gibt. Wenn es solche teilweise gesendeten
Datenrahmen gibt, bestimmt Schritt 208, ob der Kreuzschienenabschnitt 100 eine
Datenzelle von einem der teilweise gesendeten Datenrahmen empfangen
kann. Das heißt,
basierend auf den mit den Zielen der teilweise gesendeten Datenrahmen
verbundenen Ausgangsports 4 bestimmt Schritt 208 basierend
auf den Bitvektor des in Schritt 202 empfangenen Kreuzschienenabschnitts 100,
ob der Kreuzschienenabschnitt 100 Datenzellen für diese
Ziele empfangen kann. Wenn der Kreuzschienenabschnitt 100 eine
Datenzelle von einem der teilweise gesendeten Datenrahmen empfangen
kann, teilt Schritt 212 eine Datenzelle von einem teilweise gesendeten
Datenrahmen mit dem höchsten
Vorrang ein.
-
Wenn
in den Schritten 206 und 208 bestimmt wird, dass
es keine teilweise gesendeten Datenrahmen gibt, die zu dem Kreuzschienenabschnitt
gesendet werden sollen, wählt
Schritt 210 basierend auf dem in Schritt 204 empfangenen
Bitvektor mit der höchsten
Priorität
und unter Einhaltung von Fairness innerhalb der Priorität eine VOQ 14 aus,
die mit einem Ausgangsport 4 verbunden ist, der in der
Lage ist, an den Kreuzschienenabschnitt zu senden. Schritt 214 teilt
dann die erste Datenzelle des ersten Datenrahmens (d. h. die höchste Priorität) der VOQ 14 ein,
die mit dem Ausgangsport 4 verbunden ist. Wenn in Schritt 214 keine
Zelle eingeteilt werden kann, kann eine leere Zelle gesendet werden.
Wenn der Rahmenauswähler 16 eine
Sendung einer Datenzelle auf jeder der Datenstrecken 3,
die mit einem Kreuzschienenabschnitt 100 gekoppelt sind,
wie in Schritt 216 bestimmt, eingeteilt hat, wartet Schritt 202 auf
einen neuen Zellentransferzyklus.
-
Wie
oben ausgeführt
können
mehrere unterschiedliche Arten von Prioritätsalgorithmen entweder an den
Eingangsports 2 oder den Ausgangsports 4 eingesetzt
werden. Die Eingangsports 2 können Prioritätsschemata
verwenden, um zu vermitteln, wie die Rahmen, die unterschiedliche
Ziele haben und demselben Ausgangsport 4 zugewiesen sind,
zur Sendung zu der Kreuzschiene 6 auf den Datenstrecken 3 eingeteilt
werden sollen. Die Eingangsports 2 können auch Prioritätsschemata
verwenden, um die Einteilung von Datenzellen am den VOQ 14 von
Datenrahmen, die mit unterschiedlichen Ausgangsports 4 verbundene
Ziele aufweisen. Zu den Prioritätsschemata
an den Eingangsports 1 können Rundlauf, reine Priorität, gewichtete
Priorität oder
gewichteter Zugriff gehören.
Die Ausgangsports 4 können
bei der Auswahl, welche zusammengesetzten Rahmen aus den MAC-Schlangen
an den MAC-Vorrichtungen weitergeleitet werden sollen, Prioritätsschemata
verwenden. Ein Stau an einer einzelnen Ausgangs-MAC-Adresse kann ein
Verhungern anderer MAC-Adressen des Ausgangsports 4 bewirken,
wenn der Puffer nicht verfügbar
ist, um Zellen von der Kreuzschiene 6 zu einer nicht gestauten
MAC-Adresse weiterzuleiten. Dieser Zustand kann verhindert werden,
indem ein oder mehrere mögliche
Ausgangsportverwerfungsprotokolle, einschließlich früher Zufallsverwerfung (RED),
gewichteter früher
Zufallsverwerfung (WRED) und Tail-Drop, aktiviert werden.
-
Der
Prioritätsalgorithmus
kann für
den Rahmenselektor 16 jedes der Eingangsports 2 und
die MAC-Schlangen 20 jedes der Ausgangsports 4 gleichförmig sein.
Die dargestellten Ausführungsformen
ermöglichen
jedoch, dass die Hardware unabhängig
ein Prioritätsschema
für jeden
Eingangsport 2 und jeden Ausgangsport 4 festlegen,
da jeder Eingangsport 2 und Ausgangsport 4 eine
separate integrierte Schaltung sein kann. An einem Eingangsport 2 kann
der Rahmenauswähler 16 Prioritäten für die Datenrahmen
in jeder VOQ 14 anlegen. In den Ausgangsports 4 werden
die Prioritätsschemata
von dem MAC-Schlangenbilder 20 an jede der MAC-Schlangen 22 angelegt.
-
Die
Architektur der in
5 gezeigten Schaltstruktur stellt
zusätzliche
Vorteile hinsichtlich Modularität und
Skalierbarkeit bereit. Erstens kann jedes Paar aus Eingangsport
2 und
Ausgangsport
4 (d. h. die an dieselbe MAC-Vorrichtung gekoppelten
Eingangsports
2 und Ausgangsports
4) und die Kreuzschienenabschnitte
100 unabhängig betrieben
werden, da jede dieser Komponenten in einem separaten integrierten
Schaltungspaket gebildet sein kann. Die gesamte Schaltstruktur kann
dann in einem Gehäuse
eingeschlossen sein oder über
einen Gehäusestapel
verteilt werden. Zweitens kann die Topologie der Schaltstruktur
so skaliert sein, dass mehrere Schaltgrößen implementiert werden. In
anderen Ausführungsformen
kann die Topologie auf einer einzigen Platte oder einer Implementation
aus einer einzigen Platte nebst Tochterplatte angeordnet sein. Die
Leistung der Schaltstruktur kann durch die Port/Verbindungsgeschwindigkeit
bestimmt werden und die Topologie kann unter Verwendung einer unterschiedlichen
Anzahl von Kreuzschienenabschnitten
100 und Ports, wie
in den Beispielen der unten stehenden Tabelle 1 gezeigt, skaliert
werden. TABELLE 1
ANZAHL
DER KREUZSCHIENENABSCHNITTE | VERBINDUNGSGESCHWINDIGKEIT
(GBPS) | ANZAHL
DER PORTPAARE | BANDBREITE (GBPS) | DURCHSATZ (GPBS) |
8 | 2 | 48 | 156 | 384 |
1 | 26 | 416 | 104 |
4 | 2 | 24 | 768 | 192 |
1 | 13 | 208 | 52 |
2 | 2 | 12 | 384 | 96 |
1 | 6,5 | 104 | 26 |
1 | 2 | 6 | 192 | 48 |
1 | 3,25 | 52 | 13 |
∅ | 2 | 1 | 32 | 8 |
1 | 1 | 8 | 4 |
-
Wenn
die Kreuzschiene 6 auf geringere Größen skaliert ist, empfängt jeder
Kreuzschienenabschnitt 100 zwei, vier oder acht Verbindungen
von jedem Eingangsport. Jede dieser Verbindungen entspricht einer anderen
Zellenphasenbeziehung. Flusssteuerungssignale können geführt werden, indem jeder dieser
Kreuzschienenabschnitte 100 mehrere Flusssteuerungsvektoren
sendet, um die Verfügbarkeit
der Ausgangsschlangen 100 (6) genau
zu berichten. Alternativ kann jeder Kreuzschienenabschnitt 100 zusätzliche
Ausgangsschlangen 102 führen.
Letzteres Verfahren kann implementiert werden, indem die zusätzlichen
Ausgangsschlangen 102 beim Berichten der Verfügbarkeit
ignoriert werden (z. B. nur die Fähigkeit zum Empfang von sechsundzwanzig
Zellen berichtet wird, wenn eigentlich dreiundreißig Zellstellen
frei sind).
-
Die
Segmentierungs- und Zusammensetzungsfunktion steht zu der Strukturgröße in Beziehung.
Die Höchstzahl
von Ports und die Schwellwerte für
die Signalgebung der Pufferverfügbarkeit
bestimmen die Anforderungen an den Zusammensetzungspuffer und den
Sequenznummernbereich.
-
Der
Rahmenzusammensetzer 18 kann vereinfacht werden, indem
der Eingangsportrahmenselektor 16 beschränkt werden
kann, um Sendungen an die Kreuzschiene 100 eines Rahmens
für einen
Zielausgangsport 4 vor der Initialisierung der Sendung
neu ankommender Rahmen höherer
Priorität
abzuschließen.
Sie kann auch dadurch vereinfacht werden, dass die Anzahl von Puffern
in einer Ausgangsschlange 102 eines Kreuzschienenabschnitts
beschränkt
wird.
-
Der
Rahmenzusammensetzer 18 kann so implementiert sein, dass
er den schlechtesten Fall der Lieferung von Zellen außerhalb
der Reihenfolge berücksichtigt.
Unter Verwendung der beschriebenen Ausführungsform kann dies in einem
Bunt von Rahmen erfolgen, wenn alle Eingangsports 2 eine
Zelle zu demselben Kreuzschienenabschnitt 100, der für denselben
Ausgangsport 4 bestimmt ist, senden. In diesem Fall werden alle
Zelle in derselben Ausgangsschlange 102 des Kreuzschienenabschnitts zwischengespeichert.
Wenn alle außer
dem letzten Eingangsport 2 seine Zellen in der Ausgangszelle 102 zwischenspeichern,
wird ein Rahmen der Mindestgröße (d. h.
in einer einzigen Zelle enthalten) übertragen, und wenn der letzte
Eingangsport 2 seine Zelle in der Ausgangsschlange 102 zwischenspeichert,
wird ein Rahmen der Höchstgröße übertragen,
und die erste Zelle des Rahmens der Höchstgröße kann nicht geliefert werden,
bis andere Zellen an den Ausgangsport 2 geliefert werden.
Wenn der Rahmen der Höchstgröße dann
an die anderen Abschnitte der Kreuzschiene verteilt werden und die
anderen Eingangsport keine zusätzlichen
Rahmen weiterleiten müssen,
wird die zweite Zelle des Rahmens der Höchstgröße an der Vorderseite der Ausgangsschlange 102 des
nächstens
Kreuzschienenabschnitts 100 zwischengespeichert. Dies wird
bei den anderen Kreuzschienenabschnitten wiederholt. Daher werden
viele der nachfolgenden Zellen des Rahmens der Höchstgröße an dem Ausgangsport 2 vor
der ersten Zelle des Rahmens ankommen. Außerdem kann die erste Zelle
durch die Höchstanzahl
der Zellen in der Ausgangsschlange 102 verzögert werden,
wenn der Kreuzschienenabschnitt 100 Verfügbarkeit
zur Annahme von Zellen von allen Eingangsports signalisiert.
-
In
alternativen Ausführungsformen
enthält
die Schaltstruktur Zähler
an den Eingangsports 2, Ausgangsports 4 und den
Kreuzschienenabschnitten 100, um die gemeinsamen Verwaltungsprotokolle
zu unterstützen.
Steuerregister unterstützen
das Berichten von Zählungen
in speziell adressierten Zellen, die an bestimmte MAC-Adressen gesendet
werden, die an ausgewählte
Ausgangsports 4 gekoppelt sind. In anderen Ausführungsformen
wirkt ein Mikroprozessor mit einer oder mehreren Komponenten der
Schaltstruktur zusammen, um Zählinformationen
direkt zu empfangen.
-
Während die
obige Beschreibung sich auf bestimmte Ausführungsformen der vorliegenden
Erfindung beziehen, versteht sich, dass viele Modifikationen daran
vorgenommen werden können.
-
Die
hier offenbarten Ausführungsformen
werden daher in jeder Hinsicht als veranschaulichend und nicht einschränkend aufgefasst,
wobei der Schutzumfang der Erfindung vielmehr durch die beigefügten Ansprüche angegeben
wird, statt durch die vorstehende Beschreibung, und alle Änderungen,
die in die Bedeutung und den Äquivalenzumfang
der Ansprüche
fallen, sollen daher davon umfasst werden.