[go: up one dir, main page]

DE69332328T2 - Paketschalter mit grosser Bandbreite - Google Patents

Paketschalter mit grosser Bandbreite

Info

Publication number
DE69332328T2
DE69332328T2 DE69332328T DE69332328T DE69332328T2 DE 69332328 T2 DE69332328 T2 DE 69332328T2 DE 69332328 T DE69332328 T DE 69332328T DE 69332328 T DE69332328 T DE 69332328T DE 69332328 T2 DE69332328 T2 DE 69332328T2
Authority
DE
Germany
Prior art keywords
buffer
packet
data
pointer
further characterized
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 - Fee Related
Application number
DE69332328T
Other languages
English (en)
Other versions
DE69332328D1 (de
Inventor
Christopher Gordon Mcharg
Thomas Ellison Newman
Kenneth Nicholas Schaff
Kenneth Edward Wendland
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of DE69332328D1 publication Critical patent/DE69332328D1/de
Application granted granted Critical
Publication of DE69332328T2 publication Critical patent/DE69332328T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Landscapes

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

Description

  • Die vorliegende Anmeldung hängt mit der EP-A-0581485 zusammen, im folgenden "CPM" genannt, die gleichzeitig mit der vorliegenden Anmeldung eingereicht wurde.
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft das Gebiet paketvermittelter Kommunikationsnetze und insbesondere Paketvermittlungs-Steuerdateninformationen zwischen Steuereinheiten in einem Vermittlungssystem mit verteilter Verarbeitung.
  • Allgemeiner Stand der Technik
  • Wenn mehr paketierte Daten auf dem Fernsprechnetz übertragen werden, muß die Geschwindigkeit (Bandbreite) des Netzes vergrößert werden. Moderne Telekommunikationsnetze können nur so schnell sein, wie die Paketvermittlungssysteme, mit denen die Datenpakete von der Quelle zum Ziel gelenkt werden. Deshalb werden Paketvermittlungssysteme mit höherer Bandbreite benötigt.
  • Vermittlungssysteme verwenden mehr und mehr eine verteilte Steuerung, um die Geschwindigkeit zu vergrößern, mit der sie Datenpakete und Sprechverbindungen vermitteln können. Vermittlungssysteme mit verteilter Steuerung, die als Konzept als kleine Telekommunikationsnetze aufgefaßt werden können, verwenden eine Paketvermittlung zum schnellen Übermitteln von Steuerinformationen zwischen verteilten Prozessoren. Ohne schnelle Übermittlung von Steuerinformationen würde die Kapazität der Vermittlung durch die zu einem gegebenen Zeitpunkt abwickelbare Anzahl von Steuernachrichten beschränkt, wodurch ein Engpaß in dem Netz entsteht. Deshalb ist sowohl in dem Netz im allgemeinen als auch im Vermittlungssystemen mit verteilter Verarbeitung insbesondere eine Paketvermittlung mit hoher Bandbreite notwendig.
  • Verschiedene Paketvermittlungssysteme wurden zum Lenken von Steuerinformationen in Vermittlungssystemen mit verteilter Verarbeitung mit verschiedenen Erfolgen versuchsweise eingesetzt. Bestimmte Systeme stellten eine separate Steuerungs-Busstruktur bereit, die für alle Übermittlungen zwischen den Prozessoren verwendet werden sollte. Andere Systeme verwendeten eigene Kommunikationswege des Vermittlungssystems zur Bereitstellung der Kommunikation zwischen den verteilten Systemprozessoren und einer Zentral Steuerung, die Steuerinformationen interpretiert und den Gesamtbetrieb des Vermittlungssystems dirigiert. Diese bekannten Systeme erfordern jedoch die Durchführung komplexer und zeitaufwendiger Operationen bei ihren Implementierungen. Da solche Systeme eine Zentral Steuerung verwenden, um die verteilten Prozessoren zu dirigieren, können sie die verteilte Verarbeitung nicht voll ausnutzen.
  • Aus der EP-A-0 422 910 sind mehrere speichergestützte Paketvermittlungen mit großer Kapazität bekannt. Bei einer ersten Ausführungsform sind mehrere Eingangsports mit einem zentralisierten Warteschlangenspeicher verbunden; der Speicher ist mit mehreren Ausgangsports und einem Verarbeitungsmittel verbunden. Jeder Eingangsport enthält einen Eingangspuffer. Jeder Ausgangsport enthält einen Ausgangspuffer. Pakete werden an den Eingangsports empfangen und in die entsprechenden Eingangspuffer eingelesen. Bei Empfang eines Pakets in dem Eingangspuffer wird das Paket über einen "N-Bit"-Parallelbus zu einem zentralisierten Warteschlangenspeicher transferiert. Das Paket wird dann zu einem jeweiligen Ausgangspuffer transferiert/- der gemäß einer mit dem Paket empfangenen Adresse gewählt wird, und dann seriell aus der Vermittlung herausgetaktet. Bei einer zweiten Ausführungsform sind mehrere Eingangsports mit einem Bus verbunden, der mit mehreren Ausgangsports verbunden ist. Jeder Eingangsport enthält einen Eingangspuffer. Jeder Ausgangsport enthält einen Ausgangspuffer, der als eine separate Warteschlange wirkt und mehrere Pakete speichern kann. Pakete werden an den Eingangsports empfangen und in die entsprechenden Eingangspuffer eingelesen. Bei Empfang eines Pakets in dem Eingangspuffer wird es über den Bus zu einem jeweiligen Ausgangspuffer transferiert, der gemäß einer mit dem Paket empfangenen Adresse gewählt wird, und dann seriell aus der Vermittlung herausgetaktet.
  • Aus der EP-A-0 339 735 ist eine Knotenvermittlung zum Übertragen von paketvermittelten Informationen von einem Bus zu einem anderen Bus in einem asynchronen Zeitmultiplexsystem bekannt. Die Knotenvermittlung umfaßt einen Übersetzungsspeicher zum Übersetzen von Paketadressen in neue Adressen, einen Komparator zum Wählen der Pakete, die zu einem anderen Bus geroutet werden sollen, und einen Warteschlangenspeicher zum Speichern gewählter Pakete, bis eine Einfügeschaltung die gewählten Pakete in den Warteschlangenspeicher auf dem anderen Bus einreiht.
  • Eine Steuerinformations-Kommunikationsanordnung gemäß der Erfindung des U.S.-Patents Nr. 4,322,843 von H. J. Beuscher et al., ausgegeben am 30.3.1982, erzielt die Vorteile der Kommunikation zwischen Prozessoren unter gleichzeitiger Verminderung der Komplexität und der zeitaufwendigen Beschaffenheit vorheriger Anordnungen. Gemäß einem Ausführungsbeispiel der Erfindung des Patents von Beuscher kommunizieren Steuereinheiten miteinander über bestimmte Kommunikationswege des Vermittlungssystems mittels Steuernachrichten oder Paketen, die mehrere Steuerwörter umfassen. Eine in dem System enthaltene Steuerverteileinheit akkumuliert die empfangenen Steuerwörter zu Steuerpaketen und speichert alle solchen Steuerpakete in einen gemeinsam genutzten Speicher. Die Steuerpakete werden dann sequentiell paketvermittelt, indem die Pakete einzeln von dem gemeinsam genutzten Speicher zu entsprechenden Einrichtungen zur nachfolgenden Übertragung zu durch die Paketköpfe definierten Zielsteuereinheiten übermittelt werden. Die sequentielle Beschaffenheit des Paketvermittlungsmechanismus begrenzt jedoch wesentlich die Kapazität der Steuerverteileinheit zum Vermitteln von Steuerpaketen. Diese Beschränkung wird besonders signifikant, wenn die Systemsteuerprozessoren zum Implementieren von Merkmalen verwendet werden, die der Bereitstellung von ISDN-Fähigkeiten (Integrated Services Digital Network) zugeordnet sind.
  • Eine potentielle Lösung dieses Problems befindet sich in dem U.S.-Patent Nr. 4,821,259 von DeBruler et al., ausgegeben am 11.4.1989, worin eine Paketvermittlung zur Kommunikation zwischen Modulen in einer Vermittlung offengelegt wird, die Steuerpakete zwischen Modulen über unabhängige Wege zur Übertragung zu Zielsteuereinheiten zu schnellen abgehenden Paketkanälen paketvermittelt. Eine Paketvermittlung auf Ringbasis wird in einem Ausführungsbeispiel der Erfindung des Patents von DeBruler offengelegt, wobei ein Leitungs-Koppelfeld in Echtzeit durch einen schnellen Mehrfach-Token- Weiterleitungsring gesteuert wird. Dieses System kann jedoch nur unter hohen Kosten im nachhinein in ein bestehendes Vermittlungssystem eingebaut werden, da Paketkanäle und Leitungskanäle getrennt werden müssen, wenn die Strecke das erste Mal in die Verbindungseinheit zwischen Modulen eintritt, und da an jedem Modul der Vermittlung mit verteilter Verarbeitung, das durch dieses System kommuniziert, sowie an allen Paket- und Leitungsvermittlungs- Steuereinheiten Modifikationen vorgenommen werden müssen.
  • Ferner weist jede dieser Paketvermittlungen eine Pufferung des ankommenden Datenpakets am Eingangsort auf. Diese Pufferung erfordert mindestens die Dauer des Empfangs eines Pakets, um ein Datenpaket zu akkumulieren, bevor es durch die Paketvermittlung gelenkt wird, und nimmt somit Zeit in Anspruch, bevor das Paket vermittelt werden kann. Außerdem ist das Bewegen eines gesamten Datenpakets durch eine Vermittlung ein zeitaufwendiger Vorgang. Bei bestimmten Beispielen, wie zum Beispiel DeBruler, wird das Datenpaket am Ausgangsport nochmals gepuffert, was weitere Zeit in Anspruch nimmt. Die Pufferung von Paketen, vor und/oder nach der Vermittlung verursacht deshalb einen Leistungsverlust bei bekannten Paketvermittlungen.
  • Im Hinblick auf die obigen Darlegungen besteht anerkannterweise ein Problem in der Technik in der begrenzten Kapazität von Paketvermittlungseinrichtungen, die für die Steuerkommunikation zwischen Prozessoren in Vermittlungssystemen mit verteilter Verarbeitung verwendet werden.
  • Kurze Darstellung der Erfindung
  • Eine Vermittlung und ein Verfahren gemäß der Erfindung werden in den unabhängigen Ansprüchen definiert.
  • Eine kostengünstige schnelle Paketvermittlung gemäß der vorliegenden Erfindung verwendet einen Puffer, der direkt zwischen mehrere Eingangsports und mehrere Ausgangsports geschaltet ist, um einen schnellen Durchsatz von Datenpaketen zu bewirken. Vorteilhafterweise wird bei Empfang einer Benachrichtigung über ein ankommendes Paket an dem Empfangs-Eingangsport durch einen Puffer-Manager ein Zeiger auf eine Speicherstelle in dem Puffer zugeteilt, und der Eingangsport liefert das Paket, während es empfangen wird, zu der durch den Zeiger angegebenen Speicherstelle. Nachdem das Datenpaket empfangen wurde, liefert der Eingangsport den Zeiger und eine Zieladresse für das Paket zu einem Router, der auf der Grundlage der Zieladresse einen der mehreren Ausgangsports auswählt. Der Router reiht den Zeiger in eine Warteschlange für den gewählten Ausgangsport ein. Unter Verwendung des Zeigers zur Bestimmung der Speicherstelle ruft der Ausgangsport dann das Datenpaket aus dem Puffer ab und überträgt das Datenpaket. Nachdem die Übertragung abgeschlossen ist, gibt der Ausgangsport den Zeiger an den Puffer-Manager zurück. Vorteilhafterweise kann eine Paketvermittlung gemäß der vorliegenden Erfindung im Pipeline-Verfahren behandelt werden, um gleichzeitig auf benachbarten Ports zu empfangen, zu routen und zu übertragen.
  • Eine Paketvermittlung gemäß der vorliegenden Erfindung kann auf einer Leiterplatte implementiert werden und erleichtert somit ein einfaches nachträgliches Einbauen in bestehende Vermittlungssysteme mit verteilter Steuerung mit minimalen Modifikationen der anderen Module.
  • Kurze Beschreibung der Zeichnung
  • Fig. 1 ist ein Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung im Kontext eines Vermittlungssystems mit verteilter Steuerung;
  • Fig. 2 ist ein Diagramm einer schnellen Paketvermittlung, wie in Fig. 1 gezeigt, die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung aufgebaut ist;
  • Fig. 3 ist ein ausführlicheres Blockschaltbild des Zeitschlitzkanal-Sequenzers von Fig. 2 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung;
  • Fig. 4 ist ein Impulsdiagramm des Timings von Daten durch die schnelle Paketvermittlung von Fig. 2;
  • Fig. 5 ist ein Blockschaltbild des Paketempfängers von Fig. 2 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung;
  • Fig. 6 ist ein Diagramm des Layouts der Protokoll- Zustandsregister des Paketempfängers von Fig. 5;
  • Fig. 7 ist ein Diagramm des Layouts der Adressenzustandsregister des Paketempfängers von Fig. 5;
  • Fig. 8 ist ein Diagramm des Layouts der Protokollzustandsregister des Paketsenders von Fig. 10;
  • Fig. 9 ist ein Diagramm des Layouts des Adressenzustandsregisters des Paketsenders von Fig. 10;
  • Fig. 10 ist ein Blockschaltbild des Paketsenders von Fig. 2 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung;
  • Fig. 11 ist ein Blockschaltbild des Routers von Fig. 2 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung;
  • Fig. 12 ist ein Blockschaltbild des Puffermanagers von Fig. 2 gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung;
  • Fig. 13 ist ein Impulsdiagramm am Ausgang des Puffermanagers von Fig. 12; und
  • Fig. 14 ist ein Impulsdiagramm am Eingang des Puffermanagers von Fig. 12.
  • Ausführliche Beschreibung
  • Fig. 1 ist ein Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung im Kontext eines Vermittlungssystems mit verteilter Verarbeitung, wobei eine schnelle Paketvermittlung 10 gemäß der vorliegenden Erfindung zum Routen von Steuernachrichten enthaltenden Paketen von einem Quellenmodul zu einem Zielmodul verwendet wird. Das Vermittlungssystem 4 enthält mehrere Vermittlungsmodule, z. B. 1, 2 und 3, um über mehrere Zugangsports sowohl Leitungsvermittlungs- als auch Paketvermittlungsdienst für mehrere Benutzerstationen, z. B. 12, 14, 16 und 18, bereitzustellen. Bei diesem Ausführungsbeispiel sind die Benutzerstationen 12, 14 und 18 Fernsprechapparate, wie zum Beispiel die Fernsprecher ISDN 7506 oder 7507 von AT & T. Die Benutzerstation 16 ist ein in der Technik bekanntes Datenterminal. Jede Benutzerstation sendet Informationen zu und empfängt Informationen von ihrem zugeordneten Vermittlungsmodul, zum Beispiel dem Vermittlungsmodul 3, in zwei leitungsvermittelten B- Kanälen und einem paketvermittelten D-Kanal (wobei es sich um eine typische ISDN-Leitung handelt). B-Kanäle sind mit einer Leitungsvermittlungseinheit 20 und D- Kanäle mit einer Paketvermittlungseinheit 22 verbunden.
  • Eine Steuereinheit 24 dient sowohl zum Steuern der Herstellung von leitungsvermittelten Verbindungen durch die Leitungsvermittlungseinheit 20 als auch zum Herstellen von paketvermittelten Verbindungen durch die Paketvermittlungseinheit 22. Die Kommunikationsschnittstelle 26 liefert die Protokollabwicklung für die Kommunikation zwischen Prozessoren.
  • Jedes Vermittlungsmodul ist durch eine ankommende Zeitmultiplexstrecke mit 256 Zeitschlitzen und eine abgehende Zeitmultiplexstrecke mit 256 Zeitschlitzen mit einer Verbindungseinheit 28 zwischen Modulen verbunden. Paketkanäle umfassen einen oder mehrere Zeitschlitze auf der ankommenden bzw. abgehenden Zeitmultiplexleitung. In Fig. 1 umfassen die drei in dem Rahmen mit 256 Zeitschlitzen (TS) gezeigten schattierten Zeitschlitze einen Paketkanal zwischen dem Vermittlungsmodul 3 und der schnellen Paketvermittlung. Leitungsvermittelte Wege werden zum Zeitpunkt der Initialisierung permanent hergestellt, um einen freien Kanal zwischen der Kommunikationsschnittstelle 26 und der schnellen Paketvermittlung 10 bereitzustellen. Man beachte, daß die Paketkanäle von beiden Vermittlungsmodulen 2 und 3 leitungsvermittelte Wege zu demselben Port auf der schnellen Paketvermittlung aufweisen. Bei der beispielhaften Implementierung kann jeder Port der schnellen Paketvermittlung bis zu 32 Paketkanäle abwickeln. Auf den ankommenden Paketkanälen empfangene Pakete werden in dem Leitungskoppelfeld 30 vermittelt.
  • Eine Fernsprechverbindung wird von dem Fernsprecher 18 zu dem Fernsprecher 12 eingeleitet, indem zum Beispiel der Benutzer des Fernsprechers 18 den Hörer von der Gabel nimmt, so daß der Fernsprecher 18 eine Nachricht zu der Paketvermittlungseinheit 22 sendet. Als Reaktion auf die Nachricht informiert die Paketvermittlungseinheit 22 die Steuereinheit 24, daß der Fernsprecher 18 abgenommen wurde, und die Steuereinheit 24 bewirkt, daß die Leitungsvermittlungseinheit 20 einen Wählton zu dem Fernsprecher 18 sendet. Der Benutzer des Fernsprechers 18 gibt dann Ziffern ein, die über die Paketvermittlungseinheit 22 zu der Steuereinheit 24 gesendet werden. Die Steuereinheit 24 führt an den aus dem Fernsprecher 18 gesammelten Ziffern eine Ziffernanalyse durch und entscheidet als Ergebnis, daß die Verbindung für den Fernsprecher 12 bestimmt ist, der mit dem Vermittlungsmodul 1 verbunden ist.
  • Die Steuereinheit 24 formatiert eine Nachricht für die Steuereinheit in dem Vermittlungsmodul 1 (nicht gezeigt), um das Vermittlungsmodul zu informieren, daß es von dem Vermittlungsmodul 1 anfordern muß, zu bestimmen, ob der Fernsprecher 12 belegt ist. Die Steuereinheit 24 formatiert eine Nachricht und sendet sie durch die Kommunikationsschnittstelle 26, die die Nachricht in einem standardisierten Protokoll verpackt und die Nachricht durch die Leitungsvermittlungseinheit 20 sendet. Die Leitungsvermittlungseinheit 20 und das Leitungskoppelfeld 30 in der Verbindungseinheit 28 zwischen Modulen leitet die Nachricht durch permanent verbundene Wege zu dem Port N der schnellen Paketvermittlung 10 weiter. Die schnelle Paketvermittlung 10 routet die Nachricht durch die Vermittlung, wie später beschrieben werden wird, zurück in das Leitungskoppelfeld 30, das die Nachricht durch den Verbinder A zu dem Vermittlungsmodul 1 weiterleitet. Das Vermittlungsmodul 1 reagiert auf ähnliche Weise durch das Leitungskoppelfeld 30, die schnelle Paketvermittlung 10 und das Leitungskoppelfeld 30 durch Verbinder C. Von dem Verbinder C durchläuft die Nachricht die Leitungsvermittlungseinheit 20 und erreicht durch die Kommunikationsschnittstelle 26 die Steuereinheit 24. Die Verbindungsbearbeitung wird auf diese Weise fortgesetzt, bis eine Verbindung zwischen dem Fernsprecher 18 und dem Fernsprecher 12 hergestellt ist.
  • Fig. 2 ist ein Blockschaltbild eines Ausführungsbeispiels für eine schnelle Paketvermittlung 10 gemäß der vorliegenden Erfindung. Die schnelle Paketvermittlung 10 umfaßt einen einzigen Puffer 200, mehrere Paketempfänger 202 mit Zugang zu dem Puffer 200 und mehrere Paketsender 204 ebenfalls mit Zugang zu dem Puffer 200. Der Puffer 200 ist zu einer Anzahl von Speicherstellen fester Länge organisiert. Ein Zeiger umfaßt eine Adresse einer Speicherstelle in dem Puffer 200. Zeiger auf freie Pufferstellen werden in dem Puffermanager 206 gespeichert.
  • Paketverkehr wird zu der Paketvermittlung 10 über Paketkanäle geliefert, die einen oder mehrere Zeitschlitze an ankommenden Ports 1-N umfassen. Der Empfänger 202 erhält einen Zeiger aus dem Puffermanager 206 und schreibt ein ankommendes Paket in eine Pufferspeicherstelle, die bei der Zeigeradresse beginnt. Nachdem das Paket in den Puffer 200 geschrieben wurde, wird das Routing-Byte aus dem Paket, das das Ziel des Pakets enthält, zusammen mit dem Zeiger zu einem Router 208 weitergeleitet. Der Router 208 umfaßt, wie nachfolgend beschrieben wird, eine Nachschlagetabelle, die das logische Routing-Byte auf eine physische Paketkanalnummer abbildet. Der Router 208 schiebt den Zeiger dann auf eine TX-Zeiger-FIFO- Warteschlange (die nachfolgend in Verbindung mit Fig. 11 beschrieben wird) für den physischen Paketkanal, zu dem das Paket geroutet wurde. Der Paketsender 204 nimmt den Zeiger von der FIFO-Warteschlange, liest die Daten aus dem Puffer 200 und sendet die Daten über den entsprechenden abgehenden Portkanal. Nachdem das Paket übertragen wurde, wird der Zeiger von dem Paketsender 204 an den Puffermanager 206 zurückgegeben, so daß der RAM-Puffer für ein anderes Paket frei wird.
  • Datenfluß
  • Paketkanäle erreichen die Paketvermittlung aus dem Leitungskoppelfeld durch mehrere Eingangsports 1-N. Jeder Eingangsport umfaßt mehrere gemultiplexte Zeitschlitze. Für jeden Eingangsport liegt ein zeitgemultiplexter Paketempfänger 202 vor, der mehrere Paketkanäle abwickeln kann. Jeder Paketempfänger 202 ist mit einem zeitgemultiplexten Schreibbus 210 verbunden, durch den die Paketempfänger 202 empfangene Paketdaten in den Puffer 200 schreiben. Paketdaten werden aus dem Puffer 200 durch einen zeitgemultiplexten Lesebus 212 gelesen. Sowohl der Schreibbus 210 als auch der Lesebus 212 senden Adressen und Dateninformationen. Ein Multiplexer 214 in dem Puffer 200 wählt, welcher Bus die Adresse für eine gegebene Operation zuführt. Der Multiplexer 214 und eine (nicht gezeigte) Schreib-Freigabeauswahl werden auf zeitlich gemultiplexte deterministische Weise gesteuert, wie nachfolgend in Verbindung mit dem Impulsdiagramm von Fig. 4 beschrieben wird, wobei vorteilhafterweise eine komplexe Arbitrierungsschaltung für den Puffer 200 vermieden wird. Paketsender 204 lesen durch den Lesebus 212 Daten aus dem Puffer 200 und senden Pakete auf gemultiplexten Zeitschlitzen durch Ausgangsports zu dem Leitungskoppelfeld.
  • Bei Paketvermittlungsimplementierungen kann die Anzahl von Paketsendern 204 und -empfängern 202 und die Anzahl gemultiplexter Zeitschlitze auf einem ankommenden Port unterschiedlich sein. Zur Beschreibung dieses Ausführungsbeispiels wird die Paketvermittlung mit vier Paketempfängern 202 und vier Paketsendern 204 beschrieben. Bei diesem Ausführungsbeispiel enthält jeder ankommende und jeder abgehende Port 256 Zeitschlitze.
  • Jeder Paketempfänger 202 und -sender 204 wickelt mehrere Paketkanäle ab. Jeder Paketkanal umfaßt eine Gruppe von Zeitschlitzen, die bei Verkettung eine Paketstrecke der OSI-Schicht 1 bilden. Für die vorliegende Beschreibung wickelt jeder Paketempfänger 202 und -sender 204 bis zu 31 Paketkanäle ab. Jeder Paketkanal besteht aus Zeitschlitzen aus nur einem Port; deshalb kann ein Kanal nicht über mehrere Ports verteilt werden.
  • Der Puffer 200 enthält eine Vielzahl von Speicherstellen fester Länge, die jeweils groß genug sind, um das größte Paket, das die Vermittlung senden und - empfangen kann, puffern zu können. Für die vorliegende Beschreibung sei die größte Paketgröße 576 Byte. Der Puffer 200 enthält bei diesem Ausführungsbeispiel 455 Puffer. Eine Paketgröße von 576 Byte kann eine Benutzerdatenfeldlänge von 512 Byte behandeln, wobei 64 Byte für Protokollkopfinformationen verfügbar sind, und dies hat sich für mehrere Schichten des Protokolls als ausreichend erwiesen. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung umfaßt der Puffer 200 einen schnellen direkten Zugriffsspeicher.
  • Steuerfluß
  • Der Puffermanager 206 liefert einen Speicherbereich für Zeiger auf unbelegte Speicherstellen in dem Puffer 200. Bei der Systeminitialisierung liegt kein Paketverkehr in der Vermittlung vor und alle Speicherstellen in dem Puffer 200 sind unbelegt. Alle Zeiger werden in dem Puffermanager 206 in Warteschlangen eingereiht. Wenn ein Paketempfänger 202 ein ankommendes Paket erkennt, fordert er einen Zeiger von dem Puffermanager 206 an. Der Zeiger wird über den Zeigerverteilbus 216 geliefert. Der Paketempfänger 202 verwendet den Zeiger zur Berechnung der Adresse in dem Puffer 200 zum Schreiben der ankommenden Paketdaten.
  • Während das ankommende Paket empfangen wird, entnimmt der Paketempfänger 202 das Routing-Byte (das logische Ziel für das Paket) aus einer vorbestimmten festen Speicherstelle in dem Paket und sichert sie in einem Halteregister. Wenn der Paketempfänger 202 das Schlußflag für ein Paket empfängt, werden, wie in der Technik bekannt ist. Integritätsprüfungen durchgeführt, und das Routing-Byte und der Zeiger werden zu dem Router 208 weitergeleitet.
  • Der Router 208 umfaßt einen RAM, der eine Nachschlagetabelle enthält. Die Nachschlagetabelle bildet das in dem Routing-Byte enthaltene logische Ziel auf eine physische Paketkanalnummer ab, die dann zum Wählen eines XMTR-Zeiger-FIFO (in Verbindung mit Fig. 11 gezeigt) verwendet wird. Die XMTR-Zeiger-FIFO enthält einen FIFO für jeden Paketkanal auf jedem Paketsender 204. Für die vorliegende Beschreibung gibt es vier Paketsender 204, die jeweils bis zu 31 Paketkanäle abwickeln; deshalb gibt es 124 verwendbare XMTR-Zeiger-FIFOs. Der Router 208 gibt den Zeiger aus dem Paketempfänger 202 auf den durch die Kanalnummer aus der Routing-Tabelle gewählten FIFO. Die Zeiger in dem XMTR-Zeiger-FIFO stellen Pakete dar, die in Warteschlangen für die Übertragung eingereiht sind.
  • Jeder Paketsender 204 fragt die XMTR-Zeiger-FIFOs ab, die seinen Paketkanälen zugeordnet sind, wenn ein Kanal unbelegt ist. Wenn ein Zeiger in dem FIFO in eine Warteschlange eingereiht ist, wird er von dem FIFO heruntergenommen und durch den Paketsender 204 über den XMTR-Zeiger-Bus 218 gelesen. Der Paketsender 204 berechnet die Adressen in dem Puffer 200, aus dem Paketdaten für das abgehende Paket gelesen werden, auf der Grundlage des Zeigers. Wenn die Paketübertragung abgeschlossen ist, gibt der Paketsender 204 den Zeiger über den Zeiger-Rückkehrbus 220 an den Puffermanager 206 zurück und fragt den XMTR-Zeiger-FIFO nach einem weiteren in eine Warteschlange eingereihten Zeiger ab. Wenn der Zeiger an den Puffermanager 206 zurückgegeben wird, wird die Speicherstelle in dem Puffer 200, die diesem Zeiger zugeordnet ist, effektiv unbelegt und für die Verwendung durch ein anderes ankommendes Paket verfügbar.
  • Als Alternative kann ein Zeiger über den Shunt-Zeiger- Rückkehrbus 224 aus dem Router 208 an den Puffermanager 200 zurückgegeben werden. Ein Zeiger wird aus dem Router zurückgegeben, wenn zum Beispiel das Datenpaket die Integritätsprüfung im Paketempfänger 202 nicht bestanden hat oder die Warteschlange für den Zielkanal voll ist. Zeiger-Rückkehrbusse 220 und Shunt-Zeiger- Rückkehrbusse 224 werden in dem Multiplexer 226 unter der Steuerung des Zeitschlitzkanal-Sequenzers 222 (Steuerleitung der Klarheit halber nicht gezeigt) in den Puffermanager 206 gemultiplext. Die Ausgabe des Multiplexers 226 wird zu dem Puffermanager 206 auf dem MUX-Ausgang auf den Mikroprozessor-Schnittstellenbus 227 geliefert.
  • Die Initialisierung der schnellen Paketvermittlung 10 geschieht durch einen (nicht gezeigten) Mikroprozessor, der Daten in dem Zeitschlitzkanal-Sequenzer 222, dem Router 208 und dem Puffermanager 206 über die Mikroprozessor-Schnittstellen 228 initialisiert. Nach der Initialisierung führt die schnelle Paketvermittlung 10 ihre Funktionen unabhängig von dem Mikroprozessor durch. Wartungsfunktionen und Fehlermeldungen, die in der Technik bekannt sind, werden ebenfalls über die Mikroprozessorschnittstelle 228 durchgeführt.
  • Zeitschlitzkanal-Sequenzer
  • Nunmehr mit Bezug auf Fig. 3 ist ein Blockschaltbild eines Zeitschlitzkanal-Sequenzers 222 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Der Zeitschlitzkanal-Sequenzer 222 umfaßt eine Sequenz Steuerung 300, die über Adressen- und Datenbusse an einen Sequenzer-RAM 302 angekoppelt ist. Die Sequenzsteuerung 300 und der Sequenzer-RAM 302 liefern zusammen Zeitsteuerungssignale und Zeitschlitzkanaldaten zur Steuerung der schnellen Paketvermittlung 10. Der Zeitschlitzkanal-Sequenzer 222 liefert die T-TX- und T-RX-Busse, die die Paketsender 204 und -empfänger 202 dynamisch darüber informieren, von welchem Paketkanal der nächste Zeitschlitz ein Teil ist. Daten, die Zeitschlitze auf Kanäle abbilden, werden in dem Sequenzer-RAM 302 gespeichert, der über die Mikroprozessorschnittstelle 228 lesbar und beschreibbar ist. Der Sequenzer-RAM 302 enthält ein Datenbyte für jeden der 256 Zeitschlitze auf jedem der 4 Ports dieser beispielhaften Paketvermittlung. Diese Daten zeigen an, ob der Zeitschlitz Teil eines Paketkanals ist, von welchem Kanal und den Aktiv/Bereitschaft-Zustand des Kanals. Da alle Verbindungen in dem Leitungskoppelfeld 30 (Fig. 1) zweiseitige Verbindungen sind, verwendet ein Paketkanal dieselben Zeitschlitze zum Senden und zum Empfangen, so daß es möglich wird, einen Sequenzer sowohl zum Senden als auch zum Empfangen zu verwenden. Der Sequenzer-RAM 302 wird so initialisiert, daß alle Zeitschlitze unbelegt sind, d. h. keinem Paketkanal zugeordnet. Der Mikroprozessor richtet einen Paketkanal ein, indem er für jeden Zeitschlitz, der Teil des Kanals ist, eine Paketkanalnummer in den Sequenzer-RAM 302 schreibt. Ein Paketkanal kann ein Zeitschlitz, viele Zeitschlitze oder alle Zeitschlitze auf einem gegebenen Port sein. Nachdem die Zeitschlitze geschrieben wurden, wird durch den Mikroprozessor ein logisches Routing-Byte dem physischen Kanal zugeordnet. Bei dem Ausführungsbeispiel ist das logische Routing- Byte die Vermittlungsmodulnummer.
  • Ein Rahmen ist der Zeitraum, für den alle 256 Zeitschlitze einmal übertragen werden. Bei Fernsprechanwendungen, wie in dem vorliegenden Fall, beträgt die Rahmenrate in der Regel 8 kHz. Das Leitungskoppelfeld 30 liefert ein 8-kHz-Signal zum Synchronisieren der schnellen Paketvermittlung mit den Zeitschlitzen auf den Eingangs- und Ausgangsports. Die Sequenz Steuerung 300 bearbeitet sequentiell für jeden Rahmen alle Speicherstellen des Sequenzer-RAM 302.
  • Im Verlauf jedes Rahmens wird der Inhalt des Sequenzer- RAM 302 auf dem T-TX-Bus 308 und dem T-RX-Bus 310 gesendet. Während des N-ten Zeitschlitzes werden die Daten für den (N + 1)-ten Zeitschlitz aus dem RAM für jeden Port gelesen, wobei mit Port 0 begonnen wird. Mit Bezug auf Fig. 4 ist zu beachten, daß, obwohl der Paket-RCVR0 den Zeitschlitz 254 (kompensierte L0-Daten) empfängt, Steuerdaten für den Zeitschlitz 255 auf dem T-RX-Bus herausgesendet werden. Daten aus dem Sequenzer-RAM 302 werden in dem Ausgangszwischenspeicher 304 zwischengespeichert und dienen zur Zeitschlitzes hinweg in 8 RAM-Zyklen in vier Lesezyklen und vier Schreibzyklen aufgeteilt wird. Dieses Paketvermittlungskonzept ermöglicht, daß jeder Empfänger 202 und Sender 204 genügend Daten und Steuerbandbreite besitzt, um ankommenden und abgehenden Verkehr auf allen Kanälen aller Ports bei voller Belegtheit abzuwickeln. Für die hier beschriebene Paketvermittlung ist ein 64-Mbps-Durchsatz verfügbar.
  • Der Datenfluß durch die Paketvermittlung beginnt in dem Paketempfänger 202, in dem an den Daten eine Protokoll Verarbeitung durchgeführt wird, bevor sie in dem Puffer gespeichert werden. Der 32-MHz-Systemtakt wird in 8-kHz-Rahmen aufgeteilt, die durch den System- Sync-Impuls identifiziert werden, wobei jeder Rahmen 256 Zeitschlitze enthält. Der T-RX-Bus 310 (der aus dem Zeitschlitzkanal-Sequenzer kommt) identifiziert den aktuellen Zeitschlitz mit einem logischen Paketkanal, der von 1 bis 255 Zeitschlitze umfassen kann. Logische Paketkanäle erfordern keine zusammenhängenden Zeitschlitze. Diese Informationen werden von dem Empfänger 202 dazu benutzt, als Vorbereitung auf die ankommenden seriellen Daten diesem Paketkanal zugeordnete Zustandsinformationen abzurufen.
  • Von der Paketvermittlung empfangene Daten werden durch die ankommenden Ports 1-N dargestellt. Nach dem Auftreten von Umtaktungsverzögerungen (die der Versetzungskompensation zugeschrieben werden, die nachfolgend später beschrieben wird) ist die Datenbeziehung zu dem T-RX-Bus 310 als kompensierte LO- Daten gezeigt. Als Vorbereitung auf einen von vier RAM- Schreibzyklen gemäß der Anzeige durch den RAM-Schreib- Bus werden die seriellen Daten durch den Protokollautomaten verarbeitet, wie in Verbindung mit Fig. 5 weiter beschrieben werden wird.
  • Der T-TX-Bus 308 identifiziert den aktuellen Zeitschlitz mit einem logischen Paketkanal, der von den Paketsendern 204 zum Aufrufen von Zustandsinformationen als Vorbereitung auf ein Lesen des Puffers verwendet wird. Die vier RAM-Lesezyklen werden durch den RAM- LESE-BUS angezeigt. Zusammen bilden die BUSSE RAM WRITE und RAM READ den Ausgang des 2N : 1-MUX 214, wobei der Schreib- und Lesezugriff verschachtelt ist. Durch Verwendung eines deterministischen Ansatzes für den RAM-Zugriff wird eine Arbitrierungsschaltung unnötig. Aus dem Puffer 200 gelesene Daten werden dann durch den Sender verarbeitet und dann seriell, wie durch XMT0 gezeigt, die Strecke heruntergeschickt.
  • Paketempfänger
  • Nunmehr mit Bezug auf Fig. 5 ist ein Blockschaltbild des Paketempfängers 202 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Der Paketempfänger 202 umfaßt im allgemeinen einen Kanalzustands-RAM 500, einen Adressenautomaten 504 und einen Protokollautomaten 506. Jeder Automat enthält ein Register 502 und 503 zum Halten von Zustandsvariablen und kombinatorische Logik 512 und 514 zum Manipulieren ankommender Daten und der Zustandsvariablen. Der Paketempfänger 202 führt Transfers der Hochpegel- Datenübertragungssteuerung (HDLC) und DMA-Transfers (zu dem Puffer 200) für jeden von bis zu 31 verwendbaren Paketkanälen durch, die auf einem Port vorgesehen sein können. Der Paketempfänger 202 ist ein zeitlich gemultiplexter Automat, der Zustandsvariablen (siehe Fig. 6 und 7) für jeden Paketkanal enthält, die während anderer Zeitschlitze in den Kanalzustands-RAM 500 gespeichert werden.
  • Vor jedem Zeitschlitz wird eine Kanalnummer über den T- RX-Bus 310 aus dem Zeitschlitzkanal-Sequenzer 222 zu dem Paketempfänger 202 geliefert. Diese Kanalnummer dient als ein Adressenindex in den Kanalzustands-RAM 500, der dann in die Zustandsvariablenregister 502 und 503 geladen wird. Während des Zeitschlitzes werden der Protokollautomat 506 und der zeitlich gemultiplexte Adressenautomat 504 zusammen mit den während des Zeitschlitzes empfangenen Bit durch den Systemtakt getaktet, wie in der Technik bekannt ist. Als Ergebnis der Automatenaktivität können Daten in den Puffer 200 geschrieben, Zeiger aus dem Puffermanager 206 beschafft oder an den Router 208 freigegeben werden oder es kann nichts geschehen. Am Ende des Zeitschlitzes wird die neue Zustandsvariable in dem Kanalzustand-RAM 500 gespeichert, um für den nächsten zu diesem Paketkanal gehörenden Zeitschlitz verwendet zu werden.
  • Bei diesem Paketvermittlungsbeispiel werden die Zeitschlitzdaten aus dem Leitungskoppelfeld 30 mit einer geringfügigen Phasenverschiebung zu dem Ausgangstakt in den Eingangsport eingetaktet. Die Gesamtpaketvermittlung wird durch den Ausgangs- (Sende-)Takt getaktet. Der Versetzungskompensator 510 empfängt Eingangsdaten, synchronisiert sie und den Takt mit dem Rest der Paketvermittlung durch Schieben von Daten in einen parallelen Bus mit einer Transferrate die langsam genug ist, damit die Phasendifferenz zwischen Takten vernachlässigbar ist. Ein Schieberegister am Ausgang des Versetzungskompensators vergrößert die Transferbitrate wieder auf normal, so daß das Datum durch den Systemtakt in den Protokollautomaten 506 getaktet werden kann. Aufgrund der zeitlich gemultiplexten Beschaffenheit der T-RX- Busdaten (310) ist es notwendig, die Bitbeziehungen jedes Paketempfängers zeitlich zu staffeln. Die richtige Menge Verzögerung wird durch den Versetzungskompensator eingefügt, bevor die Daten in den Protokollautomaten eingetaktet werden.
  • Wahlweise kann ein alternativer serieller Datenstreckeneingang bereitgestellt werden, zusammen mit einem Multiplexer zum Wählen der Datenquelle, wie in Fig. 5 gestrichelt gezeigt. Mit einem solchen Eingang könnten ein oder mehrere Paketkanäle von einem Hilfsprozessor oder einem Gateway in die Paketvermittlung zusammengeführt werden, so daß der Prozessor durch Datenpakete mit den Vermittlungsmodulen kommunizieren kann.
  • Protokollautomat
  • Kombinatorische Logik in dem Protokollautomaten führt die folgenden Funktionen durch: Paketabgrenzung (Nullbiterkennung und Entstopfung), Paketfehlerprüfung (CRC), Paket-Auseinanderbau (Entnehmen des Routing- Byte) und Längenprüfung. Jede Funktion wird von einem kombinatorischen Automaten auf in der Technik bekannte Weise an Daten durchgeführt, die in dem Register 502 gespeichert sind oder in dieses gebracht werden.
  • Fig. 6 zeigt die verschiedenen Bit-Layouts der Zustandsvariablen für den Protokollautomaten, die in dem Register 502 gespeichert sind. SREG[7] wird von seinem zugeordneten Automaten zum Erkennen des Anfangs und Endes von Paketen, von ABORTs und gültigen Daten verwendet. Bei dieser beispielhaften Paketvermittlung wurde das Protokoll der Hochpegel-Datenübertragungssteuerung (HDLC) gewählt, um einfache Funktionen der Übertragungsschicht bereitzustellen. Das HDLC-Flag- Muster 01111110 dient zum Identifizieren des Anfangs und Endes eines Pakets. Um dieses Muster eindeutig zu machen, wird beim Übertragen eines Pakets nach allen fünf aufeinanderfolgenden Einsen eine Null eingefügt (gestopft). Deshalb führen zufällige Daten niemals dazu, daß ein Flag zu früh übertragen wird. Der SREG- Automat identifiziert jeden Fall von fünf Einsen, denen eine Null folgt, und sperrt das Takten der Null in das HOLD-Register, wodurch die Null effektiv entstopft wird.
  • Für jeden Taktzyklus, in dem ein ungestopftes Bit eingetaktet wird, werden die Daten in das HOLD [8]- Register eingeschoben und der Bitzähler HOLDCNT[3] wird erhöht. Nach dem Eintakten von 8 Datenbit wird das resultierende Datenbyte über eine Datenleitung in eine durch den Adressenautomaten 504 berechnete Speicherstelle in den Puffer 200 geschrieben, indem die kombinatorische Logik in dem Protokollautomaten eine Schreib-Freigabe-Leitung setzt. Wenn das Byte das erste in dem Paket ist, ist es definitionsgemäß das Zielbyte und wird in DEST[8] (Zielregister) gespeichert. Für jeden Taktzyklus, in dem Daten in HOLD[8] eingeschoben werden, wird eine CRC-Prüfung durchgeführt und in CRC[16], dem HDLC-CRC-Halteregister, gespeichert. Wenn das Schlußflag empfangen wird, wird das CRC[16]- Register auf Gültigkeit geprüft, so wie es durch das HDLC-Protokoll definiert wird. Wenn alle diese Prüfungen bestanden werden, wird das DEST[8]-Byte zusammen mit dem Zeiger auf dem Zeiger-Bus auf der Ziel-Byteleitung zu dem Router 208 gesendet.
  • Adressenautomat
  • Kombinatorische Logik in dem Adressenautomaten führt die folgenden Funktionen durch: Speichern des Zeigers im Puffer 200, Erhöhen des Paket-Byte-Zählers und Berechnen der nächsten Speicherstelle in dem Puffer, die beschrieben werden soll, unter Verwendung des Zeigers und des Byte-Zählers. Jede Funktion wird durch einen kombinatorischen Automaten auf in der Technik bekannte Weise an in dem Register 503 gespeicherten Daten durchgeführt.
  • Fig. 8 zeigt das Layout der in dem Register 503 gespeicherten Zustandsvariablen für die kombinatorische Logik in dem Adressenautomaten 504. Der Anfang eines neuen Pakets wird von dem SREG-Automaten erkannt, wenn ein Datenbyte empfangen wird, das nicht das Flagmuster (01111110) enthält. Zu diesem Zeitpunkt wird über die Leitung 520 das Zeiger-Anforderungssignal zu dem Puffermanager gesetzt, der reagiert, indem er einen Zeiger auf den Zeiger-Verteilbus 522 legt und das Gültig-Signal auf der Leitung 524 setzt. Als Reaktion auf das Gültig-Signal wird der Zeiger in das POINTER[9]-Register geschoben und BYTECNT[10] wird auf 0 zurückgesetzt. Der Zeiger wird mit 576 (der Pufferlänge) multipliziert und dann zu dem Bytezähler BYTECNT[10] addiert, um eine RAM-Adresse zu bilden, die auf der Adressenleitung zu dem Puffer 200 gesendet werden soll. Die WRITE-Freigabe bewirkt außerdem, daß der Adressenautomat BYTECNT[10] erhöht.
  • Wenn das Schlußflag des Pakets von dem SREG-Automaten erkannt wird, wird das CRC[16]-Register auf gültige CRC geprüft und der Bytezähler wird auf ein übergroßes oder zu kleines Paket geprüft. Wenn alle diese Prüfungen bestanden werden, wird DEST[8] auf dem Bus DEST BYTE herausgesendet und das (nicht gezeigte) Ship-Signal wird für den Adressenautomaten gesetzt. Dies bewirkt, daß der Zeiger auf dem Zeigerbus herausgesendet wird und ein Setzen des Gültig-Bit, um POINTER und DEST BYTE in den Router zu laden. Zu diesem Zeitpunkt hat der Paketempfänger den Empfang eines Pakets abgeschlossen und ist bereit für den Start des nächsten.
  • Paketsender
  • Nunmehr mit Bezug auf Fig. 10 ist ein Paketsender 204 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Der Paketsender 204 umfaßt den Protokollautomaten 1000, den Adressenautomaten 1002 und den Kanalzustands-RAM 1004. Jeder Automat umfaßt kombinatorische Logik und Register zum Speichern von Variablen, die von der kombinatorischen Logik verwendet werden. Für jeden Zeitschlitz gibt es eine Menge von Zustandsvariablen, wie später beschrieben werden wird und jede Menge wird während anderer Zeitschlitze in den Kanalzustands-RAM 1004 gespeichert.
  • Der Paketsender 204 (wie der Paketempfänger 202) führt HDLC-Funktionen und DMA-Funktionen für jeden von bis zu 32 Paketkanälen durch, die auf einem Ausgangsport vorgesehen sein können. Vor jedem Zeitschlitz wird eine Kanalnummer über den T-TX-Bus 308 aus dem Zeitschlitzkanal-Sequenzer 222 zu dem Kanalzustands-RAM 1004 geliefert. Diese Kanalnummer dient als ein Adressenindex in den Kanalzustands-RAM 1004, um die Zustandsvariablenregister zu lesen und sie in das Protokollzustandsvariablenregister 1006 und das Adressenzustandsvariablenregister 1008 zu laden. Während des Zeitschlitzes werden die Automaten 1000 und 1002 zusammen mit den Bit des Zeitschlitzes durch den Systemtakt getaktet. Als Ergebnis der Automatenaktivität können HDLC-Flags oder aus dem Puffer 200 gelesene Daten übertragen werden, und Zeiger können aus dem Router 208 beschafft oder an den Puffermanager 206 freigegeben werden. Am Ende des Zeitschlitzes wird die neue Zustandsvariable wieder in dem Kanalzustands-RAM 1004 gespeichert, um für den nächsten zu diesem Paketkanal gehörenden Zeitschlitz verwendet zu werden.
  • Zeitschlitzsynchronisierung
  • Aufgrund der zeitlich gemultiplexten Beschaffenheit der T-TX-Busdaten (308) ist es notwendig, die Bitbeziehungen jedes Paketsenders zeitlich zu staffeln. Bei diesem Paketvermittlungsbeispiel muß jeder Ausgangsport von in das Leitungskoppelfeld 30 gesendeten Daten (Fig. 1) miteinander phasengleich sein. Eine Zeitschlitzsynchronisationslogik 1010 dient zum führen jedes Senders durch die richtige Verzögerungsdauer, wie in der Technik bekannt ist, um die Zeitschlitzsynchronisation mit dem Leitungskoppelfeld (30) über die abgehenden Ports hinweg wiederherzustellen.
  • Protokollautomat und Adressenautomat
  • Kombinatorische Logik in dem Protokollautomaten führt die folgenden Funktionen durch: Nullbitstopfen von Paketdaten, Flag-Erzeugung, wenn nicht aktiv Paketdaten übertragen werden, und Längenprüfung.
  • Kombinatorische Logik in dem Adressenautomaten 1002 führt die folgenden Funktionen durch: Speichern des Pufferspeicherstellenzeigers und des Bytezählers und Berechnen von Pufferspeicherstellenadressen unter Verwendung des Zeigers und des Bytezählers.
  • Fig. 8 und 9 zeigen die. Register-Layouts der Zustandsvariablen für den Adressenautomaten 1002 und den Protokollautomaten 1000. Am Anfang eines Zeitschlitzes werden Zustandsinformationen, die dem aktuellen Kanal (definiert durch Informationen aus dem T-TX-Bus 308) zugeordnet sind, in die Zustandsvariablenregister 1006 und 1008 geladen. Wenn man sich nicht im Paketmodus (d. h. Paketübertragung im Gange) befindet, was durch MODEA[1] definiert wird, wird über die Leitung 1012 eine neue Zeigeranforderung zu dem Router 208 gesendet. Wenn ein Zeiger aus dem Router 208 über den Zeigerbus empfangen wird, wird er in dem POINTER [9] des Adressenautomatenregisters 1008 zwischengespeichert und die Bytezählervariable BYTECNT[10] wird gelöscht. Der Zeiger wird mit 576 multipliziert und dann zu dem Bytezähler addiert, um die RAM-Adresse zu bilden, aus der in dem Puffer 200 gelesen werden soll. Aus dem Puffer 200 gelesene Paketdaten werden dann in dem Register 1006 zwischengespeichert und als Sendedaten herausgeschoben.
  • Eine Hauptfunktion des Protokollautomaten im Sender besteht darin, eine Nullbiteinfügung an den aus dem Paketpuffer gelesenen Paketdaten bereitzustellen. Das HDLC-Protokoll erlaubt höchstens fünf aufeinanderfolgenden Bit in dem seriellen Datenstrom des Pakets einen logischen Wert von eins, damit das Flagmuster (01111110) eindeutig ist. In dem Paketpuffer gespeicherte Paketdaten wurden nicht mit Nullen gestopft, sondern sind rohe Daten. Wenn die aus dem RAM gelesenen Daten zufällig sechs aufeinanderfolgende logische Eins-Bit enthalten, fügt der Automat eine logische Null (Nullstopfung) an der sechsten Bitposition ein, bevor das sechste Bit tatsächlich gesendet wird. Der Zähler ONESCHT[3] dient zur Durchführung der Nullbitstopfung während die Daten gesendet werden. Wenn am Ende des Zeitschlitzes noch nicht alle Datenbits übertragen wurden (aufgrund der Nullbitstopfung), werden die übrigen Daten in HOLD[8] geladen, wobei HOLDCNT[4] zur Anzeige der Anzahl der in dem Halteregister gehaltenen Datenbit dient. Am Ende des Zeitschlitzes wird der Bytezähler erhöht, sofern nicht ein vollständiges Byte in HOLD[8] vorliegt, und die aktuellen Zustandsvariablen werden zur Wiederverwendung an nachfolgenden Zeitschlitzen, die zu einem gegebenen Paketkanal gehören, an den Kanalzustands-RAM 1004 zurückgegeben.
  • Wenn das Ende des Pakets oder interne Fehler erkannt werden, dient die nächster-Modus-Variable NMODEA[1] zur Anzeige, daß der Protokollautomat 1000 den Paketmodus verlassen wird, und der für den aktuellen Kanal verwendete Zeiger wird zur Wiederverwendung an den Puffermanager 206 zurückgeben. Die Bit BCAST[2] werden vorgesehen, damit Prioritätspakete zu allen aktiven Kanälen rundgesendet werden können.
  • Bei diesem Beispiel für eine Paketvermittlung ist erkennbar, daß es nützlich ist, Pakete unter Mikroprozessorsteuerung zu allen aktiven Zielen einleiten zu können. Um dieses Merkmal zu implementieren, kann der Protokollautomat 1000 jeden aktiven Kanal (definiert durch den T-TX-Bus 308) markieren, um ein Rundsendepaket, das in einem speziellen Rundsende-RAM oder in einem unbenutzten Teil des Paketpuffers 200 gespeichert ist, einzuleiten. Der Protokollautomat 1000 kommt keinen Paketen, die verarbeitet werden, zuvor. Wenn ein Kanal für Rundsendung markiert ist, beginnt der Protokollautomat 1000 nach dem normalen Ende eines Pakets, anstatt neue Zeiger von dem Router anzufordern, auf den Rundsende- RAM zuzugreifen und sendet seinen Inhalt zu dem durch diesen Kanal dargestellten Ziel. Nach Abschluß der Rundsendeübertragung nimmt der Sender 204 den normalen Betrieb wieder auf und fordert neue Zeiger von dem Router an. Man beachte, daß, da keine Zeiger zum Einleiten der Rundsendung verwendet wurden, keine Zeiger von dem Sender 204 an den Puffermanager 206 freigegeben werden müssen.
  • Das oben beschriebene Merkmal wird bei diesem Beispiel zur Bereitstellung eines "Soft-Umschalt"-Mechanismus zwischen Paketendpunkten verwendet. Wie bei den meisten Telekommunikationsanwendungen ist die Verbindungseinheit zwischen Modulen voll dupliziert und stellt somit zwei vollständige Wege zur Herstellung von Verbindungen bereit. Diese schnelle Paketvermittlung wird in der Regel in einer Aktiv-Standby-Konfiguration betrieben. Um Paketdatenverluste beim Überwechseln des Aktiv- Standby-Status auf jeder Seite zu minimieren, wird eine Rundsendenachricht aus der aktiven Paketvermittlung gesendet, die anzeigt, daß ein "Seitenwechsel" bevorsteht und die Paketübertragung vorübergehend anhalten wird. Dadurch wird sichergestellt, daß in der Paketvermittlung gesendete Daten anhalten, und nach einem kurzen Warten auf im Transit befindliche Pakete, bis sie zu ihren Zielen gesendet wurden, werden alle in der Paketvermittlung in Warteschlangen eingereihte Daten übertragen, und zu diesem Zeitpunkt wird der Aktiv-Standby-Status der beiden Hälften der Verbindungseinheit zwischen Modulen umgewechselt. Zu diesem Zeitpunkt wird eine zweite Rundsendenachricht gesendet, die anzeigt, daß der Wechsel abgeschlossen ist, und der normale Paketverkehr kann wieder aufgenommen werden. Die Verwendung der Rundsendefähigkeit auf diese Weise verhindert einen Verlust von Paketen, wenn die aktive Seite zum Standby-Status degradiert wird, wodurch eine Neuübertragung erforderlich werden würde.
  • Router
  • Nunmehr mit Bezug auf Fig. 11 ist ein Blockschaltbild des Routers 208 (Fig. 1) gezeigt. Der Router 208 umfaßt im wesentlichen einen Routing-RAM 1100, einen FIFO- Index-RAM mit Steuerung 1102 und einen Sende-Zeiger- FIFO-RAM 1104. Der Routing-RAM 1100 verwendet das aus dem Empfänger 202 empfangene Routing-Byte als Index in eine Tabelle, die Ziele auf Kanäle abbildet. Diese Daten werden zu dem FIFO-Index-RAM mit Steuerung 1102 weitergeleitet, der diese Daten als Index in den Sender-Zeiger-FIFO-RAM 1104 verwendet. Die FIFO- Steuerung 1102 bewirkt dann ein Einreihen des durch den Empfänger 202 gelieferten Zeigers in eine Warteschlange für einen Sender 204 in dem Sender-Zeiger-FIFO-RAM 1104.
  • Nachdem ein Paket empfangen und durch den Empfänger 202 in den Puffer-RAM 200 geschrieben wurde, nimmt der Router 208 den aus dem Empfänger 202 empfangenen Pufferzeiger und liefert ihn zu einem Paketsender 204 zur Übertragung auf dem Kanal als Reaktion auf das in dem Paket empfangene Zielbyte. Die aus den Empfängern 202 empfangenen Zielbyte und Zeiger werden von Selektoren 1106 und 1108, die durch T-ROUT 312 gesteuert werden, in den Router 208 hinein gemultiplext. Die Busse aus jedem Paketempfänger 202 werden einmal pro Zeitschlitz gewählt. Wie in dem Impulsdiagramm von Fig. 13 gezeigt, werden die Zeiger auf gestaffelte Weise gültig, wobei der RCVR0-Zeiger zuerst gültig wird. Das Signal T-ROUT 312 bewirkt, daß die Busse in der oben angegebenen Reihenfolge gewählt werden.
  • Das gewählte Zielbyte enthält das logische Ziel für das Paket (d. h. die Vermittlungsmodulnummer) und dient zur Adressierung des Routing-RAM 1100, der die physische Kanalnummer liefert. Der Zeiger wird zusammen mit dem Zeiger-Gültig-Bit während dem Routing-RAM- Tabellennachschlag in dem Zeigerzwischenspeicher 1110 gespeichert. Als nächstes kann eines von drei Dingen passieren, abhängig von dem Zeiger-Gültig-Bit und den Ergebnissen des Tabellennachschlags. Wenn das Zeiger- Gültig-Bit gesetzt ist (da gerade ein Paket empfangen wurde) und der Tabellennachschlag eine gültige Kanalnummer produziert hat, dann bewirkt das Setzen der Gültig-Leitung, daß der Adressenmultiplexer 1112 die Daten des Routing-RAM 1100 wählt, und das Setzen von WRITE ENABLE bewirkt, daß der Zeiger als Reaktion auf die oberen Adressenbit der Kanalnummer auf den XMTR- Zeiger-FIFO 1104 geschoben wird. Wenn dagegen das Zeiger-Gültig-Bit gesetzt ist, aber der Tabellennachschlag einen Nullwert erzeugt hat (da es als Reaktion auf das Zielbyte keinen ausgestatteten Kanal gibt), dann wählt der Adressenmultiplexer 1112 den Bus des Sendekanals (T-TX) für eine mögliche FIFO- POP-Operation. Das VALID wird durch die NULL-Prüfung 1114 und das AND-Gatter 1116 blockiert (siehe Fig. 11). Der Zeiger wird über die Shunt-Zeiger-Rückkehr an den Puffermanager zurückgeben, so daß der Puffer befreit wird. Wenn das Zeiger-Gültig-Bit nicht gesetzt ist (da kein Paket empfangen wurde) dann wählt der Adressenmultiplexer 1112 als Alternative den Bus des Sendekanals (T-TX) für eine mögliche FIFO-POP- Operation.
  • XMTR-Zeiger-FIFO-PUSH-Operation
  • Zusammen liefern der XMTR-Zeiger-FIFO-RAM 1104 und der FIFO-Index-RAM mit Steuerung 1102 mehrere XMTR-Zeiger- FIFOs, und zwar einen für jeden Paketkanal. Die Organisation des FIFO-RAM 1104 in Fig. 11 zeigt, daß jeder FIFO bis zu 32 Zeiger puffern kann. Der FIFO- Index-Rahmen 1102 ist ein kleiner schneller RAM, der ein Steuerwort für jeden XMTR-FIFO enthält. Dieses Wort enthält einen Fünf-Bit-PUSH-Zeiger und einen Fünf-Bit- POP-Zeiger.
  • Der Ausgang des Adressenmultiplexers 1112 liefert die oberen Adressenbit für den XMTR-Zeiger-FIFO-RAM 1104, wodurch der korrekte FIFO identifiziert wird. Er dient außerdem als Index für den FIFO-Index-RAM 1102, um den PUSH-Zeiger des bestimmten FIFO zu erhalten. Der PUSH- Zeiger liefert die unteren Adressenbit. Zu diesem Zeitpunkt wird der in dem Zwischenspeicher gespeicherte Zeiger in die entsprechende XMTR-Zeiger-FIFO- Warteschlange geschrieben. Der PUSH-Zeiger wird erhöht und wieder zurück in den INDEX-RAM geschrieben.
  • Die Schreibfreigabe wird in dem FIFO-Index-RAM mit Steuerung 1102 erzeugt, so daß vor jedem PUSH ein FIFO- Überlauftest an den Lese- und Schreibzeigern durchgeführt werden kann. Wenn das anstehende PUSH einen älteren gültigen Zeiger überschreiben würde, wird das PUSH nicht erlaubt und der Zeiger wird über den Shunt-Zeiger-Rückkehrbus zu dem Puffermanager 206 zurückgesendet.
  • XMTR-Zeiger-FIFO-POP-Operation
  • Die FIFO-POP-Operation entfernt einen Zeiger aus einem FIFO und liefert ihn zu einem Paketkanal zur Übertragung. POP-Operationen können zu einem beliebigen Zeitpunkt stattfinden, solange gerade keine PUSH- Operation abläuft. Wie bereits beschrieben, wählt der Adressenmultiplexer 1112 das T-TX-Signal, wenn kein PUSH vorliegt. Wie in Fig. 4 gezeigt, enthält das T-TX- Signal die Kanalnummer für den nächsten Zeitschlitz. Diese Nummer wird als die oberen Adressenbit zum Wählen des FIFO für den gewählten Kanal verwendet und dient als das Indexwort für diesen Kanal. Der INDEX-POP- Zeiger liefert untere Adressenbit für den FIFO-RAM 1104. Die aus dem FIFO-RAM 1104 gelesenen Daten sind der Zeiger für das nächste auf diesem Kanal zu übertragende Paket.
  • Wenn der Sender 204 für das Senden eines neuen Pakets bereit ist, setzt · der Sender 200 das XMTR-Zeiger- Anforderungssignal zu dem Router 208. Wenn ein POP ansteht, wie oben beschrieben, und es mindestens einen Zeiger in dem gewählten FIFO gibt, setzt die FIFO- Steuerschaltung das VALID-Signal zu dem Sender 204, so daß der Zeiger durch den Sender 204 gelesen wird. Der POP-Zeiger wird erhöht und wieder in den INDEX-RAM 1102 zurückgeschrieben.
  • Während einer anstehenden POP-Operation kann möglicherweise keine Zeigeranforderung vorliegen, und in diesem Fall wird der POP-Zeiger nicht erhöht und es wird kein VALID-Signal gesetzt. Während einer anstehenden POP-Operation kann es sich zeigen, daß die POP- und PUSH-Zeiger in dem FIFO-Index-RAM 1102 gleich sind, wodurch angezeigt wird, daß es keine Zeiger in dem FIFO gibt, und in diesem Fall wird der POP-Zeiger nicht erhöht und es wird kein VALID-Signal gesetzt.
  • Der Router wird im Pipeline-Verfahren behandelt. Nach dem Routing-RAM-Zugriff werden die Ausgabe des Adressenmultiplexers 1112 und der RX-Zeiger zwischengespeichert. Während die Zeiger-FIFO-PUSH/POP- Operation stattfindet, wird der Routing-RAM-Nachschlag für den nächsten Kanal durchgeführt.
  • Puffermanager
  • Nunmehr mit Bezug auf Fig. 12 ist ein Puffermanager 206 gemäß dem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Der Puffermanager 206 umfaßt einen RCVR-Zeiger-FIFO 1200, eine FIFO-Steuerung 1202 und eine Überwachungsschaltung 1204. Der RCVR-Zeiger-FIFO 1200 speichert Zeiger, bis sie vom System verwendet werden. Die FIFO-Steuerung 1202 reagiert auf Zeigeranforderungen und Anforderungen von zurückkehrenden Zeigern zu dem Zeiger-FIFO 1200. Die Zeigerüberwachungsvorrichtung 1204 stellt die Zeigergültigkeit sicher.
  • Der Puffermanager 206 speichert Zeiger-Betriebsmittel, bis sie von den Empfängern 202 benötigt werden. Die Zeiger werden von der Paketvermittlung 10 zur Darstellung von Speicherstellen in dem Paketpuffer 200 verwendet. Die Zeiger werden in einem RAM gespeichert, der zum Zeitpunkt der Systeminitialisierung über die Prozessorschnittstelle 228 als ein FIFO konfiguriert wird. Die Prozessorschnittstelle 228 liefert die Flexibilität zum Programmieren der Anzahl von Zeigern, die auf den FIFO geschoben werden können.
  • Anforderungen von Zeigern aus den Empfängern 202 werden auf Zeiger-Anforderungsbussen geliefert. Diese Anforderungen werden in dem 4 : 1-MUX 1206 gemultiplext und auf dem Zeigeranforderungsbus zu der FIFO-Steuerung 1202 gesendet. Die FIFO-Steuerung 1202 empfängt die Zeigeranforderung und bewirkt das Senden einer POP- Operation über den POP-Adressenbus zu dem Zeiger-FIFO 1200.
  • Der Zeiger-FIFO 1200 führt die POP-Operation an dem nächsten verfügbaren Zeiger durch und sendet den Zeiger auf dem Zeigerbus. Im Kasten 1208 werden auf in der Technik bekannte Weise Paritätsprüfungen durchgeführt, und der Zeiger wird auf den Zeigerverteilbus zusammen mit einem Zeiger-VALID-Signal (VALID = Gültig) gesendet.
  • Wenn Zeiger aus dem Sender 204 oder dem Router 208 geliefert werden, werden sie in dem 226-Multiplexer empfangen. Die Ausgabe des 226-Multiplexers (siehe das Impulsdiagramm 14) wird zusammen mit einem VALID-Signal auf dem VALID-Bus auf Bus gesendet. Parität und außerhalb des Bereichs liegende Zeigerwerte werden im Kasten 1210 geprüft. Dieser Wert ist über die Prozessorschnittstelle programmierbar und ist abhängig von der in diesem System initialisierten Anzahl von Zeigern unterschiedlich.
  • Nachdem diese Prüfungen abgeschlossen sind, wird der Zeiger dann in eine Überwachungsschaltung 1204 gebracht. Die Überwachungsschaltung 1204 setzt die Gültigkeit der Umlaufzeiger durch, indem sie einen oder mehrere Zielzeiger in dem Bereich des Puffers erzeugt, wobei die Zielzeiger mit den Zeigern verglichen werden, die durch die Überwachungsschaltung umlaufen. Wenn innerhalb einer im voraus angegebenen Zeit kein Zeiger angetroffen wird, dann wird angenommen, daß der Zeiger verlorengegangen ist, und er wird durch den erzeugten Zeiger ersetzt. Wenn innerhalb der im voraus angegebenen Zeit der Zeiger gefunden wird, dann wird eine weitere Zeitsteuerung gesetzt, um zu bestimmen, ob der Zeiger nochmals angetroffen wird. Wenn der Zeiger nochmals angetroffen wird, dann werden alle mehrfachen Zeiger unterdrückt. Vorteilhafterweise ist die Anzahl von Zeigern, die in einer im voraus angegeben Zeitspanne geprüft werden, eine Funktion des Systemstaus. Die Überwachungsschaltung dieses Ausführungsbeispiels ist der Gegenstand von CPM. Nachdem diese Prüfungen abgeschlossen sind, wird der Zeiger dann auf den FIFO 1200 geschoben, so daß die durch ihn dargestellte Pufferspeicherstelle wiederverwendet werden kann.
  • Nunmehr mit Bezug auf Fig. 13 ist ein Impulsdiagramm der Ausgabe des Puffermanagers 206 gezeigt. Zeiger aus dem Puffermanager 206 dienen zur Darstellung verfügbarer Betriebsmittel zum Speichern von Paketdaten. Diese werden "je nach Bedarf" auf dem Zeigerverteilbus an die Empfänger (Fig. 4) auf gemultiplexte Weise verteilt, so daß jeder Empfänger einen Zeiger pro Zeitschlitz Zwischenspeichern kann.
  • Nunmehr mit Bezug auf Fig. 14 ist ein Impulsdiagrainm der Eingangssignale für den Puffermanager 206 gezeigt. Zeiger aus dem Router 208 werden von Sendern 204 zur Darstellung von in dem Puffer 200 in Warteschlangen eingereihten Paketdaten verwendet, die zur Übertragung bereit sind. Wenn sie bereit sind, fordert jeder Sender 204 einen neuen Zeiger von dem Router 208 an. Wie in Fig. 5 gezeigt, werden die Zeiger über den Bus XMTR POINTER auf gemultiplexte Weise an die Sender 204 verteilt, so daß jeder Sender 204 einen Zeiger pro Zeitschlitz zwischenspeichert. Nachdem die Paketdaten übertragen wurden, werden die Zeiger über die TX- Zeiger-Rückkehrbusse an den Puffermanager 206 zurückgegeben. Eine andere Quelle für an den Puffermanager 206 zurückgegebene Zeiger ist der Shunt- Zeigerrückkehrbus aus dem Router 208. Dieser Weg wird verwendet, wenn während von den Empfängern 202 oder dem Router 208 Fehler erkannt werden. In diesem Fall wird das fehlerhafte Paket fallengelassen und der Zeiger zu dem Puffermanager 206 zurückrangiert. Alle an den Puffermanager 206 zurückgegebenen Zeiger werden über einen einzigen Eingang geliefert, der an dem Multiplexer 226 gemultiplext ist, um alle möglichen Quellen für jeden Zeitschlitz darzustellen.
  • Es versteht sich, daß die oben beschriebenen Ausführungsformen lediglich ein Beispiel für die Erfindung sind und daß Fachleute viele Varianten konzipieren können, ohne vom Schutzumfang der Erfindung abzuweichen.

Claims (20)

1. Schnelle Paketvermittlung zum Routen von Datenpaketen von einer Quelle zu einem Ziel, wobei die Datenpakete eine Zieladresse aufweisen, umfassend: mehrere Eingangsports (1, 2, N), mehrere Ausgangsports, einen mit den Eingangsports und den Ausgangsports verbundenen Puffer (200), einen mit den Eingangsports und den Ausgangsports verbundenen Puffermanager (206) und einen mit den Eingangsports und den Ausgangsports verbundenen Router (208);
wobei der Puffermanager (206) als Reaktion auf eine Benachrichtigung über den Empfang eines Datenpakets an einem der Eingangsports eine Speicherstelle in dem Puffer auswählt, wobei die Eingangsports jeweils ein Mittel (202) aufweisen, das auf den Empfang von die Speicherstelle des Puffers darstellenden Daten reagiert, um das ankommende Paket zu der Pufferspeicherstelle zu liefern;
wobei jeder der Ausgangsports ein Mittel (204) auf weist, das auf den Empfang der die Pufferspeicherstelle darstellenden Daten reagiert, um das Datenpaket aus der Pufferspeicherstelle abzurufen, das Datenpaket zu senden und die die Pufferspeicherstelle darstellenden Daten an den Puffermanager zurückzugeben;
dadurch gekennzeichnet, daß der Router (208) ein Mittel (1100) aufweist, das auf den Empfang der die Pufferspeicherstelle darstellenden Daten und der Zieladresse aus den Eingangsports reagiert, um die die Pufferspeicherstelle darstellenden Daten als Reaktion auf die Zieladresse zu einem gewählten der mehreren Ausgangsports zu liefern.
2. Schnelle Paketvermittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: die Eingangsports so ausgelegt sind, daß sie Datenpakete aus mehreren Kanälen empfangen.
3. Schnelle Paketvermittlung nach Anspruch 2, weiterhin dadurch gekennzeichnet, daß: jeder der Kanäle einen oder mehrere Zeitschlitze umfaßt, wobei der Eingangsport Mittel (500, 504) aufweist, die auf die Ankunft jedes der Zeitschlitze reagieren, um während dieses Zeitschlitzes empfangene Daten in den aus den die Speicherstelle darstellenden Daten abgeleiteten Puffer zu lenken.
4. Schnelle Paketvermittlung nach Anspruch 3, weiterhin dadurch gekennzeichnet, daß: jeder der Eingangsports einen Protokollautomaten (506) und einen Adressenautomaten (504) umfaßt, wobei der Protokollautomat sequentiell während jedes Zeitschlitzes Daten empfängt und die Daten zu einer Speicherstelle in dem Puffer liefert, die auf einer in dem Adressenautomaten berechneten Adresse basiert, wobei Daten für jedes Datenpaket sequentiell in der Empfangsreihenfolge in dem Puffer gespeichert werden.
5. Schnelle Paketvermittlung nach Anspruch 4, weiterhin dadurch gekennzeichnet, daß: jeder der Eingangsports weiterhin einen Kanalzustandspuffer (500) zum Speichern von Informationen für den Protokollautomaten (506) und den Adressenautomaten (504) für jeden Kanal umfaßt.
6. Schnelle Paketvermittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: der Router (208) Mittel (1100, 1104) zum Abbilden der Zieladresse auf einen der Ausgangsports umfaßt.
7. Schnelle Paketvennittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: der Router (208) einen Ausgangsport-FIFO (1104) zum Einreihen der die Pufferspeicherstelle darstellenden Daten für den gewählten Ausgangsport in eine Warteschlange umfaßt.
8. Schnelle Paketvermittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: der Router (208) eine Nachschlagetabelle (1100) zum Abbilden der Zieladresse auf einen der Ausgangsports und einen Ausgangsport-FIFO (1104) zum Einreihen der die Pufferspeicherstelle darstellenden Daten für den gewählten Ausgangsport in eine Warteschlange umfaßt.
9. Schnelle Paketvermittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: die Ausgangsports so ausgelegt sind, daß sie Datenpakete über einen gewählten von mehreren Kanälen senden.
10. Schnelle Paketvermittlung nach Anspruch 9, weiterhin dadurch gekennzeichnet, daß: jeder der Kanäle einen oder mehrere Zeitschlitze umfaßt, wobei der Ausgangsport auf die Ankunft jedes der Zeitschlitze reagiert, um das Datenpaket aus dem Puffer (200) während jedes Zeitschlitzes über den gewählten Kanal zu senden.
11. Schnelle Paketvermittlung nach Anspruch 10, weiterhin dadurch gekennzeichnet, daß: jeder der Ausgangsports einen Protokollautomaten (1000) und einen Adressenautomaten (1002) umfaßt, wobei der Protokollautomat (1000) Daten aus der Pufferspeicherstelle auf der Grundlage einer durch den Adressenautomaten (1002) berechneten Adresse erhält und die Daten sequentiell auf jedem Zeitschlitz sendet.
12. Schnelle Paketvermittlung nach Anspruch 11, weiterhin dadurch gekennzeichnet, daß: jeder der Ausgangsports weiterhin einen Kanalzustandspuffer (1004) zum Speichern von Informationen für den Protokollautomaten (1000) und den Adressenautomaten (1002) für jeden Kanal umfaßt.
13. Schnelle Paketvermittlung nach Anspruch 1, weiterhin dadurch gekennzeichnet, daß: der Puffermanager (206) eine FIFO-Warteschlange (1200) zum Speichern der die Pufferspeicherstellen darstellenden Daten umfaßt.
14. Schnelle Paketvermittlung nach Anspruch 13, weiterhin dadurch gekennzeichnet, daß:
der Puffermanager (206) auf die Eingangsports reagiert, um bestimmte der die Pufferspeicherstellen darstellenden Daten aus der FIFO-Warteschlange (1200) zu entfernen und diese die Pufferspeicherstellen darstellenden Daten zu den Eingangsports zu liefern, und weiterhin darauf reagiert, daß der Ausgangsport die die Pufferspeicherstellen darstellenden Daten liefert, um die die Pufferspeicherstellen darstellenden Daten an die FIFO-Warteschlange (1200) zurückzugeben.
15. Verfahren zur Verwendung in einer Paketvermittlung zum Routen von Datenpaketen von einer Quelle zu einem Ziel, wobei die Datenpakete jeweils eine Zieladresse und ein Paketendesignal aufweisen, wobei die Paketvermittlung einen Eingangsport (1, 2, N), mehrere Ausgangsports, einen mit dem Eingangsport und dem Ausgangsport verbundenen Puffer (200), einen Puffermanager (206) zum Zuteilen und Ent-Zuteilen von Zeigern auf Speicherstellen in dem Puffer (200) und ein Routermittel (208) zum Auswählen eines der mehreren Ausgangsports umfaßt;
wobei das Verfahren die folgenden Schritte aufweist:
als Reaktion auf den Empfang eines Datenpakets aus der Quelle fordert der Eingangsport einen Zeiger von dem Puffermanager (206) an;
als Reaktion auf die Zeigeranforderung teilt der Puffermanager (206) einen Zeiger zu, der einer spezifischen Pufferspeicherstelle entspricht;
als Reaktion auf den Empfang des Zeigers liefert der Eingangsport das Datenpaket, beginnend an der Speicherstelle, zu dem Puffer (200), während das Datenpaket aus der Quelle empfangen wird;
gekennzeichnet durch die folgenden Schritte:
als Reaktion auf den Empfang des Paketendesignals liefern die Eingangsports den Zeiger und die Zieladresse zu dem Routennittel (208);
als Reaktion auf den Empfang des Zeigers und der Zieladresse wählt der Router (208) einen der mehreren Ausgangsports aus und liefert den Zeiger zu dem gewählten Ausgangsport (204);
als Reaktion auf den Empfang des Zeigers ruft der gewählte Ausgangsport das Datenpaket aus dem Puffer (200) ab und sendet das Datenpaket zu dem Ziel; und
als Reaktion auf das Senden des Paketendesignals gibt der gewählte Ausgangsport (204) den Zeiger an den Puffermanager (206) zurück.
16. Verfahren nach Anspruch 15, weiterhin dadurch gekennzeichnet, daß: der Schritt des Lieferns des Datenpakets zu dem Puffer (200) das Empfangen der Datenpakete auf mehreren Kanälen, die während mehrerer Zeitschlitze geliefert werden, durch Empfangen eines Teils des Datenpakets während jedes Zeitschlitzes, und das Liefern der Daten zu einer Speicherstelle in dem Puffer (200), die auf einer für dieses Datenpaket zugeteilten Adresse basiert, umfaßt.
17. Verfahren nach Anspruch 15, weiterhin dadurch gekennzeichnet, daß: der Schritt des Auswählens eines der mehreren Ausgangsports das Nachschlagen der Zieladresse, um den gewählten Ausgangsport (204) abzuleiten, und des Einreihens des Zeigers für den Ausgangsport in eine Warteschlange umfaßt.
18. Verfahren nach Anspruch 15, weiterhin dadurch gekennzeichnet, daß: der Schritt des Abrufens der Datenpakete aus dem Puffer (200) und des Sendens der Datenpakete das Senden der Datenpakete auf mehreren Kanälen während mehrerer Zeitschlitze umfaßt, wobei der gewählte Ausgangsport (204) Daten für die Datenpakete unter Verwendung des Zeigers aus dem Puffer (200) abruft und die Datenpakete auf einem vorbestimmten Kanal liefert.
19. Verfahren nach Anspruch 15, weiterhin dadurch gekennzeichnet, daß: der Schritt des Zuteilens eines Zeigers das Auswählen des Zeigers aus einer Warteschlange (1200) von Zeigern im First-In-, First-Out- Verfahren umfaßt.
20. Verfahren nach Anspruch 15, wobei die Schritte im Pipeline-Verfahren ausgeführt werden.
DE69332328T 1992-07-24 1993-07-13 Paketschalter mit grosser Bandbreite Expired - Fee Related DE69332328T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/919,461 US5291482A (en) 1992-07-24 1992-07-24 High bandwidth packet switch

Publications (2)

Publication Number Publication Date
DE69332328D1 DE69332328D1 (de) 2002-10-31
DE69332328T2 true DE69332328T2 (de) 2003-04-17

Family

ID=25442122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69332328T Expired - Fee Related DE69332328T2 (de) 1992-07-24 1993-07-13 Paketschalter mit grosser Bandbreite

Country Status (6)

Country Link
US (1) US5291482A (de)
EP (1) EP0581486B1 (de)
JP (1) JP3168235B2 (de)
AT (1) ATE225104T1 (de)
CA (1) CA2096877C (de)
DE (1) DE69332328T2 (de)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496940B1 (en) * 1992-12-17 2002-12-17 Compaq Computer Corporation Multiple processor system with standby sparing
JP2655464B2 (ja) * 1992-12-25 1997-09-17 日本電気株式会社 パケット交換方式
JPH06261015A (ja) * 1993-01-11 1994-09-16 Mitsubishi Electric Corp フレーム位相同期装置及びフレーム位相同期方法及び時分割多重フレーム位相同期装置
US5504741A (en) * 1993-02-15 1996-04-02 Mitsubishi Denki Kabushiki Kaisha Data queuing apparatus and ATM cell switch based on shifting and searching
SE515148C2 (sv) * 1993-06-23 2001-06-18 Ericsson Telefon Ab L M Styrning av cellväljare
SE502576C2 (sv) * 1993-11-26 1995-11-13 Ellemtel Utvecklings Ab Feltolerant kösystem
US5457679A (en) * 1993-12-08 1995-10-10 At&T Corp. Channel sharing and memory sharing in a packet switching system
US5509006A (en) * 1994-04-18 1996-04-16 Cisco Systems Incorporated Apparatus and method for switching packets using tree memory
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
DE69428186T2 (de) * 1994-04-28 2002-03-28 Hewlett-Packard Co.(A Delaware Corporation), Palo Alto Mehrfachsendeeinrichtung
EP0680173B1 (de) * 1994-04-28 2003-09-03 Hewlett-Packard Company, A Delaware Corporation Mehrfachsendeeinrichtung
EP0685949A3 (de) * 1994-06-03 2002-07-10 Philips Patentverwaltung GmbH Paketübermittlungssystem
IL110657A (en) * 1994-08-14 1997-07-13 Ornet Data Communication Techn Network switch
US5781551A (en) * 1994-09-15 1998-07-14 Texas Instruments Incorporated Computer communications system with tree architecture and communications method
US5528584A (en) * 1994-10-27 1996-06-18 Hewlett-Packard Company High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch
US5619497A (en) * 1994-12-22 1997-04-08 Emc Corporation Method and apparatus for reordering frames
US5867666A (en) * 1994-12-29 1999-02-02 Cisco Systems, Inc. Virtual interfaces with dynamic binding
US5793978A (en) * 1994-12-29 1998-08-11 Cisco Technology, Inc. System for routing packets by separating packets in to broadcast packets and non-broadcast packets and allocating a selected communication bandwidth to the broadcast packets
US5550815A (en) * 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5642349A (en) * 1994-12-30 1997-06-24 Lucent Technologies Inc. Terabit per second ATM packet switch having distributed out-of-band control
US5687172A (en) * 1994-12-30 1997-11-11 Lucent Technologies Inc. Terabit per second distribution network
US5537403A (en) * 1994-12-30 1996-07-16 At&T Corp. Terabit per second packet switch having distributed out-of-band control of circuit and packet switching communications
US5544160A (en) * 1994-12-30 1996-08-06 At&T Corp. Terabit per second packet switch
GB9509484D0 (en) * 1995-05-10 1995-07-05 Gen Datacomm Adv Res Atm network switch
KR0180774B1 (ko) * 1995-06-28 1999-05-15 김주용 패킷 데이터 전송장치 및 전송방법
WO1997004542A2 (en) * 1995-07-19 1997-02-06 Fujitsu Network Communications, Inc Multipoint-to-point arbitration in a network switch
US5948067A (en) 1995-07-19 1999-09-07 Fujitsu Network Communications, Inc. Converting between an internal cell and multiple standard asynchronous transfer mode cells
US6097718A (en) * 1996-01-02 2000-08-01 Cisco Technology, Inc. Snapshot routing with route aging
US6147996A (en) 1995-08-04 2000-11-14 Cisco Technology, Inc. Pipelined multiple issue packet switch
US5724352A (en) * 1995-08-31 1998-03-03 Lucent Technologies Inc. Terabit per second packet switch having assignable multiple packet loss probabilities
US5724349A (en) * 1995-08-31 1998-03-03 Lucent Technologies Inc. Terabit per second ATM packet switch having out-of-band control with multi casting
WO1997010656A1 (en) * 1995-09-14 1997-03-20 Fujitsu Network Communications, Inc. Transmitter controlled flow control for buffer allocation in wide area atm networks
US6182224B1 (en) 1995-09-29 2001-01-30 Cisco Systems, Inc. Enhanced network services using a subnetwork of communicating processors
US6917966B1 (en) 1995-09-29 2005-07-12 Cisco Technology, Inc. Enhanced network services using a subnetwork of communicating processors
US7246148B1 (en) 1995-09-29 2007-07-17 Cisco Technology, Inc. Enhanced network services using a subnetwork of communicating processors
GB2308959A (en) * 1995-12-29 1997-07-09 Ericsson Telefon Ab L M Data switching apparatus with fair queuing
US6091725A (en) * 1995-12-29 2000-07-18 Cisco Systems, Inc. Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US6035105A (en) 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
WO1997026737A1 (en) * 1996-01-16 1997-07-24 Fujitsu Limited A reliable and flexible multicast mechanism for atm networks
US5907717A (en) * 1996-02-23 1999-05-25 Lsi Logic Corporation Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
US6308148B1 (en) 1996-05-28 2001-10-23 Cisco Technology, Inc. Network flow data export
US6243667B1 (en) 1996-05-28 2001-06-05 Cisco Systems, Inc. Network flow switching and flow data export
US6212182B1 (en) 1996-06-27 2001-04-03 Cisco Technology, Inc. Combined unicast and multicast scheduling
US6434120B1 (en) * 1998-08-25 2002-08-13 Cisco Technology, Inc. Autosensing LMI protocols in frame relay networks
US5748905A (en) * 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US6304546B1 (en) 1996-12-19 2001-10-16 Cisco Technology, Inc. End-to-end bidirectional keep-alive using virtual circuits
US5991824A (en) * 1997-02-06 1999-11-23 Silicon Graphics, Inc. Method and system for simultaneous high bandwidth input output
US6356530B1 (en) 1997-05-23 2002-03-12 Cisco Technology, Inc. Next hop selection in ATM networks
US6122272A (en) * 1997-05-23 2000-09-19 Cisco Technology, Inc. Call size feedback on PNNI operation
US6862284B1 (en) 1997-06-17 2005-03-01 Cisco Technology, Inc. Format for automatic generation of unique ATM addresses used for PNNI
US6052738A (en) * 1997-06-30 2000-04-18 Sun Microsystems, Inc. Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US6081522A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6044418A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6119196A (en) * 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US6044087A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Interface for a highly integrated ethernet network element
US6014380A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US6049528A (en) * 1997-06-30 2000-04-11 Sun Microsystems, Inc. Trunking ethernet-compatible networks
US6081512A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
US6016310A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6088356A (en) * 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6078590A (en) * 1997-07-14 2000-06-20 Cisco Technology, Inc. Hierarchical routing knowledge for multicast packet routing
US6330599B1 (en) 1997-08-05 2001-12-11 Cisco Technology, Inc. Virtual interfaces with dynamic binding
US6157641A (en) * 1997-08-22 2000-12-05 Cisco Technology, Inc. Multiprotocol packet recognition and switching
US6512766B2 (en) 1997-08-22 2003-01-28 Cisco Systems, Inc. Enhanced internet packet routing lookup
US6212183B1 (en) 1997-08-22 2001-04-03 Cisco Technology, Inc. Multiple parallel packet routing lookup
US6343072B1 (en) 1997-10-01 2002-01-29 Cisco Technology, Inc. Single-chip architecture for shared-memory router
US7570583B2 (en) * 1997-12-05 2009-08-04 Cisco Technology, Inc. Extending SONET/SDH automatic protection switching
US6111877A (en) 1997-12-31 2000-08-29 Cisco Technology, Inc. Load sharing across flows
US6424649B1 (en) 1997-12-31 2002-07-23 Cisco Technology, Inc. Synchronous pipelined switch using serial transmission
US6853638B2 (en) * 1998-04-01 2005-02-08 Cisco Technology, Inc. Route/service processor scalability via flow-based distribution of traffic
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
KR100508585B1 (ko) * 1998-05-23 2005-11-25 유티스타콤코리아 유한회사 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법
US6370121B1 (en) 1998-06-29 2002-04-09 Cisco Technology, Inc. Method and system for shortcut trunking of LAN bridges
US6920112B1 (en) 1998-06-29 2005-07-19 Cisco Technology, Inc. Sampling packets for network monitoring
US6407985B1 (en) 1998-06-29 2002-06-18 Cisco Technology, Inc. Load sharing over blocked links
US6377577B1 (en) 1998-06-30 2002-04-23 Cisco Technology, Inc. Access control list processing in hardware
US6308219B1 (en) 1998-07-31 2001-10-23 Cisco Technology, Inc. Routing table lookup implemented using M-trie having nodes duplicated in multiple memory banks
US6182147B1 (en) 1998-07-31 2001-01-30 Cisco Technology, Inc. Multicast group routing using unidirectional links
US6101115A (en) * 1998-08-07 2000-08-08 Cisco Technology, Inc. CAM match line precharge
US6389506B1 (en) 1998-08-07 2002-05-14 Cisco Technology, Inc. Block mask ternary cam
US7480242B2 (en) * 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US6771642B1 (en) 1999-01-08 2004-08-03 Cisco Technology, Inc. Method and apparatus for scheduling packets in a packet switch
US7065762B1 (en) 1999-03-22 2006-06-20 Cisco Technology, Inc. Method, apparatus and computer program product for borrowed-virtual-time scheduling
US6757791B1 (en) 1999-03-30 2004-06-29 Cisco Technology, Inc. Method and apparatus for reordering packet data units in storage queues for reading and writing memory
US6603772B1 (en) 1999-03-31 2003-08-05 Cisco Technology, Inc. Multicast routing with multicast virtual output queues and shortest queue first allocation
US6760331B1 (en) 1999-03-31 2004-07-06 Cisco Technology, Inc. Multicast routing with nearest queue first allocation and dynamic and static vector quantization
JP2000307681A (ja) * 1999-04-16 2000-11-02 Fujitsu Ltd 中継装置およびフレームトレース方法
US6606326B1 (en) 1999-07-02 2003-08-12 International Business Machines Corporation Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path
US6910133B1 (en) 2000-04-11 2005-06-21 Cisco Technology, Inc. Reflected interrupt for hardware-based encryption
US7123620B1 (en) 2000-04-25 2006-10-17 Cisco Technology, Inc. Apparatus and method for scalable and dynamic traffic engineering in a data communication network
US6928470B1 (en) 2000-07-31 2005-08-09 Western Digital Ventures, Inc. Transferring scheduling data from a plurality of disk storage devices to a network switch before transferring data associated with scheduled requests between the network switch and a plurality of host initiators
US6697914B1 (en) 2000-09-11 2004-02-24 Western Digital Ventures, Inc. Switched node comprising a disk controller with integrated multi-port switching circuitry
US7002926B1 (en) 2000-11-30 2006-02-21 Western Digital Ventures, Inc. Isochronous switched fabric network
US7095741B1 (en) 2000-12-20 2006-08-22 Cisco Technology, Inc. Port isolation for restricting traffic flow on layer 2 switches
US20020112141A1 (en) * 2001-01-08 2002-08-15 Claire Greenwood Time division finite state machine
US20030016689A1 (en) * 2001-07-17 2003-01-23 Hoof Werner Van Switch fabric with dual port memory emulation scheme
US7203193B2 (en) * 2001-07-17 2007-04-10 Alcatel Lucent In-band message synchronization for distributed shared memory packet switch
US20030053485A1 (en) * 2001-09-20 2003-03-20 Chuah Mooi Choo Multiplexing IP data packets within a MPLS frame
NO20016372D0 (no) * 2001-12-27 2001-12-27 Ericsson Telefon Ab L M Arrangement for å redusere minnebehovet i en svitsj
US7076543B1 (en) 2002-02-13 2006-07-11 Cisco Technology, Inc. Method and apparatus for collecting, aggregating and monitoring network management information
US7349435B2 (en) * 2002-07-11 2008-03-25 Bay Microsystems, Inc. Multiport overhead cell processor for telecommunications nodes
WO2004023319A1 (en) * 2002-09-06 2004-03-18 Telefonaktiebolaget Lm Ericsson (Publ). Switching arrangement including time-slot buses and several buffers
US7233573B2 (en) * 2003-02-08 2007-06-19 Hewlett-Packard Development Company, L.P. Apparatus and method for receiving data from a network
US8392579B2 (en) * 2003-02-08 2013-03-05 Hewlett-Packard Development Company, L.P. Apparatus and method for transmitting data through a network
US7298755B2 (en) * 2003-02-08 2007-11-20 Hewlett-Packard Development Company, L.P. Apparatus and method for communicating with a network and for monitoring operational performance of the apparatus
US7450599B2 (en) * 2003-02-08 2008-11-11 Hewlett-Packard Development Company, L.P. Apparatus and method for communicating with a network
US6914607B2 (en) * 2003-02-08 2005-07-05 Hewlett-Packard Development Company, L.P. Apparatus and method for buffering data
US7373408B2 (en) 2003-02-08 2008-05-13 Hewlett-Packard Development Company, L.P. Network communication apparatus and method
US7319670B2 (en) * 2003-02-08 2008-01-15 Hewlett-Packard Development Company, L.P. Apparatus and method for transmitting data to a network based on retransmission requests
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
US8005971B2 (en) 2003-02-08 2011-08-23 Hewlett-Packard Development Company, L.P. Apparatus for communicating with a network
US7957275B2 (en) * 2004-09-09 2011-06-07 Jinsalas Solutions, Llc Queuing system
EP2015569A4 (de) * 2006-05-02 2010-04-07 Media Global Links Co Ltd Videosignalumschaltsystem
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US8680888B2 (en) * 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US8868672B2 (en) 2012-05-14 2014-10-21 Advanced Micro Devices, Inc. Server node interconnect devices and methods
US9137173B2 (en) 2012-06-19 2015-09-15 Advanced Micro Devices, Inc. Devices and methods for interconnecting server nodes
US8930595B2 (en) 2012-06-21 2015-01-06 Advanced Micro Devices, Inc. Memory switch for interconnecting server nodes
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9253287B2 (en) 2012-08-20 2016-02-02 Advanced Micro Devices, Inc. Speculation based approach for reliable message communications
US8875256B2 (en) 2012-11-13 2014-10-28 Advanced Micro Devices, Inc. Data flow processing in a network environment
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US10430210B2 (en) 2014-12-30 2019-10-01 Micron Technology, Inc. Systems and devices for accessing a state machine
KR101695548B1 (ko) * 2015-06-10 2017-01-11 최재화 곤충용 선별장치
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
CN109314658A (zh) * 2016-06-27 2019-02-05 华为技术有限公司 网络交换设备及时隙交换的方法
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US12197510B2 (en) 2016-10-20 2025-01-14 Micron Technology, Inc. Traversal of S portion of a graph problem to be solved using automata processor
GB2585947A (en) * 2019-07-26 2021-01-27 Canon Kk Method and system for improving mass transfer of data via a standard network adapter

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322843A (en) * 1979-12-26 1982-03-30 Bell Telephone Laboratories, Incorporated Control information communication arrangement for a time division switching system
US4751697A (en) * 1986-09-05 1988-06-14 American Telephone And Telegraph Company, At&T Bell Laboratories Distributed packet switching sytem
US4821259A (en) * 1986-09-05 1989-04-11 American Telephone And Telegraph Company, At&T Bell Laboratories Control information communication arrangement for a distributed control switching system
US4780870A (en) * 1986-09-05 1988-10-25 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switch
DE3851084D1 (de) * 1987-05-15 1994-09-22 Hitachi Ltd Vorrichtung zur Steuerung von Paketvermittlungsnetzen.
NL8801120A (nl) * 1988-04-29 1989-11-16 At & T & Philips Telecomm Kruispuntschakelaar voor het doorschakelen van pakketten.
ES2111520T3 (es) * 1988-10-06 1998-03-16 Plessey Telecomm Disposicion de conmutacion asincrona por division de tiempo y metodo de funcionamiento de la misma.
US4891803A (en) * 1988-11-07 1990-01-02 American Telephone And Telegraph Company Packet switching network
EP0422910A3 (en) * 1989-10-10 1991-11-06 American Telephone And Telegraph Company High capacity memory based packet switches
AU6890491A (en) * 1989-12-04 1991-06-26 Motorola, Inc. Packet handling method
ATE127643T1 (de) * 1990-03-14 1995-09-15 Alcatel Nv Atm-artiges vermittlungselement mit mehreren betriebsarten und dieses enthaltendes vermittlungsnetzwerk.

Also Published As

Publication number Publication date
DE69332328D1 (de) 2002-10-31
EP0581486A2 (de) 1994-02-02
EP0581486B1 (de) 2002-09-25
ATE225104T1 (de) 2002-10-15
EP0581486A3 (de) 1995-05-17
JPH06197130A (ja) 1994-07-15
CA2096877C (en) 1999-11-02
US5291482A (en) 1994-03-01
JP3168235B2 (ja) 2001-05-21
CA2096877A1 (en) 1994-01-25

Similar Documents

Publication Publication Date Title
DE69332328T2 (de) Paketschalter mit grosser Bandbreite
DE68929523T2 (de) ATM-Vermittlungssystem
DE3788606T2 (de) Anordnung zur Überwachung von Steuerinformation für ein Vermittlungssystem mit verteilter Steuerung.
DE69428186T2 (de) Mehrfachsendeeinrichtung
DE68919856T2 (de) Nachrichtenvermittlungselement zur übertragung von zellen unterteilt in teilzellen.
DE69020578T2 (de) Grundelement für ein verbindungsnetzwerk eines knotens zur schnellen paketvermittlung.
DE69529155T2 (de) Erweiterbares kommunikationssystem
DE3875003T2 (de) Hybrides zeit-multiplex-vermittlungssystem mit optimal gestaltetem pufferspeicher.
DE69428107T2 (de) Atm-vermittlung mit kontrolliertem zugang
DE2620220C3 (de)
US4754451A (en) N-by-N "knockout" switch for a high-performance packet switching system with variable length packets
DE3788605T2 (de) Paketvermittlung.
DE3752370T2 (de) Vermittlungssystem
DE69734492T2 (de) System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren
DE3856239T2 (de) Paketvermittlung
DE3786298T2 (de) Verfahren und Schalter zum Vermitteln von Informationen.
DE3787600T2 (de) Koppelpunktschaltung für Datenpaketraumvermittlung.
DE69032699T2 (de) Paketvermittlungssystem mit einer busmatrixartigen Vermittlungsanlage
DE3788911T2 (de) Verteiltes Paketvermittlungssystem.
DE69033213T2 (de) Verbindungsstruktur zur Verbindung zwischen einem Eingang und willkürlichen Ausgängen aus einer Gruppe von Ausgängen
DE69033231T2 (de) Erweitbare Paketvermittlungsarchitektur
DE69310762T2 (de) Herstellung von fernmeldeanrufwegen in breitbandkommunikationsnetzen
DE68918981T2 (de) Asynchrones Zeitmultiplexnetzwerk.
EP0156339A2 (de) Verfahren und Anordnung zum Herstellen und Betreiben einer Zeitvielfach-Breitbandverbindung in einer Zeitvielfach-Vermittlungsstelle
EP0692893B1 (de) Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee