DE69734492T2 - System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren - Google Patents

System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren Download PDF

Info

Publication number
DE69734492T2
DE69734492T2 DE69734492T DE69734492T DE69734492T2 DE 69734492 T2 DE69734492 T2 DE 69734492T2 DE 69734492 T DE69734492 T DE 69734492T DE 69734492 T DE69734492 T DE 69734492T DE 69734492 T2 DE69734492 T2 DE 69734492T2
Authority
DE
Germany
Prior art keywords
output port
input
subsystem
decision
input buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69734492T
Other languages
English (en)
Other versions
DE69734492D1 (de
Inventor
Martin Thomas WICKI
D. Jeffrey LARSON
Albert Mu
Raghu Sastry
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69734492D1 publication Critical patent/DE69734492D1/de
Application granted granted Critical
Publication of DE69734492T2 publication Critical patent/DE69734492T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation
    • 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
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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

Description

  • Querverweise auf verwandte Anmeldungen
  • Der Gegenstand dieser Anmeldung ist mit dem Gegenstand der folgenden Anmeldungen verwandt:
    Anmeldung Seriennummer 08/605,677, US-5 959 995-A, mit dem Titel "ASYNCHRONOUS PACKET SWITCHING", eingereicht am 22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland, Takeshi Shimizu, Wolf-Dietrich Weber und Winfried W. Wilcke;
    Anmeldung Seriennummer 08/605,676, US-5 740 346-A, mit dem Titel "SYSTEM AND METHOD FOR DYNAMIC NETWORK TOPOLOGY EXPLORATION", eingereicht am 22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland, Wolf-Dietrich Weber und Winfried W. Wilcke;
    Anmeldung Seriennummer 08/603,880, US-5 892 766-A, mit dem Titel "METHOD AND APPARATUS FOR COORDINATING ACCESS TO AN OUTPUT OF A ROUTING DEVICE IN AN PACKET SWITCHING NETWORK", eingereicht am 22. Februar 1996 von Jeffrey D. Larson, Albert Mu und Thomas M. Wicki;
    Anmeldung Seriennummer 08/604,920, US-6 003 064-A, mit dem Titel "CROSSBAR SWITCH AND METHOD WITH REDUCED VOLTAGE SWING AND NO INTERNAL BLOCKING DATA PATH", eingereicht am 22. Februar 1996 von Albert Mu und Jeffrey D. Larson;
    Anmeldung Seriennummer 08/603,913, US-6 003 064-A, mit dem Titel "FLOW CONTROL PROTOCOL SYSTEM AND METHOD", eingereicht am 22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland, Jeffrey D. Larson, Albert Mu und Raghu Sastry und Richard L. Schober, Jr.;
    Anmeldung Seriennummer 08/603,911, US-5 768 300-A, mit dem Titel "INTERCONNECT FAULT DETECTION AND LOCALIZATION METHOD AND APPARATUS", eingereicht am 22. Februar 1996 von Raghu Sastry, Jeffrey D. Larson, Albert Mu, John R. Slice, Richard L. Schober, Jr., und Thomas M. Wicki;
    Anmeldung Seriennummer 08/603,923, US-5 931 967-A, mit dem Titel "METHOD AND APPARATUS FOR DETECTION OF ERRORS IN MULTIPLE-WORD COMMUNICATIONS", eingereicht am 22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland und Takeshi Shimizu;
    Anmeldung Seriennummer 08/603,822, US-Patent 5 615 161, mit dem Titel "CLOCKED SENSE AMPLIFIER WITH POSITIVE SOURCE FEEDBACK", von Albert Mu.
  • Technisches Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf asynchrone und plesiochrone Kreuzschienenschaltsysteme und -verfahren auf Paket-Basis.
  • Hintergrund
  • Besondere bekannte Router-Systeme, die Knoten in einem Computernetz verbinden, sind in der Latenz limitiert, da es erforderlich ist, dass jedes Router-Element das Vorliegen eines gesamten Pakets vor der Initiierung einer Ausgangstransmission auch nur eines ersten Abschnitts des Pakets feststellen muss. Viele solche Router-Systeme werden ferner durch eine Blockierung an Router-Ausgabe-Ports behindert, der durch die Komplexität der Entscheidung eines Zugriffs von ausgewählten Eingabepuffern auf bestimmte Ausgabe-Ports verursacht wird.
  • Die US-5 267 235-A betrifft beispielsweise das Erzielen von Übereinstimmungen zwischen Anfordernden, die einen Dienst eines von einer Anzahl von Servern entscheiden müssen, beispielsweise in dem Kontext eines Datenpaketvermittlungssystems. Eine Entscheidungsvorrichtung wird verwendet, die auf einem iterativen Entscheidungsmechanismus basiert, wobei Übereinstimmungen über eine Anzahl iterativer Entscheidungszyklen erzielt werden.
  • Ferner enthalten viele Router-Systeme komplexe eine Latenz erzeugende Synchronisationssysteme, die einen Transmissionsdurchsatz von Daten, Paketen und Rahmen reduzieren.
  • Bei Halbleiter-Router-Chips, die Kopfinformationen enthaltende Datenpakete senden, ist es zweckmäßig, die Latenz zu minimieren, jene Zeit, die für die Transmission von Daten durch einen einzelnen Chip in einem System mit einem Netz von Router-Chips erforderlich ist.
  • Ferner ist es zweckmäßig, ein auf einem einzelnen Halbleiter-Chip residentes Router-System vorzusehen.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung sind eine Router-Schaltung nach Anspruch 1 und ein Verfahren zum Senden von Informationen in einer Router-Schaltung nach Anspruch 8 vorgesehen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung stellt ein Router-System eine gegenseitige Verbindung von durch eine Entscheidung ausgewählten Eingabepuffern mit einem vorherbestimmten Ausgabe-Port durch einen Kreuzschienenschalter her. Gemäß einer Ausführungsform der vorliegenden Erfindung hat jeder Ausgabe-Port einen dedizierten Entscheider, um einen Eingabepuffer mit höchster Priorität für eine Verbindung mit seinem Ausgabe-Port auszuwählen. Gemäß einem Verfahren der vorliegenden Erfindung werden Rahmenwörter unabhängig durch ausgewählte Eingabepuffer und Ausgabe-Ports durch einen Kreuzschienenschalter einem Streaming unterworfen. Das Streaming gemäß der vorliegenden Erfindung beginnt mit einer Wegdefinition, die durch die Analyse eines Rahmenkopfs festgelegt wird. Ein paralleles Rahmenhüllkurvensignal beendet die Dedizierung eines vorherbestimmten Ausgabe-Ports für einen bestimmten Rahmen.
  • Die Rahmentransmission gemäß Ausführungsformen der vorliegenden Erfindung ist plesiochron, d.h. nahezu synchron. Gemäß einer Ausführungsform der vorliegenden Erfindung ist die Rahmentransmission asynchron. Einfach ausgedrückt, das Router-System gemäß den Ausführungsformen der vorliegenden Erfindung ist nicht synchron. Rahmen kommen mit einem Takt an und werden mit einem anderen Takt ausgetaktet. Demgemäß kann angenommen werden, dass die Transmission "plesioasynchron" ist, d.h. nahezu synchron oder asynchron.
  • Gemäß Ausführungsformen der vorliegenden Erfindung wird die Rahmentransmission mit einer verteilten Synchronisationsarchitektur innerhalb des Routers erzielt, in dem Eingabepuffer für ein Auslesen und eine Nicht-Koinzidenz von Lese- und Schreibzeigern geprüft werden, in dem Ausgabe-Port-Identifikations- und Prioritätsstufeninformationen in mehrfachen Registern gespeichert werden, und in dem Pufferstatusmeldungen ODER-akkumuliert werden.
  • Gemäß Ausführungsformen der vorliegenden Erfindung enthält ein Halbleiter-Router-Chip-System eine rationelle Architektur mit einer hohen Taktfrequenz und geringen Latenz bei der Transmission von Daten. Eine geringe Latenz wird gemäß der vorliegenden Erfindung durch das Reduzieren von Operationen erzielt, die an jedem Paket vorgenommen werden, einschließlich der Eliminierung ausgewählter Fehlerprüfungen, die nicht von einer Fehlerkorrektur begleitet werden. Die vorliegende Erfindung enthält ein Synchronisationsverfahren, das die Latenz minimiert. Gemäß Ausführungsformen der vorliegenden Erfindung wird eine interne Chip-Datenverarbeitung auf einem Datenweg erzielt, der zweimal so breit ist wie eine externe Kommunikation zwischen Router-Chips. Der Datenweg gemäß der vorliegenden Erfindung enthält einen voll angeschlossenen Kreuzschienenschalter ohne interne Blockierung, der eine dedizierte Verbindung mit der Kreuz schiene für jedes Pufferelement der Eingabepuffer vorsieht. Dies entkoppelt die Entscheidungseinheiten für Ausgabe-Ports voneinander. Andere Merkmale verwenden ein Flusssteuerprotokoll, dass außerhalb des kritischen Wegs bearbeitet wird, und ein unterstützendes virtuelles Cut-Through-Routing gemäß der vorliegenden Erfindung. Ferner enthält gemäß der vorliegenden Erfindung der Datenweg eine Außerband-Signalisierung, um den Anfang und das Ende von Datenpakten zu markieren, wodurch die Decodierung des Datenstroms signifikant reduziert wird. Zusätzlich wird gemäß der vorliegenden Erfindung die Weglänge in jeder der Pipeline-Stufen minimiert, indem vorgenommene Operationen reduziert werden, wodurch eine Hochfrequenz-Chip-Operation ermöglicht wird.
  • Das Router-System gemäß einer Ausführungsform der vorliegenden Erfindung ist auf einem einzelnen Halbleiter-Chip resident.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockbild eines Router-Chips gemäß der vorliegenden Erfindung;
  • 2 ist eine Darstellung eines mehrstufigen Pipeline-Verfahrens gemäß der vorliegenden Erfindung, das eine Ein-Zyklus-Entscheidung enthält;
  • 3A ist eine Darstellung einer Eingabepufferelement-Synchronisationsarchitektur gemäß der vorliegenden Erfindung;
  • 3B ist eine Darstellung einer Steuersynchronisations- und Rahmenkopf-Decoderarchitektur gemäß der vorliegenden Erfindung;
  • 3C ist eine Darstellung einer Pufferstatus- und Akkumulationsschaltungs-Synchronisationsarchitektur gemäß der vorliegenden Erfindung;
  • 3D ist ein Flussdiagramm des Betriebs des Router- Systems gemäß der vorliegenden Erfindung;
  • 4A ist ein Schaltbild eines Kreuzschienenschalters gemäß der vorliegenden Erfindung, welcher einen Schaltbus enthält, der seinerseits Metall- und Koppelpunktschalter enthält;
  • 4B ist ein Datenweg-Blockbild gemäß der vorliegenden Erfindung;
  • 5A ist ein Blockbild eines ersten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden Erfindung;
  • 5B ist ein Blockbild eines zweiten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden Erfindung;
  • 5C ist ein Flussdiagramm eines ersten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden Erfindung;
  • 5D ist ein Flussdiagramm eines zweiten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden Erfindung;
  • 6 ist ein Blockbild des Router-Chip-Systems gemäß der vorliegenden Erfindung;
  • 7A ist ein Blockbild eines gemäß der vorliegenden Erfindung gesendeten Rahmens;
  • 7B ist ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung;
  • 7C ist ein Flussdiagramm einer Entscheiderfunktionalität gemäß der vorliegenden Erfindung;
  • 7D ist ein Zeitdiagramm eines Rahmenhüllkurvensignals gemäß der vorliegenden Erfindung; und
  • 7E ist ein Zeitdiagramm eines virtuellen Paket-Cut-Through gemäß der vorliegenden Erfindung, wobei die Transmission von Kopf- und Dateninformationen in unabhängigen Informationswörtern gestaffelt ist.
  • Detaillierte Beschreibung der Erfindung
  • 1 ist ein Blockbild eines Router-Systems 3 gemäß einer Ausführungsform der vorliegenden Erfindung, das auf einem einzelnen Halbleiter-Chip resident ist. Das Router-System 3 enthält einen virtuellen Cut-Through-Paketschalter, der eine Vielzahl von Eingabe-Ports 104 enthält, von denen einer in 1 gezeigt ist.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist jeder Eingabe-Port 34 Bits breit. Daten werden an einem Eingabe-Port sowohl an Anstieg- als auch Abfalleingangstaktkanten empfangen. Jeder Port 104 ist symmetrisch. Jeder Port 104 ist mit einer Eingabepuffereinheit 135 mit mehrfachen Eingängen durch einen Demultiplexer 400 verbunden, der ein Register 107 und ein erstes und ein zweites paralleles Register 108a bzw. 108b enthält. Das Register 107 empfängt ein Halbwort an einem ersten Abschnitt eines Taktzyklus, und während des nächsten Abschnitts eines Taktzyklus werden die Inhalte des Registers 107 in das erste parallele Register 108a eingegeben, wohingegen das verbleibende Halbwort direkt von dem Port 104 in das zweite parallele Register 108b eingegeben wird. Die Inhalte der parallelen Register 108a und 108b werden dann in den Demultiplexer 130' für ein Einfügen in das geeignete Pufferelement 135 eingegeben. Das Router-System 3 enthält eine Warteschlangenentscheidereinheit 146 und eine Flusssteuereinheit 147, die ein erstes und ein zweites Flusssteuersystem 147a bzw. 147b enthält. Das Router-System 3 enthält ferner ein Eingaberegister 105, das mit einer Rahmenhüllkurven (F_ENV)-Eingangsleitung 102 und einer Daten-Nicht-Status (D/NS)-Eingangsleitung 103 verbunden ist. Das Eingaberegister 105 ist seinerseits verbunden mit einer Eingangssteuerschaltung 106, die Rahmenhüllkurven- und D/NS-Signale liefert, um die Synchronisation zu steuern, und einer Rahmenkopf-Decoderschaltung 128, mit einer Pufferstatus- und Akkumlatorschaltung 129, und einer Eingabepuffer-Steuerschaltung 130. Die Flusssteuer-Empfängerschaltung 147 ist mit der Pufferstatus- und Akkumlatorschaltung 147a verbunden, um Pufferstatussignale und Informationen von der Pufferstatus- und Akkumlatorschaltung 147a zu empfangen, wie im Nachstehenden detaillierter diskutiert wird. Die Flusssteuer-Empfängerschaltung 147 empfängt Informationen vom Entscheider 146 in Bezug auf seinen Status, und liefert Informationen an die Rahmenkopf-Modifikatorschaltung 150 und den Entscheider 146. Die Eingangssteuerschaltung 106 liefert Signal an die Schreibsteuerschaltung 131, die ihrerseits Schreiboperationen in Bezug auf die Eingabepufferelemente 135 steuert. Der Entscheider 146 steuert den Kreuzschienenschalter 144' und steuert die Lesesteuerschaltung 136, um das Lesen von Eingabepufferelement 135-Rahmenabschnitten in das Register 138 zu ermöglichen. Das Register 149 empfängt Rahmenabschnitte von dem Kreuzschienenschalter 144' und liefert diese an den Rahmenkopfmodifikator 150. Das Register 138 liefert zusätzlich Informationen an die Ausgangssteuerschaltung 148, die Rahmenhüllkurven (F_ENV)- und (D/NS)-Signale an einen benachbarten Router oder Knoten eines Netzes von Router-Chips und Knoten liefert. Der Multiplexer 151 empfängt Rahmen mit modifizierten Köpfen vom Rahmenkopfmodifikator 150 und von der Flusssteuer-Senderschaltung 147b. Der Multiplexer 151 empfängt Wort-breite Rahmenabschnitte in jedem Taktzyklus und erzeugt Halbwort-breite Rahmenabschnitte sowohl an Anstieg- als auch Abfalltaktkanten. Das Router-System 3 enthält ferner eine Netzverknüpfungs-Taktdomäne 110 pro Eingabewort und eine lokale Taktdomäne 109. Die Netzverknüpfungs-Taktdomäne 110 ist gemäß einem Eingangstakt 103' getaktet. Die lokale Taktdomäne 109 ist gemäß dem lokalen Takt 203 getaktet.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann das Router-System 3 mit einer Taktfrequenz von 200 MHz und darüber für gegenseitige Mehrprozessorverbindungen operieren. Mit einer Latenz-toleranten Verknüpfungspegel-Fluss steuerung und flexiblen Mehrfachtaktdomänen-Plesiochronkommunikation unterstützt das Router-System 3 die gegenseitige Verbindung von Verarbeitungsknoten, die durch Distanzen in der Größenordnung von einigen Metern getrennt sind. Eine Vielzahl von Router-Chips 3 kann skalierbar miteinander verbunden werden.
  • 2 ist eine Darstellung eines mehrstufigen Pipeline-Verfahrens gemäß der vorliegenden Erfindung, das eine Ein-Zyklus-Entscheidung enthält. Das Verfahren der vorliegenden Erfindung, wie in 2 gezeigt, enthält die Synchronisation von Informationen von der Netzverknüpfungs-Taktdomäne 110 mit der lokalen Taktdomäne 109. Zusätzlich enthält das Verfahren der vorliegenden Erfindung das Durchführen einer Adressenpropagation und -decodierung. Leitweginformationen, die an einem Eingabe-Port empfangen werden, werden zu Warteschlangenentscheidereinheiten 106 übertragen. Das Verfahren der vorliegenden Erfindung enthält ferner eine Entscheidung. Das Verfahren der vorliegenden Erfindung enthält ferner eine Datenpropagation durch den Kreuzschienenschalter 144. Das Verfahren der vorliegenden Erfindung enthält ferner eine Rahmenkopfmodifikation.
  • Gemäß der vorliegenden Erfindung kommen Daten-, Takt- und Außerband-Steuersignale an einem von n Eingabe-Ports an. Die Daten werden an beiden Kanten des ankommenden Takts verriegelt, um die Verknüpfungsbandbreite zu optimieren. Die Daten werden auf eine Datenwegbreite demultiplext, die der Schalteinheit eigen ist. Die verbreiterte Datenwegbreite ermöglicht interne Logikoperationen bei der Hälfte der Taktrate. Die Daten werden in Rahmen, die einen Kopf- und einen Datenabschnitt enthalten, in Strömen durch ein ausgewähltes von m Eingabepufferelementen kommuniziert. Der Sender wählt das bestimmte der m Eingabepufferelemente auf der Basis von Flusssteuerinformationen aus, die er vor der Transmission empfängt. Jedes Pufferelement ist mit einem dedizierten Weg in einer Kreuzschienenmatrix verbunden, wodurch die Blockierung von Rahmen von einem Eingabe-Port eliminiert wird, der für bestimmte Ausgabe-Ports bestimmt ist, in dem Fall, in dem diese Ausgabe-Ports untätig sind. Jedes Pufferelement ist groß genug, um einen Rahmen mit maximaler Größe im Fall einer Konkurrenz zu speichern. Die Schalteinheit unterstützt ein virtuelles Cut-Through-Routing. Der Eingabepuffer synchronisiert Daten von der ankommenden zur lokalen Taktdomäne, indem Eingabedaten gemäß einem Eingangstaktsignal empfangen werden, und indem Daten mit einem Ausgangstaktsignal erzeugt werden. Leitweginformationen in jedem Rahmenkopf werden an einen Rahmenkopfdecoder 128 geliefert. Nach der Evaluierung der Leitweginformationen wird eine Eingabepufferelementadresse in einer Entscheidereinheit 146 gespeichert, die einem ausgewählten von n Ausgabe-Ports entspricht. Jedes Pufferelement hat einen dedizierten Weg zur Kreuzschienenmatrix, wodurch ermöglicht wird, dass der Rahmen zu einem ausgewählten Ausgabe-Port geschaltet wird. Eine Rahmenkopfmodifikation wird erzielt, indem der aktuelle Leitwegschritt entfernt und eine neue Eingabepufferelementadresse für den nächsten stromabwärtigen Nachbar eingefügt wird. Die geeigneten Eingabepufferelemente 135, die verfügbar sind, werden aus Flusssteuerinformationen extrahiert, die von dem nächsten stromabwärtigen Nachbar ankommen. Daten werden von dem doppelt breiten internen Weg zu einer externen Wegbreite gemultiplext. Takt- und Außerband-Steuersignale werden hinzugefügt und parallel mit den Daten gesendet.
  • Ein Flusssteuerverfahren gemäß der vorliegenden Erfindung basiert auf der kreditbasierten Flusssteueroperation des Router-Systems 3, wie detailliert in den Querverweis-Patentanmeldungen beschrieben ist, auf die hier Bezug genommen wird. Router-Chips 3 senden Rahmen nur dann, wenn leere Puffer für den Empfang eines Informationsrahmens verfügbar sind. Ein empfangender Router-Chip oder Knoten informiert demgemäß einen sendenden Router-Chip, wie viele Puffer verfügbar sind, indem Pufferstatusmeldungen gesendet werden. Diese Meldungen werden mit regulären Datenrahmen verschachtelt und sind Standardverkehr auf einer ungenutzten Verknüpfung. Die Flusssteuerung folgt einem robusten, selbstheilenden Protokoll, das sicher gegen Übergangsfehler ist. Das Router-System 3 gemäß der vorliegenden Erfindung enthält einen Zeitablaufmechanismus, um Eingabepuffer nach einem permanenten Verlust aufgrund von Transmissionsfehlern wiederherzustellen. Um eine Blockierung von Pufferstatusmeldungen zu verhindern, erhält die Transmission von Pufferstatusmeldungen Priorität gegenüber Datenrahmen, wenn eine out-of-sync-Bedingung existiert, wie in den angegebenen Patentanmeldungen detailliert ausgeführt.
  • 3A ist eine Darstellung der Synchronisationsarchitektur einer Eingabepufferelementschaltung 135 gemäß der vorliegenden Erfindung, die einen Rahmen hält. Insbesondere enthält die Eingabepufferelementschaltung 135 einen Gray-Lesezeiger 135a, der an einer lokalen Taktdomäne operiert, einen Gray-Schreibzeiger 135b, der an einer ankommenden Taktdomäne operiert, und ein Vergleichselement, das prüft um zu bestimmen, ob ein bestimmtes FIFO-Pufferelement zum Halten von einem Rahmen oder Rahmenabschnitten leer ist oder nicht. Die Synchronisation ist eine Bedingung, die erfüllt ist, wenn stabile Daten ausgelesen wurden, und der Schreibzeiger vorgesetzt wird. Unter Verwendung des Gray-Codes bei den Zeigern 135a und 135b für eine Zeigerkompression werden Fehler vermieden. Ein Pufferelement wird gemäß der vorliegenden Erfindung für leer gehalten, wenn sowohl der Gray-Lesezeiger als auch der Gray-Schreibzeiger gleich sind, was anzeigt, dass sowohl Lese- als auch Schreibope rationen in Bezug auf den bestimmten Puffer vollendet wurden, und dazu führt, dass die Leseoperation gestoppt wird. Die Vollendung von sowohl Lese- als auch Schreiboperationen zeigt eine erfolgreiche Datensynchronisation an.
  • 3B ist eine Darstellung der Synchronisationsarchitektur einer Steuersynchronisations- und Rahmenkopf-Decoderschaltung 128. Insbesondere enthält die Steuersynchronisations- und Rahmenkopf-Decoderschaltung 128 ein erstes und ein zweites Ausgabe-Port-Informations- und Prioritätsstufen-Informations-FIFO 128a bzw. 128b, um ein einziges FIFO zu konstruieren. Wenn eines dieser Register in einem vollen Zustand ist, können der Schreibzeiger 128c und der Lesezeiger 128d auf das eine oder das andere der Register zeigen, um eine Lese- oder Schreiboperation zu erzielen. Die Synchronisation tritt auf, da der Puffer weiterhin für stabile Lese- und Schreiboperationen verfügbar bleibt, d.h. der Akkumulator ist offen, damit Pufferstatusmeldungen kontinuierlich gelesen und geschrieben werden.
  • 3C ist eine Darstellung der Architektur der Pufferstatus- und Akkumulationsschaltung 129. Insbesondere enthält die Status- und Akkumulationsschaltung 129 einen Akkumulier-ODER-Puffer, der in Bit-Positionen erweitert ist und Meldungen oder Meldungsanzeigen an ausgewählten Bitstellen durch das Akkumulieren von Meldungen in einer ODER-Funktionssynchronisation empfangen kann.
  • 3D ist ein Flussdiagramm des Betriebs des Router-Systems 3 gemäß der vorliegenden Erfindung. Insbesondere ist jedes Router-System 3 gemäß der vorliegenden Erfindung über Schnittstellen mit sechs unabhängigen ankommenden Taktdomänen gekoppelt, die von einem Taktsignal getrieben werden, das mit einem Datenrahmen ankommt. Daten-, Takt- und Steuersignale werden an n Eingabe-Ports empfangen 300. Jedes Router-System 3 hat eine lokale Taktdomäne, die von der glo balen Logik und der Vielzahl von Ausgabe-Ports gemeinsam genutzt wird. Eine FIFO-Synchronisation wird durch jeden Router-Chip für Rahmendaten implementiert. Miteinander verbundene Router-Chips haben jeweils eine unabhängige Taktquelle. Demgemäß nehmen miteinander verbundene Router-Chips gemäß der vorliegenden Erfindung eine geringe Frequenzvielfalt zwischen empfangenden und sendenden Takten auf. Gemäß der vorliegenden Erfindung werden Daten demultiplext 301 und an ein ausgewähltes von m Eingabepufferelementen angelegt, die jeweils einen dedizierten Weg zu einer Kreuzschienenmatrix haben. Die Synchronisation zwischen Eingangs- und lokalen Taktdomänen wird an einem Eingabepufferelement erzielt, das eine Synchronisation von Rahmendaten vornimmt und einen Speicher für eine Ausgabe-Port-Konkurrenz vorsieht. Die Synchronisation von Eingabepufferelementflaggen wird erzielt, indem Gray-codierte Zeiger verglichen werden, die asynchron durch eine Metastabilität gehärtete Verriegelung abgetastet werden. Zusätzlich enthält gemäß der vorliegenden Erfindung ein Kopf Informationen, die einen Ziel-Port anzeigen. Insbesondere werden aktuelle Rahmenkopf-Leitweginformationen an einen Rahmenkopfdecoder geliefert 302, um eine Eingabepufferelementadresse zu bestimmen, wodurch es einem geeigneten Entscheider, der einem gewünschten von n Ausgabe-Ports entspricht, ermöglicht wird, ein bestimmtes Eingabepufferelement und die darin enthaltenen Informationen auszuwählen. Der Kopf liefert zusätzlich Informationen, die eine Priorität anzeigen. Gemäß der vorliegenden Erfindung wird der Kopf in einem FIFO mit zwei Eingängen synchronisiert. Da Köpfe nicht antiparallel in konsekutiven Zyklen ankommen können, kann kein FIFO-Überlauf auftreten, bevor die Daten sicher gelesen werden können. Da nur Pufferstatusmeldungen bei einer ausreichenden Rate ankommen können, um FIFO-Überläufe zu verursachen, werden ferner gemäß der vorliegenden Erfindung Pufferstatusmeldungen zum Abtasten in die lokale Taktdomäne akkumuliert, wodurch die Verwendung eines FIFO vermieden wird. Gemäß der vorliegenden Erfindung enthält das Router-System 3 eine Kreuzschienenstruktur, auf die jedes gespeicherte Paket einen dedizierten Eingabe-Port-Zugriff hat. Für einen Eingang in die Kreuzschiene ist keine Konkurrenz möglich. Ein dedizierter Entscheider 146 pro Port entscheidet seinen eigenen Ausgabe-Port. Als Ergebnis der vorliegenden Erfindung wird eine interne Blockierung eliminiert, und eine Entscheidung kann in einem Taktzyklus erzielt werden. Insbesondere erteilt der Entscheider 303 ein Bewilligungssignal auf der Basis von Prioritäten im Eingabepufferinhalt. Ein Entscheider 146 pro Ausgabe-Port mit drei alternden FIFOs für drei Warteschlangenklassen, d.h. Prioritäten, wird verwendet, um eine Aushungerung innerhalb einer gegebenen Priorität zu vermeiden. Eine FIFO-Reihenfolge gemäß der vorliegenden Erfindung wird implementiert, um Rahmen aus Puffern zu begünstigen, die relativ voll sind.
  • Das Router-System 3 gemäß der vorliegenden Erfindung nimmt einen Rahmenverkehr in mehrfachen Prioritätsstufen auf, wodurch Strategien ermöglicht werden, die eine Protokollblockierung ohne unendliche Pufferressourcen am Sende- oder Empfangsknoten verhindern. Das Router-System 3 gemäß der vorliegenden Erfindung adaptiert und überwindet Schwierigkeiten, wie Transmissionsfehler an Verknüpfungen oder weiche RAM-Fehler. Da jeder Entscheider 146 einen RAM zum Speichern von Anforderungen verwendet, können RAM-Fehler die Generierung falscher Anforderungen, einen Verlust tatsächlicher Anforderungen oder die Bewilligung einer inkorrekten Anforderung verursachen. Demgemäß sind Konsistenzselbstprüfmechanismen in dem Router-System 3 gemäß der vorliegenden Erfindung enthalten. Insbesondere wird gemäß der vorliegen den Erfindung das Router-System 3 zurückgesetzt, wenn die Entscheidereinheit 146 einen Rahmen an einen falschen Ausgabe-Port sendet. Gemäß einer Ausführungsform der vorliegenden Erfindung wird das Router-System 3 zurückgesetzt, wenn ein Rahmen für eine übermäßige Zeitlänge in einem Eingabepuffer bleibt.
  • 4A ist ein Schaltbild eines Abschnitts eines Kreuzschienenschalters 144 gemäß der vorliegenden Erfindung, welcher einen Schaltbus enthält, der seinerseits Metall- und Differenziallogik-Koppelpunktschalter enthält. Insbesondere zeigt 4A einen Kreuzschienenschalterabschnitt, welcher einen Schaltbus 11 mit einer ersten und einer zweiten Busseite 11a bzw. 11b enthält, die ihrerseits, gemäß einer Ausführungsform, 10 mm Metall- und 36 Koppelpunktschalter enthalten. Der Kreuzschienenschalter 11 wird durch ein Signal PC (Vorladen) vorgeladen, das an die Gates von Vorladetransistoren 41 und 42 angelegt wird, die mit VDD verbunden sind. Das Schalten wird in Bezug auf empfangene DATA durch die Transistorschaltung 43 ansprechend auf vom Transistor 43a empfangene GRANT-Signale erzielt. Ein GRANT-Signal wird simultan an das Gate der Transistoren 43a und 44a angelegt. Nach der Freigabe durch ein GRANT-Signal können DATA durch den Transistor 43a angelegt werden, und das Komplement der DATA wird gleichzeitig an den Transistor 44b angelegt. Ein Inverter 45 ändert DATA auf ihr Komplement. Der Kreuzschienenschalter 11 enthält ferner eine Differenzialschaltung mit reduzierter Schwingung, um die Signalpropagation zu beschleunigen. Gemäß einer Ausführungsform der vorliegenden Erfindung wird die Bitleitungsschwingung eingestellt, um in der Größenordnung von 500 mV zu liegen. Der Kreuzschienenschalter 11 enthält einen Leseverstärker 46, der gemäß einer Ausführungsform der vorliegenden Erfindung ausgebildet ist, eine Lesezeit von 0,2 ns aufzu weisen.
  • 4B ist ein Datenweg-Blockbild gemäß der vorliegenden Erfindung. Insbesondere enthält das Router-System 3 einen Eingabe-Port 3a, einen Ausgabe-Port 3b und eine Kreuzschienenmatrix 144'. Der Eingabe-Port 3a enthält einen Demultiplexer 400, einen Multiplexer 130', einen Rahmenkopfdecoder 128 und Eingabepufferelemente 135, die Pufferelemente 5a5m enthalten. Der Ausgabe-Port 3b enthält den Entscheider 146, den Rahmenkopfmodifikator 150 und den Multiplexer 151.
  • Am Eingabe-Port 104 empfangene Daten gehen durch die Demultiplexer 400 und 130' zu einem ausgewählten der Eingabepuffer 5a5m. Jeder Eingabepuffer hat eine dedizierte Leitung direkt zur Kreuzschienenmatrix 144', ohne dass irgendeine Entscheidung notwendig ist, um eine Verbindung eines beliebigen der Eingabepuffer 135 mit der Kreuzschienenmatrix 144' auszuwählen. Ein Entscheider 146 ist für jeden Ausgabe-Port der Kreuzschienenmatrix 144' vorgesehen, um einen der Eingabepuffer 5a5m für eine Verbindung mit dem assoziierten Ausgabe-Port auszuwählen. Steuersignale werden an Eingabe-Ports 102, 103 vom Demultiplexer 400 an den Rahmenkopfdecoder 128 geliefert, um das Vorliegen eines Rahmenkopfs anzuzeigen. Dies ermöglicht die Extraktion einer Eingabepufferadresse durch die Kreuzschiene 144' unter der Steuerung des Entscheiders 146. Nach der Ausgangstransmission von der Kreuzschiene 144' werden Rahmenköpfe modifiziert, um folgende Zielorte zu verschieben, und um den Zielort des aktuellen Router-Systems 3 zu löschen. Nach der Ausgabe aus dem Rahmenkopfmodifikator 150 werden Rahmen vom Multiplexer 151 gemultiplext, um von einem N-breiten Wort, das in jedem Taktzyklus gesendet wird, in das Vorsehen eines N/2-breiten Halbworts in jedem halben Taktzyklus konvertiert zu werden, der sowohl an Anstieg- als auch Abfallkanten ausgelöst wird.
  • 5A ist ein Blockbild eines ersten Flusssteuerwegsystems 490 zum Empfangen von Daten-, Takt- und Steuersignalen von einer benachbarten Schalteinheit gemäß der vorliegenden Erfindung. Insbesondere wird eine Flusssteuerung in einer ausgewählten Schalteinheit erzielt, indem Flusssteuerinformationen auf einem Weg, der n/2 breit ist, für eine vorherbestimmte (n) Anzahl von Bits empfangen werden. Die Flusssteuerinformationen werden auf demselben Weg wie Daten zeit-gemultiplext, die an der Schalteinheit ankommen. Die Flusssteuerinformationen, wie in 5A gezeigt, werden von einem Demultiplexer 501 (DEMUX) zu einem internen Weg mit doppelter Breite demultiplext, der n Bits breit ist. Zur Synchronisation ankommender Informationen von einer Eingangstaktdomäne werden Flusssteuerinformationen in einem Flusssteuer (FC)-Akkumulator 502 (FC_ACCUM) akkumuliert, um Informationsverluste während der Synchronisation zu vermeiden. Das erste Flusssteuerwegsystem 490 enthält ferner einen Flusssteuerempfänger 503, der die empfangenen Informationen evaluiert und Steuersignale zu einer Entscheidungseinheit 504 weiterleitet. Zusätzlich leitet der Flusssteuerempfänger 503 verfügbare Pufferelementadressen zu einem Rahmenkopfmodifikator 505 weiter.
  • 5B ist ein Flussdiagramm des Betriebs des ersten Flusssteuerwegsystems 490. Insbesondere werden Flusssteuerinformationen empfangen 510, demultiplext 511, akkumuliert 512 (und dadurch auch synchronisiert), evaluiert 513 und an die Entscheidungseinheit 504 geliefert 514, die mit einem bestimmten Ausgabe-Port assoziiert ist. Zusätzlich werden die Informationen an einen Paketkopfmodifikator 505 geliefert.
  • 5C ist ein Blockbild eines zweiten Flusssteuerwegsystems 491 gemäß der vorliegenden Erfindung. Insbesondere enthält das zweite Flusssteuerwegsystem 491 ein Eingabepuf ferstatus-Bestimmungselement 506, einen Flusssteuersender 507 und einen Multiplexer 508.
  • 5D ist ein Flussdiagramm eines zweiten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden Erfindung. Insbesondere ist 5D ein Flussdiagramm des Betriebs des zweiten Flusssteuerwegsystems 491. Das erste Flusssteuerwegsystem 491 bestimmt 520 den Eingabepufferstatus, sendet 521 Eingabepufferstatus-Informationen vom Flusssteuersender 507 und multiplext 522 eine Flusssteuermeldung mit Eingabepufferstatusinformationen für eine N-Bit-Kommunikation zu einem nächsten Knoten von dem internen N-Bit-breiten weg zu dem externen Weg mit N/2 Bits.
  • 6 ist ein Blockbild eines Abschnitts eines Router-Chip-Systems 3 gemäß der vorliegenden Erfindung. Das Router-Chip-System 3 gemäß der vorliegenden Erfindung enthält einen virtuellen Cut-Through-Paketschalter mit einer Vielzahl von Eingabe-Ports 604, von denen einer in 1 gezeigt ist. Jeder Eingabe-Port 604i ist mit einer Vielzahl von Pufferelementen 605i assoziiert, von denen jedes mit einer entsprechenden Kreuzschieneneingangsleitung 615i(j) verbunden ist, die mit einer beliebigen ausgewählten von Ausgangsleitungen 616a616f verbunden werden kann. Jeder Eingabe-Port 604 ist symmetrisch und ist mit einem zentralen Kreuzschienenschalter 144' assoziiert. Jeder Port 604 enthält K Eingangsleitungen und ist mit einer Eingabepuffereinheit 605 mit mehrfachen Eingängen und einem Entscheider 606 verbunden.
  • Der Entscheider 606 enthält eine Vielzahl von Entscheidereinheiten 606a606f, die jeweils mit Kreuzschienenausgangseinheiten 610a610f verbunden sind. Jede Kreuzschienenausgangseinheit 610i enthält eine assoziierte Ausgangsleitung 616i, welche mit einer Kopfmodifikationsschaltung 607 verbunden ist, die eine Vielzahl von Kopfmodifikationsein heiten 607i enthält. Die Kopfmodifikationsschaltung 607 ist mit einer Treiberschaltung 608 verbunden, die eine Vielzahl von Treiberelementen 608i enthält. Jedes Treiberelement 608i empfängt Daten von einer entsprechenden Kopfmodifikationseinheit 607i. Ausgabedaten werden demgemäß an Ausgangsleitungen 609 gemäß einem Takt 606 erzeugt.
  • 7A ist ein Blockbild eines gemäß der vorliegenden Erfindung gesendeten Rahmens 670. Insbesondere enthält der Rahmen 670 einen Rahmenkopf 671 und ein Paket 672. Der Rahmenkopf 671 enthält Felder für die Ausgabe-Port-Nummer, ein Prioritätsfeld und eine Eingabepufferadresse. Das Paket 672 enthält ferner einen Paketkopf 673, einen Fehlerdetektionscode (EDC) 674 und Daten 675.
  • 7B ist ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung. Gemäß dem in 7B gezeigten Verfahren wird ein Rahmenkopf 671 von einem Router-System 3 empfangen 700. Zusätzlich empfängt das Router-System 3 ein Rahmenhüllkurvensignal parallel mit dem Rahmen 670, um die Ankunft des Rahmens 670 und zusätzlich seine bevorstehende vollendete Transmission anzuzeigen. Gemäß einer Ausführungsform der vorliegenden Erfindung enthält das Rahmenhüllkurvensignal eine Kerbe, wie im Nachstehenden in Verbindung mit 7D detailliert beschrieben wird. Gemäß der vorliegenden Erfindung werden die Rahmenkopf-Ausgabe-Port-Nummer, das Prioritätsfeld und die Eingabepufferadresse kopiert 701. Als Nächstes kommt es zu einem Streaming 702 des Rahmens 670 in einen ausgewählten Eingabepuffer an Eingangstakt-Anstiegkanten. Die Ausgabe-Port werden separat plesiochron getaktet. Zusätzlich ist der Multiplexer 128' entlang einer der Leitungen 128'' mit einem dedizierten der Entscheider 146 gemäß dem in den Rahmenköpfen ausgewählten Ausgabe-Port verbunden, wodurch der Eingang der Eingabepufferadresse in ein korrektes Prioritäts-FIFO des dedizierten der Entscheider 146 ermöglicht wird, die über eine Wahl von Verbindungen entscheiden, und wählt dann einen bestimmten Eingabepuffer aus, um Port-Verbindungen auszugeben, und sendet dann ein "GRANT"-Signal. Ferner wird eine Kreuzschienenverbindung zwischen dem ausgewählten Ausgabe-Port und dem ausgewählten Eingabepuffer hergestellt 704. Dann beginnen 705 der Rahmenkopf 671, der EDC 674, der Paketkopf 673 und Daten 675 das Streaming aus dem Router-System 3 durch seinen ausgewählten Ausgabe-Port an den Anstiegkanten des Ausgangs- oder lokalen Takts gemäß dem plesiochronen Betrieb, der keine präzise Synchronisation von Eingangs- und Ausgangstakten erfordert.
  • Schließlich wird die Rahmenendkerbe detektiert 706, wodurch die Datentransmission vom Ausgabe-Port angehalten wird, und die Kreuzschienenverbindung zwischen einem bestimmten Eingabepuffer und Ausgabe-Port aufgehoben wird.
  • 7C ist ein Flussdiagramm der Entscheiderfunktionalität 770 gemäß der vorliegenden Erfindung. Insbesondere beschreibt das Flussdiagramm von 7C Merkmale von Entscheidern 146 gemäß der vorliegenden Erfindung. Das Verfahren gemäß der vorliegenden Erfindung enthält das Füllen 771 eines bestimmten First-in-first-out (FIFO)-Puffers von Entscheidern 146 mit der Adresse eines ausgewählten Eingabepuffers, mit dem der Ausgabe-Port zu verbinden ist, der mit dem ausgewählten der Entscheider 146 assoziiert ist. Als Nächstes wird das bestimmte FIFO gelesen 722, um einen bestimmten Koppelpunkt des Koppelpunktschalters 144' auszuwählen, wodurch die Verbindung zwischen dem assoziierten Ausgabe-Port und dem ausgewählten Eingabepuffer bewirkt wird.
  • 7D ist ein Zeitdiagramm eines Rahmenhüllkurvensignals 102 (F-ENV) gemäß der vorliegenden Erfindung. Das Rahmenhüllkurvensignal 102 wird an den Puffer 105 parallel mit Daten geliefert, wie in 1 gezeigt. 7D zeigt das Rahmenhüllkurvensignal 102 mit einem ersten und einem zweiten Logikzustand, 1 bzw. 0. Gemäß einer Ausführungsform der vorliegenden Erfindung wird das Rahmenhüllkurvensignal 102 auf 0 eingestellt, wenn parallele nicht parallel geliefert werden. Das Rahmenhüllkurvensignal 102 steigt auf einen Logikzustand 1 zur Zeit t0, wenn parallele Daten geliefert werden. Parallele Daten werden zur Zeit t3 nicht mehr geliefert, zu welcher Zeit der Logikzustand des Rahmenhüllkurvensignals 102 auf Null, 0, zurückkehren kann. Gemäß der vorliegenden Erfindung wird die Rückkehr auf Null durch eine Kerbe in dem Signalpegel des Rahmenhüllkurvensignals 102 zwischen vorherbestimmten Zeiten t1 und t2 antizipiert, während welches Intervalls der Logikpegel des Rahmenhüllkurvensignals 102 weiterhin auf einem Logikpegel von Null bleibt. Eine solche Antizipation erleichtert die zeitgerechte Freigabe des Kreuzschienenschalters 144 aus seinem dedizierten Zustand, der einen ausgewählten Eingabepuffer mit einem bestimmten Ausgabe-Port verbindet.
  • 7E ist ein Zeitdiagramm eines virtuellen Rahmen-Cut-Through gemäß der vorliegenden Erfindung, wobei die Transmission von Kopf- und Dateninformationen in unabhängigen Informationswörtern gestaffelt ist. Zwischen t0 und t3 des Rahmenhüllkurvensignals 102, wie in 7D angezeigt, werden Kopf- und Dateninformationen durch den ausgewählten Router-Chip gesendet. Insbesondere werden Wörter von Kopf- und Dateninformationen in unabhängigen Wörtern gesendet, und die Transmission beginnt unmittelbar mit dem Empfang in einem Kopf in einem ausgewählten Eingabepuffer, ohne zu prüfen, ob alle Daten durch vorherige ausgewählte Eingabe-Port-Puffer empfangen wurden. So wird der Kopf eines bestimmten Rahmens bereits zu einem nächsten Router-Chip gesendet worden sein, ohne jede Einschränkung zu prüfen, ob alle Wörter des bestimmten Rahmens an einem beliebigen bezeichneten Eingabepuffer empfangen wurden.

Claims (10)

  1. Router-Schaltung zum Kommunizieren mit benachbarten Schaltungen, mit: einer Vielzahl von Eingabe-Ports (104; 604) zum Empfangen von Rahmen von Daten, wobei jeder Rahmen eine Vielzahl von Datenwörtern enthält; einer Vielzahl von Ausgabe-Ports (609) zum Senden von Rahmen von Daten; einer Vielzahl von Eingabepuffern (135; 605) zum Speichern von Datenwörtern, die an einem Eingabe-Port empfangen werden; einem Kreuzschienenschalter (144'; 615, 616) mit einer Vielzahl von Eingängen (615) und Ausgängen (616), wobei jeder Eingabepuffer mit einem Eingang des für diesen Eingabepuffer dedizierten Kreuzschienenschalters gekoppelt ist, jeder Ausgabe-Port mit einem Ausgang des für diesen Ausgabe-Port dedizierten Kreuzschienenschalters gekoppelt ist, und der Kreuzschienenschalter zum schaltbaren Koppeln eines beliebigen Eingabepuffers mit einem beliebigen Ausgabe-Port (609) dient; und einer Vielzahl von Entscheider-Subsystemen (146; 606), dadurch gekennzeichnet, dass die Vielzahl von Ausgabe-Ports einen ersten Ausgabe-Port und einen von dem ersten Ausgabe-Port verschiedenen zweiten Ausgabe-Port enthält; dass zumindest ein Eingabe-Port gekoppelt ist, um Datenwörter zu zumindest zwei Eingabepuffern zu senden; und dass die Vielzahl von Entscheider-Subsystemen zumindest ein erstes Entscheider-Subsystem und ein von dem ersten Entscheider-Subsystem verschiedenes zweites Entscheider-Subsystem enthält, wobei das erste Entscheider-Subsystem dediziert ist, einen ersten Verbindungsteil von einem der Eingabepuffer durch den Kreuzschienenschalter zu dem ersten Ausgabe-Port auszuwählen, und das zweite Entscheider-Subsystem dediziert ist, einen zweiten Verbindungsteil von einem der Eingabepuffer durch den Kreuzschienenschalter zu dem zweiten Ausgabe-Port auszuwählen.
  2. Router-Schaltung nach Anspruch 1, ferner mit einem Demultiplexer (130'), der gekoppelt ist, um Halbwörter von den Eingabe-Ports zu empfangen, und um ganze Wörter zu den Eingabepuffern (135) zu senden, zum Konvertieren zweimal innerhalb eines einzigen Taktzyklus vorgesehener Halbwörter in einmal pro Zyklus getaktete ganze Wörter.
  3. Router-Schaltung nach Anspruch 1, bei welcher das erste Entscheider-Subsystem (146; 606) den ersten Verbindungsweg innerhalb eines Taktzyklus auswählt, und das zweite Entscheider-Subsystem den zweiten Verbindungsweg innerhalb eines Taktzyklus auswählt.
  4. Router-Schaltung nach Anspruch 1, ferner mit einer Synchronisationsschaltung (135, 135a, 136b).
  5. Router-Schaltung nach Anspruch 4, bei welcher die Synchronisationsschaltung Lese- (135a) und Schreib- (135b) Zeiger zum Lesen in die Eingabepuffer (135) und Schreiben aus diesen enthält.
  6. Router-Schaltung nach Anspruch 5, bei welcher die Lese- (135a) und Schreib- (135b) Zeiger denselben Eingabepuffer (135) identifizieren.
  7. Router-Schaltung nach Anspruch 5, bei welcher die Lese- (135a) Zeiger an einer lokalen Taktdomäne operieren, und die Schreib- (135b) Zeiger an einer ankommenden Takt domäne arbeiten.
  8. Verfahren zum Senden von Informationen von einem von einer Vielzahl von Eingabepuffern (135; 605) zu einem von einer Vielzahl von Ausgabe-Ports (609) in einer Router-Schaltung, die umfasst: die Vielzahl von Eingabepuffern, zumindest einen ersten Ausgabe-Port und einen zweiten Ausgabe-Port der Vielzahl von Ausgabe-Ports, einen Kreuzschienenschalter (144; 615, 616), der die Eingabepuffer mit der Vielzahl von Ausgabe-Ports koppelt, und eine Vielzahl von Entscheider-Subsystemen (146; 606), die zumindest ein erstes Entscheider-Subsystem und ein zweites Entscheider-Subsystem enthalten, welches Verfahren die Schritte umfasst: Empfangen von Informationen an einem der Eingabepuffer (135; 605); dadurch gekennzeichnet, dass das Verfahren ferner die Schritte umfasst: Bestimmen eines von dem ersten Ausgabe-Port und dem zweiten Ausgabe-Port als Ziel-Ausgabe-Port (609) für die empfangenen Informationen, wobei der zweite Ausgabe-Port von dem ersten Ausgabe-Port verschieden ist; Versehen des ersten Entscheider-Subsystems mit einer Adresse des Eingabepuffers, wenn der erste Ausgabe-Port der Ziel-Ausgabe-Port ist, und Versehen des zweiten Entscheider-Subsystems mit der Adresse des Eingabepuffers, wenn der zweite Ausgabe-Port der Ziel-Ausgabe-Port ist, wobei das zweite Entscheider-Subsystem von dem ersten Entscheider-Subsystem verschieden ist; ansprechend auf die vorgesehene Adresse, Bewirken, dass das erste Entscheider-Subsystem den ersten Verbindungsweg von dem Eingabepuffer durch den Kreuzschienenschalter zu dem ersten Ausgabe-Port auswählt, wenn der erste Ausgabe-Port der Ziel-Ausgabe-Port ist, und Bewirken, dass das zweite Entscheider-Subsystem den zweiten Verbindungsweg von dem Eingabepuffer durch den Kreuzschienenschalter zu dem zweiten Ausgabe-Port auswählt, wenn der zweite Ausgabe-Port der Ziel-Ausgabe-Port ist; Konfigurieren des Kreuzschienenschalters, um den adressierten Eingabepuffer mit dem ersten Ausgabe-Port zu verbinden, der dem ersten Entscheider-Subsystem entspricht, wenn der erste Ausgabe-Port der Ziel-Ausgabe-Port ist, und Konfigurieren des Kreuzschienenschalters, um den adressierten Eingabepuffer mit dem zweiten Ausgabe-Port zu verbinden, der dem zweiten Entscheider-Subsystem entspricht, wenn der zweite Ausgabe-Port der Ziel-Ausgabe-Port ist.
  9. Verfahren nach Anspruch 8, bei welchem: das Verfahren ferner umfasst: Vorsehen einer Priorität der an dem Eingabepuffer (135; 605) empfangenen Informationen für das erste Entscheider-Subsystem (146; 606), das für den ersten Ziel-Ausgabe-Port (609) dediziert ist, wenn der erste Ausgabe-Port der Ziel-Ausgabe-Port ist, und Vorsehen einer Priorität der an dem Eingabepuffer empfangenen Informationen für das zweite Entscheider-Subsystem, das für den Ziel-Ausgabe-Port dediziert ist, wenn der zweite Ausgabe-Port der Ziel-Ausgabe-Port ist.
  10. Verfahren nach Anspruch 9, bei welchem der Schritt des Bewirkens, dass das erste Entscheider-Subsystem (146; 606) einen ersten Verbindungsweg auswählt, oder der Schritt des Bewirkens, dass das zweite Entscheider-Subsystem einen zweiten Verbindungsweg auswählt, innerhalb eines Taktzyklus auftritt.
DE69734492T 1996-02-22 1997-02-19 System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren Expired - Lifetime DE69734492T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/603,926 US5838684A (en) 1996-02-22 1996-02-22 Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US603926 1996-02-22
PCT/US1997/002938 WO1997031462A1 (en) 1996-02-22 1997-02-19 Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method

Publications (2)

Publication Number Publication Date
DE69734492D1 DE69734492D1 (de) 2005-12-08
DE69734492T2 true DE69734492T2 (de) 2006-06-22

Family

ID=24417470

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69734492T Expired - Lifetime DE69734492T2 (de) 1996-02-22 1997-02-19 System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren

Country Status (5)

Country Link
US (1) US5838684A (de)
EP (1) EP0823168B1 (de)
JP (1) JP3816530B2 (de)
DE (1) DE69734492T2 (de)
WO (1) WO1997031462A1 (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
US6031835A (en) * 1997-04-04 2000-02-29 International Business Machines Corporation Method for deadlock free and and reliable routing in a packet switched network
US6081503A (en) * 1997-10-01 2000-06-27 Lucent Technologies Inc. Control architecture using an embedded signal status protocol
US6137790A (en) * 1997-10-01 2000-10-24 Lucent Technologies Inc. Control architecture for a homogeneous routing structure
KR100250437B1 (ko) * 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
GB2334651A (en) * 1998-02-18 1999-08-25 Power X Limited Scheduling means for data switching apparatus
US6301228B1 (en) 1998-05-29 2001-10-09 Lucent Technologies, Inc. Method and apparatus for switching signals using an embedded group signal status
US6560202B1 (en) 1998-07-27 2003-05-06 Lucent Technologies Inc. Control architecture using a multi-layer embedded signal status protocol
US6331977B1 (en) * 1998-08-28 2001-12-18 Sharp Electronics Corporation System on chip (SOC) four-way switch crossbar system and method
US6748442B1 (en) * 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6510138B1 (en) * 1999-02-25 2003-01-21 Fairchild Semiconductor Corporation Network switch with head of line input buffer queue clearing
US6636483B1 (en) * 1999-02-25 2003-10-21 Fairchild Semiconductor Corporation Network switch with zero latency flow control
US6658015B1 (en) * 1999-05-28 2003-12-02 Advanced Micro Devices, Inc. Multiport switch with plurality of logic engines for simultaneously processing different respective data frames
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US6985988B1 (en) 2000-11-09 2006-01-10 International Business Machines Corporation System-on-a-Chip structure having a multiple channel bus bridge
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US6735218B2 (en) * 2000-11-17 2004-05-11 Foundry Networks, Inc. Method and system for encoding wide striped cells
US7356030B2 (en) * 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7168032B2 (en) * 2000-12-15 2007-01-23 Intel Corporation Data synchronization for a test access port
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
JP2002223202A (ja) * 2001-01-26 2002-08-09 Fujitsu Ltd データ伝送方法及びそれを用いた伝送装置
US7206283B2 (en) * 2001-05-15 2007-04-17 Foundry Networks, Inc. High-performance network switch
US6721312B2 (en) * 2001-06-01 2004-04-13 Pluris, Inc. Method and apparatus for improving data transmission in router fabric cards through pseudo-synchronous data switching
US6920106B1 (en) 2001-09-07 2005-07-19 Agilent Technologies, Inc. Speculative loading of buffers within a port of a network device
US6763418B1 (en) 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
US6950394B1 (en) 2001-09-07 2005-09-27 Agilent Technologies, Inc. Methods and systems to transfer information using an alternative routing associated with a communication network
US7237016B1 (en) 2001-09-07 2007-06-26 Palau Acquisition Corporation (Delaware) Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device
US7054330B1 (en) 2001-09-07 2006-05-30 Chou Norman C Mask-based round robin arbitration
US6839794B1 (en) 2001-10-12 2005-01-04 Agilent Technologies, Inc. Method and system to map a service level associated with a packet to one of a number of data streams at an interconnect device
US7209476B1 (en) 2001-10-12 2007-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for input/output port mirroring for networking system bring-up and debug
US6922749B1 (en) 2001-10-12 2005-07-26 Agilent Technologies, Inc. Apparatus and methodology for an input port of a switch that supports cut-through operation within the switch
US7715377B2 (en) * 2002-01-03 2010-05-11 Integrated Device Technology, Inc. Apparatus and method for matrix memory switching element
US6909710B1 (en) * 2002-01-03 2005-06-21 International Business Machines Corporation Method of operating a buffered crossbar switch
US7016996B1 (en) 2002-04-15 2006-03-21 Schober Richard L Method and apparatus to detect a timeout condition for a data item within a process
US7239669B2 (en) * 2002-04-30 2007-07-03 Fulcrum Microsystems, Inc. Asynchronous system-on-a-chip interconnect
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US8111715B1 (en) 2002-05-09 2012-02-07 Marvell International Ltd. Method and apparatus for transferring a frame of data from a first network to a second network
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US7724733B2 (en) * 2005-03-31 2010-05-25 International Business Machines Corporation Interconnecting network for switching data packets and method for switching data packets
JP2006333438A (ja) * 2005-04-28 2006-12-07 Fujitsu Ten Ltd ゲートウェイ装置及びルーティング方法
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
EP1859372B1 (de) * 2006-02-23 2019-03-27 Mentor Graphics Corporation Crossbar-vermittlung in einer emulationsumgebung
DE102006025133A1 (de) * 2006-05-30 2007-12-06 Infineon Technologies Ag Speicher- und Speicherkommunikationssystem
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8190881B2 (en) 2007-10-15 2012-05-29 Foundry Networks Llc Scalable distributed web-based authentication
US20090182798A1 (en) * 2008-01-11 2009-07-16 Mediatek Inc. Method and apparatus to improve the effectiveness of system logging
JP5387918B2 (ja) 2008-04-30 2014-01-15 日本電気株式会社 ルータ、そのルータを有する情報処理装置及びパケットのルーティング方法
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8391717B2 (en) * 2010-05-24 2013-03-05 Hewlett-Packard Development Company, L. P. Flow-control methods and systems for multibus systems
US8582437B2 (en) 2011-06-21 2013-11-12 Broadcom Corporation System and method for increasing input/output speeds in a network switch
EP3214822B1 (de) * 2014-11-28 2020-05-27 Huawei Technologies Co., Ltd. Netzwerk-auf-chip, kommunikationssteuerungsverfahren und steuergerät
SG10201600224SA (en) * 2016-01-12 2017-08-30 Huawei Int Pte Ltd Dedicated ssr pipeline stage of router for express traversal (extra) noc
US11223495B2 (en) * 2017-03-06 2022-01-11 Mitsubishi Electric Corporation Transfer device, transfer method, and transfer system
CN111432899B (zh) * 2017-09-19 2022-04-15 Bae系统控制有限公司 用于管理对共享端口的多核访问的系统和方法
WO2021128221A1 (zh) * 2019-12-26 2021-07-01 华为技术有限公司 交换芯片

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8915135D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
CA2015514C (en) * 1989-08-22 1996-08-06 Mitsuru Tsuboi Packet switching system having bus matrix switch
US5475680A (en) * 1989-09-15 1995-12-12 Gpt Limited Asynchronous time division multiplex switching system
US5495482A (en) * 1989-09-29 1996-02-27 Motorola Inc. Packet transmission system and method utilizing both a data bus and dedicated control lines
US5166926A (en) * 1990-12-18 1992-11-24 Bell Communications Research, Inc. Packet address look-ahead technique for use in implementing a high speed packet switch
US5384773A (en) * 1991-03-29 1995-01-24 International Business Machines Corp. Multi-media analog/digital/optical switching apparatus
US5241536A (en) * 1991-10-03 1993-08-31 Northern Telecom Limited Broadband input buffered atm switch
US5255265A (en) * 1992-05-05 1993-10-19 At&T Bell Laboratories Controller for input-queued packet switch
US5267235A (en) * 1992-05-21 1993-11-30 Digital Equipment Corporation Method and apparatus for resource arbitration
JP3384838B2 (ja) * 1992-06-29 2003-03-10 シャープ株式会社 インターフェース装置
US5406554A (en) * 1993-10-05 1995-04-11 Music Semiconductors, Corp. Synchronous FIFO having an alterable buffer store
US5517495A (en) * 1994-12-06 1996-05-14 At&T Corp. Fair prioritized scheduling in an input-buffered switch

Also Published As

Publication number Publication date
DE69734492D1 (de) 2005-12-08
EP0823168A1 (de) 1998-02-11
US5838684A (en) 1998-11-17
JP3816530B2 (ja) 2006-08-30
JPH11504496A (ja) 1999-04-20
EP0823168B1 (de) 2005-11-02
WO1997031462A1 (en) 1997-08-28

Similar Documents

Publication Publication Date Title
DE69734492T2 (de) System für plesioasynchronen paketbasierten kreuzschienenschalterchip mit hoher taktfrequenz und niedriger latenzzeit, sowie verfahren
DE3533847C2 (de) Weglenkendes Paketvermittlungs-Koppelfeld mit stufeninterner Paketübertragung
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
EP0245996B1 (de) Verfahren und Schalter zum Vermitteln von Informationen
US6636483B1 (en) Network switch with zero latency flow control
DE60316587T2 (de) Integrierter schaltkreis und verfahren zum erstellen von transaktionen
EP0365864B1 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
US6373848B1 (en) Architecture for a multi-port adapter with a single media access control (MAC)
US4761780A (en) Enhanced efficiency Batcher-Banyan packet switch
DE60024794T2 (de) Vorrichtung für ethernet phy/mac-kommunikation
DE69535477T2 (de) Paketverwaltungsgerät für schnelles Paketnetzwerk
DE69732274T2 (de) Flusssteuerungsprotokollsystem und verfahren
JPS60148249A (ja) メツセ−ジ除去方法
DE112004002567T5 (de) Lane-zu-Lane-Entzerrung über Nicht-Daten-Symbolverarbeitung für eine serielle Punkt-zu-Punkt-Verbindung
DE10392638T5 (de) Koppelpunktschalter mit Serialisierungs- und Deserialisierungsfunktionen
JPS6211344A (ja) 高速パケツト交換装置
US5898691A (en) Method and apparatus for congestion distributed adaptive routing
DE60133685T2 (de) Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz
US7502375B2 (en) Modular and scalable switch and method for the distribution of fast ethernet data frames
DE60125300T2 (de) Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung
DE60204794T2 (de) Mechanismus zur kennzeichnung und arbitrierung in einem eingabe/ausgabe knoten eines rechnersystems
EP0289733B1 (de) Vermittlungsverfahren für integrierte Sprach/Daten-Übertragung
US5051985A (en) Contention resolution in a communications ring
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
US6470021B1 (en) Computer network switch with parallel access shared memory architecture

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE