DE60120807T2 - Switching device and method - Google Patents

Switching device and method Download PDF

Info

Publication number
DE60120807T2
DE60120807T2 DE60120807T DE60120807T DE60120807T2 DE 60120807 T2 DE60120807 T2 DE 60120807T2 DE 60120807 T DE60120807 T DE 60120807T DE 60120807 T DE60120807 T DE 60120807T DE 60120807 T2 DE60120807 T2 DE 60120807T2
Authority
DE
Germany
Prior art keywords
data
output
input
permission
switching
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
DE60120807T
Other languages
German (de)
Other versions
DE60120807D1 (en
Inventor
Ronald P. Luijten
Michel Colmant
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60120807D1 publication Critical patent/DE60120807D1/en
Application granted granted Critical
Publication of DE60120807T2 publication Critical patent/DE60120807T2/en
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/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • 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
    • 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/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Vehicle Body Suspensions (AREA)
  • Air Bags (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)

Abstract

A switching device comprising several input ports and several output ports, whereby each of the input ports is connectable to a corresponding switch adapter. At least one switch controller controls the routing of incoming data packets from the input ports to the output ports. For each output port a congestion controller is arranged which in operation, generates grant information which signals whether the switch adapters are allowed to send the data packet to the output port. For each of the input ports a data packet access controller marks a data packet as non-compliant if the packet was erroneously sent from said output port.

Description

Die Erfindung bezieht sich auf eine Schalteinheit für Datenpakete mit mehreren Eingangsanschlüssen und mehreren Ausgangsanschlüssen, die dazu bestimmt ist, eingehende Datenpakete gemäß ihrem Datenanfangs-Etikett an einen oder mehrere vorgesehene Ausgangsanschlüsse und von dort an eine nachfolgende Einheit zu übertragen. Die Eingangsanschlüsse der Schalteinheit sind mit Schaltadaptern verbunden. Insbesondere bezieht sich die Erfindung auf eine Schalteinheit, die Datenpakete durch ein Schaltwerk leitet und über einen Mechanismus verfügt, der die Verarbeitung von Datenpakete verhindert, falls den Schaltadaptern eine Überlastsituation gemeldet wurde. Als Datenpakete sind insbesondere ATM-Zellen oder auch Ethernet-Datenrahmen zulässig.The The invention relates to a switching unit for data packets with several input terminals and several output terminals, which is intended to receive incoming data packets according to their Data header label to one or more intended output terminals and from there to a subsequent unit to transfer. The input terminals of the Switching unit are connected to switching adapters. In particular, refers The invention relates to a switching unit, the data packets through a derailleur conducts and over has a mechanism which prevents the processing of data packets, if the switching adapters an overload situation was reported. As data packets are in particular ATM cells or also Ethernet data frames allowed.

TECHNISCHES GEBIET UND HINTERGRUND DER ERFINDUNGTECHNICAL FIELD AND BACKGROUND OF THE INVENTION

Die schnelle Schaltung von Daten, seien es Abtastwerte von Analogsignalen oder alphanumerische Daten, stellt eine wichtige Aufgabe in einem Datenübertragungsnetzwerk dar. Die Netzwerkknoten, an denen Leitungen oder Übertragungsverbindungen aus verschiedenen Richtungen zusammenlaufen, um so den Datenaustausch zwischen ihnen zu ermöglichen, bilden häufig die Ursache für Verzögerungen bei der Übertragung. Wenn an einem Knoten ein starker Datenverkehr vorliegt und wenn insbesondere der Großteil des Datenverkehrs über einige wenige Verbindungen läuft, kommt es häufig zu vermehrten Verzögerungen oder sogar zu Datenverlusten. Aus diesem Grund ist es wünschenswert, über Schaltknoten zu verfügen, die eine schnelle Wegewahl ermöglichen.The fast switching of data, be it samples of analog signals or alphanumeric data, represents an important task in one Data transmission network dar. The network nodes on which lines or transmission links off converge in different directions so as to exchange data to enable between them make frequent the cause of delays in the transmission. If there is heavy traffic on a node and if especially the majority traffic over a few connections are running, it happens often to increased delays or even data loss. For this reason, it is desirable to have switching nodes to dispose of which allow a quick routing.

EP 0 312 628 beschreibt eine Schaltvorrichtung für die Verbindung einer Vielzahl von ein- und ausgehenden Übertragungsleitungen eines Datenübertragungsnetzwerks bzw. für den Datenaustausch zwischen ein- und ausgehenden Verbindungsleitungen von Computern und Arbeitsplatzrechnern. Darüber hinaus werden bekannte Datenpaketformate beschrieben. EP 0 312 628 describes a switching device for the connection of a plurality of incoming and outgoing transmission lines of a data transmission network or for data exchange between incoming and outgoing connection lines of computers and workstations. In addition, known data packet formats are described.

Einen Überblick über die Schalttechnologie nach dem Stand der Technik gibt die Internetseite www.zurich.ibm.com/Technology/ATM/SWOCPWP, auf der eine Einführung zum PRIZMA-Chip gegeben wird. Eine weitere Informationsquelle zu diesem Thema ist die Veröffentlichung mit dem Titel „A flexible shared-buffer switch for ATM at Gbit/s rates" von W.E. Denzel, A.P.J. Engbersen und I. Iliadis in Computer Networks and ISDN Systems, (0169-7552/94), Elsevier Science B.V., Bd. 27, Nr. 4, S. 611 bis 624.An overview of the State-of-the-art switching technology is available at www.zurich.ibm.com/Technology/ATM/SWOCPWP the an introduction is given to the PRIZMA chip. Another source of information too this topic is the publication entitled "A flexible shared-buffer switch for ATM at Gbit / s rates "by W. E. Denzel, A.P.J. Engbersen and I. Iliadis in Computer Networks and ISDN Systems, (0169-7552 / 94), Elsevier Science B.V., Vol. 27, No. 4, pp. 611 to 624th

Der PRIZMA-Chip umfasst einen gemeinsam genutzten Ausgangspufferspeicher und verfügt über 16 Ein- und 16 Ausgangsanschlüsse, die eine Anschlussgeschwindigkeit von 300 bis 400 MBit/s bereitstellen. Das Schaltprinzip besteht darin, dass eingehende Datenpakete zunächst durch einen vollständig parallelen E/A-Wegewahlbaum geleitet werden und die weitergeleiteten Datenpakete anschließend in den Ausgangspufferspeicher gestellt werden. Zusätzlich verwendet der Chip eine Trennung zwischen (Nutz-)Datenfluss und Steuerdatenfluss (Datenanfangs-Etiketten). Nur die Nutzdaten werden in einem Ausgangspufferspeicher mit dynamischer gemeinsamer Nutzung gespeichert. Der PRIZMA-Chip weist eine skalierbare Architektur auf und bietet somit eine Vielzahl von Erweiterungsmöglichkeiten, mit denen die Anschlussgeschwindigkeit, die Anzahl der Anschlüsse und der Datendurchsatz erhöht werden können. Diese Erweiterungen lassen sich auf der Grundlage einer modularen Nutzung des PRIZMA-Chips umsetzen. Daneben können auch modular aufgebaute Einstufen- oder Mehrstufen-Schaltwerke erstellt werden.Of the PRIZMA chip includes a shared output buffer and has 16 inputs and 16 output terminals, which provide a port speed of 300 to 400 Mbps. The switching principle is that incoming data packets first by a complete one parallel I / O routing tree and forwarded ones Data packets subsequently placed in the output buffer memory. Additionally used the chip is a separation between (useful) data flow and control data flow (beginning of data labels). Only the payload is shared in an output buffer with dynamic common Usage saved. The PRIZMA chip has a scalable architecture and thus offers a variety of expansion options, with which the connection speed, the number of connections and the data throughput increased can be. These extensions can be based on a modular Implement the use of the PRIZMA chip. In addition, can also be modular One-stage or multi-stage derailleurs are created.

Der PRIZMA-Chip eignet sich besonders für die Breitband-Datenfernübertragung auf der Grundlage von ATM, d.h. Asynchronous Transfer Mode (asynchrones Übermittlungsverfahren). Allerdings ist das Konzept nicht auf ATM-bezogene Architekturumgebungen beschränkt. ATM beruht auf kurzen Datenpaketen mit einer festen Länge, die häufig auch als Zellen bezeichnet werden, und ist als integrierter Schalt- und Übertragungsstandard für das künftige öffentliche Breitband-ISDN (Broadband Integrated Services Digital Network) vorgesehen. Die Topologie und Warteschlangenfunktion des PRIZMA-Chips für den freien Zugriff mit Kollisionen (Content-Resolution-Zugriffsverfahren) arbeitet mit einem hohen Grad an Parallelität. Die Wegewahlfunktion erfolgt auf verteilte Art und Weise auf Hardware-Ebene und wird als Selbst-Wegewahl bezeichnet. ATM-Datenpakete werden in mehrere Pakettypen unterteilt, insbesondere in Pakettypen mit unterschiedlichen Nutzdatengrößen, wobei der PRIZMA-Chip für die Verarbeitung von Datenpaketen mit einer Nutzdatengröße von bis zu 64 Byte ausgelegt ist. Es werden jedoch häufig auch Datenpakete mit einer Nutzdatengröße von 12, 16, 32 oder 48 Byte übertragen.Of the PRIZMA chip is particularly suitable for broadband data transmission based on ATM, i. Asynchronous Transfer Mode. However, the concept is not based on ATM-related architecture environments limited. ATM is based on short data packets with a fixed length, the often also referred to as cells, and is as an integrated switching and transmission standard for the future public Broadband ISDN (Broadband Integrated Services Digital Network) provided. The topology and queuing feature of the PRIZMA chip for the free one Access with collisions (Content Resolution access method) works with a high degree of parallelism. The routing function takes place in a distributed manner at the hardware level and is called self-routing designated. ATM data packets are divided into several packet types, especially in packet types with different payload sizes, where the PRIZMA chip for the processing of data packets with a payload size of up to 64 bytes is designed. However, there are often data packets with a Payload size of 12, 16, Transmit 32 or 48 bytes.

Wenn mehrere Datenquellen mit einer einzigen Schalteinheit verbunden sind, wird jeder der Quellen eine bestimmte Bandbreite zugewiesen, die nicht oder nur geringfügig überschritten werden darf, da andernfalls die Leistung der Schalteinheit abnehmen und es in der Folge zu längeren Latenzzeiten oder sogar zu Datenverlust kommen würde. Die Datenquellen und hier insbesondere die Unternehmen, welche die Daten bereitstellen, haben Vorgaben bezüglich der Bandbreitennutzung einzuhalten, die in der Regel Strafgebühren nach sich ziehen, wenn ein Unternehmen die ihm zugewiesene Bandbreite überschreitet. Es ist Aufgabe der Schalteinheit, die Datenquellen dahingehend gerecht zu behandeln, dass sie die Datenpakete von denjenigen Datenquellen verarbeitet, die unterhalb der zugewiesenen Bandbreite bleiben, und dass sie bei Bedarf lediglich die Verarbeitungsqualität derjenigen eingehenden Datenpakete verringert, die über die zugewiesene Bandbreite hinausgehen. Diese so genannte Dienstqualität ist von entscheidender Bedeutung für die Befriedigung des Interesses der Kunden, die ein Recht darauf haben, mit Blick auf ihre Datenpakete gerecht behandelt zu werden. Eine ungerechte Behandlung kann zu Unzufriedenheit der Kunden und zu finanziellen Einbußen führen. Um den bei einer Schalteinheit eingehenden Fluss von Datenpaketen zu steuern, beschreibt die US-Patentschrift 5 493 566 ein System, mit dem der Fluss von Datenzellen durch eine Datenpaket-Schalteinheit sowohl Eingangs- als auch Ausgangspufferspeicher in einer Rückkopplungsschleife vereint. Der Auslastungsgrad der Ausgangspufferspeicher wird ständig überwacht und an eine Zugriffseinheit auf der Eingangsseite der Schalteinheit übermittelt. Die Zugriffseinheit beinhaltet Eingangspufferspeicher und eine Drosselungseinheit, um den Fluss der Datenzellen zu stoppen und sie in den Eingangspufferspeichern zurückzuhalten, wenn der Auslastungsgrad der Ausgangspufferspeicher einen vorgegebenen Stand übersteigt. Dabei wird eine Statusmeldung zum Auslastungsgrad der Ausgangspufferspeicher mit einer Zugriffsnachricht verglichen, die angibt, welche Ausgangspufferspeicher von Zellen in den Eingangspufferspeichern adressiert werden, und nur die Zellen, die an Ausgangspufferspeicher mit einem zu hohen Auslastungsgrad adressiert sind, werden von der Drosselungseinheit gestoppt.If multiple data sources are connected to a single switching unit, each of the sources will be assigned a certain bandwidth, which may not be exceeded, or only slightly exceeded, otherwise the switching unit's power will decrease, resulting in longer latency or even data loss. The data sources, and in particular the companies providing the data, must adhere to bandwidth usage standards, which typically result in penalties if a company over-distributes its allocated bandwidth below. It is the task of the switching unit to treat the data sources as processing the data packets from those data sources that remain below the allocated bandwidth and, if necessary, only reducing the processing quality of those incoming data packets that exceed the allocated bandwidth. This so-called quality of service is crucial to satisfying the interests of customers who have a right to be fairly treated with regard to their data packets. Unfair treatment can lead to customer dissatisfaction and financial loss. In order to control the flow of data packets arriving at a switching unit, US Patent 5,493,566 describes a system whereby the flow of data cells through a data packet switching unit combines both input and output buffers in a feedback loop. The degree of utilization of the output buffer memory is constantly monitored and transmitted to an access unit on the input side of the switching unit. The access unit includes input buffer memory and a throttling unit for stopping the flow of data cells and retaining them in the input buffers when the utilization rate of the output buffer memory exceeds a predetermined level. A status indication of the utilization level of the output buffers is compared with an access message indicating which output buffers are addressed by cells in the input buffers, and only the cells addressed to output buffers with too high a load are stopped by the throttling unit.

„Random Early Detection Gateways for Congestion Avoidance" von S. Floyd et. al., IEEE Transactions on Networking, August 1993, Bd. 1, Nr. 4, Seiten 397 bis 413, offenbart, wie der Verbindungsrechner eine unmittelbar bevorstehende Überlastsituation erkennt, indem er die durchschnittliche Größe der Warteschlange berechnet. Dabei kann der Verbindungsrechner Verbindungen von einer Überlastsituation unterrichten, indem er entweder bei ihm eingehende Datenpakete löscht oder indem er in den Datenanfangs-Etiketten der Datenpakete ein Bit setzt. Wenn die Durchschnittsgröße der Warteschlange einen vorbestimmten Grenzwert überschreitet, löscht bzw. markiert der Verbindungsrechner jedes eingehende Datenpaket mit einer bestimmten Wahrscheinlichkeit, wobei der genaue Grad der Wahrscheinlichkeit eine Funktion der durchschnittlichen Warteschlangengröße ist."Random Early Detection Gateways for Congestion Avoidance "by S. Floyd et. al., IEEE Transactions on Networking, August 1993, Vol. 1, No. 4, pp 397-413, discloses how the connection computer directly imminent overload situation recognizes by calculating the average size of the queue. In this case, the connection computer connections from an overload situation teach by either deleting incoming data packets or by setting a bit in the data start labels of the data packets. If the average size of the queue exceeds a predetermined limit, clears or the connection computer marks each incoming data packet with a certain probability, with the exact degree of probability is a function of the average queue size.

AUFGABE UND VORTEILE DER ERFINDUNGTASK AND ADVANTAGES OF THE INVENTION

Die Drosselungseinheit gemäß dem zuletzt erwähnten Stand der Technik ist derjenige Teil des Schaltadapters, welcher die Geschwindigkeit der an die Schalteinheit selbst gesendeten Datenpakete steuert. Die Schalteinheit verfügt über keinen Mechanismus für die Handhabung eines Adapters, der den Fluss der Datenpakete aus einem wie auch immer gearteten Grund nicht gemäß dem mitgeteilten Auslastungsgrad des Ausgangspufferspeichers drosselt.The Throttling unit according to the last-mentioned state The technique is that part of the switching adapter that controls the speed the data packets sent to the switching unit itself controls. The switching unit has none Mechanism for the handling of an adapter that controls the flow of data packets a reason whatsoever not in accordance with the reported utilization rate of the output buffer.

Eine Aufgabe der Erfindung gemäß Anspruch 1 und 9 besteht in der Bereitstellung einer Schalteinheit bzw. eines Verfahrens, die/das in der Lage ist, mit Schaltadaptern, die fehlerhaft sind oder aus anderweitigen Gründen trotz Gegendruck weiterhin Datenpakete senden, umzugehen, um so allen verbundenen Datenquellen eine gerechte Behandlung und Dienstqualität anbieten zu können.A Object of the invention according to claim 1 and 9 is to provide a switching unit or a Method that is capable of using circuit adapters that are faulty or for any other reason despite counterpressure, data packets continue to send, so to speak offer fair treatment and quality of service to all linked data sources to be able to.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY THE INVENTION

Die Erfindung bezieht sich auf eine Schalteinheit mit mehreren Eingangsanschlüssen und mehreren Ausgangsanschlüssen, wobei jeder Eingangsanschluss mit einem entsprechenden Schaltadapter verbunden ist. Mindestens eine Schaltsteuereinheit steuert die Weiterleitung der eingehenden Datenpakete von den Eingangs- zu den Ausgangsanschlüssen. Eine Überlaststeuereinheit ist für jeden Ausgangsanschluss so gestaltet, dass sie während ihres Betriebs Daten in Form von Gegendruckdaten bereitstellt, die melden, ob die Schaltadapter eines der Datenpakete über den Eingangsanschluss an den Ausgangsanschluss senden dürfen. Für den Fall, dass trotz nicht erteilter Erlaubnis zum Senden des Datenpakets ein Datenpaket an dem Eingangsanschluss empfangen wird, ist für jeden der Eingangsanschlüsse eine Datenpaket-Zugriffsteuereinheit in Betrieb, die so ausgelegt ist, dass sie das Datenpaket als nichtregelgerecht kennzeichnet, wobei die Schalteinheit so ausgelegt ist, dass sie die Kennzeichnung verwendet, um die gekennzeichneten Datenpakete zu löschen. Mit dieser Kennzeichnung kann die Weiterleitung des Datenpakets verhindert werden. Die Kennzeichnung als nichtregelgerecht übernimmt eine Datenpaket-Zugriffsteuereinheit, die der Schalteinheit zugehörig ist. Vorzugsweise wird die Latenzzeit der Datenflusssteuerung, d.h. die Zeitspanne zwischen dem Zeitpunkt, zu dem die Erlaubnisverweigerung an der Datenpaket-Zugriffsteuereinheit empfangen wurde, und dem Zeitpunkt, zu dem das erste Datenpaket möglicherweise gesendet wurde, nachdem der Schaltadapter über die Erlaubnisverweigerung unterrichtet wurde, von der Datenpaket-Zugriffsteuereinheit berücksichtigt.The The invention relates to a switching unit having a plurality of input terminals and a plurality Output terminals, each input terminal having a corresponding switching adapter connected is. At least one shift control unit controls the forwarding the incoming data packets from the input to the output ports. An overload control unit is for Each output connector is designed to receive data during its operation in the form of backpressure data that will report if the switching adapters one of the data packets over may send the input terminal to the output terminal. In the case, that despite not granted permission to send the data packet a data packet is received at the input port is for each the input terminals a data packet access control unit in operation, which is designed to make the data packet as non-compliant characterized in that the switching unit is designed so that they the tag used to identify the tagged data packets to delete. With this marking, the forwarding of the data packet be prevented. The marking as non-regular takes over a data packet access control unit associated with the switching unit. Preferably, the latency of the data flow control, i. the Time between the time when the permission refusal at the data packet access control unit was received, and the time at which the first data packet possibly was sent after the switching adapter about the permission refusal was taken into account by the data packet access control unit.

In einem Schema mit Eingangspufferspeichern und einem gemeinsamen Ausgangspufferspeicher kann die Erfindung wie folgt realisiert sein: Für die Ausgangswarteschlangen und/oder den gemeinsamen Ausgangspufferspeicher wird ein Erlaubnismittel in Form einer Überlaststeuereinheit bereitgestellt, die den Eingangspufferspeichern mitteilt, dass ein Grenzwert für die belegten Speicherplätze in einer oder mehreren der Ausgangswarteschlangen bzw. für die belegten Adressen in dem gemeinsamen Ausgangspufferspeicher überschritten ist. Die vorgesehene Reaktion der Eingangspufferspeicher auf diesen Gegendruck wird durch die Datenpaket-Zugriffsteuereinheit gewährleistet, welche die Datenpakete, die trotz des erzeugten Gegendrucks in Form negativer Erlaubnisdaten eingehen, als nichtregelgerecht kennzeichnet. Die Reihenfolgedaten eines Rundsende-Datenpakets können in jeder der Ausgangswarteschlangen für die Ausgangsanschlüsse eingegeben werden, die dieses Rundsende-Datenpaket erreichen soll, und deren Adresse kann von der Adressverwaltungseinheit erst dann für ein anderes Datenpaket freigegeben werden, nachdem alle Reihenfolgedaten des Rundsende-Datenpakets von der Ausgangs-Wegewahleinheit erfolgreich verarbeitet wurden.In a scheme with input buffers and a common output buffer, the invention can be implemented as follows: For the output queues and / or the common output buffer, a permission means in the form of an overload control unit is provided, which notifies the input buffers a limit has been exceeded for the occupied memory locations in one or more of the output queues or for the occupied addresses in the common output buffer memory. The envisaged response of the input buffer memory to this back pressure is ensured by the data packet access control unit, which identifies the data packets which are received in the form of negative permission data in spite of the generated back pressure as non-regular. The order data of a broadcast data packet may be entered in each of the output ports for the output ports that this broadcast data packet is to reach, and its address may be released by the address management unit for another data packet only after all the sequence data of the broadcast data packet from the Output routing unit were successfully processed.

Die Zieldaten des Datenpakets können aus dem Inhalt der Datenpakete abgeleitet werden. Bei Datenpaketen mit unterschiedlichen Verarbeitungsprioritäten kann für jede Prioritätsklasse und für jeden Ausgangsanschluss eine eigene Eingangswarteschlange bereitgestellt werden.The Target data of the data packet can derived from the content of the data packets. For data packages with different processing priorities can for each priority class and for each output port has its own input queue become.

Es ist von Vorteil, die Datenpakete an jedem Eingangsanschluss gemäß den Ausgangsanschlüssen, welche die Datenpakete als Ziel haben, in Eingangswarteschlangen eines Eingangspufferspeichers zu sortieren, der mindestens so viele Eingangswarteschlangen umfasst, wie die Schalteinheit Ausgangsanschlüsse aufweist, und die Datenpakete von den Eingangswarteschlangen der zugehörigen Eingangspufferspeicher an die Wegewahleinheit zu multiplexen. Bei der Anordnung einer Wegewahleinheit mit Ausgangspufferspeichern kann für jeden Eingangsanschluss eine unabhängige Steuereinheit verwendet werden, wobei die Reihenfolge der Datenpakete gemultiplext wird, und die Datenpakete gemäß den Datenpaket-Zieldaten über die Wegewahleinheit und mindestens einen Ausgangspufferspeicher an mindestens einen der zweckbestimmten Ausgangsanschlüsse weiterzuleiten.It It is advantageous to have the data packets at each input port according to the output ports which have the data packets as destination in input queues of a To sort input buffer that has at least as many input queues includes how the switching unit has output terminals, and the data packets of the input queues of the associated input buffer to multiplex to the Wegewahleinheit. In the arrangement of a Wegewahleinheit with output buffers can be for each input terminal a independent Control unit used, the order of the data packets is multiplexed, and the data packets according to the data packet destination data on the Weighing unit and at least one output buffer at least forward one of the dedicated output ports.

BESCHREIBUNG DER ZEICHNUNGENDESCRIPTION THE DRAWINGS

Beispiele der Erfindung sind in den Zeichnungen dargestellt und im Folgenden beispielhaft und ausführlich beschrieben. Dabei zeigtExamples The invention is illustrated in the drawings and in the following exemplary and detailed described. It shows

1 eine Anordnung mit einer Kreuzschienenschalteinheit mit virtueller Ausgangsspeicherung, 1 an arrangement with a crossbar switch unit with virtual output storage,

2 eine Ausführungsform einer Datenpaket-Zugriffsteuereinheit, 2 an embodiment of a data packet access control unit,

3 eine auf einer Wegewahleinheit beruhende Schaltanordnung mit einzelnen Ausgangspufferspeichern, 3 a switching arrangement based on a selection unit with individual output buffer memories,

4 eine auf einer Wegewahleinheit beruhende Schaltanordnung mit einem gemeinsam genutzten Ausgangspufferspeicher. 4 a switch assembly having a shared output buffer based on a select unit.

Zur besseren Übersichtlichkeit sind sämtliche Figuren weder mit ihren realen Abmessungen dargestellt, noch entsprechen die Größenverhältnisse zwischen den einzelnen Abmessungen einem realitätsgetreuen Maßstab.to better clarity are all Figures neither represented nor correspond with their real dimensions the proportions between the individual dimensions a realistic scale.

AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

Im Folgenden werden die verschiedenen beispielhaften Ausführungsformen der Erfindung beschrieben.in the Following are the various exemplary embodiments of the invention.

1 zeigt eine Schalteinheit 10 mit Eingangspufferspeicher für die Verarbeitung von Datenpaketen. Die bei der Schalteinheit 10 eingehenden Datenpakete enthalten Daten, die übertragen werden müssen (auch als Nutzdaten bezeichnet), sowie ein Datenanfangs-Etikett des Datenpakets, das verschiedene Informationen zu dem Datenpaket beinhaltet, z.B. den Pakettyp, eine Integritätsprüfsumme und die Zieladresse dieses Datenpakets, die auch als Zieldaten des Datenpakets bezeichnet wird. 1 shows a switching unit 10 with input buffer for processing data packets. The at the switching unit 10 incoming data packets contain data that must be transmitted (also referred to as payload data) and a header of the data packet that contains various information about the data packet, eg the packet type, an integrity checksum and the destination address of this data packet, which is also the target data of the data packet referred to as.

Die Anordnung umfasst eine Schalteinheit 10 wie beispielsweise eine Kreuzschienenschalteinheit mit einer Anzahl N von Eingangsanschlüssen 20 und einer Anzahl N von Ausgangsanschlüssen 30. An jedem Eingangsanschluss 20 befindet sich ein Schaltadapter 19, der einen in Form einer FIFO-Warteschlange ausgeführten Eingangspufferspeicher 11 umfasst, welche auch als „IB" (input buffer) kenntlich gemacht ist. Jeder Schaltadapter 19 ist mit einer entsprechenden Adaptereingangsleitung 50 verbunden. Die Eingangspufferspeicher 11 sind jeweils in eine Vielzahl von Eingangswarteschlangen 12 aufgeteilt, wobei jeder Eingangspufferspeicher 11 für jeden Ausgangsanschluss 30 genau eine derartige Eingangswarteschlange 12 aufweist. Somit umfasst hier jeder Eingangspufferspeicher 11N Eingangswarteschlangen 12. In jeder dieser Eingangswarteschlangen 12 eines Eingangspufferspeichers 11 werden die an einen bestimmten Ausgangsanschluss 30 gerichteten eingehenden Datenpakete gespeichert. Somit werden die eingehenden Datenpakete in jedem Eingangspufferspeicher 11 gemäß ihrem Ziel-Ausgangsanschluss 30 sortiert. Aus diesem Grund umfasst der Schaltadapter 19 einen Verteiler 27, der die an den Adaptereingangsleitungen 50 eingehenden Datenpakete gemäß ihrem Ziel auf die Eingangswarteschlangen 12 verteilt. Auf der Ausgangsseite der Eingangswarteschlangen 12 verbindet eine Wahleinheit 26 zu einem bestimmten Zeitpunkt die betreffende Eingangswarteschlange 12, die zu diesem Zeitpunkt ein Datenpaket an die Schalteinheit 10 übertragen darf.The arrangement comprises a switching unit 10 such as a crossbar switch unit with a number N of input terminals 20 and a number N of output terminals 30 , At each input connection 20 there is a switching adapter 19 of the input buffer memory executed in the form of a FIFO queue 11 which is also identified as "IB" (input buffer) 19 is with a corresponding adapter input line 50 connected. The input buffers 11 are each in a variety of input queues 12 split, with each input buffer 11 for each output connection 30 exactly one such input queue 12 having. Thus, here includes each input buffer memory 11N input queues 12 , In each of these input queues 12 an input buffer 11 will be sent to a specific output port 30 directed incoming data packets. Thus, the incoming data packets in each input buffer 11 according to their destination output terminal 30 sorted. For this reason, the switching adapter includes 19 a distributor 27 which is the one on the adapter input lines 50 incoming data packets according to their destination on the inbound queues 12 distributed. On the output side of the input queues 12 connects a voting unit 26 at a given time the relevant input queue 12 that at this time point a data packet to the switching unit 10 may transfer.

Alle Schaltadapter 19 sind mit einer gemeinsam genutzten Steuereinheit 25 verbunden, die auch als „C" (control unit) gekennzeichnet und wiederum mit der Schalteinheit 10 verbunden ist. Die Steuereinheit 25 hat zur Aufgabe, die Datenpakete, die über die Adaptereingangsleitungen 50 eingehen und an einem oder mehreren der Ausgangsanschlüsse 30 eingehen sollen, an diese Ausgangsanschlüsse 30 weiterzuleiten. Von den Ausgangsanschlüssen 30 können diese Datenpakete nachfolgenden Einheiten bereitgestellt werden, bei denen es sich um weitere Schalteinheiten oder um Empfangseinheiten usw. handeln kann.All switching adapters 19 are with a shared control unit 25 connected, which is also marked as "C" (control unit) and turn with the switching unit 10 connected is. The control unit 25 has the task of sending the data packets through the adapter input lines 50 and at one or more of the output terminals 30 are to go to these output terminals 30 forward. From the output terminals 30 For example, these data packets may be provided to downstream units, which may be other switching units or receiving units, etc.

Diese Anordnung sieht eine so genannte „First buffer then switch"-Funktion vor, bei der, wenn ein eingehendes Datenpaket nicht sofort an den Ausgangsanschluss 30 weitergeleitet werden kann, für den es vorgesehen ist, da dieser Ausgangsanschluss 30 bereits mit dem Empfangen eines anderen Datenpakets beschäftigt ist, das eingehende Datenpaket so lange in dem betreffenden Eingangspufferspeicher 11 zurückgehalten wird, bis der Pfad, den dieses Datenpaket durch die Schalteinheit 10 nehmen muss, frei ist. Dabei übernimmt die Steuereinheit 25 die Aufgabe, die notwendigen Verbindungen gemäß den Datenpaket-Zieldaten, die in jedem Datenanfangs-Etikett eines Datenpakets enthalten sind, zwischen den Eingangsanschlüssen 20 und den Ausgangsanschlüssen 30 bereitzustellen und den Eingangspufferspeichern 11 mitzuteilen, wenn der Pfad für das nächste Datenpaket in dem betreffenden Eingangspufferspeicher 11 frei ist, so dass dieses Datenpaket aus dem Eingangspufferspeicher 11 entnommen und an sein Ziel, d.h. den Ziel-Ausgangsanschluss 30, gesendet werden kann.This arrangement provides a so-called "first buffer then switch" function in which, when an incoming data packet is not immediately connected to the output port 30 for which it is intended, since this output terminal 30 is already busy receiving another data packet, the incoming data packet as long in the respective input buffer memory 11 is held back until the path that this data packet through the switching unit 10 must take, is free. The control unit takes over 25 the task of providing the necessary connections between the input ports in accordance with the data packet destination data contained in each data header of a data packet 20 and the output terminals 30 to provide and the input buffer 11 tell if the path for the next data packet in the respective input buffer 11 is free, so this data packet from the input buffer memory 11 taken and to its destination, ie the destination output terminal 30 , can be sent.

Wenn das Datenanfangs-Etikett des an einen bestimmten Ausgangsanschluss 30 gerichteten Datenpaktes blockiert ist, da dieser Ausgangsanschluss 30 zu diesem Zeitpunkt mit einem anderen Datenpaket beschäftigt ist, können bei dieser Anordnung nur diejenigen Datenpakete durch ein Datenpaket an erster Stelle der Warteschlange blockiert werden, die für denselben Ausgangsanschluss 30 vorgesehen sind, während für einen anderen Ausgangsanschluss 30 vorgesehene Datenpakete unabhängig davon verarbeitet und an die Schalteinheit 10 weitergeleitet werden können, wenn der Pfad zu ihrem Ziel-Ausgangsanschluss 30 nicht belegt ist. In der Theorie ergibt dies eine ideale Leistungskurve mit einem theoretischen Höchstdurchsatz von 100 %. Ein realistischer Ansatz zur Verwendung der beschriebenen Anordnung führt zu der praxisbezogenen Empfehlung, diese Schalteinheit 10 mit höchstens 40 bis 50 % des maximal möglichen Datenpaketverkehrs zu belasten, da über diesen Bereich hinaus die Kurve, die das Verhältnis von Verzögerung gegenüber Last beschreibt, immer steiler wird, was bedeutet, dass eine kleine Laststeigerung zu einer großen Zunahme der Verzögerung bzw. des genutzten Eingangspufferspeicherplatzes führt. Da die starke Abhängigkeit der Verzögerung von der Last bei realen Anwendungen nicht erwünscht ist, ergibt sich eine bevorzugte Nutzung der Schalteinheit 10 im flachen Bereich der Verzögerung-Last-Kurve. Dies hat folgende Bedeutung: Eine Kreuzschienenschalteinheit 10 mit 16 Eingangs-/Ausgangsanschlüssen und einer Anschlussgeschwindigkeit von 1 Gigabit pro Sekunde (GBit/s) kann angesichts dieser Beschränkung keinen Datenverkehr von insgesamt 16 × 1 GBit/s, sondern lediglich 40 bis 50 % davon, d.h. 6,5 bis 8 GBit/s, verarbeiten.If the header of the data to a specific output port 30 directional data packet is blocked because this output port 30 at this time is busy with another data packet, with this arrangement, only those data packets can be blocked by a data packet in the first queue of the same output port 30 are provided while for another output terminal 30 provided data packets processed independently of it and to the switching unit 10 can be forwarded when the path to its destination output port 30 is not occupied. In theory, this gives an ideal performance curve with a theoretical maximum throughput of 100%. A realistic approach to using the arrangement described leads to the practice-related recommendation, this switching unit 10 with at most 40 to 50% of the maximum possible data packet traffic, since beyond this range the curve describing the ratio of delay to load becomes steeper and steeper, which means that a small increase in load leads to a large increase of the delay used input buffer space leads. Since the strong dependence of the delay on the load is not desirable in real applications, there is a preferred use of the switching unit 10 in the flat area of the deceleration-load curve. This has the following meaning: A crossbar switch unit 10 with 16 input / output ports and a connection speed of 1 gigabit per second (Gbps) can not face a total of 16 × 1 Gbit / s, but only 40-50% of it, ie 6.5-8 Gbit / s, given this restriction. s, process.

Außerdem steigt bei einem endlichen Speicherplatz des Eingangspufferspeichers 11 die Wahrscheinlichkeit eines Datenverlusts, da sich der Eingangspufferspeicherplatz aufgrund einer Blockierung füllen kann und die eingehenden Datenpakete verloren gehen, sobald der Eingangspufferspeicher 11 voll ist. Diese Wahrscheinlichkeit nimmt auch mit Rundsende-Datenpaketen zu.It also increases with a finite storage space of the input buffer 11 the likelihood of data loss because the input buffer space may fill due to a stall and the incoming data packets will be lost once the input buffer 11 is full. This probability also increases with broadcast data packets.

Um im Falle einer Überlastsituation durch blockierte Datenpakete einen Datenverlust zu vermeiden, wird ein als Erlaubnismechanismus bezeichneter Datenflusssteuerungsmechanismus für die Datenpakete hinzugefügt, dessen Ausführung einer nicht abgebildeten Überlaststeuereinheit obliegt, die Erlaubnisdaten GR (grant information) erzeugt, welche von einem beliebigen Ausgangsanschluss 30 an die Steuereinheit 25 ausgegeben werden, die wiederum diese Erlaubnisdaten GR auf alle Eingangspufferspeicher 11 verteilt. Die Erlaubnisdaten GR können zwei Zustände aufweisen: „Erlaubnis erteilt", d.h. die Eingangspufferspeicher 11 können Datenpakete senden, oder „Erlaubnis nicht erteilt", d.h. die Eingangspufferspeicher 11 dürfen keine Datenpakete mehr senden. Beim Zustand „Erlaubnis erteilt" spricht man von positiven Erlaubnisdaten GR, beim Zustand „Erlaubnis nicht erteilt" von negativen Erlaubnisdaten GR. Die negativen Erlaubnisdaten GR teilen dem Eingangspufferspeicher 11 mit, dass der Ausgangsanschluss 30, der die negativen Erlaubnisdaten GR ausgegeben hat, keine eingehenden Datenpakete mehr empfangen kann und dass die Eingangspufferspeicher 11 daher so lange keine weiteren Datenpakete an den betreffenden Ausgangsanschluss 30 senden sollen, bis neu ausgegebene positive Erlaubnisdaten GR den Eingangspufferspeichern 11 mitteilen, dass das Senden der Datenpakete wieder aufgenommen werden kann. Dabei werden die Erlaubnisdaten GR hier von einer Überlaststeuereinheit 60 ausgegeben, wobei für jeden Ausgangsanschluss 30 eine derartige Einheit vorgesehen ist. Sobald ein Zustand vorliegt, der von der Überlaststeuereinheit 60 als Überlauf oder Überlastsituation ausgelegt wird, schaltet die Überlaststeuereinheit 60 von den positiven Erlaubnisdaten GR auf die negativen Erlaubnisdaten GR um. Sobald die Überlaststeuereinheit 60 erkennt, dass die Überlastsituation bzw. der Überlauf nicht mehr gegeben sind, schaltet sie wieder von den negativen Erlaubnisdaten GR auf die positiven Erlaubnisdaten GR um. Abhängig von der Ausgestaltung und einer Sicherheitsmarge liegt der Grenzwert für die Umschaltung in der Regel unter dem maximalen Auslastungsgrad. Für das Hin- und Herschalten können zwei verschiedene Grenzwerte verwendet werden, so dass sich eine Umschalthysterese ergibt.In order to avoid data loss in the event of an overload situation due to blocked data packets, a data flow control mechanism is added for the data packets executed by a non-mapped overload control unit generating grant data GR (grant information) originating from any output port 30 to the control unit 25 which in turn outputs this permission data GR to all input buffers 11 distributed. The permission data GR may have two states: "granted permission", ie the input buffers 11 can send data packets or "do not grant permission", ie the input buffers 11 may no longer send data packets. In the state "permission granted", one speaks of positive permission data GR, in the state "permission not granted" of negative permission data GR. The negative permission data GR inform the input buffer 11 with that the output terminal 30 which has issued the negative permission data GR, can no longer receive incoming data packets, and that the input buffer memories 11 Therefore, no further data packets to the respective output connection 30 until newly issued positive permission data GR is to be sent to the input buffer 11 notify that the sending of the data packets can be resumed. Here, the permission data GR here from an overload control unit 60 output, with each output terminal 30 such a unit is provided. Once a condition exists, that of the overload control unit 60 as overflow or overload situation is set, the overload control unit switches 60 from the positive permission data GR to the negative permission data GR. Once the overload control unit 60 recognizes that the overload situation or the overflow are no longer present, it switches again from the negative permission data GR to the positive permission data GR. Depending on the configuration and a safety margin, the limit value for the changeover is generally below the maximum utilization level. Two different limit values can be used for toggling, resulting in a switching hysteresis.

Die Schalteinheit 10 umfasst für jeden Eingangsanschluss 20 eine Datenpaket-Zugriffsteuereinheit 40, die für den betreffenden Eingangsanschluss 20 auch die Erlaubnisdaten GR empfängt. Die Aufgabe der Datenpaket-Zugriffsteuereinheit 40 besteht darin sicherzustellen, dass Datenpakete, die trotz der an den Eingangspufferspeicher 11 gesendeten negativen Erlaubnisdaten GR beim Eingangspufferspeicher 11 eingehen, erkannt werden. Ihre Verarbeitung kann dann von der Schalteinheit 10 verwehrt werden. Diese Datenpakete werden in der Folge als nichtregelgerecht eingestuft und entsprechend gekennzeichnet.The switching unit 10 includes for each input port 20 a data packet access control unit 40 for the relevant input connection 20 also the permission data GR receives. The task of the data packet access control unit 40 is to make sure that packets are sent to the input buffer despite the fact 11 sent negative permission data GR at the input buffer 11 to be recognized. Their processing can then be done by the switching unit 10 be denied. These data packets are subsequently classified as non-regular and marked accordingly.

Dieser Fall kann eintreten, wenn beispielsweise der Schaltadapter 19 fehlerhaft ist und daher nicht auf die negativen Erlaubnisdaten GR anspricht. Wenn die gekennzeichneten Datenpakete gelöscht werden, stellt der Steuermechanismus der Datenpaket-Zugriffsteuereinheit 40 sicher, dass trotz eines derartigen Fehlverhaltens das Verfahren für den Datenpaketverkehr eingehalten wird und dass somit nur regelgerechte Datenpakete verarbeitet, d.h. an ihren Ziel-Ausgangsanschluss 30 übertragen werden. Wenn dies nicht der Fall wäre, würde die Schalteinheit 10 Datenpakete verarbeiten, die dem Verfahren für den Datenpaketverkehr nicht entsprechen, was sich nachteilig auf die Bandbreite auswirken würde, die denjenigen Schaltadaptern 19 zur Verfügung steht, die das Verfahren für den Datenpaketverkehr einhalten. Um die Dienstqualität für alle Schaltadapter 19 bzw. die Anwender, welche die Datenpakete über die Schaltadapter 19 senden, zu gewährleisten, muss das Verfahren für den Datenpaketverkehr eingehalten werden.This case may occur if, for example, the switching adapter 19 is erroneous and therefore does not respond to the negative permission data GR. When the tagged data packets are cleared, the control mechanism provides the data packet access control unit 40 sure that despite such a misconduct the procedure for the data packet traffic is complied with and that thus only regular data packets are processed, ie to their destination output port 30 be transmitted. If this were not the case, the switching unit would 10 Process data packets that do not conform to the packet packet method, which would adversely affect the bandwidth of those switch adapters 19 available that comply with the data packet transport procedure. To the quality of service for all switching adapters 19 or the users, who the data packets via the switching adapter 19 ensure that the procedure for data packet traffic is respected.

In dieser Phase dient die Datenpaket-Zugriffsteuereinheit 40 zur Einstufung von Datenpaketen, indem sie nichtregelgerechte Datenpakete erkennt. Die Erkennung kann dann zu verschiedenen Zwecken genutzt werden: Die Tatsache, dass nichtregelgerechte Datenpakete eingegangen sind, kann dem betreffenden Schaltadapter 19 oder einer anderen Einheit mitgeteilt werden, der bzw. die somit davon unterrichtet wird, dass etwas nicht wie vorgesehen funktioniert. Die Datenpaket-Zugriffsteuereinheit 40 übernimmt somit die Aufgabe eines Diagnosesystems, und anhand der erkannten Fehlfunktion eines Schaltadapters 19 kann dieser Schaltadapter 19 ausgetauscht oder repariert werden. In einer Unternehmensumgebung, in der für die Bandbreite bezahlt wird, können dem Eigentümer des fehlerhaften Schaltadapters die Kosten für die sich daraus ergebende übermäßige Bandbreitennutzung in Rechnung gestellt werden. Die gekennzeichneten Datenpakete sollten vorzugsweise gelöscht werden, um zu verhindern, dass zusätzliche Latenzzeiten beim Durchsatz entstehen oder die Verarbeitung regelgerechter Datenpakete verweigert wird. Die Verwendung der Kennzeichnung wird durch die Programmierung bzw. die Ausführungsart der Schalteinheit 10 bestimmt. Die Schalteinheit kann damit so ausgelegt sein, dass nichtregelgerechte Datenpakete automatisch gelöscht werden. Außerdem kann die Datenübertragung zu dem fehlerhaften Schaltadapter 19 oder zu einer Einheit, die weiter netzaufwärts von dem Schaltadapter 19 angeordnet ist, erfolgen. Um zu entscheiden, ob ein Datenpaket verarbeitet oder gelöscht werden soll, umfasst die Schalteinheit eine nicht abgebildete Flusssteuereinheit, welche die Flusssteuerung durchführt.In this phase, the data packet access control unit is used 40 to classify data packets by detecting non-compliant data packets. The detection can then be used for various purposes: The fact that non-regular data packets are received, the respective switching adapter 19 or any other entity that is informed that something is not working as intended. The data packet access control unit 40 thus assumes the task of a diagnostic system, and based on the detected malfunction of a switching adapter 19 can this switching adapter 19 be replaced or repaired. In an enterprise environment where bandwidth is being paid, the owner of the faulty switch adapter may be charged for the resulting excessive bandwidth usage. The tagged data packets should preferably be cleared to prevent additional latency in throughput or deny processing of legitimate data packets. The use of the marking is determined by the programming or the type of implementation of the switching unit 10 certainly. The switching unit can thus be designed so that irregular data packets are automatically deleted. In addition, the data transmission to the faulty switching adapter 19 or to a unit further upstream of the switch adapter 19 is arranged take place. In order to decide whether to process or erase a data packet, the switching unit includes a non-mapped flow control unit that performs the flow control.

Da der Teil des Datenanfangs-Etiketts eines Datenpakets, der das Ziel des Datenpakets angibt, nach dem Eingang des Datenpakets am Ausgangsanschluss 30 nicht mehr benötigt wird, kann dieser Speicherplatz zur Aufnahme der Erlaubnisdaten GR dienen. Dabei ist der Speicherplatz so groß, dass nicht nur die Erlaubnisdaten GR für einen einzigen Ausgangsanschluss 30, sondern die Erlaubnisdaten GR für alle Ausgangsanschlüsse 30 in dem Datenanfangs-Etikett eines einzigen Datenpakets darin Platz finden. So kann für jeden Eingangsanschluss 20 ein einziges Bit für den Status der entsprechenden Erlaubnisdaten GR stehen. Dabei enthält das Datenanfangs-Etikett des Datenpakets eine Einzelbitdarstellung, die den Erlaubniszustand aller Eingangsanschlüsse 20 zeigt. Denkbar ist auch, dass zusätzlich zum Zustand „Erlaubnis erteilt/nicht erteilt" der Erlaubnisdaten GR weitere Daten, die in Zusammenhang mit den Erlaubnisdaten GR stehen, erzeugt und übertragen werden. So können die Erlaubnisdaten GR von verschiedenen Grenzwerten abhängig sein, die unter Umständen realisiert sind. Die erzeugten und in das Datenanfangs-Etikett gestellten Daten können dann auch in einem codierten Binärformat den Grenzwert enthalten, der von der Anzahl der in der Warteschlange befindlichen Datenpaketen überschritten wurde, wie weiter unten erläutert wird.Since the portion of the header of a data packet indicating the destination of the data packet, after the input of the data packet at the output terminal 30 is no longer needed, this space can serve to receive the permission data GR. The storage space is so large that not only the permission data GR for a single output terminal 30 but the permission data GR for all output ports 30 in the header of a single data packet. So can for each input connection 20 a single bit for the status of the corresponding permission data GR. In this case, the data header of the data packet contains a single bit representation, the permission state of all input terminals 20 shows. It is also conceivable that in addition to the status "granted / not granted" of the permission data GR, further data related to the permission data GR are generated and transmitted, so that the permission data GR may be dependent on various limit values which may be realized The data created and placed in the header may then also contain, in a coded binary format, the limit exceeded by the number of queued data packets, as explained below.

Das geänderte Datenpaket wird dann vom Ausgangsanschluss 30 an eine nachfolgende Einheit gesendet, und – da es eine vorteilhafte und gängige Vorgehensweise darstellt, die Ausgangsanschlüsse 30 und die Eingangsanschlüsse 20 zu vereinheitlichen – erreicht das geänderte Datenpaket, das nun die Erlaubnisdaten GR in seinem Datenanfangs-Etikett enthält, automatisch den Eingangsanschluss 20, der die Erlaubnisdaten GR aus dem Datenanfangs-Etikett auslesen und eine Aktualisierung der Erlaubnisdaten erhalten kann. Diese Aktualisierung kann für jedes Datenpaket erfolgen, so dass die Schaltadapter 19 fortlaufend über eine Änderung der Erlaubnisdaten GR unterrichtet werden.The modified data packet is then from the output port 30 sent to a subsequent unit, and since it is an advantageous and common practice, the output terminals 30 and the input terminals 20 to unify - reaches the modified data package that now the permission data GR in its start-of-data label automatically includes the input terminal 20 which can read out the permission data GR from the start-of-data label and obtain an update of the permission data. This update can be done for each data packet, so the switch adapter 19 be continuously informed of a change in the permission data GR.

In 2 ist eine Ausführungsform einer Datenpaket-Zugriffsteuereinheit 40 abgebildet. Die Datenpaket-Zugriffsteuereinheit 40 umfasst ein Zugriffsgatter 41 und eine Ablaufsteuereinheit mit endlichen Zuständen (Finite State Machine) in Form eines Zählers 42, dessen Ausgang mit einem Eingang des Zugriffsgatters 41 verbunden ist, wobei dessen anderer Eingang die vom Schaltadapter 19 eingehenden Datenpakete (DP in) erhält. Der Zähler 42 stellt einen Zeitrahmen bereit, während dessen Datenpakete als regelgerecht akzeptiert werden, obwohl negative Erlaubnisdaten GR erzeugt und gesendet wurden. Die Bereitstellung dieses Zeitrahmen erfolgt aufgrund der Zeitspanne zwischen dem Zeitpunkt, zu dem die Erlaubnisdaten GR gesendet wurden, und dem Zeitpunkt, zu dem sie im Eingangspufferspeicher 11 eingegangen sind, plus der Zeitspanne, die ein unmittelbar vor dem letzten Zeitpunkt gesendetes Datenpaket benötigt, um bei der Schalteinheit 10 einzugehen, wobei die Zeitspanne eine Latenzzeit für die Datenflusssteuerung definiert. Dieser Zeitpunkt ist veränderbar, und die Auswahl des letztmöglichen Zeitpunkts, d.h. die Verwendung der maximalen Laufzeit für ein Datenpaket vom Eingangspufferspeicher 11 zur Datenpaket-Zugriffsteuereinheit 40, wird als bestmögliche Lösung betrachtet, da, obwohl auf diese Weise das eine oder andere nichtregelgerechte Datenpaket trotz seiner Nichteinhaltung der Regeln akzeptiert und verarbeitet wird, kein einziges regelgerechtes Datenpaket als nichtregelgerecht behandelt und benachteiligt wird, indem es verworfen oder ein Fehlersignal übertragen wird. Der Zähler 42 kann daher auf diesen oberen Grenzwert für die Latenzzeit der Datenflusssteuerung gesetzt werden, wird immer dann gestartet, wenn bei der Datenpaket-Zugriffsteuereinheit 40 Erlaubnisdaten GR eingehen, und wird zurückgesetzt, sobald die Erlaubnisdaten GR von negativ auf positiv umgeschaltet werden.In 2 is an embodiment of a data packet access control unit 40 displayed. The data packet access control unit 40 includes an access gate 41 and a finite state machine in the form of a counter 42 whose output is connected to an input of the access gate 41 is connected, wherein the other input from the switching adapter 19 received incoming data packets (DP in). The counter 42 provides a time frame during which data packets are accepted as regular even though negative permission data GR was generated and sent. The provision of this time frame is due to the time between when the permission data GR was sent and the time when it was in the input buffer memory 11 plus the amount of time it takes for a data packet sent immediately before the last time to arrive at the switching unit 10 The time span defines a latency for the data flow control. This time is changeable, and the selection of the last possible time, ie the use of the maximum runtime for a data packet from the input buffer memory 11 to the data packet access control unit 40 , is considered to be the best possible solution because, although in this way one or the other non-compliant data packet is accepted and processed despite its failure to comply with the rules, not a single regular data packet is treated as non-compliant and discriminated by discarding or transmitting an error signal. The counter 42 can therefore be set to this upper limit for the latency of the data flow control is started whenever in the data packet access control unit 40 Permission data GR, and is reset as soon as the permission data GR is switched from negative to positive.

Die Zeitdifferenz zwischen dem Zeitpunkt, zu dem die Erlaubnisdaten GR gesendet werden, und dem Zeitpunkt, zu dem das letzte Datenpaket, das vor dem Eingang der Erlaubnisdaten GR beim Eingangspufferspeicher 11 gesendet wurde, an dem Ausgangsanschluss 30 eingeht, der die Erlaubnisdaten GR gesendet hat, wird als Umlaufzeit bezeichnet.The time difference between the time at which the permission data GR are sent and the time at which the last data packet before the input of the permission data GR at the input buffer memory 11 was sent to the output port 30 that has sent the permission data GR is called the round trip time.

Die Erlaubnisdaten GR werden hier in Form eines einzelnen Bits bereitgestellt, das für die Erlaubnisdaten GR für einen Ausgangsanschluss 30 bzw. einen Eingangsanschluss 20 steht. Die negativen Erlaubnisdaten GR werden erzeugt, wenn die Anzahl der Datenpakete, die in oder nach einem Ausgangsanschluss 30 zwischengespeichert sind, einen vorgegebenen ersten Grenzwert übersteigt. Der erste Grenzwert ist niedriger als die tatsächliche Größe des Pufferspeichers des Ausgangsanschlusses 30, um so diejenigen Datenpakete zwischenspeichern zu können, die von den Eingangsadaptern, d.h. den Schaltadaptern 19, während der Zeitspanne gesendet werden, welche die negativen Erlaubnisdaten GR benötigen, um die Erlaubnisverweigerung in den Eingangspufferspeichern 11 zu bewirken. Die Umschaltung von den negativen auf die positiven Erlaubnisdaten GR kann durch die Unterschreitung eines zweiten Grenzwerts ausgelöst werden, der mit dem ersten Grenzwert übereinstimmen kann, dies jedoch nicht zwangsläufig muss. Wie weiter oben bereits erwähnt, können sogar mehrere derartiger Grenzwerte für eine Über- und/oder Unterschreitung realisiert werden, und die Daten, die angeben, welcher Grenzwert im Einzelnen die Umschaltung der Erlaubnisdaten GR veranlasst hat, können an die Schaltadapter 19 übertragen werden.The permission data GR is provided here in the form of a single bit corresponding to the permission data GR for an output port 30 or an input connection 20 stands. The negative permission data GR is generated when the number of data packets entering or leaving an output port 30 are cached, exceeds a predetermined first limit. The first limit is lower than the actual size of the buffer of the output port 30 in order to be able to buffer those data packets that are received from the input adapters, ie the switching adapters 19 , are sent during the period of time that the negative permission data GR need to complete the permission denial in the input buffers 11 to effect. The switchover from the negative to the positive permission data GR can be triggered by falling below a second limit, which may coincide with the first limit, but this is not necessarily. As already mentioned above, even more such overshoot and undershoot limits may be realized, and the data indicating which limit has specifically caused the permission data GR to be switched may be supplied to the switching adapters 19 be transmitted.

Das Sortieren nach Ziel wird auch als virtuelle Ausgangsspeicherung (Virtual Output Queuing, VOQ) bezeichnet. Die Steuereinheit 25 muss eine Höchstzahl von N2 Anfragen verarbeiten, was bei einer steigenden Zahl von Ein- /Ausgangsanschlüssen 30 zu einer erheblichen Zunahme der Komplexität führt. Für sich genommen stellt dies noch kein schwerwiegendes Problem dar, allerdings sollte generell zu jedem beliebigen Zeitpunkt und unter allen Umständen eine gerechte Behandlung einer jeden Eingangswarteschlange 12 gegeben sein und außerdem eine optimale Ausschöpfung der Kapazität der Schalteinheit erzielt werden, die darin besteht, dass zu jedem beliebigen Zeitpunkt jeder Ausgangsanschluss 30 ein Datenpaket zuzustellen hat. Dieses ehrgeizige Ziel stellt für die Steuereinheit 25 eine nicht geringe Aufgabe dar, die dazu führt, dass die Steuereinheit 25 äußerst komplex ausfällt.Sort by destination is also known as virtual output queuing (VOQ). The control unit 25 It must process a maximum of N 2 requests, which will be with an increasing number of I / O ports 30 leads to a significant increase in complexity. Taken alone, this is not a serious problem, but generally, at any given time and under any circumstances, fair treatment should be given to each input queue 12 In addition, an optimal utilization of the capacity of the switching unit can be achieved, which consists in that at any time each output terminal 30 to deliver a data packet. This ambitious goal poses for the control unit 25 a not inconsiderable task that causes the control unit 25 extremely complex fails.

Die Komplexität dieser Anordnung nimmt noch zu, wenn sie für die Verarbeitung von Datenpaketen mit unterschiedlicher Priorität ausgelegt ist, d.h., für jede Priorität wird eine andere Eingangswarteschlange 12 bereitgestellt. In diesem Fall ist die Anzahl der Eingangswarteschlangen 12 pro Eingangspufferspeicher 11 gleich der Anzahl der Ausgangsanschlüsse 30 multipliziert mit der Anzahl der Prioritäten.The complexity of this arrangement is even greater when it is designed to process packets of different priority, that is, each priority becomes a different input queue 12 provided. In this case, the number of input queues is 12 per input buffer 11 equal to the number of output ports 30 multiplied by the number of priorities.

Die folgenden Beispiele gehen davon aus, dass die Schalteinheit 10 so ausgelegt ist, dass sie nichtregelgerechte Datenpakete automatisch löscht.The following examples assume that the switching unit 10 is designed so that it automatically deletes non-compliant data packets.

Ein anderer Ansatz besteht darin, dass die Datenpakete zuerst in die Warteschlange gestellt und anschließend zwischengespeichert werden. In der Theorie läuft dieses Modell auf ein System mit einer reinen Ausgangspufferspeicherung hinaus. In der Realität ist jedoch die Größe des Pufferspeichers begrenzt und nicht unendlich. Da bei endlichen Ausgangspufferspeichern eine gewisse Wahrscheinlichkeit besteht, dass die im Ausgangspufferspeicher eingehenden Datenpakete auf einen bereits voll ausgelasteten Pufferspeicher treffen und somit verloren gehen, wird der endliche Ausgangspufferspeicher mit einem unendlichen Eingangspufferspeicher kombiniert, der in der Praxis natürlich ebenfalls als ein endlicher Eingangspufferspeicher realisiert ist. Diese Anordnung wird in 3 gezeigt und weicht insofern von der Anordnung aus 1 ab, als die Schalteinheit 10 keine Kreuzschienenschalteinheit sondern eine Wegewahlschalteinheit 10 ist, kurz auch als Wegewahleinheit 10 bezeichnet. Zwischen der Wegewahleinheit 10 und einem jeden der Ausgangsanschlüsse 30, ist ein Ausgangspufferspeicher 35 angeordnet, der auch durch „OB" (output buffer) kenntlich gemacht ist. Die bei der Wegewahleinheit 10 eingehenden Datenpakete werden an ihre Zielausgangsanschlüsse 30 weitergeleitet, wo sie in dem betreffenden Ausgangspufferspeicher 35 zwischengespeichert werden.Another approach is to queuce the data packets first and then cache them. In the Theory, this model goes into a system with a pure output caching. In reality, however, the size of the buffer memory is limited and not infinite. Since finite output buffer memories have a certain probability that the data packets arriving in the output buffer memory will encounter an already fully utilized buffer memory and thus be lost, the finite output buffer memory is combined with an infinite input buffer memory, which in practice is also realized as a finite input buffer memory. This arrangement is in 3 shown and thus differs from the arrangement 1 off, as the switching unit 10 no crossbar switching unit but a routing switch unit 10 is, in short as a Wegewahleinheit 10 designated. Between the Wegewahleinheit 10 and each of the output terminals 30 , is an output cache 35 arranged, which is also indicated by "OB" (output buffer) 10 incoming data packets are sent to their destination output ports 30 forwarded to where in the relevant output buffer 35 be cached.

Darüber hinaus kommt hier der Erlaubnismechanismus für die Verarbeitung eines möglichen Überlaufs des Ausgangspufferspeichers zum Einsatz. Jeder Ausgangspufferspeicher 35 verfügt über einen definierten ersten Grenzwert, bei dessen Überschreitung die Erlaubnisdaten GR von positiv auf negativ umgeschaltet werden, und einen zweiten Grenzwert mit umgekehrter Umschaltung. Die Erlaubnisdaten GR werden über die Steuereinheit 25 allen Eingangspufferspeicher 11 bereitgestellt. Die negativen Erlaubnisdaten GR bewirken, dass alle Eingangspufferspeicher 11 aufgefordert werden, das Senden von Datenpaketen an den Ausgangsanschluss 30, dessen Ausgangspufferspeicher 35 die negativen Erlaubnisdaten GR ausgelöst oder ausgegeben hat, einzustellen.In addition, here the permission mechanism for processing a possible overflow of the output buffer memory is used. Each output buffer 35 has a defined first limit value above which the permission data GR is switched from positive to negative, and a second limit value with reverse switching. The permission data GR is transmitted via the control unit 25 all input buffer 11 provided. The negative permission data GR causes all input buffer memories 11 be prompted to send data packets to the output port 30 , its output buffer memory 35 the negative permission data GR has been triggered or issued.

Die Aufgabe der Datenpaket-Zugriffsteuereinheit 40 besteht wiederum in der Ablehnung von Datenpaketen, die von einem Eingangspufferspeicher 11 eingehen, obwohl die negativen Erlaubnisdaten GR an den Eingangspufferspeicher 11 gesendet wurden. Diese Datenpakete werden als nichtregelgerecht eingestuft und wahlweise gelöscht. Wie weiter oben beschrieben, dient die Datenpaket-Zugriffsteuereinheit 40 dazu, die Befolgung der Erlaubnisdaten GR zu gewährleisten.The task of the data packet access control unit 40 Again, there is the rejection of data packets coming from an input buffer 11 although the negative permission data GR is input to the input buffer memory 11 were sent. These data packets are classified as non-regular and optionally deleted. As described above, the data packet access control unit is used 40 to ensure compliance with the permit data GR.

Da aufgrund der geringeren Anzahl von Verbindungsleitungen zwischen den Eingangspufferspeichern 11 und der Schalteinheit 10 eine einfachere physische Trennung der Eingangspufferspeicher 11 von der Schalteinheit 10 möglich ist, können sie mit preisgünstigeren Speicherchips realisiert werden, so dass ihre Speichergröße in der Realität sehr viel größer gewählt werden kann, als dies für die Ausgangspufferspeicher 35 zum gleichen Preis möglich wäre. Somit stellen die endlichen Eingangspufferspeicher 11 bei diesem Schema eine bessere Näherung an die theoretischen unendlichen Eingangspufferspeicher 11 dar. Die oben beschriebene Anordnung hat jedoch zwei Nachteile: Einerseits muss die Wegewahleinheit 10 eine Funktion bereitstellen, deren Komplexität aufgrund der N2 Ausgangsleitungen zu den Ausgangspufferspeichern 35 mit einem zunehmenden Wert von N2 steigt. Andererseits wird die Schalteinheit 10 nicht bestmöglich genutzt. Unter der Annahme, dass kein Rundsende-Datenverkehr vorliegt, gibt es für jeden Eingangsanschluss 20 zu einem beliebigen Zeitpunkt nur jeweils ein Datenpaket, das an einen Ausgangsanschluss 30 gesendet werden soll. Somit werden zu jedem beliebigen Zeitpunkt für jeden Eingangsanschluss 20 N-1 Ausgangsleitungen der Wegewahleinheit 10 nicht genutzt, d.h. von den N2 Ausgangsleitungen werden lediglich N Leitungen genutzt. Außerdem wird auch der Ausgangspufferspeicher 35 selbst nicht bestmöglich genutzt. Wenn mehrere Eingangsanschlüsse 20 ein Datenpaket an ein und denselben Ausgangsanschluss 30 senden, empfängt in diesem Moment mindestens ein anderer Ausgangsanschluss 30 kein Datenpaket und benötigt folglich weniger Ausgangspufferspeicherplatz. Bei einem separaten Ausgangspuffer 35 für jeden Ausgangsanschluss 30 besteht nicht die Möglichkeit, sehr stark ausgelasteten Ausgangsanschlüssen 30 auf Kosten von weniger stark ausgelasteten Ausgangsanschlüssen 30 vorübergehend mehr Pufferspeicherplatz zur Verfügung zu stellen.Because of the smaller number of interconnections between the input buffers 11 and the switching unit 10 a simpler physical separation of the input buffers 11 from the switching unit 10 is possible, they can be realized with cheaper memory chips, so that their memory size can be chosen in reality much larger than that for the output buffer memory 35 would be possible at the same price. Thus, the finite input buffers represent 11 in this scheme, a better approximation to the theoretical infinite input buffer memory 11 However, the arrangement described above has two disadvantages: On the one hand, the Wegewahleinheit 10 provide a function whose complexity due to the N 2 output lines to the output buffers 35 increases with an increasing value of N 2 . On the other hand, the switching unit 10 not used in the best possible way. Assuming that there is no broadcast traffic, there is for each input port 20 at any one time only one data packet to an output port 30 to be sent. Thus, at any time for each input port 20 N-1 output lines of the Wegewahleinheit 10 not used, ie of the N 2 output lines only N lines are used. In addition, the output buffer memory also becomes 35 not even used in the best possible way. If several input terminals 20 a data packet to one and the same output port 30 At this moment, at least one other output port is receiving 30 no data packet and therefore needs less output buffer space. In a separate output buffer 35 for each output connection 30 there is no possibility of very heavily used output connections 30 at the expense of less heavily used output terminals 30 to temporarily provide more cache space.

Bei der Anordnung aus 4 kann der Ausgangspufferspeicherplatz dynamisch von allen Ausgangsanschlüssen 30 gemeinsam genutzt werden, was gleichzeitig auch das oben erwähnte Problem der mit zunehmendem Wert von N2 steigenden Komplexität löst. Die in 4 abgebildete Anordnung umfasst die N Eingangspufferspeicher 11 und die Wegewahleinheit, die in eine Eingangswegewahleinheit 13 und eine Ausgangswegewahleinheit 14 aufgeteilt ist. Auf der Ausgangsseite der Eingangswegewahleinheit 13 ist nur ein gemeinsamer Ausgangspufferspeicher 35, auch als „COB" (common output buffer) kenntlich gemacht, angeordnet, der für alle Datenpakete zuständig ist, die von der auch als „IR" (input router) gekennzeichneten Eingangswegewahleinheit 13 ankommen. Auf der Ausgangsseite des gemeinsamen Ausgangspufferspeichers 35 ist die auch als „OR" (output router) gekennzeichnete Ausgangswegewahleinheit 14 angeordnet. Parallel zu der Eingangswegewahleinheit 13 und dem Ausgangspufferspeicher 35 ist eine Adressverwaltungseinheit 16 angeordnet, die auch als „AM" (address manager) kenntlich gemacht und mit der Eingangswegewahleinheit 13 sowie der Ausgangswegewahleinheit 14 verbunden ist, Die Adressverwaltungseinheit 16 ist mit einer auch als „OQM" (output queue manager) gekennzeichneten Einheit 17 für die Ausgangswarteschlangenverwaltung verbunden, die Eingangsdaten von allen Eingangspufferspeichern 11 sowie von der Adressverwaltungseinheit 16 empfängt. Sie umfasst für jeden Ausgangsanschluss 30 eine auch als „OQ" (output queue) kenntlich gemachte Ausgangswarteschlange 18, die der Ausgangswegewahleinheit 14 Eingangsdaten bereitstellt.In the arrangement off 4 the output buffer space can be dynamically from all output ports 30 which also simultaneously solves the above-mentioned problem of increasing complexity with increasing value of N 2 . In the 4 The arrangement shown comprises the N input buffer memories 11 and the routing unit inserted into an entry route unit 13 and an output selection unit 14 is divided. On the output side of the input selection unit 13 is just a common output buffer 35 , also referred to as "COB" (common output buffer), arranged, which is responsible for all data packets from that also referred to as "IR" (input router) Eingangswegewahleinheit 13 Arrive. On the output side of the common output buffer 35 is the output selection unit also referred to as "OR" (output router) 14 arranged. Parallel to the input selection unit 13 and the output buffer 35 is an address management unit 16 arranged, also identified as "AM" (address manager) and with the Eingangswegewahleinheit 13 and the output selection unit 14 The address management unit 16 is with a unit also known as "OQM" (output queue manager) 17 for output queue management, the input data from all input buffers 11 as well as from the address management unit 16 receives. It includes for each output terminal 30 an output queue also identified as an "OQ" (output queue) 18 , that of the initial selection unit 14 Provides input data.

Die Anordnung umfasst für jeden Eingangsanschluss 20 den Eingangspufferspeicher 11 mit virtueller Ausgangsspeicherung, d.h. mit Eingangswarteschlangen 12 in jedem Eingangspufferspeicher 11 für jede Ausgangswarteschlange 18. Die Eingangspufferspeicher 11 sind mit der Eingangswegewahleinheit 13 verbunden, auf die der gemeinsame Ausgabepufferspeicher 35 und die Ausgangswegewahleinheit 14 folgen. Jeder Eingangspufferspeicher 11 verfügt über seine eigene Eingangssteuereinheit 25 zur Steuerung der Reihenfolge von Datenpaketen, die von den verschiedenen Eingangswarteschlangen 12 an diesen Eingangspufferspeicher 11 ausgehen.The arrangement includes for each input terminal 20 the input buffer 11 with virtual output storage, ie with input queues 12 in each input buffer 11 for each output queue 18 , The input buffers 11 are with the input selection unit 13 connected to the common output buffer 35 and the output selection unit 14 consequences. Each input buffer 11 has its own input control unit 25 for controlling the order of data packets coming from the different input queues 12 to this input buffer 11 out.

Alle eingehenden Datenpakete werden über die Eingangswegewahleinheit 13 an den gemeinsamen Ausgangspufferspeicher 35 weitergeleitet. Die Adressverwaltungseinheit 16 stellt der Eingangswegewahleinheit 13 Daten bereit, aus denen hervorgeht, an welcher Speicherstelle des gemeinsamen Ausgangspufferspeichers 35, d.h. unter welcher Speicheradresse, die eingehenden Datenpakete gespeichert werden sollen. Alternativ kann die Architektur so ausgelegt sein, dass der Eingangspufferspeicher 11 diese Daten erhält und sie der Eingangswegewahleinheit 13 bereitstellt.All incoming data packets are sent via the input selection unit 13 to the common output buffer 35 forwarded. The address management unit 16 provides the input selection unit 13 Data indicating which memory location of the common output buffer is available 35 ie, under which memory address the incoming data packets are to be stored. Alternatively, the architecture may be designed such that the input buffer memory 11 this data gets and they the input selection unit 13 provides.

Die Daten, aus denen hervorgeht, unter welcher Adresse des Ausgangspufferspeichers 35 jedes an einen bestimmten Anschluss 30 gerichtete Datenpaket gespeichert wird, werden in die Einheit 17 für die Ausgangswarteschlangenverwaltung geschrieben, genauer gesagt in die Ausgangswarteschlangen 18 dieser Einheit. Diese Daten werden auch als Reihenfolgedaten bezeichnet. Für jedes Datenpaket, das im gemeinsamen Ausgangspufferspeicher 35 gespeichert wird, werden derartige Reihenfolgedaten an einen Speicherplatz der Ausgangswarteschlange 18 gestellt, an die das Datenpaket gesendet werden soll. Auf diese Weise werden die Adressen gemäß den zugehörigen Ausgangsanschlüssen 30 sortiert, d.h. gemäß denjenigen Ausgangsanschlüssen 30, an welche die unter den betreffenden Adressen gespeicherten Datenpakete gerichtet sind. Dies bedeutet, dass jeder Ausgangsanschluss 30 die Adressen der Datenpakete, die an diesem Ausgangsanschluss 30 eingehen sollen, von der betreffenden Ausgangswarteschlange 18 abruft. Dabei verarbeitet die Adressverwaltungseinheit 16 für jede Ausgangswarteschlange 18 zu jedem beliebigen Zeitpunkt gleichzeitig jeweils eine Adresse. Dies bedeutet auch, dass für jeden Eingangsanschluss 20 stets eine Adresse vorgehalten wird, wobei dies bereits vor dem Eingang der betreffenden Datenpakete erfolgen kann. Jedes Datenpaket, das an erster Stelle bei einem Eingangsanschluss 20 eingeht, findet somit eine Adresse vor, die besagt, wohin es von der Eingangswegewahleinheit 13 weitergeleitet werden soll. Diese N Adressen werden von der Adresssteuereinheit 16 auch der Einheit 17 für die Ausgangswarteschlangenverwaltung bereitgestellt, die als Eingangsdaten weiterhin N Datenpaket-Zieldaten empfängt, welche die Maske bereitstellen, in die die Ausgangswarteschlange 18 die Reihenfolgedaten aller eingegangenen Datenpakete einzutragen hat. Die parallele Verarbeitung der Adressen für alle Eingangsanschlüsse 20 erhöht die Geschwindigkeit und die Gerechtigkeit der Datenpaketverarbeitung. Der Fall, bei dem keine Adressen zur Verfügung stehen, wird weiter unten erläutert.The data that shows under which address of the output buffer memory 35 each to a specific connection 30 directed data packet is stored in the unit 17 for output queue management, more specifically, in the output queues 18 this unit. These data are also referred to as order data. For each data packet in the common output buffer 35 is stored, such order data to a memory location of the output queue 18 to which the data packet is to be sent. In this way, the addresses become according to the associated output terminals 30 sorted, ie according to those output terminals 30 to which the data packets stored under the respective addresses are directed. This means that each output terminal 30 the addresses of the data packets present at this output port 30 from the output queue concerned 18 retrieves. The address management unit processes this 16 for each output queue 18 at any one time at the same time one address each. This also means that for each input connection 20 always an address is maintained, and this can be done before the receipt of the relevant data packets. Each data packet comes first at an input port 20 enters, thus finds an address that says where it goes from the Eingangswegewahleinheit 13 should be forwarded. These N addresses are from the address control unit 16 also the unit 17 for output queue management which further receives as input data N data packet destination data providing the mask in which the output queue 18 enter the order data of all incoming data packets. The parallel processing of addresses for all input ports 20 increases the speed and fairness of data packet processing. The case where addresses are not available will be explained below.

Somit erhält jedes eingehende Datenpaket von der Adressverwaltungseinheit 16 eine Adresse, unter der dieses Datenpaket dann im gemeinsamen Ausgangspufferspeicher 35 gespeichert wird, wobei die Adresse an einem Speicherplatz der Ausgangwarteschlange 18 gespeichert wird, die dem Ausgangsanschluss 30 entspricht, an den das Datenpaket geht. Die hierzu gehörigen Daten, d.h. die Datenpaket-Zieldaten, werden aus dem Datenanfangs-Etikett des Datenpakets erhalten. Die Ausgangswegewahleinheit 14 dient zur endgültigen Verteilung, indem sie für jeden Ausgangsanschluss 30 die nächste Adresse von der entsprechenden Ausgangswarteschlange 18 erhält und anschließend das Datenpaket an dieser Adresse abruft und dem Ausgangsanschluss 30 bereitstellt, der das Ziel dieses Datenpakets ist. Der Abrufschritt besteht hier aus einem nichtlöschenden Leseprozess, mit dem Rundsende-Datenpakete so verarbeitet werden können, dass sie nur ein Mal in dem gemeinsamen Ausgangspufferspeicher 35 gespeichert, aber mehrere Male gelesen werden, bis jeder Ausgangsanschluss 30, der dieses Datenpaket empfangen soll, es empfangen hat. Nachdem das Datenpaket aus dem Ausgangspufferspeicher 35 ausgelesen wurde, wird die betreffende Adresse freigegeben, indem sie an die Adressverwaltungseinheit 16 zurückgegeben wird, die sie dann wieder einem der Eingangsanschlüsse 20 zuweisen kann, um das nächste eingehende Datenpaket zu verarbeiten. Bei Rundsende-Datenpaketen wird ein in der Zeichnung nicht abgebildeter Zähler verwendet, der beim Speichern des Datenpakets auf die Anzahl der Ausgangsanschlüsse 30 gesetzt wird, an die dieses Datenpaket übertragen werden soll, und dessen Wert bei jedem Abruf dieses Datenpakets von der Ausgangswegewahleinheit 14 verringert wird. Wenn der Zähler für dieses Datenpaket den Wert 0 erreicht, kann die zugehörige Adresse freigegeben werden. Der gemeinsame Ausgangspufferspeicher 35 hat somit den Vorteil, dass anstelle von N2 Verbindungen zwischen dem Ausgangspufferspeicher 35 und der Eingangswegewahleinheit 13 lediglich N Verbindungen notwendig sind, d.h., die erforderlichen Ressourcen an der Schnittstelle zwischen der Eingangswegewahleinheit 13 und dem Ausgangspufferspeicher 35 wurden von N2 auf N verringert.Thus, each incoming data packet is received by the address management unit 16 an address under which this data packet then in the common output buffer memory 35 is stored, the address at a memory location of the output queue 18 is stored, which is the output terminal 30 corresponds, to which the data package goes. The associated data, ie the data packet destination data, are obtained from the header of the data packet. The output selection unit 14 Serves for final distribution by providing for each output port 30 the next address from the corresponding output queue 18 receives and then retrieves the data packet at this address and the output port 30 which is the target of this data packet. The fetching step here consists of a non-erasable read process that allows broadcast data packets to be processed only once in the shared output buffer 35 stored, but read several times, until each output terminal 30 who should receive this data packet, received it. After the data packet from the output buffer 35 is read, the address in question is released by sending it to the address management unit 16 which is then returned to one of the input terminals 20 assign to process the next incoming data packet. Broadcast data packets use a counter that is not shown in the drawing and, when the data packet is stored, the number of output ports 30 is set, to which this data packet is to be transmitted, and its value at each fetch of this data packet from the Ausgangswegewahleinheit 14 is reduced. If the counter for this data packet reaches the value 0, the associated address can be released. The common output buffer 35 thus has the advantage that instead of N 2 Verbin tions between the output buffer 35 and the input selection unit 13 only N connections are necessary, ie the required resources at the interface between the input router unit 13 and the output buffer 35 were reduced from N 2 to N

Das Prinzip der gemeinsamen Nutzung des Ausgangspufferspeichers 35 wird eingeführt, indem die Ausgangswarteschlangen 18 insgesamt über mehr Warteschlangenspeicherplätze verfügen, als der Ausgangspufferspeicher 35 Adressen aufweist. Für die Eingangsanschlüsse 20 entsteht somit der Eindruck, dass es für jeden Ausgangsanschluss 30 mehr Platz im Ausgangspufferspeicher 35 gibt, als dies der Fall wäre, wenn der Ausgangspufferspeicher 35 lediglich gleichmäßig auf die Anzahl der Ausgangsanschlüsse 30 verteilt würde. Solange der Gesamtdatenverkehr der Datenpakete die tatsächlich gegebene Höchstkapazität des Ausgangspufferspeichers 35 nicht überschreitet, steigt die Leistung, da die Anordnung mit Blick auf extreme Änderungen des Datenverkehrsmusters sehr viel flexibler ist. So kann insbesondere ein diskontinuierlicher Datenverkehr sehr viel besser verarbeitet werden, da die Wahrscheinlichkeit eines Datenpaketverlustes verringert wird, indem ein Ausgangsanschluss 30 mehr Ausgangspufferspeicherplatz nutzen kann, als ihm eigentlich zusteht.The principle of sharing the output buffer 35 is introduced by the output queues 18 have more queue memory slots than the output buffer 35 Has addresses. For the input terminals 20 thus gives the impression that it is for each output terminal 30 more space in the output buffer 35 gives, as would be the case, if the output buffer 35 only evenly on the number of output terminals 30 would be distributed. As long as the total traffic of the data packets is the actual maximum capacity of the output buffer 35 performance does not increase as the arrangement is much more flexible with respect to extreme changes in the traffic pattern. In particular, discontinuous data traffic can be processed much better because the likelihood of data packet loss is reduced by using an output port 30 Can use more output buffer space, as it is actually entitled.

Das Prinzip der gemeinsamen Nutzung bringt jedoch die Möglichkeit des Hortens mit sich, was bedeutet, dass ein sehr stark ausgelasteter Ausgangsanschluss 30 den gesamten gemeinsam genutzten Speicher des Ausgangspufferspeichers 35 für sich allein in Anspruch nehmen kann und so andere Ausgangsanschlüsse 30 benachteiligt, sofern keine anderweitigen Mechanismen zur Verhinderung dieses Effekts vorgesehen sind. Außerdem ist zu berücksichtigen, dass die gemeinsame Nutzung lediglich einen virtuellen Ausgangspufferspeicherplatz schafft, der größer als der tatsächlich vorhandene Ausgangspufferspeicherplatz ist. Dies bedeutet, dass die Eingangsanschlüsse 20 unter Umständen versuchen, den virtuellen Ausgangspufferspeicherplatz in einem Maße zu belegen, das den tatsächlich vorhandenen Ausgangspufferspeicherplatz übersteigt.The principle of sharing, however, brings the possibility of Hortens with it, which means that a very busy output terminal 30 the entire shared memory of the output buffer 35 can take care of itself and so have other output terminals 30 unless otherwise provided for to prevent this effect. It should also be noted that sharing only provides a virtual output buffer space that is larger than the actual output buffer space available. This means that the input terminals 20 may attempt to occupy the virtual output buffer space to an extent that exceeds the actual output buffer space available.

Auch hier kommt der Erlaubnismechanismus zum Einsatz, um mit der Wahrscheinlichkeit eines Überlaufs des Ausgangspufferspeichers bzw. der Ausgangswarteschlange umzugehen. Jede Ausgangswarteschlange 18 verfügt über den festgelegten ersten Grenzwert, bei dessen Überschreiten die negativen Erlaubnisdaten GR erzeugt werden, sowie über einen zweiten Grenzwert, bei dessen Unterschreiten die positiven Erlaubnisdaten GR erzeugt werden, die allen Eingangspufferspeichern 11 bereitgestellt werden. Die negativen Erlaubnisdaten GR bewirken, dass alle Eingangspufferspeicher 11 aufhören, Datenpakete an den Ausgangsanschluss 30 zu senden, dessen Ausgangswarteschlange 18 die negativen Erlaubnisdaten GR ausgegeben hat. Im Falle einer gemeinsamen Nutzung muss der Ausgangspufferspeicher 35 außerdem auf einen möglichen Überlauf überwacht werden. Da bei einer gemeinsamen Nutzung die Summe der Anzahl von Speicherplätzen in allen Ausgangswarteschlangen 18 größer ist als die Anzahl der Adressen im Ausgangspufferspeicher 35, kann der Ausgangspufferspeicher 35 bis an seine Höchstgrenze ausgelastet werden, obwohl keine Ausgangswarteschlange 18 ihren Grenzwert für die in ihr gespeicherten Datenpakete erreicht. Aus diesem Grund verfügt der Ausgangspufferspeicher 35 über einen dritten Grenzwert für belegte Adressen, bei dessen Erreichen die Erzeugung eines Gegendrucks durch eine maximale Speicherauslastung in Form der negativen Erlaubnisdaten GR für alle Eingangspufferspeicher 11 veranlasst wird, die dann das Senden ihrer Datenpakete an den Ausgangspufferspeicher 35 über die Eingangswegewahleinheit 13 einstellen, d.h., von sämtlichen Eingangspufferspeichern 11 darf kein einziges Datenpaket mehr gesendet werden. Sobald die Anzahl der belegten Adressen unter den dritten oder einen davon abweichenden vierten Grenzwert absinkt, kann der normale Betrieb wieder aufgenommen werden.Again, the permission mechanism is used to deal with the likelihood of overflow of the output buffer or output queue. Each output queue 18 has the fixed first threshold above which the negative permission data GR is generated, and a second threshold below which the positive permission data GR is generated which is stored in all the input buffers 11 to be provided. The negative permission data GR causes all input buffer memories 11 stop sending data packets to the output port 30 to send its output queue 18 has issued the negative permission data GR. In case of sharing, the output buffer must be 35 also be monitored for possible overflow. Because in a shared use, the sum of the number of storage locations in all outgoing queues 18 is greater than the number of addresses in the output buffer memory 35 , the output buffer can 35 be used to its maximum limit, although no output queue 18 reaches its limit for the data packets stored in it. For this reason, the output buffer has 35 via a third occupied address limit, upon which the generation of a backpressure by a maximum memory utilization in the form of the negative permission data GR for all input buffer memories is achieved 11 then sending their data packets to the output buffer memory 35 via the input selection unit 13 set, ie, from all input buffers 11 no more data packets may be sent. As soon as the number of occupied addresses drops below the third or a different fourth limit value, normal operation can be resumed.

Somit wird hier ein Rückkopplungsmechanismus bereitgestellt, mit dem den Eingangspufferspeichern 11 mitgeteilt wird, ob eine bestimmte Ausgangswarteschlange 18 voll ist, d.h., ob ein bestimmter Grenzwert für diese Ausgangswarteschlange 18 überschritten wurde, und damit, ob weitere Datenpakete an die Ausgangswarteschlange 18 gesendet werden dürfen. Wenn für eine bestimmte Ausgangswarteschlange 18 der Zustand „Erlaubnis nicht erteilt" vorliegt, d.h., wenn der betreffende Grenzwert überschritten wurde, werden die negativen Erlaubnisdaten GR ausgegeben, und jede Eingangssteuereinheit 25 kann reagieren, indem die Datenpakete für den Ausgangsanschluss 30, der zu dieser Ausgangswarteschlange 18 gehört, nicht mehr von den Eingangspufferspeichern 11 gesendet werden, d.h., die Datenpakete für die belegte Ausgangswarteschlange 18 werden von den Eingangswarteschlangen 12 zurückgehalten, während andere Eingangswarteschlangen 12 ihre Datenpakete weiterhin senden können.Thus, here a feedback mechanism is provided, with which the input buffer memories 11 will be notified if a particular output queue 18 is full, ie, whether a certain limit for this output queue 18 was exceeded, and thus, whether more data packets to the output queue 18 may be sent. If for a specific output queue 18 the condition "permission not granted" exists, that is, if the relevant limit has been exceeded, the negative permission data GR are output, and each input control unit 25 can respond by adding the data packets for the output port 30 which is to this output queue 18 no longer belongs to the input buffers 11 are sent, that is, the data packets for the busy output queue 18 be from the input queues 12 held back while other entrance queues 12 their data packets can continue to send.

Bei Rundsende-Datenpaketen kann in dieser Ausführungsform die Erzeugung von Erlaubnisdaten dahingehend abgeändert werden, dass für sie an den Ausgangswarteschlangen 18 keine Erlaubnisdaten erzeugt werden oder dass die Erlaubnisdaten übergangen werden. Da für Rundsende-Datenpakete in jeder Ausgangswarteschlange 18, an die das Rundsende-Datenpaket gerichtet ist, ein Eintrag vorgenommen wird, steigt mit zunehmender Anzahl der Ausgangswarteschlangen 18 die Wahrscheinlichkeit, dass das Rundsende-Datenpaket als nichtregelgerecht gekennzeichnet wird, wenn nur bei einer einzigen dieser Ausgangswarteschlangen 18 ein Überlauf vorliegt, der die negativen Erlaubnisdaten auslöst. Dies kann zu einem äußerst hohen und nicht angemessenen Gegendruck für Rundsende-Datenpakete führen. Indem nur die Erlaubnisdaten des gemeinsamen Ausgangspufferspeichers 35 verwendet werden, lässt sich dieses Problem lösen. Als Gegenmaßnahme zu dieser bevorzugten Verarbeitung von Rundsende-Datenpaketen kann ein separater Zähler oder Pufferspeicher für die Rundsende-Datenpakete vorgesehen werden, der bei Erreichen oder Überschreiten einer vorgegebenen Anzahl oder eines Grenzwerts negative Erlaubnisdaten erzeugt und auf diese Weise die Anzahl der verarbeiteten Rundsende-Datenpakete begrenzt.In broadcast data packets, in this embodiment, the generation of permission data may be changed to the output queues for them 18 no permission data is generated or that the permission data is skipped. As for broadcast data packets in each output queue 18 to which the broadcast data packet is addressed, presented an entry is increased as the number of outbound queues increases 18 the likelihood that the broadcast data packet will be flagged as not regular if only for a single one of these outbound queues 18 there is an overflow that triggers the negative permission data. This can lead to extremely high and inappropriate counterpressure for broadcast data packets. By only the permission data of the common output buffer 35 can be used, this problem can be solved. As a countermeasure to this preferred processing of broadcast data packets, a separate counter or buffer memory may be provided for the broadcast data packets, generating negative permission data upon reaching or exceeding a predetermined number or limit, thus limiting the number of broadcast data packets processed ,

Im Gegensatz zu dem in den 1 und 3 realisierten Modell der virtuellen Ausgangsspeicherung wird hier keine zentrale Steuereinheit verwendet. Stattdessen verfügt jeder Eingangspufferspeicher 11 über seine eigene Eingangssteuereinheit 25, die unabhängig von den anderen Eingangssteuereinheiten 25 arbeitet. Dies rührt daher, dass diese Anordnung die Eingangswegewahleinheit 13 umfasst, die allen Eingangspufferspeichern 11 das unabhängige Senden ihrer Datenpakete über die Eingangswegewahleinheit 13 ermöglicht, wann immer die Ausgangswarteschlange 18 für dieses Datenpaket und der gemeinsame Ausgangspufferspeicher 35 ausreichend Speicherplatz dafür haben, d.h., sofern keine negativen Erlaubnisdaten GR erzeugt wurden. Die Unabhängigkeit der Eingangssteuereinheiten 25 führt zu einer erheblich geringeren Komplexität der gesamten Steuerungsressourcen. Jede Eingangssteuereinheit 25 muss hier die eingehenden Datenpakete lediglich gemäß einem vorgegebenen Entscheidungsverfahren verarbeiten, bei dem es sich um ein Reihum-Verfahren, mit oder ohne Gerechtigkeit zur Erlangung eines Vorrangs auf der Grundlage der Priorität oder um ein beliebiges anderes Verfahren handeln kann. Jede Eingangssteuereinheit 25 entscheidet selbstständig, welches der von ihr gespeicherten Datenpakete als Nächstes an die Eingangswegewahleinheit 13 gesendet wird.In contrast to that in the 1 and 3 In this case, no central control unit is used here. Instead, each input buffer has 11 via its own input control unit 25 that are independent of the other input control units 25 is working. This is because this arrangement is the input selection unit 13 includes all the input buffers 11 the independent transmission of their data packets via the input router 13 allows whenever the outbound queue 18 for this data packet and the shared output buffer 35 Have enough space for it, ie, if no negative permission data GR were generated. The independence of the input control units 25 leads to a significantly lower complexity of the entire control resources. Each input control unit 25 It must process the incoming data packets only according to a pre-determined decision-making procedure, which may be a series procedure, with or without equity to obtain priority on the basis of priority, or any other method. Each input control unit 25 independently decides which of the data packets it stores next to the input selection unit 13 is sent.

Eine weitere Verbesserung lässt sich erzielen, indem ein Signal, das den Eingangssteuereinheiten 25 ausführlichere Informationen zum Auslastungsgrad der Ausgangswarteschlangen 18 bereitstellt, an die Eingangssteuereinheiten 25 zurückgegeben wird. Da das Ziel darin besteht, dass zu jedem beliebigen Zeitpunkt an jedem beliebigen Ausgangsanschluss 30 ein Datenpaket vorhanden ist, das an eine nächste Phase übergeben werden soll, können die Informationen, die besagen, dass eine Ausgangswarteschlange 18 leer oder annähernd leer ist, auch der Eingangssteuereinheit 25 bereitgestellt und vorzugsweise dazu verwendet werden, um diejenigen Datenpakete, die an den betreffenden Ausgangsanschluss 30 gerichtet sind, an die Eingangssteuereinheit 13 zu senden. Die Informationen zum Status der Ausgangswarteschlangen 18 lassen sich beispielsweise erhalten, indem ein oder mehrere zusätzliche Grenzwerte, z.B. ein Grenzwert bei einem Auslastungsgrad von 0 oder annähernd 0, eingeführt werden. Eine leere oder beinahe leere Ausgangswarteschlange 18 wird somit an die Eingangssteuereinheiten 25 gemeldet, die daraufhin ihr Verfahren so anpassen sollten, dass diese Ausgangswarteschlange 18 so bald wie möglich ein Datenpaket empfängt. Durch die Einführung mehrerer dieser Grenzwerte kann den Eingangssteuereinheiten 25 ein detaillierter Statusbericht bereitgestellt werden, mit dem diese dann für jede einzelne Ausgangswarteschlange 18 ihr Verfahren für das Multiplexen von Datenpaketen entsprechend abändern können. Dieser Statusbericht dient somit als eine Art von Gegensatz zu den Erlaubnisdaten GR, der in Form eines Alarmsignals bei geringem Auslastungsgrad oder eines Ablauf-Rückkopplungssignals für die Auslastungsmaximierung vorliegt.Further improvement can be achieved by sending a signal to the input control units 25 more detailed information on the utilization level of the output queues 18 provides to the input controllers 25 is returned. Since the goal is that at any time at any output port 30 If there is a data packet to be passed to a next phase, the information that indicates that an output queue 18 empty or nearly empty, including the input control unit 25 provided and preferably used to those data packets that are sent to the relevant output port 30 directed to the input control unit 13 to send. The information about the status of the source queues 18 can be obtained, for example, by introducing one or more additional limit values, eg a limit at a utilization level of 0 or approximately 0. An empty or nearly empty output queue 18 is thus to the input control units 25 who should then adapt their procedure so that this outgoing queue 18 receive a data packet as soon as possible. By introducing several of these limits, the input control units can 25 a detailed status report will be provided for each output queue 18 their method for the multiplexing of data packets can change accordingly. This status report thus serves as a kind of contrast to the permission data GR, which is in the form of a low duty alarm signal or a load maximization runback feedback signal.

Der Mechanismus für die Verarbeitung von Rundsende-Datenpaketen entspricht hier demjenigen bei der Anordnung aus den 1 und 3. Dabei lassen sich mehrere Prioritäten dadurch verarbeiten, dass jeder Eingangspufferspeicher 11 pro Ausgangsanschluss 30 und pro Prioritätsebene eine Eingangswarteschlange 12 umfasst. Dies bedeutet, dass jeder Eingangspufferspeicher 11 für acht Ausgangsanschlüsse 30 und vier Prioritäten insgesamt 32 Eingangswarteschlangen 12 umfasst. Die negativen Erlaubnisdaten GR können hier selektiver an die Eingangspufferspeicher 11 weitergegeben werden, indem die negativen Erlaubnisdaten GR, die von einer bestimmten Ausgangswarteschlange 18 herrühren, ausschließlich an die betreffende Eingangswarteschlange 12 der Eingangspufferspeicher 11 bzw. – bei mehreren Prioritäten – an die betreffenden Eingangswarteschlangen 12 geleitet werden. Somit werden alle anderen Eingangswarteschlangen 12 durch diese negativen Erlaubnisdaten nicht blockiert und können weiterhin ihre Datenpakete an den gemeinsamen Ausgangspufferspeicher 35 senden. In Verbindung mit dem hier angewendeten Prinzip des gemeinsamen Ausgangspufferspeichers lässt sich im Vergleich mit der Anordnung aus den 1 und 3 ein höherer Durchsatz erzielen.The mechanism for processing broadcast data packets here corresponds to that in the arrangement of the 1 and 3 , In doing so, several priorities can be processed by each input buffer 11 per output connection 30 and one input queue per priority level 12 includes. This means that every input buffer 11 for eight output connections 30 and four priorities in total 32 input queues 12 includes. The negative permission data GR can be more selective to the input buffer memory here 11 be passed by the negative permission data GR, that of a particular output queue 18 exclusively to the relevant entry queue 12 the input buffer 11 or - with multiple priorities - to the respective input queues 12 be directed. Thus all other input queues become 12 not blocked by these negative permission data and can continue to send their data packets to the common output buffer 35 send. In connection with the principle of the common output buffer used here can be compared with the arrangement of the 1 and 3 achieve a higher throughput.

Hier tritt jedoch ein auf den ersten Blick überraschender Effekt auf, der darin besteht, dass die Leistung im Gegensatz zum erwarteten Verhalten mit steigender Intensität der gemeinsamen Nutzung sinkt. Dies lässt sich folgendermaßen erklären. Die Schalteinheit 10 erreicht hier beinahe ihre maximale Lastkapazität, d.h., die Ausgangswarteschlangen sind beinahe bis zu ihrem Grenzwert gefüllt, da die selektiven Erlaubnisdaten GR eine Blockierung durch ein Datenpaket an erster Stelle der Warteschlange verhindert. Die gemeinsame Nutzung bewirkt, dass die Überlast eines Ausgangsanschlusses 30 bzw. seiner Ausgangswarteschlange 18 zum Nachteil der den anderen Ausgangswarteschlangen 18 zur Verfügung stehenden Kapazität zwischengespeichert wird. Die gemeinsame Nutzung funktioniert gut, solange ihr Vorteil nur in Verbindung mit einer zeitlichen Zufallsverteilung genutzt wird. Da der virtuelle Ausgangspufferspeicherplatz größer ist als der tatsächlich vorhandene Pufferspeicherplatz, besteht die Gefahr, dass die Ausgangswarteschlangen 18 mehr Adressen erhalten, als der Ausgangspufferspeicher 35 Speicherplätze aufweist. Dies lässt sich selbstverständlich durch den Erlaubnismechanismus für den Ausgangspufferspeicher verhindern. In Verbindung mit der Anordnung bewirkt die virtuelle Ausgangsspeicherung, dass die Steuerung der Eingangswarteschlangen 12 äußerst genau auf die verfügbare Kapazität der zugehörigen Ausgangswarteschlangen 18 abgestimmt ist. Aus diesem Grund werden die Ausgangswarteschlangen 18 annähernd bis zu ihrer Höchstkapazität ausgelastet. Da diese Kapazität durch die Einführung des Prinzips der gemeinsamen Nutzung erhöht wird, steigt auch die Wahrscheinlichkeit für negative Erlaubnisdaten GR infolge einer vollständigen Auslastung des Ausgangspufferspeichers 35. Außerdem wird deutlich, dass mit steigendem gemeinsamem Nutzungsfaktor, d.h. dem Multiplikationsfaktor, um den der virtuelle Ausgangspufferspeicherplatz den tatsächlich vorhandenen Pufferspeicherplatz übersteigt, auch diese Wahrscheinlichkeit und somit die nachteilige Auswirkung auf die Gesamtleistung bei einem Standard-Datenverkehr zunimmt.Here, however, a surprising effect appears at first sight, which is that, in contrast to the expected behavior, the performance decreases with increasing intensity of sharing. This can be explained as follows. The switching unit 10 here almost reaches its maximum load capacity, ie the output queues are filled almost to their limit because the selective permission data GR prevents blocking by a data packet in the first queue. Sharing causes the overload of an output terminal 30 or its output queue 18 to the detriment of the other output queues 18 available capacity is cached. Sharing works well as long as its benefit is only used in conjunction with a time-random distribution. Since the virtual output buffer space is larger than the actual buffer space available, there is a danger that the output queues 18 receive more addresses than the output buffer 35 Has memory locations. Of course, this can be prevented by the permission mechanism for the output buffer. In conjunction with the arrangement, the virtual output storage causes the control of the input queues 12 highly accurate on the available capacity of the associated output queues 18 is tuned. For this reason, the output queues become 18 almost full capacity. As this capacity is increased by the introduction of the sharing principle, the probability of negative permission data GR also increases due to a full utilization of the output buffer 35 , It also becomes clear that as the shared utilization factor, ie the multiplication factor by which the output virtual buffer space exceeds the actual buffer space available, also increases this probability and thus the adverse effect on the overall performance of a standard traffic.

Der Eingangspufferspeicher 11 mit virtueller Ausgangsspeicherung kann auch in Form eines gemeinsamen Eingangspufferspeichers 11 mit oder ohne gemeinsame Nutzung ausgeführt sein, wobei dasselbe Prinzip wie bei dem Ausgangspufferspeicher 35 zum Einsatz kommt. Dies bedeutet, dass die eingehenden Datenpakete in einem gemeinsamen Eingangspufferspeicher 11 gespeichert werden können, während ihre Adressen darin in getrennten Eingangswarteschlangen 12 gespeichert werden, wobei ihre Reihenfolge den Ausgangsanschlüssen 30 entspricht, an die diese Datenpakete gerichtet sind.The input buffer 11 With virtual output storage can also be in the form of a common input buffer 11 with or without sharing, the same principle as the output buffer 35 is used. This means that the incoming data packets in a common input buffer memory 11 while their addresses are in separate input queues 12 stored, their order being the output terminals 30 corresponds to which these data packets are addressed.

Die Anordnung aus 4 lässt sich auch ohne virtuelle Ausgangsspeicherung ausführen, indem für jeden Eingangsanschluss 20 ein einzelner Eingangspufferspeicher 11 bereitgestellt wird.The arrangement off 4 can also be run without virtual output storage by using for each input port 20 a single input buffer 11 provided.

Bei der vorgeschlagenen Erfindung müssen bei einer Änderung der Größe der Anordnung, auch als Schaltwerk bezeichnet, z.B. von 16 × 16, d.h. 16 Eingangsanschlüssen 20 × 16 Ausgangsanschlüssen 30, auf 32 × 32 alle Schaltadapter 19 lediglich ihre Warteschlangenstruktur, nicht jedoch ihren zum Adapter gehörigen Eingangspufferspeicher 11 ändern. Dies bedeutet, dass bei entsprechender Vorausplanung die tatsächliche Anzahl der verketteten Listen zur Verwaltung dieses Eingangspufferspeichers 11 als eine Zusammenstellung der Eingangswarteschlangen 12 programmierbar sein sollte. Unabhängig davon nimmt die Komplexität der Schaltadapter 19 mit der Größenordnung von N zu, d.h., die Verdopplung der Anzahl der Ziele bringt eine Verdoppelung der Anzahl der Eingangswarteschlangen 12 und der Ausgangswarteschlangen 18 mit sich. Bei der klassischen VOQ-Anordnung erfordert eine Verdoppelung der Anzahl der Schalter-Eingangsanschlüsse 20 und -Ausgangsanschlüsse 30 eine Potenzierung der Anzahl der Anfragen, d.h., eine 16-×-16-Steuereinheit empfängt 256 Anfragen, während eine 32-×-32-Steuereinheit 1024 Anfragen empfängt.In the proposed invention, when changing the size of the arrangement, also referred to as a switching mechanism, for example, 16 × 16, ie 16 input terminals 20 × 16 output terminals 30 , on 32 × 32 all switching adapters 19 only their queue structure, but not their input buffer associated with the adapter 11 to change. This means that, with appropriate scheduling, the actual number of linked lists to manage this input buffer 11 as a compilation of the input queues 12 should be programmable. Regardless, the complexity of the switching adapters decreases 19 with the order of N to, ie, doubling the number of targets will double the number of input queues 12 and the output queues 18 with himself. The classical VOQ arrangement requires a doubling of the number of switch input terminals 20 and output terminals 30 an exponentiation of the number of requests, ie a 16x16 controller receives 256 requests, while a 32x32 controller receives 1024 requests.

Bei der klassischen VOQ-Anordnung erfordern Rundsende-Datenpakete eine besondere Verarbeitung. Die Schalteinheit 10 beinhaltet in diesem Fall keinen internen Pufferspeicher. Dies bedeutet, dass für das Senden eines Rundsende-Datenpakets alle Ausgangsanschlüsse 30, an die dieses Datenpaket geht, frei sein müssen. Dies führt zu einer zusätzlichen Komplexität der Schaltsteuereinheit 25: Sie muss erkennen, dass ein Rundsende-Datenpaket übertragen werden soll, muss dann sicherstellen, dass kein anderer Schaltadapter 19 ein Datenpaket an einen der Ausgangsanschlüsse 30 sendet, an die das Rundsende-Datenpaket geht, muss anschließend dem Schaltadapter 19, der das Rundsende-Datenpaket sendet, die Sendeerlaubnis erteilen und muss schließlich mehrere Kreuzungspunkte in der Schalteinheit 10 setzen. Solange diese Schaltsteuereinheit 25 eine einfache Logik umfasst, ist dies machbar, sobald sie jedoch im Fließbandverfahren arbeitet und ausgefeilte Algorithmen verwendet, die versuchen, eine bestmögliche Gerechtigkeit und Prioritätsverarbeitung sicherzustellen, entwickelt sich dies zu einer wirklich komplexen Aufgabe. Eine bekannte derzeitige Vorgehensweise besteht in der Bereitstellung eigener Rundsende-Warteschlangen, in die alle Adapter ihre Rundsende-Datenpakete stellen. Da so die Beziehung zwischen nicht rundgesendetem und rundgesendetem Datenverkehr vollständig aufgehoben ist, wird dies als eine nicht optimale Lösung betrachtet. Es ist nicht möglich, zwei Rundsende-Datenpakete, von denen eines von einem ersten Schaltadapter 19 und eines von einem anderen Schaltadapter 19 stammt, zu senden, wenn es mindestens einen Ausgangsanschluss 30 gibt, bei dem eine Überlappung mit den Zielen dieser beiden Rundsende-Datenpakete vorliegt. Dies führt zu einer schwerwiegenden Beeinträchtigung der Durchsatzleistung.In the classical VOQ arrangement, broadcast data packets require special processing. The switching unit 10 in this case does not contain any internal buffer memory. This means that for sending a broadcast data packet all output ports 30 to which this data package is going to have to be free. This leads to additional complexity of the switching control unit 25 : It must recognize that a broadcast data packet should be transmitted, then must make sure that no other switching adapter 19 a data packet to one of the output ports 30 sends to which the broadcast data packet goes, must then the switching adapter 19 which transmits the broadcast data packet, grant the broadcast permission, and eventually has several cross points in the switching unit 10 put. As long as this shift control unit 25 This is feasible, but once it works in a pipelined way and uses sophisticated algorithms that try to ensure the best possible fairness and priority processing, it becomes a truly complex task. One known current practice is to provide dedicated broadcast queues into which all adapters place their broadcast data packets. Since this completely removes the relationship between unsubmitted and broadcast traffic, this is considered a less than optimal solution. It is not possible to have two broadcast data packets, one of which is a first switching adapter 19 and one from another switch adapter 19 comes to send if there is at least one output terminal 30 where there is an overlap with the destinations of these two broadcast data packets. This leads to a serious impairment of throughput.

Wenn bei der Anordnung aus 3 ein Schaltadapter 19 ein Rundsende-Datenpaket senden soll und die Ausgangswarteschlangen 18, die eine Kopie dieses Datenpakets empfangen, keine Überschreitung ihres Grenzwerts melden, kann das Datenpaket gesendet werden. Mehrere Schaltadapter können gleichzeitig mehrere Rundsende-Datenpakete senden, ohne dass sie voneinander wissen müssen, wohin genau sie diese senden. Eine mögliche Kollision wird durch den Ausgangspufferspeicher 35 vermieden. Die Schalteinheit 10 mit virtueller Ausgangsspeicherung und gemeinsam genutztem Ausgangspufferspeicher, d.h. dem gemeinsamen Ausgangspufferspeicher 35, bietet eine gute Umgebung für die Verarbeitung von Rundsende-Datenpaketen, da – im Gegensatz zu anderen Schalteinheiten 10 – das Datenpaket nicht mehrere Male vervielfältigt werden muss, was wiederum Speicherplatz spart, wobei das Rundsende-Datenpaket ebenso verarbeitet werden kann wie ein Datenpaket, das nur an eine einzige Adresse gerichtet ist. Dies vereinfacht die Steuerung und Regelung des Datenverkehrs. Es wird ein besseres Echtzeitverhalten erzielt, indem Rundsende-Datenpaketen keine zusätzliche künstliche Latenzzeit für einen zusätzlichen Verarbeitungsprozess auferlegt wird.If in the arrangement off 3 one switching adapter 19 to send a broadcast data packet and the output queues 18 who receive a copy of this data packet, do not report exceeding their limit value, the data packet can be sent. Multiple switch adapters can send multiple broadcast data packets at the same time without having to know where exactly they are sending them. One possible collision is through the output buffer 35 avoided. The switching unit 10 with virtual output storage and shared output buffer, ie the common output buffer 35 , offers a good environment for the processing of broadcast data packets, in contrast to other switching units 10 - The data packet does not have to be duplicated several times, which in turn saves memory, where the broadcast data packet can be processed as well as a data packet that is addressed to only a single address. This simplifies the control and regulation of the data traffic. Better real-time performance is achieved by not imparting extra artificial latency on broadcast data packets for additional processing.

Die Verwendung von Eingangswarteschlangen 12 für jede Priorität verhindert, dass Datenpakete mit hoher Priorität durch Datenpakete mit niedrigerer Priorität blockiert werden, was wiederum die Dienstqualität der Schalteinheit 10 erhöht.The use of input queues 12 for each priority prevents high-priority data packets from being blocked by lower-priority data packets, which in turn degrades the quality of service of the switching unit 10 elevated.

Gemäß der Erfindung lässt sich die Leistung der Schalteinheit 10 auf verschiedene Arten steigern. Für eine höhere Anzahl von Eingangsanschlüssen 20 und Ausgangsanschlüssen 30 kann die Schalteinheit 10 in einer Mehrstufen- oder Einstufen-Anordnung ausgeführt werden. Bei der Mehrstufen-Anordnung nimmt die Anzahl der benötigten Schalteinheiten 10 langsamer zu als bei einer vergleichbaren Einphasen-Anordnung, d.h., mit zunehmender Anzahl der Anschlüsse benötigt eine Mehrstufen-Anordnung weniger Schalteinheiten 10 als eine Einstufen-Anordnung.According to the invention, the performance of the switching unit can be 10 increase in different ways. For a higher number of input connections 20 and output terminals 30 can the switching unit 10 in a multi-stage or single-stage arrangement. In the multi-stage arrangement, the number of switching units required decreases 10 slower than in a comparable single-phase arrangement, ie, with increasing number of connections requires a multi-stage arrangement fewer switching units 10 as a one-step arrangement.

Aufgrund der längeren Latenzzeit und möglicher negativer Erlaubnisdaten GR infolge einer vollständigen Auslastung einer Ausgangswarteschlange 18 durch eine Verbindung, wodurch die Verarbeitung von Datenpaketen mit anderen Zielen verhindert wird, oder infolge einer vollständigen Auslastung des Ausgangspufferspeichers 35, die alle Eingänge der Schalteinheit blockiert, was sich dann wiederum auf die vorhergehende Stufe auswirkt, weist eine Mehrstufen-Anordnung allerdings eine geringere Leistung auf. Diese geringere Leistung kann bis zu einem gewissen Grad durch einen Beschleunigungsfaktor ausgeglichen werden. Dies bedeutet, dass die Schalteinheit 10 mit einer höheren Geschwindigkeit läuft als ihre Umgebung. In diesem Fall wird nach der Schalteinheit 10 ein Ausgangspufferspeicher 35 benötigt, um die schneller eingehenden Datenpakete, die von der letzten Stufe gesendet und mit einer geringeren Geschwindigkeit an die folgende Hardwareumgebung weitergeleitet werden sollen, zwischenzuspeichern. Eine weitere Möglichkeit besteht in der Vergrößerung des Speichers der Schalteinheit, so dass eine vollständige Auslastung des Ausgangspufferspeichers 35 weniger wahrscheinlich wird. Ein derartiger größerer Speicher ist jedoch kostenaufwändig und unterliegt außerdem gewissen physischen Beschränkungen. Die Vergrößerung des Schaltelementspeichers durch den Speicherweiterungsmodus vermeidet die physische Beschränkung, ist aber dennoch teuer. Wenn bei einer Mehrstufen-Anordnung ein darauf folgendes Schaltelement 10 belegt ist, d.h., wenn sein Ausgangspufferspeicher 35 voll und somit keine Adresse verfügbar ist, oder wenn die Ausgangswarteschlange 18 voll ist, können negative Erlaubnisdaten GR für alle Eingänge erzeugt werden, wobei die Erlaubnisdaten GR wiederum an alle vorhergehenden Schalteinheiten 10 übertragen werden. Bei vollen Ausgangswarteschlangen 18 können die Erlaubnisdaten GR selektiv nur Datenpakete blockieren, die an die volle Ausgangswarteschlange 18 gerichtet sind. Bei einem vollen Ausgangspufferspeicher 35 müssen alle Eingangspufferspeicher 11 blockiert werden. Die negativen Erlaubnisdaten GR blockieren die vorhergehende Schalteinheit 10, so dass diese keine Datenzellen mehr senden kann.Due to the longer latency and possible negative permission data GR due to a full utilization of an output queue 18 through a connection, preventing the processing of data packets with other destinations, or due to a full utilization of the output buffer 35 , which blocks all inputs of the switching unit, which in turn affects the previous stage, however, a multi-stage arrangement has a lower power. This lower power can be offset to some extent by an acceleration factor. This means that the switching unit 10 running at a higher speed than their surroundings. In this case, after the switching unit 10 an output buffer 35 needed to cache the faster incoming data packets sent from the last stage and forwarded to the following hardware environment at a lower speed. Another possibility is to increase the memory of the switching unit, so that a full utilization of the output buffer memory 35 less likely. However, such larger memory is costly and also subject to certain physical limitations. The enlargement of the switching element memory by the memory expansion mode avoids the physical restriction, but is still expensive. If in a multi-stage arrangement, a subsequent switching element 10 is occupied, ie, when its output buffer 35 full and thus no address is available, or if the output queue 18 is full, negative permission data GR can be generated for all inputs, the permission data GR in turn being sent to all previous switching units 10 be transmitted. For full output queues 18 For example, the permission data GR may selectively block only data packets coming to the full output queue 18 are directed. With a full output buffer 35 must all input caches 11 be blocked. The negative permission data GR blocks the preceding switching unit 10 so that it can no longer send data cells.

Die Größe der hier vorgestellten Schalteinheit 10 lässt sich mit allen bekannten Erweiterungsverfahren, wie sie z.B. von der PRIZMA-Architektur bekannt sind, über die im Abschnitt über den Hintergrund der Erfindung die Rede war, verändern. Somit ist eine Steigerung bzw. Erweiterung von Geschwindigkeit, Anschlüssen und Leistung und Speicher, wobei es sich hier um die Verfügbarkeit von mehr Ausgangspufferspeicherplatz handelt, ebenso anwendbar wie die parallele Verschaltung mehrerer Chips (link-paralleling) und das Master-Slave-Prinzip sowie eine beliebige Kombination hiervon.The size of the switching unit presented here 10 can be modified with all known expansion methods, as they are known for example from the PRIZMA architecture, which was discussed in the section on the background of the invention. Thus, an increase in speed, ports, and power and memory, which is the availability of more output buffer space, is as applicable as the parallel interconnection of multiple chips (link-paralleling) and the master-slave principle, and one any combination thereof.

Die beschriebenen Ausführungsformen können sowohl teilweise als auch im Ganzen miteinander kombiniert werden.The described embodiments can be combined both partially and in whole.

Claims (14)

Schaltanordnung, die Folgendes umfasst: – mehrere Eingangsanschlüsse (20) und mehrere Ausgangsanschlüsse (30) einer Schalteinheit (10), wobei jeder der Eingangsanschlüsse (20) mit einem entsprechenden Schaltadapter (19) verbunden ist, – mindestens eine Schaltsteuereinheit (25) zur Steuerung der Weiterleitung eingehender Datenpakete von den Eingangsanschlüssen (20) an die Ausgangsanschlüsse (30), – eine Überlaststeuereinheit (60) für jeden Ausgangsanschluss (30), dadurch gekennzeichnet, dass – die Überlaststeuereinheit (60) so gestaltet ist, dass sie während ihres Betriebs Erlaubnisdaten (GR) in Form von Gegendruckdaten bereitstellt, die angeben, ob die Schaltadapter (19) eines der Datenpakete über den Eingangsanschluss (20) an den Ausgangsanschluss (30) senden dürfen, und – die Schaltanordnung für jeden der Eingangsanschlüsse (20) eine Datenpaket-Zugriffsteuereinheit (40) umfasst, die für den Fall, dass trotz der nicht erteilten Erlaubnis zum Senden des Datenpakets ein Datenpaket an dem Eingangsanschluss (20) empfangen wird, so ausgelegt ist, dass sie während ihres Betriebs das Datenpaket als nichtregelgerecht kennzeichnet, wobei die Schalteinheit (10) so ausgelegt ist, dass sie die Kennzeichnung verwendet, um die gekennzeichneten Datenpakete zu löschen.Switching arrangement, comprising: - a plurality of input terminals ( 20 ) and several output terminals ( 30 ) a switching unit ( 10 ), each of the input terminals ( 20 ) with a corresponding switching adapter ( 19 ), - at least one shift control unit ( 25 ) for controlling the forwarding of incoming data packets from the input ports ( 20 ) to the output terminals ( 30 ), - an overload control unit ( 60 ) for each off input connection ( 30 ), characterized in that - the overload control unit ( 60 ) is designed to provide clearance data (GR) in the form of backpressure data during its operation, indicating whether the shift adapters ( 19 ) one of the data packets via the input port ( 20 ) to the output terminal ( 30 ), and - the switching arrangement for each of the input terminals ( 20 ) a data packet access control unit ( 40 ), in the event that despite the not granted permission to send the data packet, a data packet at the input port ( 20 ) is designed so that it marks the data packet as non-regular during its operation, the switching unit ( 10 ) is designed to use the tag to clear the tagged data packets. Schalteinheit nach Anspruch 1, wobei die Datenpaket-Steuereinheit (40) einen Zähler (42) umfasst, der bewirkt, dass diejenigen Datenpakete, die trotz der nicht erteilten Erlaubnis zum Senden des Datenpakets an dem Eingangsanschluss (20) eingehen, nicht gekennzeichnet werden, bis eine vorbestimmte Zeitspanne nach dem Zeitpunkt verstrichen ist, zu dem die Erlaubnisdaten (GR), die eine Erlaubnisverweigerung angeben, erzeugt wurden, wobei die Zeitspanne vorzugsweise die Zeitdifferenz zwischen dem Zeitpunkt der Erzeugung der Erlaubnisdaten (GR) und dem spätesten Zeitpunkt ist, zu dem ein Datenpaket, das von einem der Eingangspufferspeicher (11) an die Schalteinheit (10) gesendet worden wäre, kurz bevor die Erlaubnisdaten (GR) im Eingangspufferspeicher (11) eingegangen wären, bei der Datenpaket-Zugriffsteuereinheit (40) eingehen würde.Switching unit according to claim 1, wherein the data packet control unit ( 40 ) a counter ( 42 ), which causes those data packets which, despite the unauthorized permission to transmit the data packet at the input port ( 20 ), are not marked until a predetermined period of time has elapsed after the time at which the permission data (GR) indicating a permission denial was generated, the time period preferably being the time difference between the time of generation of the permission data (GR) and the latest time at which a data packet coming from one of the input buffers ( 11 ) to the switching unit ( 10 ) just before the permission data (GR) in the input buffer ( 11 ) at the data packet access control unit ( 40 ). Schalteinheit nach Anspruch 1 oder 2, wobei die Überlaststeuereinheit (60) einem Ausgangspufferspeicher (35) des Ausgangsanschlusses (30) zugewiesen wird, wobei sie vorzugsweise dadurch ausgelöst wird, dass ein erster Grenzwert des Pufferspeicher-Auslastungsgrads überschritten und/oder ein zweiter Grenzwert des Pufferspeicher-Auslastungsgrads unterschritten wird.Switching unit according to claim 1 or 2, wherein the overload control unit ( 60 ) an output buffer memory ( 35 ) of the output terminal ( 30 ), which is preferably triggered by exceeding a first limit of the buffer utilization level and / or below a second limit of the buffer utilization level. Schalteinheit nach einem der Ansprüche 1 bis 3, wobei die Erlaubnisdaten (GR) ein oder mehrere Bits pro Ausgangsanschluss (30) umfassen.Switching unit according to one of claims 1 to 3, wherein the permission data (GR) one or more bits per output terminal ( 30 ). Schalteinheit nach einem der Ansprüche 1 bis 4, wobei die Erlaubnisdaten (GR) aller Ausgangsanschlüsse (30) der Schalteinheit (10) vorzugsweise in Form einer Einzelbitdarstellung an einen jeden Schaltadapter (19) übertragen werden können.Switching unit according to one of claims 1 to 4, wherein the permission data (GR) of all output connections (GR) 30 ) of the switching unit ( 10 ) preferably in the form of a single bit representation to each switching adapter ( 19 ) can be transmitted. Schalteinheit nach einem der Ansprüche 1 bis 5, wobei die von den Ausgangsanschlüssen über die Schaltadapter (19) ausgehenden Datenpakete die Erlaubnisdaten (GR) umfassen.Switching unit according to one of claims 1 to 5, wherein the from the output terminals via the switching adapter ( 19 ) outgoing data packets comprise the permission data (GR). Schalteinheit nach einem der Ansprüche 1 bis 6, wobei der Ausgangspufferspeicher (35) ein gemeinsamer Ausgangspufferspeicher mit Adressen für die Datenpakete ist und wobei die Schalteinheit (10) eine Eingangswegewahleinheit (13) und eine Ausgangswegewahleinheit (14) sowie eine Adressverwaltungseinheit (16) für die Verwaltung der Nutzung der Adressen des gemeinsamen Ausgangspufferspeichers (35), eine Einheit (17) für die Ausgangswarteschlangenverwaltung für die Eingabe von Reihenfolgedaten, die angeben, an welchen Adressen die Datenpakete in dem gemeinsamen Ausgangspufferspeicher (35) gespeichert werden sollen, in Ausgangswarteschlangen (18), die mit der Ausgangswegewahleinheit (14) verbunden sind, umfasst.Switching unit according to one of claims 1 to 6, wherein the output buffer memory ( 35 ) is a common output buffer memory with addresses for the data packets, and wherein the switching unit ( 10 ) an input selection unit ( 13 ) and an output selection unit ( 14 ) and an address management unit ( 16 ) for the management of the use of the addresses of the common output buffer memory ( 35 ), one unity ( 17 ) for output queue management for the entry of order data indicating at which addresses the data packets in the common output buffer memory ( 35 ) are stored in outgoing queues ( 18 ) connected to the output selection unit ( 14 ). Schalteinheit nach Anspruch 7, dadurch gekennzeichnet, dass die Ausgangswarteschlangen (18) insgesamt mehr Warteschlangenspeicherplätze für die Reihenfolgedaten bereitstellen, als der gemeinsame Ausgangspufferspeicher (35) Adressen aufweist.Switching unit according to claim 7, characterized in that the output queues ( 18 ) provide more queue storage locations for the order data than the shared output buffer memory ( 35 ) Addresses. Verfahren für die Steuerung der Wegewahl von Datenpaketen durch eine Schalteinheit (10) mit mehreren Eingangsanschlüssen (20) und mehreren Ausgangsanschlüssen (30) einer Schalteinheit (10), wobei jeder der Eingangsanschlüsse (20) mit einem entsprechenden Schaltadapter (19) und mit mindestens einer Schaltsteuereinheit (25) für die Steuerung der Wegewahl von eingehenden Datenpaketen von den Eingangsanschlüssen (20) an die Ausgangsanschlüsse (30) verbunden ist, das dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst – für jeden Ausgangsanschluss (30) Erzeugen von Erlaubnisdaten (GR) in Form von Gegendruckdaten, die angeben, ob die Schaltadapter (19) ein Datenpaket über den Eingangsanschluss (20) an den Ausgangsanschluss (30) senden dürfen, und – Kennzeichnen derjenigen Datenpakete als nichtregelgerecht, die trotz einer nicht erteilten Erlaubnis zum Senden der Datenpakete an dem Eingangsanschluss (20) eingehen, wobei die Schalteinheit (10) so ausgelegt ist, dass sie die Kennzeichnung verwendet, um die gekennzeichneten Datenpakete zu löschen.Method for controlling the routing of data packets by a switching unit ( 10 ) with several input connections ( 20 ) and several output terminals ( 30 ) a switching unit ( 10 ), each of the input terminals ( 20 ) with a corresponding switching adapter ( 19 ) and at least one switching control unit ( 25 ) for controlling the routing of incoming data packets from the input ports ( 20 ) to the output terminals ( 30 ), characterized in that it comprises the following steps - for each output terminal ( 30 ) Generating permission data (GR) in the form of backpressure data indicating whether the switching adapters (GR) 19 ) a data packet via the input port ( 20 ) to the output terminal ( 30 ), and - identifying as unregulated those data packets which, despite an unauthorized permission to transmit the data packets at the input port ( 20 ), wherein the switching unit ( 10 ) is designed to use the tag to clear the tagged data packets. Verfahren nach Anspruch 9, wobei diejenigen Datenpakete, die trotz der nicht erteilten Erlaubnis zum Senden der Datenpakete an dem Eingangsanschluss (20) eingehen, nicht gekennzeichnet werden, bis eine vorbestimmte Zeitspanne nach dem Zeitpunkt, zu dem die Erlaubnisdaten, die eine Erlaubnisverweigerung angeben, erzeugt wurden, verstrichen ist.Method according to Claim 9, in which those data packets which, despite the unauthorized permission to transmit the data packets at the input port ( 20 ), are not flagged until a predetermined period of time has elapsed after the time at which the permission data indicating a permission denial was generated. Verfahren nach Anspruch 9 oder 10, wobei die Erlaubnisdaten (GR) durch das Verhältnis des Pufferspeicher-Auslastungsgrads eines Ausgangspufferspeichers (35) am Ausgangsanschluss (30) zu einem ersten Grenzwert und/oder einem zweiten Grenzwert bestimmt werden.Method according to claim 9 or 10, wherein the permission data (GR) is determined by the ratio of the Buffer utilization level of an output buffer ( 35 ) at the output terminal ( 30 ) to a first threshold and / or a second threshold. Verfahren nach einem der Ansprüche 9 bis 11, wobei die Erlaubnisdaten in Form eines Erlaubnisbits für jeden Ausgangsanschluss (30) erzeugt werden.Method according to one of claims 9 to 11, wherein the permission data in the form of a permission bit for each output terminal ( 30 ) be generated. Verfahren nach einem der Ansprüche 9 bis 12, wobei die Erlaubnisdaten (GR) aller Ausgangsanschlüsse (30) der Schalteinheit (10) vorzugsweise in Form einer Einzelbitdarstellung an einen jeden Schaltadapter (1) übertragen werden.Method according to one of claims 9 to 12, wherein the permission data (GR) of all output connections (GR) 30 ) of the switching unit ( 10 ) preferably in the form of a single bit representation to each switching adapter ( 1 ) be transmitted. Verfahren nach einem der Ansprüche 9 bis 13 wobei die Erlaubnisdaten (GR) an die Schaltadapter (19) übertragen werden, indem sie in die Datenpakete und hier vorzugsweise in deren Datenanfangs-Etiketten eingefügt werden, die über die Schaltadapter (19) von den Ausgangsanschlüssen (30) ausgehen.Method according to one of Claims 9 to 13, the permission data (GR) being sent to the switching adapters (GR). 19 ) are inserted by inserting them into the data packets and here preferably in their start-of-data labels, which are connected via the switching adapters ( 19 ) from the output terminals ( 30 ) go out.
DE60120807T 2000-03-06 2001-01-11 Switching device and method Expired - Lifetime DE60120807T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00810186 2000-03-06
EP00810186 2000-03-06

Publications (2)

Publication Number Publication Date
DE60120807D1 DE60120807D1 (en) 2006-08-03
DE60120807T2 true DE60120807T2 (en) 2006-12-28

Family

ID=8174584

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60120807T Expired - Lifetime DE60120807T2 (en) 2000-03-06 2001-01-11 Switching device and method

Country Status (4)

Country Link
US (1) US6999415B2 (en)
JP (1) JP3606565B2 (en)
AT (1) ATE331369T1 (en)
DE (1) DE60120807T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012207380A1 (en) * 2012-05-03 2013-11-07 Siemens Aktiengesellschaft Method for distributing data streams in a network element

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60107828T2 (en) * 2001-06-18 2005-06-16 Alcatel Flow and blockage control in a switched network
US7120113B1 (en) 2001-07-16 2006-10-10 Juniper Networks, Inc. Systems and methods for limiting low priority traffic from blocking high priority traffic
US20030016625A1 (en) * 2001-07-23 2003-01-23 Anees Narsinh Preclassifying traffic during periods of oversubscription
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
JP3914771B2 (en) * 2002-01-09 2007-05-16 株式会社日立製作所 Packet communication apparatus and packet data transfer control method
US8046404B1 (en) * 2002-03-29 2011-10-25 Graphics Properties Holdings, Inc. System and method for discarding frames of an image during transport across a network link
US7151777B2 (en) * 2002-04-04 2006-12-19 Fujitsu Limited Crosspoint switch having multicast functionality
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7349416B2 (en) * 2002-11-26 2008-03-25 Cisco Technology, Inc. Apparatus and method for distributing buffer status information in a switching fabric
US7496032B2 (en) * 2003-06-12 2009-02-24 International Business Machines Corporation Method and apparatus for managing flow control in a data processing system
US20050036502A1 (en) * 2003-07-23 2005-02-17 International Business Machines Corporation System and method for handling multicast traffic in a shared buffer switch core collapsing ingress VOQ's
US7735114B2 (en) * 2003-09-04 2010-06-08 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US7570654B2 (en) * 2003-12-22 2009-08-04 Intel Corporation Switching device utilizing requests indicating cumulative amount of data
US7623524B2 (en) * 2003-12-22 2009-11-24 Intel Corporation Scheduling system utilizing pointer perturbation mechanism to improve efficiency
US20050232259A1 (en) * 2004-04-19 2005-10-20 Inching Chen Method and apparatus for data routing
US7355975B2 (en) * 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US8018851B1 (en) * 2004-06-30 2011-09-13 Marvell Israel (Misl) Ltd. Flow control for multiport PHY
US7742486B2 (en) * 2004-07-26 2010-06-22 Forestay Research, Llc Network interconnect crosspoint switching architecture and method
US7680053B1 (en) * 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
US7813348B1 (en) 2004-11-03 2010-10-12 Extreme Networks, Inc. Methods, systems, and computer program products for killing prioritized packets using time-to-live values to prevent head-of-line blocking
US8072887B1 (en) * 2005-02-07 2011-12-06 Extreme Networks, Inc. Methods, systems, and computer program products for controlling enqueuing of packets in an aggregated queue including a plurality of virtual queues using backpressure messages from downstream queues
US8559443B2 (en) 2005-07-22 2013-10-15 Marvell International Ltd. Efficient message switching in a switching apparatus
CA2562634A1 (en) * 2005-11-28 2007-05-28 Tundra Semiconductor Corporation Method and switch for broadcasting packets
US7738473B2 (en) * 2006-04-20 2010-06-15 Forestay Research, Llc Multicast switching in a credit based unicast and multicast switching architecture
US20070248111A1 (en) * 2006-04-24 2007-10-25 Shaw Mark E System and method for clearing information in a stalled output queue of a crossbar
US8736627B2 (en) * 2006-12-19 2014-05-27 Via Technologies, Inc. Systems and methods for providing a shared buffer in a multiple FIFO environment
US8130652B2 (en) * 2007-01-24 2012-03-06 Complex Systems Research Limited Control of data in communication networks
US8971346B2 (en) * 2007-04-30 2015-03-03 Hand Held Products, Inc. System and method for reliable store-and-forward data handling by encoded information reading terminals
US7830875B2 (en) * 2007-06-13 2010-11-09 Juniper Networks, Inc. Autonegotiation over an interface for which no autonegotiation standard exists
JP4703751B2 (en) * 2009-09-09 2011-06-15 株式会社東芝 Electronics
US8819161B1 (en) 2010-01-18 2014-08-26 Marvell International Ltd. Auto-syntonization and time-of-day synchronization for master-slave physical layer devices
CN102164067B (en) * 2010-02-20 2013-11-06 华为技术有限公司 Switch fabric traffic control realization method, switch equipment and system
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
JP5569984B2 (en) * 2012-02-08 2014-08-13 Necエンジニアリング株式会社 Network failure handling method, network and host
US9426081B2 (en) * 2013-06-01 2016-08-23 Microsoft Technology Licensing, Llc Management of multilevel queues for shared network adapters
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
JP7180485B2 (en) * 2019-03-22 2022-11-30 株式会社デンソー Relay device and queue capacity control method
CN113010173A (en) 2019-12-19 2021-06-22 超威半导体(上海)有限公司 Method for matrix data broadcasting in parallel processing
CN113094099A (en) 2019-12-23 2021-07-09 超威半导体(上海)有限公司 Matrix data broadcast architecture
US11403221B2 (en) 2020-09-24 2022-08-02 Advanced Micro Devices, Inc. Memory access response merging in a memory hierarchy

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108303A (en) * 1995-12-06 2000-08-22 Pmc-Sierra Ltd. Method and apparatus for traffic control in a cell-based network
US5668797A (en) * 1995-12-06 1997-09-16 Pmc-Sierra, Inc. Traffic controller for cell-based transmission
US5831971A (en) * 1996-08-22 1998-11-03 Lucent Technologies, Inc. Method for leaky bucket traffic shaping using fair queueing collision arbitration
US6608813B1 (en) * 1998-11-04 2003-08-19 Agere Systems Inc Method and apparatus for achieving fault tolerance in packet switching systems with inverse multiplexing
JP3246457B2 (en) * 1998-11-13 2002-01-15 日本電気株式会社 Priority reservation scheduling method and method
US6781986B1 (en) * 1999-06-25 2004-08-24 Nortel Networks Limited Scalable high capacity switch architecture method, apparatus and system
CA2292828A1 (en) * 1999-12-22 2001-06-22 Nortel Networks Corporation Method and apparatus for traffic flow control in data switches

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012207380A1 (en) * 2012-05-03 2013-11-07 Siemens Aktiengesellschaft Method for distributing data streams in a network element

Also Published As

Publication number Publication date
JP3606565B2 (en) 2005-01-05
ATE331369T1 (en) 2006-07-15
JP2001285364A (en) 2001-10-12
DE60120807D1 (en) 2006-08-03
US20010021174A1 (en) 2001-09-13
US6999415B2 (en) 2006-02-14

Similar Documents

Publication Publication Date Title
DE60120807T2 (en) Switching device and method
DE60119866T2 (en) Switching device and method with separate output buffers
DE69917555T2 (en) Switching device with multilevel queue scheme
DE60214341T2 (en) Distribution arrangement and method with separated outlet buffers
DE60036031T2 (en) ALLOCATION OF PRIORITY LEVELS IN A DATA FLOW
DE60038538T2 (en) Switching device and conciliation procedure
DE69733703T2 (en) Buffer of multicast cells in switching networks
DE69726995T2 (en) Multicast routing in multilevel networks
DE69632240T2 (en) Method and system for controlling transmission speeds of sources in ATM networks
DE60036682T2 (en) Machine for weighted annular flow control
DE69534540T2 (en) Apparatus and method for processing bandwidth requests in an ATM switch
DE69432655T2 (en) Improvements in ATM messaging systems
DE60036312T2 (en) SET PRIORITIES FOR RIVER CONTROL DATA
DE69827053T2 (en) Method of allocating resources in a digital communications network
DE69635880T2 (en) System and method for the transmission of parcels, suitable for a large number of entrance gates
DE602004002522T2 (en) Quality of service method based on flow control in a distributed switch fabric network
DE10196447B4 (en) Method and apparatus for reducing pool depletion in a shared memory switch
DE69731606T2 (en) ANNEX AND METHOD FOR CHANGING THRESHOLD FOR OVERLOAD CONTROL IN ATM AGENCIES
DE60309414T2 (en) Metro Ethernet network system with selective uptime pause messaging
DE60127366T2 (en) Method and structure for supporting variable length frames in a shared memory switch
DE60222656T2 (en) DEVICE AND METHOD FOR EFFICIENT MULTICASTING OF DATA PACKAGES
DE202018104604U1 (en) Overload prevention in a network switch device
DE69738386T2 (en) Improvements in or relating to an ATM switch
DE19757966A1 (en) ATM switch queuing system
DE19531749A1 (en) Traffic control method for packet-switching communication equipment e.g. ATM

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)