DE60031596T2 - Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher - Google Patents

Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher Download PDF

Info

Publication number
DE60031596T2
DE60031596T2 DE60031596T DE60031596T DE60031596T2 DE 60031596 T2 DE60031596 T2 DE 60031596T2 DE 60031596 T DE60031596 T DE 60031596T DE 60031596 T DE60031596 T DE 60031596T DE 60031596 T2 DE60031596 T2 DE 60031596T2
Authority
DE
Germany
Prior art keywords
packets
width
bus
data
input
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
DE60031596T
Other languages
English (en)
Other versions
DE60031596D1 (de
Inventor
Ronald P. Jr. Pittsburgh Bianchini
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
Ericsson AB
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 Ericsson AB filed Critical Ericsson AB
Publication of DE60031596D1 publication Critical patent/DE60031596D1/de
Application granted granted Critical
Publication of DE60031596T2 publication Critical patent/DE60031596T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13292Time division multiplexing, TDM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13299Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Switches im Zeitmultiplexbetrieb. Die Erfindung betrifft insbesondere Switches im Zeitmultiplexbetrieb, bei denen eine Speicherbusbreite unabhängig von der Breite irgendeines Pakets ist.
  • Hintergrund der Erfindung
  • Der Zeitmultiplexbetrieb (TDM, TDM = Time Division Multiplexing) ist eine Vorgehensweise, die man zum Implementieren eines Switching-Systems einsetzt. Man betrachte ein Switching-Fabric mit N Eingabeports, die jeweils Pakete mit einer Rate R empfangen, und mit N Ausgabeports, die jeweils Pakete mit einer Rate R senden, siehe 1. Für ein TDM-Switching-System mit gemeinsamem Speicher benötigt man einen einzigen Speicherbus, der eine Gesamtbandbreite von 2 × N × R hat. Die ankommenden Pakete werden verbunden und in den Speicher geschrieben. Nach dem Schreiben in den Speicher werden die Pakete aus dem Speicher gelesen und an die Ausgabeports übertragen.
  • Dieses System arbeitet korrekt und in nicht blockierender Weise, solange der gemeinsame Speicher eine ausreichende Bandbreite zum Bedienen aller Eingabeports und Ausgabeports aufweist. Die Speicherbandbreite kann man durch das Erhöhen der Geschwindigkeit und der Breite des Speicherbusses vergrößern. Die derzeitigen Speicherbusgeschwindigkeiten sind technisch auf grob 300 MHz begrenzt, wobei mikroprozessorsynchrone Cachespeicher verwendet werden. Für eine weitere Erhöhung der Speicherbandbreite muss man den Speicherbus verbreitern.
  • Es sei nun ein beispielhaftes TDM-Switching-System mit vier Eingängen und vier Ausgängen betrachtet, siehe 2. Die Eingabeports und Ausgabeports bestehen aus 1 Bit breiten Datenwegen und laufen mit einer einzigen festen Taktrate, die für alle Ports und den Speicherbus gleich ist. Es sei davon ausgegangen, dass alle Pakete 8 Bit lang sind. Das Switching-Fabric kann man mit einem 8 Bit breiten TDM-Speicherbus implementieren. Über eine Periode von 8 Taktzyklen wird jedem Eingabeport ein Taktzyklus zum Schreiben eines Pakets (8 Bit) in den Speicher zugeordnet, und jedem Ausgabeport wird ein Taktzyklus zum Lesen des Pakets aus dem Speicher zugewiesen.
  • Es gibt gewisse Punkte, die den Entwurf von TDM-Switching-Systemen in der Praxis schwierig gestalten. Abhängig von der Anwendung des Switching-Systems haben Pakete in der Regel unterschiedliche Größen. Unterschiedlich große Pakete beeinträchtigen die Leistung des TDM-Systems, da die Pakete auf dem Speicherbus fragmentiert werden. Nutzt ein Paket keine ganzzahlige Anzahl an Speicherzyklen, so wird Speicher bandbreite für Speicherzyklen verschwendet, die Daten lesen oder schreiben, die die Speicherbusbreite nicht ausnutzen. Normalerweise werden TDM-Systeme mit einer größeren Bandbreite als 2 × N × R implementiert, um die Schwachpunkte durch die Fragmentierung auszugleichen.
  • Fragmentierungsfragen werden wesentlich, wenn sich die Speicherbandbreite den Paketdaten mit der geringsten Größe nähert oder sie überschreitet. Man betrachte ein System mit einer Speicherbusbreite, die gleich der doppelten minimalen Paketlänge ist. In einer Periode, in der alle empfangenen Pakete eine Länge gleich der minimalen Paketlänge haben, wird die Speichersystem-Bandbreite um 50 Prozent verringert (oder ist zu 50 Prozent wirksam), da alle in den Speicher geschriebenen Pakete nur eine Hälfte der Speicherbus-Datenbits verwenden.
  • Aufgrund der Paketfragmentierung auf dem Speicherbus werden in üblichen TDM-Switching-Systemen Busbreiten verwendet, die mindestens so breit sind wie eine minimale Paketlänge.
  • Die Gesamtbandbreite eines TDM-Switching-Systems mit gemeinsamem Speicher ist durch die Bandbreite des Speicherbusses begrenzt. Die Bandbreite des Speicherbusses wird durch seine Geschwindigkeit (Taktrate) und seine Breite (Anzahl der Bits) bestimmt. Unter der Vorgabe, dass die Speichergeschwindigkeiten durch die Technologie der verfügbaren Speicherkomponenten festgelegt sind, ist die Gesamtbandbreite von TDM-Switches durch die minimale Paketgröße begrenzt.
  • Eine Veröffentlichung mit dem Titel "Fast Switched Backplane for a gigabit switched router" von McKeown (DEPARTMENT OF ELECTRICAL ENGINEERING, STANFORD UNIVERSITY, Dezember 1997 (1997-12), Seiten 1–30) lehrt eine schnelle geschaltete Backplane für einen geschalteten Gigabit-Router und betrifft hauptsächlich die geschaltete Backplane, die für den 12,000 G S R von Cisco entwickelt wurde. Dieser Router weist eine geschaltete Hochleistungs-Backplanearchitektur auf, die 16 Ports gleichzeitig schalten kann, und zwar jeden mit einer Leitungsrate von 2,4 Gb/s. Die Backplane weist einen parallelen kompakten Entwurf auf, der einen extrem hohen Durchsatz sowohl für Unicast- als auch Multicast-Verkehr liefert.
  • Eine Veröffentlichung mit dem Titel "Review of recent shared memory based ATM switches" von Sharma N. K. (COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, 1999-03-25, XPO04223020) offenbart einen N × N- Zellen-Switch mit gemeinsamem Speicher, der einen Zeitmultiplexbus enthält, wobei in jedem Zeitschlitz bis zu N Zellen von Eingabeports in den gemeinsamen Speicher geschrieben und bis zu N Zellen aus dem gemeinsamen Speicher gelesen werden können.
  • Zudem betrifft US-5,301,192 ein temporäres Informationsspeichersystem, das einen Pufferspeicher umfasst, der Daten strukturiert in Datenblöcken mit fester oder variabler Länge speichert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung betrifft ein Switching-System. Das System umfasst I Eingabeport-Mechanismen, die Pakete mit einer Breite von einer Kommunikationsleitung empfangen, wobei I eine ganze Zahl und größer oder gleich 1 ist. Das System umfasst O Ausgabeport-Mechanismen, die Pakete an eine Kommunikationsleitung senden, wobei O eine ganze Zahl und größer oder gleich 1 ist. Das System umfasst einen Trägermechanismus, auf dem Pakete verkehren. Der Trägermechanismus hat eine Breite, die breiter ist als die Breite der Pakete. Der Trägermechanismus ist an jeden Eingabeport-Mechanismus und jeden Ausgabeport-Mechanismus angeschlossen. Das System umfasst einen Speichermechanismus, in dem Pakete abgelegt werden. Der Speichermechanismus ist mit dem Trägermechanismus verbunden. Das System umfasst einen Mechanismus, der Pakete von den Eingabeport-Mechanismen über den Trägermechanismus an den Speichermechanismus liefert. Der Liefermechanismus kann Pakete oder Teile von Paketen, deren Gesamtbreite gleich der Breite des Trägermechanismus ist, in jedem Übertragungszyklus an den Speichermechanismus übertragen. Zudem enthält der Liefermechanismus Eingabeschlangengruppen, die mit dem Trägermechanismus und den Eingabeport-Mechanismen verbunden sind und Pakete speichern, die die Eingabeport-Mechanismen empfangen haben, und Ausgabeschlangengruppen, die mit dem Liefermechanismus und den Ausgabeport-Mechanismen verbunden sind und Pakete speichern, die an die Ausgabeport-Mechanismen zu senden sind, wobei jede Schlangengruppe einem Paket zugeordnet ist.
  • Die Erfindung betrifft ein Verfahren zum Vermitteln von Paketen, die eine Breite besitzen, von Eingabemechanismen zu Ausgabemechanismen. Das Verfahren umfasst die Schritte des Empfangens eines ersten Pakets und mindestens eines zweiten Pakets an einem Switch-Mechanismus. Das Verfahren umfasst die Schritte des Übertragens der Daten des ersten Pakets und des zweiten Pakets an einen Speichermechanismus mit Hilfe des Zeitmultiplexverfahrens auf einem Bus, der eine Breite aufweist, die eine positive nicht ganzzahlige Vielfache der Breite der Pakete ist, so dass die Daten der Pakete einen vorbestimmten Abschnitt der Breite des Busses füllen, indem man das erste Paket und zumindest das zweite Paket in einer Eingabeschlangengruppe anordnet und die Daten in der Eingabeschlangengruppe während eines zugewiesenen Zeitschlitzes auf dem Bus an den Speichermechanismus überträgt, so dass die Daten den vorbestimmten Abschnitt der Breite des Busses füllen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den beiliegenden Zeichnungen werden die bevorzugte Ausführungsform der Erfindung und bevorzugte Verfahren zum praktischen Ausführen der Erfindung erläutert.
  • Es zeigt:
  • 1 eine Skizze eines herkömmlichen Zeitmultiplex-Switchs;
  • 2 eine Skizze eines herkömmlichen Zeitmultiplex-Switchs mit 4 Eingängen und 4 Ausgängen;
  • 3 eine Skizze eines Switching-Systems der Erfindung;
  • 4 eine Skizze eines Switching-Systems der Erfindung;
  • 5 eine skizzierte Darstellung eines Codeworts;
  • 6 eine Skizze eines Datenwegs eines Vier-Ports-Wegs;
  • 7 eine Skizze eines Speicherbusses, der im Zeitmultiplex unterteilt wird;
  • 8 eine Skizze eines Speichers; und
  • 9 eine Skizze von fünf FIFO-Schlangen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es wird nun Bezug auf die Zeichnungen genommen, und insbesondere auf 3 und 4. Gleiche Bezugszeichen in den Abbildungen beziehen sich auf ähnliche oder identische Teile. Dargestellt ist ein Switching-System 10. Das System 10 umfasst I Eingabeport-Mechanismen 12, die eine Breite haben und Pakete von einer Kommunikationsleitung 16 empfangen, wobei I eine ganze Zahl und größer oder gleich 1 ist. Ein Eingabeport-Mechanismus 12 enthält bevorzugt einen Eingabeport. Das System 10 umfasst O Ausgabeport-Mechanismen 14, die eine Breite haben und Pakete an eine Kommunikationsleitung 16 senden, wobei O eine ganze Zahl und größer oder gleich 1 ist. Ein Ausgabeport-Mechanismus 14 enthält bevorzugt einen Ausgabeport. Das System 10 umfasst einen Trägermechanismus 18, auf dem Pakete verkehren. Die Breite des Trägermechanismus 18 ist breiter als die Breite des Eingabemechanismus und des Ausgabemechanismus. Der Trägermechanismus 18 ist an jeden Eingabeport-Mechanismus und jeden Ausgabeport-Mechanismus angeschlossen. Das System 10 umfasst einen Speichermechanismus 22, in dem Pakete gespeichert werden. Der Speichermechanismus 22 ist mit dem Trägermechanismus 18 verbunden. Das System 10 umfasst einen Mechanismus, der Pakete von den Eingabeport-Mechanismen 12 über den Trägermechanismus 18 an den Speichermechanismus 22 liefert. Der Liefermechanismus 20 kann Pakete oder Teile von Paketen, deren Gesamtbreite gleich der Breite des Trägermechanismus 18 ist, in jedem Übertragungszyklus an den Speichermechanismus 22 übertragen.
  • Bevorzugt ist die Breite des Trägermechanismus 18 unabhängig von der Breite irgendeines Eingabemechanismus oder Ausgabemechanismus. Der Eingabeport-Mechanismus empfängt bevorzugt Pakete mit variabler Größe. Der Ausgabemechanismus sendet bevorzugt Pakete mit variabler Größe an die Kommunikationsleitung 16. Die Kommunikationsleitung 16 kann ein ATM-Netz sein.
  • Der Liefermechanismus 20 liefert bevorzugt Pakete vom Speichermechanismus 22 über den Trägermechanismus 18 an die Ausgabeport-Mechanismen 14. Der Liefermechanismus 20 kann Pakete oder Teile von Paketen befördern, deren Gesamtgröße gleich der Breite des Trägermechanismus 18 ist, und zwar in jedem Übertragungszyklus aus dem Speichermechanismus 22.
  • Der Liefermechanismus 20 enthält bevorzugt eine Eingangsstufe von Schlangengruppen 24, die mit dem Trägermechanismus 18 und den Eingabeport-Mechanismen 12 verbunden ist, die Pakete speichert, die die Eingabeport-Mechanismen 12 empfangen, und eine Ausgangsstufe von Schlangengruppen 26, die mit dem Liefermechanismus 20 und den Ausgabeport-Mechanismus 14 verbunden ist, die Pakete speichert, die an den Ausgabeport-Mechanismus 14 zu senden sind, wobei jede Schlangengruppe einem Paket entspricht. Der Liefermechanismus 20 enthält bevorzugt einen Klassifiziermechanismus 28, der ein Paket, das der Eingabeport-Mechanismus empfängt, in einer zugeordneten Eingabeschlangengruppe platziert, wobei der Klassifiziermechanismus 28 mit den Eingabeport-Mechanismen 12 und den Eingabeschlangengruppen 24 verbunden ist. Der Liefermechanismus 20 enthält bevorzugt einen Verarbeitungsmechanismus 30, der ein Paket in einer Ausgabeschlangengruppe in einem zugeordneten Ausgabeport-Mechanismus 14 platziert, wobei der Verarbeitungsmechanismus 30 mit den Ausgabeport-Mechanismen 14 und den Ausgabeschlangengruppen 26 verbunden ist.
  • Der Klassifiziermechanismus 28 enthält bevorzugt eine erste endliche Schreib-Zustandsmaschine 32, die Pakete in eine zugeordnete Eingabeschlange schreibt, und der Liefermechanismus 20 enthält eine zweite endliche Schreib-Zustandsmaschine 34, die Pakete von einer Eingabeschlangengruppe in den Speichermechanismus 22 schreibt, und er enthält eine erste endliche Lese-Zustandsmaschine 36, die Pakete aus dem Speichermechanismus 22 in eine Ausgabeschlangengruppe liest, und der Verarbeitungsmechanismus 30 enthält eine zweite endliche Lese-Zustandsmaschine 38, die ein Paket aus der Ausgabeschlangengruppe in das Netz liest.
  • Der Speichermechanismus 22 enthält bevorzugt einen gemeinsamen Speicher 40. Bevorzugt verkehren Pakete oder Teile von Paketen im Zeitmultiplexverfahren auf dem Trägermechanismus 18. Der Trägermechanismus 18 enthält bevorzugt einen Bus 42. Bevorzugt überträgt die erste endliche Lese-Zustandsmaschine 36 nur dann Daten von Paketen einer Eingabeschlangengruppe zum Bus 42, wenn die Eingabeschlangengruppe mindestens eine Cache-Line an Daten enthält.
  • Die Erfindung betrifft ein Switching-System 10 für Pakete. Das System 10 umfasst eine Zentralressource 44, die eine Breite und eine Gesamtbandbreite aufweist, und Eingabeport-Mechanismen 12 und Ausgabeport-Mechanismen 14 zum Empfangen bzw. Senden von Paketen. Die Zentralressource 44 ist über Zeitschlitze unterteilt, die den Eingabeport-Mechanismen 12 und Ausgabeport-Mechanismen 14 zugewiesen sind. Die Breite der Zentralressource 44 ist unabhängig von irgendeiner Breite eines Eingabeport-Mechanismus oder eines Ausgabeport-Mechanismus, und die Gesamtbandbreite kann unbegrenzt wachsen. Das System 10 umfasst einen Speichermechanismus 22, der Pakete speichert. Der Speichermechanismus 22 ist mit der Zentralressource 44 verbunden.
  • Die Zentralressource 44 enthält bevorzugt einen Speicherbus 42. Die Zentralressource 44 enthält bevorzugt Schlangengruppen, in die Pakete klassifiziert werden, und die Pakete werden von den Schlangengruppen aus dem Speichermechanismus 22 gelesen bzw. dorthin geschrieben.
  • Die Erfindung betrifft ein Switching-System 10. Das System 10 umfasst einen Zeitmultiplexbus 42. Das System 10 umfasst einen mit dem Bus 42 verbundenen Speichermechanismus 22, auf den über das Zeitmultiplexen des Busses 42 zugegriffen wird. Das System 10 umfasst einen Mechanismus, der Daten von Paketen über den Bus 42 aus dem Speichermechanismus 22 liest bzw. dorthin schreibt, ohne die Paketgrenzen der Daten zu kennen.
  • Die Erfindung betrifft ein Switching-System 10. Das System 10 umfasst einen Zeitmultiplex-Trägermechanismus 18, der eine Breite besitzt. Das System 10 umfasst einen Speichermechanismus 22, der mit dem Trägermechanismus 18 verbunden ist. Das System 10 umfasst einen Mechanismus zum Liefern von Daten von Paketen an den Speichermechanismus 22, und zwar von einem Eingabeport-Mechanismus, der eine Breite hat, durch die die Daten der Pakete die Breite des Busses 42 durch Zeitmultiplexen füllen. Das System 10 umfasst einen Mechanismus zum Liefern von Daten von Paketen vom Speichermechanismus 22 an einen Ausgabeport-Mechanismus, der eine Breite hat. Die Breite des Busses 42 ist eine positive nicht ganzzahlige Vielfache der Breite der Eingabe- und Ausgabeport-Mechanismen.
  • Die Erfindung betrifft ein Verfahren zum Vermitteln von Paketen. Das Verfahren umfasst die Schritte des Empfangens eines ersten Pakets und mindestens eines zweiten Pakets an einem Switch-Mechanismus, der eine Breite hat. Das Verfahren umfasst die Schritte des Übertragens der Daten des ersten Pakets und des zweiten Pakets an einen Speichermechanismus 22 mit Hilfe des Zeitmultiplexverfahrens auf einem Bus 42, der eine Breite aufweist, so dass die Daten der Pakete einen vorbestimmten Abschnitt der Breite des Busses 42 füllen. Die Breite des Busses 42 unterscheidet sich von der Breite des Eingabeport-Mechanismus.
  • Die Breite des Busses 42 ist bevorzugt eine positive Vielfache der Breite des Eingabeport-Mechanismus, und sie kann eine nicht ganzzahlige Vielfache sein. Bevorzugt umfasst der Übertragungsschritt die Schritte des Anordnens des ersten Pakets und zumindest des zweiten Pakets in einer Eingabestufen-Schlangengruppe und das Übertragen der Daten in der Eingabestufen-Schlangengruppe während eines zugewiesenen Zeitschlitzes auf dem Bus 42 an den Speichermechanismus 22, so dass die Daten den vorbestimmten Abschnitt der Breite des Busses 42 füllen.
  • Vor dem Datenübertragungsschritt findet bevorzugt der Schritt statt, in dem festgestellt wird, dass die Eingabeschlangengruppe mindestens ausreichend Daten zum Füllen des vorbestimmten Abschnitts der Breite des Busses 42 aufweist, bevor die Daten auf den Bus 42 übertragen werden. Vor dem Datenübertragungsschritt findet bevorzugt der Schritt statt, in dem festgestellt wird, dass die Eingabestufen-Schlangengruppe mindestens eine Cache-Line an Daten enthält.
  • Bei Betrieb der Erfindung, d. h. des Systems 10, wird die Speicherbreitenbeschränkung von üblichen TDM-Switching-Systemen entfernt, indem man Pakete in Eingabestufen-Schlangengruppen 24 klassifiziert und anschließend Daten von den Eingabestufen-Schlangengruppen 24 in den Speicher schreibt bzw. von dort liest. Die Speicherbreite ist unabhängig von der minimalen Paketgröße, und die Gesamtbandbreite des TDM- Switching-Systems 10 kann unbeschränkt wachsen.
  • Die Pakete, die an den Eingabeports des Switching-Systems 10 eintreffen, werden einer festen Anzahl von Schlangengruppen 24 zugeordnet. Eine Schlange wird für jede Gruppe in drei Stufen implementiert:
    • 1. Eingabestufe: Das Ende der Schlange wird in dem Switching-Fabric von einer endlichen Schreib-Zustandsmaschine (W-FSM, W-FSM = Write Finite State Machine) implementiert.
    • 2. Speicherstufe: Die Mitte der Schlange wird im gemeinsamen Speicher implementiert.
    • 3. Ausgabestufe: Der Kopf der Schlange wird in dem Switching-Fabric von einer endlichen Lese-Zustandsmaschine (R-FSM, R-FSM = Read Finite State Machine) implementiert.
  • Lese- und Schreibvorgänge im gemeinsamen Speicher werden auf Daten in der Schlangengruppe implementiert, und sie werden ohne Kenntnis der Paketgrenzen der Daten in der Schlange vorgenommen. Der Zugriff auf den gemeinsamen Speicher wird den Lese-Zustandsmaschinen und Schreib-Zustandsmaschinen über das Zeitmultiplexen des gemeinsamen Speicherbusses 42 zugewiesen. Die Breite des gemeinsamen Speicherbusses 42 wird als Cache-Line bezeichnet.
  • Die W-FSM wird wie folgt implementiert:
    Füllprozess der W-FSM-Schlange:
    Pakete kommen von den Eingabeports, werden in Kategorien eingestuft und dem Ende einer Eingangsstufen-W-FSM-Gruppenschlange zugefügt.
    Entleerungsprozess der W-FSM-Schlange:
    Bei (zugewiesenem Zeitschlitz für den TDM-Bus)
    Falls (W-FSM mindestens eine Cache-Line an Daten enthält)
    Schreibe Cache-Line am Kopf der W-FSM-Schlange an das Ende der Gruppenschlange des gemeinsamen Speichers.
  • Die R-FSM wird wie folgt implementiert:
    Füllprozess der R-FSM-Schlange:
    Bei (zugewiesenem Zeitschlitz für den TDM-Bus)
    Falls (R-FSM keine Daten enthält)
    Falls (der gemeinsame Speicher Daten für diese Gruppenschlange enthält)
    Lese Cache-Line am Kopf der Schlange im gemeinsamen Speicher und setzte sie ans Ende der R-FSM-Schlange.
    sonst (der gemeinsame Speicher enthält KEINE Daten für diese Gruppenschlange)
    Lese jegliche Daten vom Kopf der W-FSM-Schlange (bis zu einer Cache-Line) und setzte sie ans Ende der R-FSM-Schlange.
    Entleerungsprozess der R-FSM-Schlange:
    Pakete werden vom Kopf der Ausgangsstufen-R-FSM-Schlange entfernt, verarbeitet und an einen Ausgabeport übertragen.
  • Im Einzelnen kommt zunächst eine Zelle oder ein Paket an einem Eingabeport des Switchs 45 an. Eine erste endliche Schreib-Zustandsmaschine 32 klassifiziert das Paket in eine Schlangengruppe 24. Kommen weitere Pakete an Eingabeports des Switchs 45 an, so werden sie ebenfalls von der ersten endlichen Schreib-Zustandsmaschine 32 in ihre entsprechende Schlangengruppe 24 klassifiziert. Nach dem Klassifizieren in eine Schlangengruppe werden sie an das Ende der zugehörigen Eingabestufen-Schlangengruppe angehängt. Dieses Klassifizieren und Füllen der Zellen, die an den Eingabeports des Switchs 45 empfangen werden, erfolgt kontinuierlich. Für eine bestimmte Eingabeschlangengruppe 24 gilt, dass ein Paket, wenn es kategorisiert und in die Schlange klassifiziert ist, dem Ende der entsprechenden Eingabeschlangengruppe 24 zugefügt wird.
  • Eine zweite endliche Schreib-Zustandsmaschine 34, die der Eingabestufen-Schlangengruppe 24 zugeordnet ist, verfolgt die Anzahl der Pakete in der Eingabestufen-Schlangengruppe 24. Sind so viele Pakete in der Eingabestufen-Schlangengruppe 24, dass die Daten in der Eingabestufen-Schlangengruppe 24 die Cache-Line des Busses des Speichers 40 füllen, so wartet die zweite endliche Schreib-Zustandsmaschine 34 darauf, dass der zugewiesene Zeitschlitz der Eingabestufen-Schlangengruppe 24 auf dem Bus kommt. Hat die zweite endliche Schreib-Zustandsmaschine 34 bisher bei Ankunft des zugewiesenen Zeitschlitzes keine Daten aus der Eingabestufen-Schlangengruppe 24 auf den Bus gelegt, weil nicht genügend Daten zum Füllen der Cache-Line in der Eingabestufen-Schlangengruppe 24 waren, so sind nun genügend Daten zum Füllen der Cache-Line vorhanden, und die zweite endliche Schreib-Zustandsmaschine 34 sendet während des zugewiesenen Zeitschlitzes der Eingabeschlangengruppe 24 ausreichend Daten von der Eingabestufen-Schlangengruppe 24 zum Füllen der Cache-Line auf den Bus. Der zugewiesene Schlitz dauert ausreichend lang, so dass eine Cache-Line mit Daten von der Eingabestufen-Schlangengruppe 24 auf den Bus gesendet werden kann. Nach dem Senden der Cache-Line mit Daten von der Eingabestufen-Schlangengruppe 24 auf den Bus werden die in der Eingabestufen-Schlangengruppe 24 verbleibenden Daten an den Kopf der Eingabestufen-Schlangengruppe 24 verschoben. Zudem schaffen die an den Kopf der Eingabestufen-Schlangengruppe 24 verschobenen Daten Platz für zusätzliche Pakete und damit Daten, die in der Eingabestufen-Schlangengruppe 24 angeordnet werden können. Es kann vorkommen, dass Daten von der Eingabestufen-Schlangengruppe 24 auf den Bus gesendet werden und gleichzeitig Zellen am Ende der Eingabestufen-Schlangengruppe 24 angeordnet werden.
  • Abhängig von der Größe der Cache-Line können die Daten, die über den Bus gesendet werden, keine ganzzahlige Vielfache der Pakete in der Eingabeschlangengruppe 24 sein. Als Beispiel habe die Cache-Line eine Breite, bei der ein Teil eines Pakets in der Eingabestufen-Schlangengruppe 24 verbleibt, nachdem die Cache-Line mit Daten auf den Bus zum Speicher 40 gesendet ist. Die zweite endliche Schreib-Zustandsmaschine 34 ignoriert Zellen- oder Paketgrenzen und kümmert sich nur um das Füllen der Cache-Line mit Daten, und zwar unabhängig davon, ob dabei die Integrität der Zelle oder des Pakets verletzt wird. Damit wird eine Zelle oder ein Paket aufgeteilt, um die Forderung zu erfüllen, dass die Daten die Cache-Line während des zugewiesenen Zeitschlitzes füllen müssen.
  • Kommt die Cache-Line mit Daten auf dem Bus am gemeinsamen Speicher 40 an, so legt ein Controller 47 die Cache-Line mit Daten im gemeinsamen Speicher 40 ab und zeichnet die Adresse im gemeinsamen Speicher 40 auf, an der die Cache-Line gespeichert ist, sowie die Reihenfolge dieser Cache-Line aus der Eingabestufen-Schlangengruppe 24 und die Eingabestufen-Schlangengruppe 24, von der die Cache-Line kommt. Im Verlauf der Zeit speichert der Controller 47 Daten-Cache-Lines von unterschiedlichen Eingabestufen-Schlangengruppen 24 im gemeinsamen Speicher 40 sowie die folgende Cache-Line, die die Eingabestufen-Schlangengruppe 24 an den gemeinsamen Speicher 40 sendet. Der Controller 47 bewahrt die Adressen auf, an denen die Cache-Lines von einer Eingabestufen-Schlangengruppe 24, abgelegt sind. Nachfolgende Cache-Lines von einer Eingabestufen-Schlangengruppe 24 müssen nicht notwendig an der gleichen Adresse oder auch an zwei benachbarten Adressen gespeichert werden, obwohl beispielsweise die erste Cache-Line von der Eingabestufen-Schlangengruppe 24 den ersten Teil einer Zelle enthalten kann, und die zweite Cache-Line von der Eingabestufen-Schlangengruppe 24 den zweiten Teil der Zelle enthalten kann. Dies ist nicht erforderlich, solange der Controller 47 weiß, wo sich die Cache-Lines von der Eingabestufen-Schlangengruppe 24 befinden sowie die Reihenfolge, mit der die Cache-Lines am gemeinsamen Speicher 40 angekommen sind.
  • Ist ein Paket von einem Ausgabeport zu übertragen, so wartet eine erste endliche Lese-Zustandsmaschine 36, die einer Ausgabestufen-Schlangengruppe 26 zugeordnet ist, darauf, dass der der Ausgabestufen-Schlangengruppe 26 zugewiesene Zeitschlitz auf dem Bus kommt. Die erste endliche Lese-Zustandsmaschine 36 verfolgt die Daten im gemeinsamen Speicher 40, die in die Ausgabestufen-Schlangengruppe 26 gelesen werden müssen. Die erste endliche Lese-Zustandsmaschine 36 kommuniziert mit dem Controller 47 und der endlichen Schreib-Zustandsmaschine und weiß daher, welche Daten an die Ausgabestufen-Schlangengruppe 26 gehen, zu der sie gehört. Kommt der zugewiesene Zeitschlitz für die Ausgabestufen-Schlangengruppe 26, so wird die Cache-Line, die nun für das Lesen aus dem gemeinsamen Speicher 40 an der Reihe ist, von der ersten endlichen Lese-Zustandsmaschine 36 an das Ende der Ausgabestufen-Schlangengruppe 26 gelesen. Kommt der nächste zugewiesene Zeitschlitz für die Ausgabestufen-Schlangengruppe 26, so wird die Cache-Line im gemeinsamen Speicher 40 für die Ausgabestufen-Schlangengruppe 26 von der ersten endlichen Lese-Zustandsmaschine 36 in die Ausgabestufen-Schlangengruppe 26 gelesen. Die erste endliche Lese-Zustandsmaschine 36 kennt die Adresse, von der eine Cache-Line zu lesen ist, durch ihre Kommunikation mit dem Controller 47. Da die Cache-Lines der Reihe nach gelesen und am Ende der Ausgabestufen-Schlangengruppe 26 angeordnet werden, werden jegliche Zellen, die während der Schreibstufe in den gemeinsamen Speicher 40 unterbrochen wurden, wieder vereint, wenn die getrennten Cache-Lines in der Ausgabestufen-Schlangengruppe 26 zusammengesetzt werden. Befinden sich keine Daten im gemeinsamen Speicher 40, wenn der zugewiesene Zeitschlitz für die Ausgabestufen-Schlangengruppe kommt, so liest die endliche Lese-Zustandsmaschine Daten bis zu einer Cache-Line direkt von einer Eingabestufen-Schlangengruppe 24, deren Daten schließlich in die Ausgabestufen-Schlangengruppe 26 gelangen.
  • Eine zweite endliche Lese-Zustandsmaschine 38 überwacht die Pakete in den Ausgabestufen-Schlangengruppen. Nur dann, wenn eine vorbestimmte Anzahl Pakete in der Ausgabestufen-Schlangengruppe 26 vorliegen, liest die zweite endliche Lese-Zustandsmaschine 38 Pakete bis zu einer vorbestimmten Menge aus der Ausgabestufen-Schlangengruppe 26 und sendet sie an einen Ausgabeport, der sie auf das Netz sendet.
  • Da alle Lese- und Schreibvorgänge bezüglich des Speichers eine vollständige Cache-Line an Daten enthalten, beträgt die Effizienz des Speicherbusses 42 100 Prozent. Kleine Pakete verursachen keine Zerstückelung der Daten auf dem Speicherbus 42. Zudem kann die Speicherbusbreite unbeschränkt wachsen und ist nicht durch die Paketgröße begrenzt.
  • Man kann das Schlangengruppenmodell zum Implementieren beliebiger Warteschlangenstrukturen einsetzen. Zum Implementieren von Ausgabeschlangen wird jedem Ausgabeport eine Schlangengruppe zugewiesen. Eine Schlangengruppe besteht aus der Eingabestufen-Schlangengruppe, einer Anzahl Cache-Lines, die im gemeinsamen Speicher abgelegt sind, und der Ausgabestufen-Schlangengruppe. Der Paketklassifizierer untersucht jedes Paket am Eingang und stuft das Paket in die geeignete Ausgabeschlange ein. Die Pakete werden an die Eingabestufen-Schlangengruppe geleitet, die dieser Ausgabeschlange zugeordnet ist. Die Ausgabeschlangen 28 werden mit Hilfe der W-FSMs und der R-FSMs in die Schlange zum bzw. vom Speicher eingereiht. Nach der R-FSM werden die Pakete unmittelbar in eine Schlange für einen Ausgabeport eingereiht.
  • Eingabeschlangen werden mit Hilfe eines trivialen Paketklassifizierers implementiert, indem man jedem Eingabeport eine Schlangengruppe 24 zuordnet.
  • Ein prioritätsgestütztes Schema kann man wie folgt implementieren. Für jede von mehreren Prioritätsebenen wird eine Schlangengruppe definiert. Bei der Eingabe wird ein Paket in eine der Prioritätsschlangengruppen eingeordnet. Die Schlangengruppen werden mit Hilfe der W-FSMs und der R-FSMs in die Schlange zum bzw. vom Speicher eingereiht. Nach der R-FSM werden die Pakete verarbeitet, um ihre Ausgabeports festzustellen, und von dem Fabric übertragen.
  • Beispiel
  • Ein Paketswitch mit vier Eingängen und vier Ausgängen wird mit Hilfe des Systems 10 implementiert. Das System ist global synchron und arbeitet mit einem Takt von 20 MHz. Die vier Eingänge arbeiten mit einer Breite von 8 Bit und implementieren vier Schnittstellen mit 160 Mbps. Die Pakete sind von einem Anfang-des-Pakets-Codewort (SOP, SOP = Start Of Packet) und einem Ende-des-Pakets-Codewort (EOP, EOP = End Of Packet) begrenzt, siehe 5.
  • Für das Beispiel wird ein Switch mit Ausgabeschlange angenommen. Die Pakete, die an den Eingabeports des Switching-Systems 10 ankommen, werden in vier Schlangengruppen eingeordnet, d. h. eine Gruppe für jeden Ausgabeport. Eine Ausgabeschlange, siehe 4, wird für jede Gruppe in drei Untersystemen implementiert:
    • 1. Das Ende wird in der Switching-Fabric mit einer endlichen Schreib-Zustandsmaschine (W-FSM) implementiert.
    • 2. Die Mitte wird im gemeinsamen Speicher implementiert.
    • 3. Der Kopf wird in der Switching-Fabric mit einer endlichen Lese-Zustandsmaschine (R-FSM) implementiert.
  • Lese- und Schreibvorgänge bezüglich des gemeinsamen Speichers werden auf Daten in der Schlangengruppe implementiert und ausgeführt, ohne dass man die Paketgrenzen der Daten in der Schlange kennt. Der Zugriff auf den gemeinsamen Speicher wird den R- und W-FSMs im Zeitmultiplexverfahren auf dem gemeinsamen Speicherbus zugeteilt. Die Breite des gemeinsamen Speicherbusses bezeichnet man als Cache-Line.
  • Der Kopf und das Ende der Schlangengruppe, die sich in der Eingangsstufe und der Ausgangsstufe der Erfindung befinden, werden direkt in Schieberegistern 51 implementiert. Die Schieberegister 51 sind so breit wie die Schnittstellen der eingehenden Daten und so lang wie die Speicher-Cache-Line. Der Datenweg für den Vierport-Switch ist in 6 dargestellt.
  • Die Cache-Line ist 64 Bit lang und enthält acht Byte. Daten von jedem Port werden in ein Cache-Line-Schieberegister der Tiefe 8 mit 8 Bit Breite geschoben. Nicht dargestellt ist ein Synchronisations-Schieberegister vor dem Schieberegister, das ebenfalls ein Register der Tiefe 8 mit 8 Bit Breite ist. Der Speicherbus wird im TDM-Verfahren (TDM = Time Division Multiplex) in acht Zeitschlitze 53 unterteilt, d. h. je einen Zeitschlitz für jeden Eingabeport und Ausgabeport, siehe 7. Da der Beispielswitch Ausgabeschlangen implementiert, werden die Ausgangsstufenschlangen stets mit der selben Rate geleert und benutzen daher stets den gleichen Zeitschlitz auf dem Bus. Da die ankommenden Pakete für jeden beliebigen Ausgabeport bestimmt sein können, können sich die Eingangsstufenschlangen mit jeder beliebigen Rate füllen. Die Eingangsstufengruppen sind den Eingangsbus-Zeitschlitzen je nach Bedarf zugeordnet. Da die gesamte Eingangsrate vier Zeitschlitze nicht übersteigt, reicht es aus, die Eingangsstufen über die vier Eingangsstufen-Zeitschlitze entscheiden zu lassen.
  • Das Synchronisationsregister dient dazu, sicherzustellen, dass keine Daten verloren gehen. Im Synchronisationsregister werden in der Regel keine Daten gespeichert. Alle ankommenden Pakete werden direkt in das Cache-Line-Register geschrieben. Füllt sich das Cache-Line-Register vor seinem Zeitschlitz auf dem TDM-Bus, so beginnt das Synchronisationsregister, Daten zu speichern. Ist das Cache-Line-Register geleert, so werden die Daten aus dem Synchronisationsregister in das Cache-Line-Register geschoben. Ist das Cache-Line-Register nach wie vor gefüllt, so entscheidet es sich sofort für den nächsten Eingangsbuszyklus. Nur gefüllte Cache-Line-Register fordern Buszyklen an.
  • Der Kopf und das Ende der Schlangengruppen (die Eingangs- und Ausgangsstufen der Erfindung) werden direkt mit FIFO-Schlangen in Hardware implementiert, siehe 8. Die Mitte der Schlangengruppen wird im Speicher implementiert, und sie werden als Cache-Lines gespeichert. In diesem Beispiel wird ein Speicher der Tiefe 256 verwendet, der eine gesamte Cache-Line in einem einzigen Taktzyklus lesen und schreiben kann. Es werden Zero-Turn-Around-Speicher (ZBT, ZBT = Zero Bus Turn around) vorausgesetzt, so dass Schreibvorgänge direkt auf Lesevorgänge folgen können.
  • Um die Mitte der Schlangengruppen im Speicher zu implementieren, siehe 9, sind fünf FIFO-Schlangen 57 erforderlich. Vier der Schlangen enthalten Adressen der Cache-Lines, die im Speicher enthalten sind, wobei je eine Schlange für jede Schlangengruppe vorhanden ist. Die fünfte FIFO-Schlange, die Freiliste, enthält Adressen von freien Cache-Lines. Beim Zurücksetzen wird die Freiliste so initialisiert, dass sie alle Adressen der Cache-Lines enthält, die im Speicher vorhanden sind. Die Kanaladressen-FIFOs sind leer.
  • Die Datenwege arbeiten in einem der acht Zustände:
    Ain, Bin, Cin, Din, Aout, Bout, Cout, Dout.
  • Die Zustände werden durch den Zeitschlitz bestimmt, den der oben abgegebene Speicherrahmen bezeichnet. In diesem Beispiel verwenden die vier Ausgangsschlangen gruppen ihre gekennzeichneten Zustände. Die Eingangsstufen fordern die Nutzung irgendeines Eingangszustands an. Ein Verwalter dient dazu, kennzuzeichnen, welche Eingangsstufe jeden geeigneten Eingangszeitschlitz verwendet. Alle Eingangszustände (Ausgangszustände) arbeiten in gleicher Weise. Es sei der Eingangszustand Ain betrachtet, ein Eingangszustand, in dem die Eingangsstufe A erfolgreich den Eingangszustand erlangt hat. Im ersten Taktzyklus im TDM-Rahmen arbeitet Ain wie folgt:
    Bei (zugewiesenem Zeitschlitz für den TDM-Bus)
    Falls (ein Cache-Line-Register voll ist)
    Benutze die Adresse am Kopf der Freiliste zum Ansteuern des Speicherbusses
    Schreibe im Cache-Line-Register des Kanals A enthaltene Daten in den Speicher
    Hole Freilisten-Speicheradresse
    Schiebe Freilisten-Speicheradresse an das Ende des Adressen-FIFOs des Kanals A
  • Ist das Freilisten-Adressen-FIFO leer, so werden die Daten, die sich im Cache-Line-Register des Kanals A befinden, verworfen. Man muss darauf achten, die verworfenen Pakete im Kanal A zu kennzeichnen. Die anderen Eingangskanäle arbeiten in gleicher Weise in ihren gekennzeichneten Speicherzeitschlitzen.
  • Es sei nun der Ausgangsstatus Aout betrachtet. Im fünften Taktzyklus im TDM-Rahmen arbeitet Aout wie folgt:
    Bei (zugewiesenem Zeitschlitz für den TDM-Bus)
    Falls (R-FSM keine Daten enthält)
    Falls (der gemeinsame Speicher Daten für diese Gruppenschlange enthält)
    Lese Cache-Line am Kopf der Schlange des gemeinsamen Speichers an das Ende der R-FSM-Schlange
    Falls (der gemeinsame Speicher KEINE Daten für diese Gruppenschlange enthält)
    Lese beliebige Daten aus dem Kopf der W-FSM-Schlange (bis zu einer Cache-Line) an das Ende der R-FSM-Schlange
  • Hinsichtlich des Entleerungsvorgangs der R-FSM-Schlange werden Pakete vom Kopf der R-FSM-Schlange entfernt, verarbeitet und an einen Ausgabeport übertragen.
  • Da alle Lese- und Schreibvorgänge bezüglich des Speichers eine vollständige Cache-Line an Daten enthalten, beträgt die Effizienz des Speicherbusses 100 Prozent. Kleine Pakete verursachen keine Zerstückelung der Daten auf dem Speicherbus. Zudem kann die Speicherbusbreite unbeschränkt wachsen und ist nicht durch die Paketgröße begrenzt.

Claims (21)

  1. Switching-System (10), umfassend: I Eingabeport-Mechanismen (12), die dafür konfiguriert sind, Pakete von einer Kommunikationsleitung (16) zu empfangen, wobei I eine ganze Zahl und größer oder gleich 1 ist; O Ausgabeport-Mechanismen (14), die dafür konfiguriert sind, Pakete an eine Kommunikationsleitung (16) zu senden, wobei O eine ganze Zahl und größer oder gleich 1 ist; einen Trägermechanismus (18), auf dem Pakete verkehren, wobei der Trägermechanismus (18) eine Breite hat, die eine positive nicht ganzzahlige Vielfache der Breite der Pakete ist, und der Trägermechanismus (18) mit jedem Eingabeport-Mechanismus (12) und jedem Ausgabeport-Mechanismus (14) verbunden ist; einen Speichermechanismus (22), in dem Pakete abgelegt werden, wobei der Speichermechanismus (22) mit dem Trägermechanismus (18) verbunden ist; und einen Liefermechanismus (20), der Pakete von den Eingabeport-Mechanismen (12) über den Trägermechanismus (18) an den Speichermechanismus (22) liefert, wobei der Liefermechanismus (20) dafür konfiguriert ist, Pakete oder Teile von Paketen, deren Gesamtbreite gleich der Breite des Trägermechanismus (18) ist, in jedem Übertragungszyklus an den Speichermechanismus (22) zu übertragen, und der Liefermechanismus (20) Eingabeschlangengruppen (24) enthält, die mit dem Trägermechanismus (18) und den Eingabeport-Mechanismen (12) verbunden sind und Pakete speichern, die die Eingabeport-Mechanismen (12) empfangen haben, und Ausgabeschlangengruppen (26), die mit dem Liefermechanismus (20) und den Ausgabeport-Mechanismen (14) verbunden sind und Pakete speichern, die an die Ausgabeport-Mechanismen (14) zu senden sind, wobei jede Schlangengruppe einem Paket zugeordnet ist.
  2. Switching-System (10) nach Anspruch 1, worin die Breite des Trägermechanismus (18) unabhängig von der Breite irgendeines Pakets ist.
  3. System (10) nach Anspruch 2, wobei der Eingabeport-Mechanismus (12) dafür konfiguriert ist, Pakete mit variabler Größe zu empfangen.
  4. Switching-System (10) nach Anspruch 3, wobei der Ausgabeport-Mechanismus (14) dafür konfiguriert ist, Pakete mit variabler Größe an die Kommunikationsleitung (16) zu senden.
  5. System (10) nach Anspruch 4, wobei der Liefermechanismus (20) ebenfalls dafür konfiguriert ist, Pakete vom Speichermechanismus (22) über den Trägermechanismus (18) an die Ausgabeport-Mechanismen (14) zu liefern, und der Liefermechanismus (20) in der Lage ist, Pakete oder Teile von Paketen zu befördern, deren Gesamtbreite gleich der Breite des Trägermechanismus (18) ist, und zwar in jedem Übertragungszyklus aus dem Speichermechanismus (22).
  6. System (10) nach Anspruch 5, wobei der Liefermechanismus (20) einen Klassifiziermechanismus (28) enthält, der dafür konfiguriert ist, ein Paket, das der Eingabeport-Mechanismus (12) empfängt, in einer zugeordneten Eingabeschlangengruppe zu platzieren, und der Klassifiziermechanismus (28) mit den Eingabeport-Mechanismen (12) und den Eingabeschlangengruppen (24) verbunden ist.
  7. System (10) nach Anspruch 6, wobei der Liefermechanismus (20) einen Verarbeitungsmechanismus (30) enthält, der dafür konfiguriert ist, ein Paket in einer Ausgabeschlangengruppe in einem zugeordneten Ausgabeport-Mechanismus (14) zu platzieren, und der Verarbeitungsmechanismus (30) mit den Ausgabeport-Mechanismen (14) und den Ausgabeschlangengruppen (26) verbunden ist.
  8. System (10) nach Anspruch 7, wobei der Klassifiziermechanismus (28) eine erste endliche Schreib-Zustandsmaschine (32) enthält, die Pakete in eine zugeordnete Eingabeschlange schreibt, und der Liefermechanismus (20) eine zweite endliche Schreib-Zustandsmaschine (34) enthält, die Pakete von einer Eingabeschlangengruppe in den Speichermechanismus (22) schreibt, und eine erste endliche Lese-Zustandsmaschine (36) enthält, die Pakete aus dem Speichermechanismus (22) in eine Ausgabeschlangengruppe liest, und der Verarbeitungsmechanismus (30) eine zweite endliche Lese-Zustandsmaschine (38) enthält, die ein Paket aus der Ausgabeschlangengruppe in das Netz liest.
  9. System (10) nach Anspruch 8, wobei der Speichermechanismus (22) einen gemeinsamen Speicher (40) enthält.
  10. System (10) nach Anspruch 9, worin Pakete oder Teile von Paketen im Zeitmultiplexverfahren auf dem Trägermechanismus (18) verkehren.
  11. System (10) nach Anspruch 10, wobei der Trägermechanismus (18) einen Bus (42) enthält.
  12. System (10) nach Anspruch 11, worin die erste endliche Lese-Zustandsmaschine (36) nur dafür konfiguriert ist, Daten von Paketen einer Eingabeschlangengruppe zum Bus (42) zu übertragen, wenn die Eingabeschlangengruppe mindestens eine Cache-Line an Daten enthält.
  13. System (10) nach Anspruch 12, wobei die Kommunikationsleitung (16) ein ATM-Netz ist.
  14. Switching-System (10) nach Anspruch 1, zudem umfassend: eine Zentralressource (44), die eine Breite und eine Gesamtbandbreite aufweist, wobei die Zentralressource (44) über Zeitschlitze unterteilt ist, die den Eingabeport-Mechanismen (12) und Ausgabeport-Mechanismen (14) zugewiesen sind, und die Breite der Zentralressource (44) unabhängig von irgendeiner Paketbreite ist und die Gesamtbandbreite unbegrenzt wachsen kann; und der Speichermechanismus (22) mit der Zentralressource (44) verbunden ist.
  15. Switching-System (10) nach Anspruch 14, wobei die Zentralressource (44) einen Speicherbus (42) enthält.
  16. Switching-System (10) nach Anspruch 15, wobei die Zentralressource (44) die Schlangengruppen enthält, in die Pakete klassifiziert werden, und die Pakete von den Schlangengruppen aus dem Speichermechanismus (22) gelesen bzw. dorthin geschrieben werden.
  17. Switching-System (10) nach Anspruch 1, zudem umfassend: einen Zeitmultiplexbus (42); und den mit dem Bus (42) verbundenen Speichermechanismus (22), auf den über das Zeitmultiplexen des Busses (42) zugegriffen wird, wobei der Liefermechanismus (20) dafür ausgelegt ist, Datenpakete über den Bus (42) aus dem Speichermechanismus (22) zu lesen bzw. dorthin zu schreiben, ohne die Paketgrenzen der Daten zu kennen.
  18. Switching-System (10) nach Anspruch 1, zudem umfassend: einen Zeitmultiplex-Trägermechanismus (18), der eine Breite besitzt; und den Speichermechanismus (22), der mit dem Trägermechanismus (18) verbunden ist, wobei der Liefermechanismus (20) dafür ausgelegt ist, Daten von Paketen an den Speichermechanismus (22) zu liefern, die eine Breite haben, durch die die Daten der Pakete die Breite des Busses (42) durch Zeitmultiplexen füllen, wobei die Breite des Busses (42) eine positive nicht ganzzahlige Vielfache der Breite der Pakete ist.
  19. Verfahren zum Vermitteln von Paketen, die eine Breite besitzen, wobei das Verfahren die Schritte umfasst: das Empfangen eines ersten Pakets und mindestens eines zweiten Pakets an einem Switch-Mechanismus; und das Übertragen der Daten des ersten Pakets und des zweiten Pakets an einen Speichermechanismus (22) mit Hilfe des Zeitmultiplexverfahrens auf einem Bus (42), der eine Breite aufweist, die eine positive nicht ganzzahlige Vielfache der Breite der Pakete ist, so dass die Daten der Pakete einen vorbestimmten Abschnitt der Breite des Busses (42) füllen, indem man das erste Paket und zumindest das zweite Paket in einer Eingabeschlangengruppe anordnet und die Daten in der Eingabeschlangengruppe während eines zugewiesenen Zeitschlitzes auf dem Bus (42) an den Speichermechanismus (22) überträgt, so dass die Daten den vorbestimmten Abschnitt der Breite des Busses (42) füllen.
  20. Verfahren nach Anspruch 19, worin vor dem Datenübertragungsschritt ein Schritt erfolgt, in dem festgestellt wird, dass die Eingabeschlangengruppe mindestens ausreichend Daten zum Füllen des vorbestimmten Abschnitts der Breite des Busses (42) aufweist, bevor die Daten auf den Bus (42) übertragen werden.
  21. Verfahren nach Anspruch 20, worin vor dem Datenübertragungsschritt ein Schritt erfolgt, in dem festgestellt wird, dass die Eingabeschlangengruppe mindestens eine Cache-Line an Daten enthält.
DE60031596T 1999-04-15 2000-04-06 Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher Expired - Lifetime DE60031596T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US293563 1999-04-15
US09/293,563 US7031330B1 (en) 1999-04-15 1999-04-15 Very wide memory TDM switching system

Publications (2)

Publication Number Publication Date
DE60031596D1 DE60031596D1 (de) 2006-12-14
DE60031596T2 true DE60031596T2 (de) 2007-09-06

Family

ID=23129591

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031596T Expired - Lifetime DE60031596T2 (de) 1999-04-15 2000-04-06 Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher

Country Status (5)

Country Link
US (1) US7031330B1 (de)
EP (1) EP1045558B1 (de)
JP (1) JP4480845B2 (de)
AT (1) ATE344560T1 (de)
DE (1) DE60031596T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2381407B (en) * 2001-10-24 2004-06-30 Zarlink Semiconductor Ltd Dynamic buffering in packet systems
US7408957B2 (en) * 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
GB2396447A (en) * 2002-12-21 2004-06-23 Robert Clive Roust Data flow processing technique
US7492760B1 (en) * 2003-03-31 2009-02-17 Pmc-Sierra, Inc. Memory egress self selection architecture
US8427490B1 (en) 2004-05-14 2013-04-23 Nvidia Corporation Validating a graphics pipeline using pre-determined schedules
US8624906B2 (en) * 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US8683184B1 (en) 2004-11-15 2014-03-25 Nvidia Corporation Multi context execution on a video processor
US8072887B1 (en) * 2005-02-07 2011-12-06 Extreme Networks, Inc. Methods, systems, and computer program products for controlling enqueuing of packets in an aggregated queue including a plurality of virtual queues using backpressure messages from downstream queues
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US7852866B2 (en) * 2006-12-29 2010-12-14 Polytechnic Institute of New York Universiity Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput
US7978690B2 (en) * 2007-03-31 2011-07-12 International Business Machines Corporation Method to operate a crossbar switch
US8683126B2 (en) 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8698819B1 (en) 2007-08-15 2014-04-15 Nvidia Corporation Software assisted shader merging
US8659601B1 (en) 2007-08-15 2014-02-25 Nvidia Corporation Program sequencer for generating indeterminant length shader programs for a graphics processor
US8411096B1 (en) 2007-08-15 2013-04-02 Nvidia Corporation Shader program instruction fetch
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
US8780123B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8489851B2 (en) 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
US8452908B2 (en) * 2009-12-29 2013-05-28 Juniper Networks, Inc. Low latency serial memory interface
EP2552123B1 (de) * 2010-03-24 2019-12-18 Nec Corporation Übertragungsvorrichtung und übertragungsverfahren
US8824491B2 (en) * 2010-10-25 2014-09-02 Polytechnic Institute Of New York University Distributed scheduling for variable-size packet switching system
US9039432B2 (en) 2011-07-08 2015-05-26 Cisco Technology, Inc. System and method for high connectivity platform
US8545246B2 (en) 2011-07-25 2013-10-01 Cisco Technology, Inc. High connectivity platform
CN111724804A (zh) * 2020-06-29 2020-09-29 北京百度网讯科技有限公司 用于处理信息的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233603A (en) * 1988-04-21 1993-08-03 Nec Corporation Packet switch suitable for integrated circuit implementation
US5475680A (en) * 1989-09-15 1995-12-12 Gpt Limited Asynchronous time division multiplex switching system
FR2666472B1 (fr) * 1990-08-31 1992-10-16 Alcatel Nv Systeme de memorisation temporaire d'information comprenant une memoire tampon enregistrant des donnees en blocs de donnees de longueur fixe ou variable.
US5535197A (en) * 1991-09-26 1996-07-09 Ipc Information Systems, Inc. Shared buffer switching module
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US5732041A (en) * 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
JPH08288965A (ja) * 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
JP2856104B2 (ja) * 1995-04-18 1999-02-10 日本電気株式会社 Atmスイッチ
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US5991295A (en) * 1995-10-10 1999-11-23 Madge Networks Limited Digital switch
JP2827998B2 (ja) * 1995-12-13 1998-11-25 日本電気株式会社 Atm交換方法
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
JPH10126419A (ja) * 1996-10-23 1998-05-15 Nec Corp Atm交換機システム
US6061358A (en) * 1997-02-13 2000-05-09 Mcdata Corporation Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method
US6034957A (en) * 1997-08-29 2000-03-07 Extreme Networks, Inc. Sliced comparison engine architecture and method for a LAN switch
JP3566047B2 (ja) * 1997-10-17 2004-09-15 富士通株式会社 ネットワークシステム及び通信装置
US6137807A (en) * 1997-12-05 2000-10-24 Whittaker Corporation Dual bank queue memory and queue control system
US6470021B1 (en) * 1998-01-27 2002-10-22 Alcatel Internetworking (Pe), Inc. Computer network switch with parallel access shared memory architecture

Also Published As

Publication number Publication date
DE60031596D1 (de) 2006-12-14
EP1045558A3 (de) 2004-11-17
US7031330B1 (en) 2006-04-18
ATE344560T1 (de) 2006-11-15
JP4480845B2 (ja) 2010-06-16
JP2000349789A (ja) 2000-12-15
EP1045558A2 (de) 2000-10-18
EP1045558B1 (de) 2006-11-02

Similar Documents

Publication Publication Date Title
DE60031596T2 (de) Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher
EP0320772B1 (de) Verfahren zur hybriden Paketvermittlung und Einrichtungen hierzu
DE3752370T2 (de) Vermittlungssystem
DE3788649T2 (de) Schnelle modulare Vermittlungseinrichtung für Durchschaltverkehr und paketvermittelten Verkehr.
DE69020578T2 (de) Grundelement für ein verbindungsnetzwerk eines knotens zur schnellen paketvermittlung.
DE69428186T2 (de) Mehrfachsendeeinrichtung
DE69737361T2 (de) Schnelle vermittlungsvorrichtung
DE69031220T2 (de) Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung
DE69124645T2 (de) Verfahren und Schaltung zur Verkehrsformung
DE69323547T2 (de) Verfahren zur gruppenbildung von umbindungen in einer paketvermittlung
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE69637462T2 (de) ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen
DE69003950T2 (de) Schaltknoten für ein kommunikationsschaltnetz.
EP0320714B1 (de) Einrichtungen zur Paketvermittlung
DE69332558T2 (de) Multiport-Brücke für lokales Netz
DE69733703T2 (de) Puffer von Mehrfachsendezellen in Vermittlungsnetzen
DE602005002452T2 (de) Vermittlung für integrierte Telekommunikationssnetzwerke
DE69033231T2 (de) Erweitbare Paketvermittlungsarchitektur
DE3787600T2 (de) Koppelpunktschaltung für Datenpaketraumvermittlung.
DE69033213T2 (de) Verbindungsstruktur zur Verbindung zwischen einem Eingang und willkürlichen Ausgängen aus einer Gruppe von Ausgängen
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE19757966A1 (de) ATM-Schalter-Warteschlangensystem
DE69729853T2 (de) Modulare vermittlungsanordnung
DE69028580T2 (de) Vorrichtung zur Zellenvermittlung
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition