DE60119224T2 - Speicherverwaltungseinheit für eine Vermittlungsstelle - Google Patents

Speicherverwaltungseinheit für eine Vermittlungsstelle Download PDF

Info

Publication number
DE60119224T2
DE60119224T2 DE60119224T DE60119224T DE60119224T2 DE 60119224 T2 DE60119224 T2 DE 60119224T2 DE 60119224 T DE60119224 T DE 60119224T DE 60119224 T DE60119224 T DE 60119224T DE 60119224 T2 DE60119224 T2 DE 60119224T2
Authority
DE
Germany
Prior art keywords
packet
memory
cell
port
management unit
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
DE60119224T
Other languages
English (en)
Other versions
DE60119224D1 (de
Inventor
Mohan.C/O Broadcom Corporation San Jose Kalkunte
Shekhar.C/O Broadcom Corporation San Jose Ambe
Soma.C/O Broadcom Corporatio San Jose Pullela
San Jose Lund Martin.C/O Broadcom Corporation
shiri.C/O Broadcom Corporati San Jose Kadambi
Jim.C/O Broadcom Corporation Irvine Battle
Daniel.C/O Broadcom Corporation Irvine Tai
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.)
Broadcom Corp
Original Assignee
Broadcom 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 Broadcom Corp filed Critical Broadcom Corp
Publication of DE60119224D1 publication Critical patent/DE60119224D1/de
Application granted granted Critical
Publication of DE60119224T2 publication Critical patent/DE60119224T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6205Arrangements for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • 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
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/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/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • H04L49/352Gigabit ethernet switching [GBPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/608ATM switches adapted to switch variable length packets, e.g. IP packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • 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
    • 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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich auf eine Einrichtung für eine Hochleistungs-Vermittlung in Lokalbereichs-Kommunikationsnetzwerken, wie beispielsweise Token-Ring, ATM, Ethernet, Fast Ethernet und 1 und 10 Gigabit Ethernet-Umgebungen, welche allgemein als LANs bekannt sind. Insbesondere bezieht sich die Erfindung auf eine neue Vermittlungsarchitektur in einer integrierten, modularen Einzelchip-Lösung, welche auf einem Halbleitersubstrat, wie beispielsweise einem Siliziumchip, implementiert werden kann, und eine Vermittlungsanordnung, welche eine schnelle Kommunikation zwischen den Vermittlern ermöglicht.
  • BESCHREIBUNG ZUM STAND DER TECHNIK
  • Da die Computerleistung in den letzten Jahren gestiegen ist, sind die Anforderungen an Computernetzwerke erheblich gestiegen; wobei schnellere Computerprozessoren und höhere Speicherkapazitäten Netzwerke mit hohen Bandbreiten-Kapazitäten benötigen, um eine Hochgeschwindigkeitsübertragung von erheblichen Datenmengen zu ermöglichen. Die bekannte Ethernet-Technologie, welche auf zahlreichen IEEE Ethernet-Standards basiert, ist ein Beispiel von einer Computernetzwerktechnologie, welche modifiziert und verbessert werden konnte, um als eine brauchbare Berechnungstechnik fortzubestehen. Eine umfangreichere Diskussion von Netzwerksystemen aus dem Stand der Technik ist beispielsweise in „SWITCHED AND FAST ETHERNET" von Breyer and Riley (Ziff-Davis, 1996) und zahlreichen IEEE Publikationen zu finden, welche sich auf IEEE 802 Standards beziehen. Basierend auf dem Open Systems Interconnect (OSI) 7-Schicht Referenzmodell sind Netzwerkkapazitäten durch die Entwicklung von Repeatern, Brücken, Routern, und in letzter Zeit, "Vermittlern" gewachsen, welche mit verschiedenen Typen von Kommunikationsmedien arbeiten. Dickdraht, Dünndraht, verdrilltes Paar und optische Faser sind Beispiele von Medien, welche für Computernetzwerke verwendet wurden. Vermittler, sofern sie sich auf eine Computervernetzung und auf Ethernet beziehen, sind Hardware-basierte Vorrichtungen, welche den Fluss von Datenpaketen oder Zellen basierend auf einer Zieladress-Information steuern, welche in jedem Paket verfügbar ist. Ein korrekt entwickelter und implementierter Vermittler sollte dazu geeignet sein, ein Paket zu empfangen und das Paket an einen geeigneten Ausgangsanschluss mit einer sogenannten Drahtgeschwindigkeit oder Leitungsgeschwindigkeit, welche die maximale Geschwindigkeitsfähigkeit des bestimmten Netzwerkes ist, zu vermitteln.
  • Eine einfache Ethernet-Drahtgeschwindigkeit beträgt bis zu 10 Megabits pro Sekunde, und Fast-Ethernet beträgt bis zu 100 Megabits pro Sekunde. Das neueste Ethernet wird als 10 Gigabit-Ethernet bezeichnet und ist geeignet, Daten über ein Netzwerk mit einer Rate von bis zu 1000 Megabits pro Sekunde zu übertragen. Da die Geschwindigkeit gestiegen ist, sind Konstruktionseinschränkungen und Konstruktionsanforderungen immer komplexer geworden, um geeigneten Konstruktions- und Protokollvorschriften zu entsprechen und eine billige, kommerziell nutzbare Lösung zu liefern. Zum Beispiel erfordert eine Hochgeschwindigkeits-Vermittlung einen Hochgeschwindigkeits-Speicher, um ein angemessenes Puffern von Paketdaten zu bieten; ein üblicher dynamischer Direktzugriffsspeicher (Dynamic Random Access Memory DRAM) ist relativ langsam und benötigt ein Hardwaregesteuertes Auffrischen. Die Geschwindigkeit von DRAMs als Pufferspeicher in Netzwerkvermittlungen führt daher zum Verlust wertvoller Zeit und es wird fast unmöglich, die Vermittlung oder das Netzwerk bei Leitungsgeschwindigkeit zu betreiben.
  • Ferner sollte eine externe CPU-Einbindung vermieden werden, da eine CPU-Einbindung es auch fast unmöglich macht, die Vermittlung mit Leitungsgeschwindigkeit zu betreiben. Da Netzwerkvermittlungen hinsichtlich der Notwendigkeit von Regeltabellen und einer Speichersteuerung immer komplizierter geworden sind, ist zusätzlich eine komplexe Multi-Chip-Lösung notwendig, welche eine Logikschaltung, manchmal als Verknüpfungs-Logikschaltung bezeichnet, erfordert, um es den verschiedenen Chips zu ermöglichen, miteinander zu kommunizieren. Zusätzlich können die Mittel, mit welchen die Elemente miteinander kommunizieren, die Betriebsgeschwindigkeit der Vermittlung begrenzen, wenn die Elemente gezwungen sind, auf jene Kommunikationen zu warten.
  • Bezugnehmend auf das zuvor erläuterte OSI 7-Schicht Referenzmodell, weisen die höheren Schichten typischerweise mehr Information auf. Verschiedene Produkttypen sind für ein Durchführen auf Vermittlungsvorgänge bezogene Funktionen auf verschiedenen Stufen des OSI-Modells verfügbar. Netzknoten oder Repeater arbeiten auf Schicht Eins und kopieren und "übertragen" im Wesentlichen eintreffende Daten an eine Vielzahl von Verbindungen des Netzknotens. Auf Schaltvorgänge bezogene Schicht Zwei Vorrichtungen werden üblicherweise als Multiportbrücken bezeichnet, und sind geeignet, zwei getrennte Netzwerke zu verbinden. Brücken können eine Weiterleitungs-Regeltabelle darauf basierend erstellen, welche MAC (media access controller) Adressen auf welchen Anschlüssen der Brücke vorhanden sind, und leiten Pakete weiter, welche für eine Adresse bestimmt sind, welche sich auf einer entgegengesetzten Seite der Brücke befindet. Brücken verwenden üblicherweise den als "Spanning Tree" Algorithmus bekannten Algorithmus, um potentielle Datenschleifen zu vermeiden; eine Datenschleife ist eine Situation, in welcher ein Paket auf der Suche nach einer speziellen Adresse Endlosschleifen in einem Netzwerk ausführt. Der Spanning Tree Algorithmus definiert ein Protokoll zur Vermeidung von Datenschleifen. Schicht Drei Vermittler, manchmal als Router bezeichnet, können Pakete basierend auf der Ziel-Netzwerkadresse weiterleiten. Schicht Drei Vermittler sind geeignet, Adressen zu lernen und Tabellen davon aufrecht zu halten, welche Anschluss-Zuordnungen entsprechen. Die Prozessgeschwindigkeit von Schicht Drei Vermittlern kann verbessert werden, indem spezialisierte Hochleistungs-Hardware verwendet wird und die Haupt-CPU entlastet wird, so dass Anweisungsentscheidungen nicht das Weiterleiten eines Paketes verzögern.
  • Zusätzlich spielt die Vermittlungsanordnung auch eine wichtige Rolle für die Betriebsgeschwindigkeiten eines Netzwerkes. Zusammen mit Netzwerkvermittlern verwendet, ermöglicht die Anordnung das Bilden von Vermittlungseinheiten mit skalierbaren Anschlussdichten. Die Anordnung empfängt vermittelte Daten von Netzwerkvermittlern und muss verschiedenartige Daten (d.h. sammelgesendet, einzelgesendet, rundgesendet, etc.) an andere verbundene Netzwerkvermittler weiterleiten. Jedoch liefern Vermittlungsanordnungen des Standes der Technik nicht die benötigte Durchlaufleistung und können die gesamte Prozess-Leistungsfähigkeit von verbundenen Netzwerkvermittlern begrenzen.
  • Das Dokument US-A-5 602 850 offenbart ein Hochgeschwindigkeits-Paketbussystem für einen Computer, welches aus einem Netzwerk aus Bussen mit parallelen Bitleitungen, welche Zellbusse genannt werden, aufgebaut ist. Jeder Zellbus arbeitet unabhängig und unterstützt wortbreite serielle Paketkommunikationen, wobei Übertragungsmittel und Empfangsmittel, welche mit jedem einzelnen Kommunikationselement im Bussystem in Zusammenhang stehen, mit dem Bussystem verbunden sind.
  • Das Dokument EP-A-0 256 702 offenbart eine Vermittlungsanordnung, welche eine N-Eingang, N-Ausgang Paketvermittlung enthält, welche eine dezentrale Steuerung und eine verteilte Weiterleitung mit allen Eingängen und Ausgängen verwendet, welche bei der gleichen Bitrate arbeiten.
  • Das Dokument CA-A-2 227 655 offenbart einen Vermittlungsmechanismus für Datenpakete mit festgelegter Länge, welcher ein Pufferelement verwendet, um eine einzelne physikalische Warteschlange zu bilden, in welcher alle Datenpakete oder Zellen in logischen Warteschlangen organisiert sind, welche für unterschiedliche Ausgangsanschlüsse bestimmt sind.
  • Es ist eine Aufgabe der Erfindung, eine Einzel-Layout Lösung mit reduziertem Platzverbrauch bereitzustellen.
  • Diese Aufgabe wird durch eine Speicherverwaltungseinheit nach Anspruch 1 und ein Verfahren für eine Netzwerk-Vermittlungsanordnung zum Weiterleiten von Daten nach Anspruch 7 gelöst. Vorteilhafte Ausführungsbeispiele der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Die vorliegende Erfindung ist auf eine Vermittler-auf-Chip Lösung für eine Selbstweiterleitende Anordnung gerichtet, welche geeignet ist, Ethernet, Fast-Ethernet und 1 und 10 Gigabit Ethernetsysteme zu verwenden, wobei sämtliche Hardware auf einem einzelnen Mikrochip angeordnet ist. Die vorliegende Erfindung ist auch auf Verfahren gerichtet, die eingesetzt werden, um das gewünschte Verarbeiten und Weiterleiten von Daten zu erzielen. Die vorliegende Erfindung ist darauf ausgelegt, die Fähigkeit einer Paket-Weiterleitung mit Leitungsgeschwindigkeit zu maximieren, und auch eine modulare Anordnung bereitzustellen, wobei eine Vielzahl von getrennten Modulen auf einem gemeinsamen Chip angeordnet ist und worin einzelne Entwurfsänderungen bei bestimmten Modulen nicht die Beziehung jenes bestimmten Moduls zu anderen Modulen in dem System beeinflussen.
  • Die vorliegende Erfindung ist auf eine Speicherverwaltungseinheit (MMU) für eine Netzwerk-Vermittlungsanordnung zum Weiterleiten von Daten gerichtet. Die MMU hat eine Eingangsanschluss-Schnittstelle, welche Abschnitte eines Datenpakets empfängt, und eine Ausgangsanschluss-Schnittstelle, welche über einen Eingangs-Busring mit Eingangsanschlüssen der Anordnung verbunden ist. Die MMU enthält ebenfalls einen Zellen-Paketierer, welcher Paketdaten in Zellen gruppiert, und einen Paketpool-Speicher, welcher vom Zellen-Paketierer empfangene Zellen speichert. Die MMU enthält ebenfalls einen Zellen-Entpaketierer, wobei der Zellen-Entpaketierer gespeicherte Zellen separiert, bevor die Zellen an einen Ausgangsanschluss freigegeben werden. Die MMU enthält ebenfalls einen Ausgangs-Planer, welcher mit dem Zellen-Entpaketierer kommuniziert, wobei der Ausgangs-Planer gemäß von Prioritätsregeln bestimmt, welche Paketdaten vom Paketpool-Speicher erlangt werden sollen. Die Prioritätsregeln können einen Defizit-Ringversuch-Planungsalgorithmus oder einen gewichteten Ringversuch-Planungsalgorithmus enthalten.
  • Die MMU enthält ebenfalls eine Serie von Transaktions-Warteschlangen, welche Eingangspunkte an Anfängen von Paketen im Paketpool-Speicher speichern, und ein Verbindungslisten-Datenfeld, welches eine Abbildung von den Zellen im Paketpool-Speicher bereitstellt. Das Verbindungslisten-Datenfeld kommuniziert mit den Transaktions-Warteschlangen, und der Paketpool-Speicher und die Transaktions-Warteschlangen kommunizieren mit dem Ausgangs-Planer, um bei einer Pufferung der Paketdaten zu unterstützen. Die Transaktions-Warteschlangen sind derart aufgebaut, dass sie ein Alter von Paketdaten in den Transaktions-Warteschlangen überwachen, und die Paketdaten abführen, wenn das Alter größer als ein vorbestimmter Wert ist. Ebenfalls sind die Transaktions-Warteschlangen derart aufgebaut, dass sie bestimmen, ob eine Klasse von einer Dienstklasse-Warteschlange in den Transaktions-Warteschlangen ein Limit erreicht hat, und das Datenpaket abführen, wenn die Warteschlange in den Transaktions-Warteschlangen das Limit erreicht hat. Zusätzlich ist der Paketierer derart aufgebaut, dass er solange abwartet, bis eine Zelle gefüllt ist, bevor die Zelle an den Paketpool-Speicher gesendet wird, wobei die Zellenlänge von der Zelle gleich 640 Bit beträgt. Die MMU kann ebenfalls einen Speicherfehler-Erfasser und ein Mittel zum Wiedererlangen von einem erfassten Speicherfehler enthalten.
  • Die vorliegende Erfindung ist ebenfalls auf eine Netzwerk-Vermittlungsanordnung gerichtet, welche die Speicherverwaltungseinheit hat. Diese Netzwerk-Vermittlungsanordnung enthält eine Serie von Bussen als den Eingangs-Busring, wobei die Anzahl der Serie von Bussen gleich der Anzahl von Eingangs-Anschlüssen ist. Zusätzlich ist der Eingangs-Busring derart aufgebaut, dass er einen Energieverbrauch optimiert, indem ein Ausgangs-Kennfeld für ein Paket, welches an einem der Eingangsanschlüsse ankommt, untersucht wird, und lediglich Paketdaten auf den Ring weitergeleitet werden, wenn ein nachfolgender Eingangsanschluss auf dem Ring im Ausgangs-Kennfeld spezifiziert ist. Ebenfalls enthält die Anordnung einen Meldungs-Ring, welcher mit Eingangs- und Ausgangsanschluss-Stationen von der Netzwerk-Vermittlungsanordnung verbunden ist, welcher dazu verwendet wird, um Meldungen zwischen Stationen zu passieren. Ebenfalls kann eine zentrale Verarbeitungseinheit mit der Anordnung verbunden sein und über den Meldungs-Ring mit den Eingangs- und Ausgangsanschluss-Stationen kommunizieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Aufgaben und Merkmale der Erfindung sind unter Bezugnahme auf die folgende Beschreibung und die beigefügten Zeichnungen einfacher zu verstehen, worin:
  • 1 ein Blockdiagramm zeigt, welches ein Ausführungsbeispiel der vorliegenden Erfindung erläutert, welches mit Netzwerk-Vermittlern verwendet wird, um eine 64-Anschluss Gigabit Lösung zu erzielen;
  • 2 schematisch Elemente der Anordnung von der vorliegenden Erfindung zeigt;
  • 3 schematisch die interne Blockstruktur eines Ausführungsbeispiels der vorliegenden Erfindung zeigt;
  • 4 ein Flussdiagramm für die Eingangslogik für die vorliegende Erfindung zeigt;
  • 5 ein Unter-Flussdiagramm für die Eingangslogik für die vorliegende Erfindung zeigt;
  • 6 ein Unter-Flussdiagramm für die Eingangslogik für die vorliegende Erfindung zeigt;
  • 7 ein weiteres Flussdiagramm für die Eingangslogik für ein Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 8 die Topologie des Eingangs-Busringes erläutert;
  • 9 ein kürzestes Pfad-Kennfeld von Anschluss-zu-Anschluss erläutert;
  • 10 schematisch die Warteschlangen-Struktur der Speicherverwaltungseinheit der vorliegenden Erfindung erläutert;
  • 11 ein Berechnen des Blockpausen-Verhaltens erläutert;
  • 12 ein Schema darstellt, welches eine Station des Eingangs-Busringes näher beschreibt;
  • 13 ein Schema der Ring-Konnektivität des Eingangs-Busringes darstellt;
  • 14 ein Schema darstellt, welches die verschiedenen Paketgrenzen-Fälle innerhalb einer Zelle des Speichers erläutert;
  • 15 ein Flussdiagramm darstellt, welches ein Wiederherstellungsverfahren bei einem Speicherfehler bei der vorliegenden Erfindung erläutert;
  • 16 ein Blockdiagramm für den Entpaketierer der vorliegenden Erfindung darstellt.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die vorliegende Erfindung ist auf eine selbst-weiterleitende Anordnung mit 4/8 10 Gigabit Schnittstellen gerichtet. Die externe Bandbreite der Anordnung beträgt gemäß einem Ausführungsbeispiel der vorliegenden Erfindung 80/16 Gbps. Die vorliegende Erfindung ermöglicht das Aufbauen von skalierbaren Gigabit Anschlussdichten zusammen mit anderen Netzwerk-Vermittlungsvorrichtungen.
  • Die vorliegende Erfindung stellt eine Anordnung als Einzel-Chip Lösung bereit, welche eine Durchlaufleistung von bis zu 160 Gbps unterstützt. Die vorliegende Erfindung unterstützt 8 Anschlüsse bei 10 Gbps Voll-Duplex-Betrieb und ermöglicht ein Weiterleiten mit voller Leitungsgeschwindigkeit auf jedem Anschluss. Die Anordnung unterstützt auch acht IEEE 802.1p Prioritätsklassen, strenge Priorität und gewichteten, zyklischen Ringversuch-Warteschlangenbetrieb. Die Anordnung der vorliegenden Erfindung unterstützt 4096 VLANs für unbekannte Einzelsendungen/Rundsendungen und unterstützt IEEE 802.3x Ablaufsteuerung auf jedem Anschluss. Die vorliegende Erfindung unterstützt auch eine Vorrichtung zur Vermeidung von Zeilenkopf (HOL)-Blockierung auf einem Sendeanschluss und unterstützt Bündeln und Spiegeln und Redundanz. Schließlich stellt die vorliegende Erfindung in einem Ausführungsbeispiel eine 66 MHz, 32-bit PCIX Erweiterungsschnittstelle für CPU und andere PCI konforme Vorrichtungen bereit.
  • 1 erläutert ein Beispiel einer Anordnung der vorliegenden Erfindung, welches eine spezielle Anwendung darstellt. 1 erläutert ein Beispiel einer 64-Anschluss Gigabit Lösung (nicht-blockierend), welche die Anordnung der vorliegenden Erfindung und Netzwerkschalter verwendet. Die allgemeine Struktur der Anordnung der vorliegenden Erfindung ist in 2 erläutert. Ein bevorzugtes Ausführungsbeispiel der Anordnung weist acht Anschluss-Schnittstellen mit Datenraten von 10 Gbps und einen internen Ring auf, welcher die Übertragung von Information und Paketdaten zwischen den Anschluss-Schnittstellen ermöglicht.
  • Die vorliegende Erfindung stellt eine Hochgeschwindigkeits-Anordnung dar, welche bezüglich der Logik von Entscheidungen für ein Weiterleiten von Datenübertragungsblöcken einfach ist. Jedes Paket, welches in die Anordnung eintritt, muss einen Modulkopf aufweisen, welcher Information für Einzelsende-Pakete über das/die Zielmodul(e) enthält, zu welchem/-n ein Datenübertragungsblock weitergeleitet werden muss. Der Modulkopf wird am Eingang von den Netzwerkschaltern vorangestellt.
  • In einem bevorzugten Ausführungsbeispiel besteht die Anordnung aus 8 Anschlüssen, von denen jeder mit einer Geschwindigkeit von 10 Gigabit arbeitet. An jeden Anschluss wird der Modulkopf untersucht und die Ausgangsanschluss-Bitmap wird darauf basierend ermittelt, ob das Paket ein bekanntes Einzelsende-, ein unbekanntes Einzelsende-, ein Rundsende-, ein Sammelsende-, oder ein IP Sammelsendepaket ist. Die obigen Pakettypen werden im folgenden behandelt.
  • EINZELSENDE-PAKET
  • Wenn ein Datenübertragungsblock von dem Eingang der Anordnung empfangen wird, zeigt der Opcode-Wert von 1 in dem Kopf an, dass das Paket ein Einzelsende-Paket ist, die Ausgangsanschluss- und die Zielmodul-ID (DST_MODID)-Information in dem Modulkopf gültig ist. Die Anordnung leitet das Paket an einen Ausgangsanschluss der Anordnung weiter, welcher den Pfad zu dem Zielmodul darstellt. Alternativ kann es in einigen Ausgestaltungen mehr als einen Pfad zu dem Zielmodul in der Anordnung geben. Daher kann die Anordnung gezwungen sein, einen Ausgangsanschluss basierend auf dem Anordnungs-Eingangs-Anschluss und der Zielmodul-ID wählen. In Ausgestaltungen, in welchen die Zielmodule direkt mit der Anordnung verbunden sind, basiert die Auswahl des Anordnungs-Ausgangsanschlusses auf dem Zielmodul und ist unabhängig von dem Anordnungs-Eingangsanschluss.
  • Um ein Weiterleiten eines Datenübertragungsblockes eines Einzelsende-Paketes innerhalb der Anordnung in jeder Ausgestaltungsform zu unterstützen, wird eine einfache Weiterleitungs-Tabelle bereitgestellt. Das Format dieser Tabelle ist wie folgt:
  • Figure 00100001
    Tabelle 1
  • Diese Tabelle ist 32 tief und wenn ein bekanntes Einzelsende-Paket an dem Anordnungseingang eintrifft, wird DST_MODID von dem Modulkopf herausgezogen und in der obigen Tabelle herausgesucht. Die resultierende Bitmap wird verwendet, um die geeigneten Anschlüsse, die zu den Bitfeldern gehören, weiterzuleiten.
  • RUNDSENDE-PAKET/DLF WEITERLEITUNG
  • Wenn ein Paket an dem Anordnungseingang mit Opcode-Wert 2 eintrifft, zeigt er an, dass das Paket entweder ein Sammelsende-Paket oder ein unbekanntes (Domain Lookup Failure) Einzelsende-Paket ist. In diesem Fall wird die VLAN ID verwendet, um alle Anschlüsse anzuzeigen, zu denen das Paket geliefert werden soll. Eine Tabelle wird auf jedem Anschluss bereitgestellt:
  • Figure 00100002
    Tabelle 2
  • Die Tabelle ist 4096 Einträge tief und erlaubt alle Werte von VLAN Klassifizierung.
  • WEITERLEITEN VON SAMMELSENDE-PAKETEN
  • Wenn ein Paket an dem Anordnungseingang mit Opcode-Wert 3 oder 4 eintrifft, ist es jeweils eine Sammelsendung (MC = Multicast)- bzw. eine IP MC. Eine Tabelle ist für die Weiterleitung dieser Pakete implementiert. Der Index in dieser Tabelle ist eine Kombination aus der Zielanschluss-ID (DST_PORTID) und der Zielmodul-ID (DST_MODID), welche aus dem Modulkopf herausgezogen werden.
  • Figure 00110001
    Tabelle 3
  • Es existieren acht Kopien aller obigen Tabellen, oder eine pro Anschluss. Die Ausgestaltung der Anordnung der vorliegenden Erfindung schließt ein Ausgangs-Maskenregister (EGRESS_MASK) ein. Dieses Register identifiziert die Gruppe von Anschlüssen, zu welchen das Paket nicht von einem Eingangsanschluss gesendet werden darf. Dieses Register ist 9 Bit breit und es gibt ein Register pro Anschluss.
  • Jeder Eingangsanschluss besitzt die folgenden Blöcke: einen Kern für physikalische Übertragung (SerDes), ein 10-Gigabit Ethernet Voll-Duplex MAC und ein Eingangslogik-Block, welcher das Weiterleiten eines Datenübertragungsblockes bestimmt (ING). Jeder Ausgangsanschluss besitzt die folgenden Blöcke: einen Eingangs-Busring-Knoten (IBR = Ingress Bus Ring); eine Speicherverwaltungseinheit (MMU = Memory Management Unit) und ein Paket-Pool RAM.
  • Die vorliegende Erfindung unterstützt auch viele spezifische Merkmale. Die Anordnung unterstützt Verbindungs-Aggregation (Bündeln) ihrer acht 10 Gbps Anschlüsse. Bis zu 4 Leitungsbündel können unterstützt werden, jedes mit bis zu einem Maximum von vier Mitgliedern. Die Leitungsbündel-Tabelle wird verwendet, um den Ausgangsanschluss zu erlangen, wenn ein Paket über einen gebündelten Anschluss hinausgehen muss. Das RTAG wird der Leitungsbündel-Tabelle von der Leitungsbündel-Verteilungs-Logik entnommen, um den Verteilungsalgorithmus zu bestimmen.
  • Figure 00120001
    Tabelle 4
  • Es gibt vier Kopien der obigen Tabelle, welche vier Leitungsbündel erlauben.
  • Die Anordnung der vorliegenden Verbindung unterstützt auch ein dynamisches Abschalten der Anschlüsse für den Fall, dass die Verbindung abbricht. Die Anordnung unterbricht in einem derartigen Fall die CPU. Die CPU ist dann verantwortlich für das Programmieren der EPC Verbindungsregister, um Pakete aus dem deaktivierten Anschluss zurückzuweisen. Ein EPC Verbindungsregister ist eine Bitmap, welche die Anschlüsse darstellt, welche ein gültiges Verbindungssignal aufweisen. Zusätzlich wird auch Spiegelung unterstützt. Das Spiegel-zu-Anschluss-Register zeigt den Spiegel-zu-Anschluss in der Vorrichtung an und spezifiziert das Weiterleiten von Paketen, welche gespiegelt werden sollen. Die Spiegel-Information wird aus dem Modulkopf herausgezogen. Ein CPU-zu-Anschluss-Register wird auch unterstützt.
  • Eine Priorität auf COS Warteschlangen-Abbildungsregister (COS_SEL) wird verwendet, um die Priorität eines eintreffenden Paketes oder die erlangte Priorität eines Paketes (nach Adressbestimmung und Filtervorrichtung) auf die Ausgangs-COS-Warteschlange abzubilden. Das Abbilden der Priorität auf die COS Warteschlange wird durchgeführt, nachdem das Paket die Adressbestimmung und die Filtervorrichtung durchlaufen hat, direkt bevor das Paket auf dem CP Kanal gesendet wird. Dieses Abbilden ändert nicht das Prioritätsfeld in dem Kennzeichenkopf des Paketes, es bestimmt nur, aus welcher COS Warteschlange das Paket an den Ausgangsanschluss hinausgehen soll. Der Bedarf für dieses Register entsteht aufgrund empfohlener Abbildungen von Benutzer-Priorität auf eine in dem 802.1p Standard-definierte Verkehrsklasse.
  • Zusätzlich sind Konfigurationsregister in der Anordnung verfügbar. Jeder der folgenden besitzt 8 Kopien dieser Register, d.h., eine pro Anschluss. Ein MODE Register wird gesetzt, wenn alle Anschlüsse in der Anordnung im HiGig Modus arbeiten, andernfalls arbeitet die Vorrichtung in einem Modus mit niedriger Bit Rate. Register werden auch unterstützt, um Ansteuerungen für sowohl hohe als auch niedrige Wasserpegelstände (watermarks) für die Eingangs-Gegendruck-Flusssteuerung zu liefern. Ein weiteres Register spezifiziert auch den Prioritäts-Warteschlangen-Algorithmus, einschließlich einem strengen Prioritätsmodus, einem gerichteten zyklischen Modus und einem defizitären, zyklischen Modus. Register werden auch bereitgestellt, welche die Prioritätsgewichtungen für die Diensteklassen und das HOL-Blockierlimit für jeden speichern.
  • Die folgenden Zähler werden auch Anschluss-bezogen auf einer Sende- und Empfangsseite bereitgestellt. Eine Eingangs-Wortzählung liefert die Zahl an Wörtern, die durch den MAC empfangen werden, und eine Ausgangs-Wortzählung liefert die Zahl an Wörtern, die in dem Ausgang auf einer COS-Basis gespeichert sind. Zählungen fallengelassener Pakete werden für die Zahl von Paketen bestimmt, die von der Eingangslogik fallengelassen worden sind, und eine Zählung fallengelassener HOL Pakete liefert die Zahl von durch COS fallengelassenen Paketen. Eine Zählung bezüglich der Zahl von aufgrund von Alterung ausgesonderten Paketen wird auch aufrechterhalten.
  • Zusätzlich liefert die Anordnung der vorliegenden Erfindung eine Unterstützung von gesichertem Weiterleiten (Assured Forwarding Support). Dieses Merkmal liefert ein begünstigtes Fallenlassen von Paketen in der Anordnung, wenn ein spezielles Bit in den Modulkopf gesetzt ist. Dieses Bit in dem Modulkopf wird von dem Netzwerkschalter gesetzt, wenn eine bestimmte Aussonderungspriorität gesetzt ist. Wenn ein Paket in einer MMU der Anordnung eintrifft, mit gesetztem Bit, wird die Zahl von Paketzeigern für die COS Warteschlange, welche dem Paket zugeordnet ist, mit einem CNGTHRESHOLD Register abgeglichen. Falls die Zahl der Einträge in der COS Warteschlange für den Anschluss den Wert in dem CNG THRESHOLD Register übersteigt, wird das Paket fallengelassen.
  • Andernfalls wird das Paket in der COS Warteschlange in der MMU aufgenommen. Wenn das Paket fallengelassen wird, wird ein CNGDROPCOUNT Zähler aktualisiert. Falls das bestimmte Bit in dem Modulkopf nicht gesetzt ist, werden alle Pakete in der COS Warteschlange aufgenommen, bis der COS Warteschlangen-Schwellwert erreicht ist.
  • LOGISCHER FLUSS AM EINGANG
  • Der logische Fluss am Eingang in die Anordnung hinein wird nun erörtert. 4 zeigt ein Flussdiagramm, welches einen Teil der Logik bereitstellt. In dem ersten Schritt wird die Anschluss-Bitmap initialisiert, und der COS wird von dem Modulkopf erlangt. Ein Opcode wird auch aus dem Modulkopf gelesen. Falls das Paket nur gespiegelt wird, wird keine weitere Auswertung des Kopfes benötigt. Andernfalls wird der Pakettyp aus dem Opcode bestimmt, wobei die Anschluss-Bitmap oder eine andere Bitmap festgelegt wird. Die unterstützten Typen schließen ein CPU Paket, welches zu der CPU gesendet wird, eine Einzelsendung, eine Rundsendung, eine Schicht-2-Sammelsendung und eine IP Sammelsendung ein. Sobald die geeigneten Variablen gesetzt sind, führt der logische Fluss zu dem Unter-Flussdiagramm M, außer die Logik schreibt vor, dass das Paket fallengelassen werden soll. In letzterem Fall wird ein Eingangszähler erhöht.
  • Der logische Fluss wird in M, 5, fortgesetzt, in welchem dann, falls das Paket nur gespiegelt wird, ein Register überprüft wird und falls das Paket noch nicht gespiegelt worden ist, wird das Spiegel-zu-Anschluss-Register festgelegt und die Anschluss-Bitmap wird festgelegt, um das Paket zu spiegeln. Wenn der Eingangsanschluss Teil eines Leitungsbündels ist, wird als nächstes die Anschluss-Bitmap dementsprechend festgelegt. Das Bearbeiten von Anschlüssen in einem Leitungsbündel wird speziell in 6 behandelt.
  • 7 erläutert einen unterschiedlichen Betriebsmodus für die Paketauswertung. Das alternative Verfahren untersucht Bits der Herkunfts- und Zielanschlüsse. In diesem Fall wird eine Vorrichtungs-Anschluss Abbildungstabelle verwendet, um den Schalter-Ausgangsanschluss zu bestimmen. Es wird angemerkt, dass die Betriebsmodi nicht vermischt werden sollten, letzterer Modus sendet jede Rundsendung, Sammelsendung und unbekannte Einzelsendung an alle Anschlüsse und Spiegeln wird in dem letzteren Modus nicht unterstützt.
  • AUFBAU DER SPEICHERVERWALTUNGSEINHEIT
  • Als nächstes werden der Aufbau und die Arbeitsweise der Speicherverwaltungseinheit der Anordnung der vorliegenden Erfindung ausführlicher erläutert.
  • Die Hauptfunktionen der Anordnung der vorliegenden Erfindung können in verschiedene Bereiche eingeteilt werden. Erstens, die Vermittlungsanordnungs-Bandbreite betreffend, nimmt die Anordnung Paketströme von acht Eingangsanschlüssen mit in der Summe maximal 80 Gbps auf. Die Anordnung ermöglicht, dass Pakete an einem geeigneten Ausgang, für Einzelsendungen und Sammelsendungen mit insgesamt 80 Gbps, austreten, und berücksichtigt die Inanspruchnahme von Kapazität durch Eingang/Ausgang. Die Anordnung verwaltet effektiv Rundesendeverkehr und bearbeitet den zusätzlichen Modulkopf, welcher mit jedem Paket kommt. CPU Verkehr kann auch von oder zu jedem Anschluss kommen und weist eine maximale Datenblockrate von ~2 Gbps auf.
  • Die Anordnung unterstützt auch 802.1p Warteschlangenbildung. Die Anordnung priorisiert Pakete von COS und unterstützt bis zu 8 Warteschlangen. Die Anordnung unterstützt auch strenge Priorität und faire Warteschlangenbildung mit gewichteter Zuordnung durch Paketzählung. Die Anordnung gewährleistet ferner geeignete Ablaufsteuerung und Kapazitätsverwaltung. Wenn ein bestimmter Eingang einen Kapazitätsgrenzwert übersteigt, wird der verletzende Eingangsanschluss gemeldet. Der MAC sollte einen PAUSE Datenübertragungsblock an seinen Verbindungspartner senden, um den Paketfluss zu stoppen. Wenn ein bestimmter Ausgang einen Zell-Kapazitätsgrenzwert überschreitet, tritt ein HOL (Head Of Line) Blockieren auf. Wenn sich ein bestimmter Ausgang in dem HOL Zustand befindet, wird jedes Paket von jedem Anschluss, welches für jenen Ausgang bestimmt ist, fallengelassen. Wenn eine Vorgangs-Warteschlange für eine bestimmte COS für einen bestimmten Ausgang voll wird, tritt sie in einen HOL (Head Of Line) Blockierzustand ein. Sämtliche neue Pakete werden jedem Anschluss, welche für jenes COS/Ausgangs-Paar bestimmt sind, werden gelöscht.
  • Zusätzlich stellt das Folgende erweiterte Merkmale dar, welche in bestimmte bevorzugte Ausführungsbeispiele integriert werden können. Die Anordnung unterstützt faire Warteschlangenbildung mit gewichteter Zuordnung durch Bytezählung und sieht Wiederherstellungsmaßnahmen bei Speicherfehlern vor.
  • EINGANGSBUS-RING
  • Die Architektur der Anordnung schließt spezielle Teile ein, welche die Fähigkeit der Anordnung verbessern, Pakete weiterzuleiten. Ein erster Teil ist ein Eingangsbus-"Ring". Beispielsweise kann die Architektur für die MMU ein aufgeteiltes festes Kapazitätsschema sein, in welchem eine lokale Kopie eines RAMs (128 K Bytes) jedem Anschluss zugeordnet ist. Jeder Anschluss ist mit den benachbarten Anschlüssen über eine Sammlung von unidirektionalen Bussen verbunden, welche gewissermaßen einen Ring bilden, welcher alle neun (8 + CPU) Anschlüsse verbindet. Dieser Bus wird fortan Eingangsbus-Ring (IBR = Ingress Bus Ring) genannt. Die Busse sind 64 Bits breit und es gibt einen Bus für jeden Eingang (daher 64·8 = 512 Bits insgesamt). Die Busse sind verbunden und jeder Bus entsteht an dem Ausgang eines Flops eines Anschlusses und endet an dem Eingang eines Flops an seinen benachbarten Anschluss. Dies wird in 3 erläutert. Dieses Punkt-zu-Punkt-Schema beschäftigt sich mit vielen technischen Entwurfsfragen, die auftreten, falls andererseits ein mehrfach benutzter globaler Speicher mit breiten (512 Bits) Datenleitungen vorliegt. Dieses Schema macht ferner jeden Anschluss zu einer getrennten logischen Einheit, welche wertvoll für die Testbarkeit ist.
  • Der IBR überbringt Paketdatenverkehr, welcher von dem Anschluss-Eingangs-Ausgangs-Block (PIE = Port Ingress-Egress) und tritt jeden Taktzyklus 64 Bit breit auf. Die Daten werden sofort auf lokalen Flops auf dem Bus gespeichert. Und bei jedem Takt wird dieses Wort in den Flops an dem benachbarten Anschluss/Anschlüssen gespeichert. Die MMU an jedem Anschluss überwacht dann die Wortströme auf dem Ring und ergreift das Paket, falls sie eine Zielanschluss-Übereinstimmung feststellt. Zielanschluss-Information wird über ein Steuerwort kommuniziert, welches mit dem Paket über einen Seitenband-Bus synchronisiert ist.
  • Eine Energieoptimierung, welche vorgenommen werden kann, ist ein Sperren der Datenweitergabe, falls keine Anschlüsse unten auf dem Ring Empfänger dieses Paketes sind. Ferner leitet in einem Ausführungsbeispiel jeder Buskanal das Wort in einer Richtung weiter, was zu einer maximalen Wartezeit von 8 Takten (oder 8 Sprüngen) führt, um den entferntesten Anschluss zu erreichen. Dies kann verbessert werden, wenn die Wörter in entgegengesetzte Richtungen (im Uhrzeigersinn und gegen den Uhrzeigersinn) weitergeleitet werden, sodass der maximale Sprung sich auf 4 erniedrigt. Das folgende in 8 gezeigte Diagramm gilt für jeden Anschluss.
  • Effektiv gibt es 9 Busse in dem Anordnungschip (9 = 8 Anschlüsse + CPU Anschluss). Wenn jedoch ein Querschnitt zwischen zwei beliebigen Anschlüssen vorgenommen wird, wird Raum für nur 8 Busse benötigt, da für jeden Anschluss n seine Nachbarn n + 4 und n – 4 nicht verbunden sind. Kein Bus ist eine wirklich geschlossene Schleife. Eine kürzester-Weg-Karte von jedem Anschluss zu jedem anderen Anschluss in diesem Schema ist in 9 erläutert.
  • ANSCHLUSS-COS PAARE
  • Ein weiterer Teil der Anordnung befasst sich mit Anschluss-COS Paaren. Pakete treffen als 8 Byte-Wörter ein, aber das RAM hat eine Breite von 80 Byte-Zellen. Dieses Missverhältnis wirft einige Verwendungsprobleme auf, besonders, wenn Paketlängen pathologische Fälle, wie Zellgröße + 1 (CELLSIZE + 1) (d.h., 65 Byte-Pakete) sind. Falls ein solcher Zustand fortdauert, wird eine RAM Bandbreite erheblich beeinträchtigt, was zu einer schwierigen 3,6 Lese-/Schreib-Erfordernis pro Takt führt.
  • Um dieses Problem zu lösen, werden Pakete zwischen RAM Grenzen gepackt und entpackt. Wörter werden in einer Registerdatei (oder SRAM) FIFO gesammelt, bis eine Zellgröße vor einem Schreiben fertig ist. Zellen werden aus einem Speicher gelesen, in ein FIFO eingebracht und dann langsam an den PIE als Wörter gegeben.
  • Dies jedoch wirft ein weiteres Problem auf, um SAP-zu-SAP Sequenzialisierung aufrechtzuerhalten, müssen Pakete an sehr spezifischen Plätzen im RAM angeordnet werden, so dass sein Eingang-zu-Ausgang-Pfad nicht durch Pakete von anderen Anschlüssen und Diensteklassen verfälscht wird. Daher wird eine Verwendung eines "Anschluss-COS" Paares eingeführt. Ein Anschluss-COS Paar besteht aus zwei Zahlen P:C. P bestimmt, von welchem Anschluss das Paket kam, und C bestimmt, welcher Diensteklasse dieses Paket angehört. Jedem Paket, welches in das Anordnungssystem eintritt, wird eine P:C Kennzeichnung gegeben (obwohl dies vielleicht nicht von jedem Speicherelement dargestellt wird), und sie müssen einem bestimmten P:C Strom in dem System folgen.
  • Mit Bezug auf dieses System gelten P = 9 – 1 = 8, da keine Pakete für seinen eigenen Anschluss bestimmt sind, C = 4 und P·C – 32. Daher können bis zu 32 Ströme in der Anordnung auftreten. Für jeden Anschluss existieren logisch 8 Pack FIFOs, 8 Warteschlangen im Speicher und 8 Entpack-FIFOs.
  • MITTEILUNGSRING
  • Ein weiterer Teil der Anordnung ist ein Mitteilungsring (MR = Message Ring). Um alle Stationen zur Steuerung zu verbinden, wird ein weiterer Ring, welcher unidirektional ist, an jede Station "gefloppt" ist und als eine geschlossene Schleife ausgebildet ist. Dieser Ring bietet ein allgemeines Verfahren der Mitteilungsübermittlung zwischen Stationen (einschließlich der CPU). Gegenwärtig dient er zwei Hauptzwecken: CPU Register/Speicher-konformer Zugriff zwischen allen Stationen und Berichten zwischen Eingangs- und Ausgangsstationen.
  • Das Mitteilungsübertragungs-Protokoll auf dem MR kann analog zu jenem eines IEEE 802.5 Token-Ring-Netzes, oder eines ISO 8802.7 geteilten Ring-Netzes sein. Register-/Zähler Lese-/Schreibvorgänge sowie Speicheranfragen und Bewilligungen auf dem MR werden unter Verwendung dieses Protokolls weitergeleitet. Es gibt zwei Anforderungen bei der Wahl eines Protokolls, es muss 1) der im ungünstigsten Fall benötigten Bandbreite genügen, und 2) das Protokoll selbst muss robust und deterministisch (testbar) sein und niemals ein Blockieren auslösen.
  • Die Bandbreite im ungünstigsten Fall ist gegenwärtig durch Stationen übergreifendes Berichten vorherbestimmt. Stationen übergreifendes Berichten ist ein Verfahren, mit welchem ein Eingang berechnen kann, wie viele Bytes von jedem Ausgang für alle Pakete ausgesendet worden sind, welche von dem Anschluss aufgenommen wurden. Wenn nicht genügend Bytes gutgeschrieben wurden, wird er in den Gegendruck-(Back Pressure) Zustand eintreten, nachdem der Zähler einen programmierten Wasserpegelstand erreicht.
  • In diesem Mechanismus führt jeder Ausgang einen Zähler, welcher verfolgt, wie viele Bytes er für Pakete ausgesendet hat, welche von anderen Anschlüssen kamen. Daher muss er 8 Zähler führen. Nach einem programmierten Schwellwert muss jeder Ausgang diesen Zählwert zurück an den entsprechenden Ursprungseingang berichten. Der MR weist 9 Stationen auf und es wird ein Takt pro Station benötigt. Der ungünstigste Fall beträgt 9·8 = 72 Takte, bevor ein Ausgang all seine Gutschriften eliminieren kann.
  • ADAPTIVER ERWEITERTER SPEICHER
  • Die obige Speicherarchitektur hat jedoch eine Schwäche. Wenn nur 3 Anschlüsse aktiviert sind, sind nur 3·256 KB oder 768 KB zur Paketspeicherung verfügbar. Tatsächlich können, wenn der einzige Datenverkehr darin besteht, dass zwei dieser Anschlüsse an den dritten Anschluss senden, nur 256 KB verwendet werden. Die RAMs in dem verbleibenden Teil des Chips sind vergeudet.
  • Die adaptive, erweiterte Speicherarchitektur der vorliegenden Erfindung erstreckt sich auf ein Einschließen eines adaptiven Protokolls, um Elastizität bei der Speicherverwendung zu bieten. Um diese Adaption zu übertragen, wird ein Mitteilungsübertragungs-Protokoll verwendet (über dem MR). Ein Anschluss tritt in den PANIC-Modus ein, wenn seine Anzahl freier Zellen einen niedrigen Wasserpegelstand erreicht. In diesem Zustand wird der Anschluss den nächsten verfügbaren Platz auf dem MR einnehmen und sendet eine Speicheranfrage-Mitteilung. Nur deaktivierte Anschlüsse können an der Gewährung von Speicherverwendung an panische Anschlüsse teilnehmen. Wenn die ursprüngliche Anfrage zu dem Anfordernden zurückkehrt, nachdem sie die Schleife durchlaufen hat, zeigt sie an, dass entweder kein Anschluss deaktiviert ist oder dass alle deaktivierten Anschlüsse bereits jemand anderem helfen.
  • Falls die Anfrage-Mitteilung bearbeitet wird und eine Speichergewährungs-Mitteilung zurücksendet, hört der anfragende Anschluss auf, an ihn gerichtete Pakete anzunehmen. Der gewährende Anschluss beginnt an dessen Stelle Pakete anzunehmen. Da alle Pakete für alle Anschlüsse sichtbar sind, kann dieser Wechsel von Paket-Eigentum vorgenommen werden, aber nicht ohne Vorsicht. Es gibt verschiedene Probleme bei einer Weitergabe- und Abgabe-Zeitsteuerung, die beachtet werden müssen.
  • Als Beispiel sind drei aktive Anschlüsse zu betrachten: mit 0, 4 und 8 nummeriert, und 5 ungenutzte Anschlüsse, nummeriert mit 1-3 und 5-7. Jeder aktive Anschluss benützt einen erweiterten Speicher von mehr als 256 KB Speicher. Hilfs-MMUs, wie in Anschlüssen 5, 6 und 7, akzeptieren und speichern Pakete im Auftrag von Anschluss 4, wodurch sie Anschluss 4 eine effektive Speicherverwendung von 1 Mbytes gestatten. Jede Hilfs-MMU muss Paar-COS Ströme aufrechterhalten sowie den in dem System vorhandenen Prioritätsalgorithmen folgen.
  • Pakete werden von Anschluss 4 abfließen, sobald seine freie-Zellen-Zählung einen niedrigen Wasserpegelstand erreicht, und er wird eine Trenn-Anfragemitteilung für seinen Hilfsanschluss aktivieren. Dann wird Anschluss 5, der nachgeschaltete Hilfsanschluss, "langsam" seine Ströme in einen Speicher zu Anschluss 4 ableiten. Dieser Effekt pflanzt sich entlang der Linie von Helfern fort. Bis ein Speicher von Anschluss 7 vollständig entleert ist, gibt Anschluss 7 eine Trennversuch-Mitteilung und eine Trenn-Bestätigungsmitteilung aus. Wenn getrennt, ist MMU 7 verfügbar für ein Gewähren von Speicheranfragen von jedem anderen Anschluss, einschließlich Anschluss 4. Wenn eine Hilfs-MMU zugeteilt worden ist, kann sie nur nicht mehr als einem weiteren Anschluss dienen. Jede MMU kann Daten von dem IBR mit 80 Gbps abgreifen. Jede MMU kann Daten mit 10 Gbps ableiten.
  • Die Absicht der Architektur ist eine Flexibilität beim Anschließen und Abtrennen einer beliebigen Anzahl von "Hilfs"-MMUs an jeden Anschluss. Folglich wird eine dynamische Zuordnung von eingebautem Speicher ermöglicht. Die Speicherarchitektur ermöglicht höhere unmittelbare Speicherkapazität pro Anschluss und besseres Puffern.
  • MMU-THEORIE VON ARBEITSVORGÄNGEN
  • Die Theorie eines Arbeitsvorgangs der MMU wird nun erörtert. Mit der beschriebenen MMU Warteschlangen-Architektur wird jedes Paket, welches an der Vermittlungsanordnung eintrifft, pauschal an jeden Anschluss über den IBR übertragen. Die Architektur wird in 10 erläutert. Eine Kopie des Pakets wird nur gespeichert, wenn die lokale MMU so entscheidet. Im folgenden werden die lokalen Datenstrukturen beschrieben, wie Pakete gespeichert und weitergeleitet werden.
  • Das Pack-FIFO besteht aus 8 einzelnen, den 8 Eingangsanschlüssen zugeordneten RAMs, wodurch eine parallele Ankunft von Paketen ermöglicht wird. Jeder RAM enthält Speicherplatz, welcher zwei Zellen tief ist. Zwei Zellen erlauben 20 Wörter oder 160 Bytes an Speicher. Jedes FIFO wird verwendet, um Pakete von dem gleichen Anschluss zu speichern. Wörter werden in dem FIFO gesammelt, bis eine Zelle angesammelt ist und sie dann in einen Speicher geschrieben wird. Der Packvorgang von Wörtern in Zellen ist unabhängig von Paketgrößen. Dies dient der Verringerung des Problems von verschwendeten "Löchern" im Speicher, wenn Paketgrößen von Zellgrenzen abweichen. Es gibt insgesamt 32 logische FIFOs, jeder gehört zu einem einzelnen Anschluss-COS Paar. Dies garantiert eine geordnete Paketlieferung und das korrekte Wiederzusammenfügen von Zellen an dem Ausgang des Speichers.
  • Der Paket-Pool-Zuteiler vermittelt die 8 Pack-FIFOs für Schreibzugriff auf den Hauptspeicher (Paket-Pool) in zyklischer Weise. Nur FIFOs mit einer vollständigen fertigen Zelle, oder ein FIFO, welcher sich in einem Time-Out befindet (siehe Abschnitt über Time-Out-Mechanismus) wird ein vollständiger Zugriff erlaubt.
  • FreeQ ist ein Zeiger zu der aktuellen freien Zelle (oder Block, dies wird später erörtert werden), in welche eine neue Zelle geschrieben werden kann. Eine freie Warteschlange für alle verfügbaren Speicherzellen wird von dem LLA aufrechterhalten.
  • Vorgangs-Warteschlangen (XQ) sind ein Datenfeld, welches 8 Warteschlangen enthält, eine für jede COS. Die Größe von jeder Warteschlange ist programmierbar. Jeder Warteschlangeneintrag zeigt auf dem Kopf eines Paketes im Speicher und der Rest des Paketes wird durch eine Verbindungsliste in dem LLA gehalten. XQ führt einen Zeitstempel, welcher jedem Paket im Speicher eine Zeitgröße zuordnet. Pakete, welche gemäß einem programmierbaren Wert zu "alt" sind, werden fallengelassen. Das XQ hat eine Beschränkung auf 2048 Einträge. Daher kann jeder Ausgang nur bis zu 2048 Pakete speichern (siehe PP).
  • Das Verbindungslisten-Feld (LLA = Link List Array) ist ein Datenfeld, welches eine 1-zu-1 Abbildung auf den Paket-Pool-Speicher aufweist. Jeder Abstand in dem Datenfeld entspricht einem Zellplatz in dem Paket-Pool. In dem LLA werden Zeiger zu einer anderen Zelle gespeichert. Das LLA liefert eine komfortable Methode zur Adress-Umleitung, wenn Datenstrukturen manipuliert werden. Das LLA führt n + 2 Verbindungslisten. Worin "n" die Anzahl von aktuell gespeicherten Paketen und die 2 die freie Warteschlange plus einer "Friedhofs"-Warteschlange darstellt. Das LLA hält auch einen Referenzzähler für jede Zelle. Dies ist notwendig, da die Zelle aktiv bleiben muss und nicht zu der freien Liste zurückgeführt wird, bis alle, die sich auf die Zelle beziehen, die Zelle nicht mehr nützen müssen.
  • Der Paket-Pool (PP) ist ein 128 Kbyte SRAM, welcher als der Hauptspeicher für Ausgangspakete für jenen Anschluss verwendet wird. Bei einer Breite von 640 Bits weist es 1600 Einträge auf. Die Größe von diesem RAM bestimmt letztendlich, wie viel gespeichert werden kann. Beispielsweise kann es wegen den XQ Begrenzungen bis zu 2048 Pakete minimaler Größe speichern, aber nur bis zu 82 Pakete maximaler Größe (1518 Bytes) und nur 14 Pakete einer "Jumbo"-Größe (9 Kbytes).
  • Die Ausgangsteuerung (EGS = Egress Scheduler) bestimmt das nächste Paket, welches aus dem PIE gesendet werden soll. Es folgt den in dem System programmierten Prioritätsregeln und ruft ein Paket ab, Zelle für Zelle, gemäß der von XQ und LLA gelieferten Information.
  • Der Entpaketierer (UPK = Unpacker) ist ein Zwilling zu dem Pack-FIFO, in der Hinsicht, dass er das Missverhältnis zwischen Wort und Zelle in diesem System auf dem Weg nach außen ausgleicht. Er ist jedoch unterschiedlich, da nur ein Anschluss von ihm zu einem Zeitpunkt lesen muss, mit 1/8 der Geschwindigkeit, somit wird nur ein RAM verwendet.
  • Die MMU-Ausführung ist eine reine Paket-Speicher- und Weiterleit-Maschine. Der Bedarf, im Paket nachzusehen, ist beseitigt worden, um das Unterstützen von verschiedenen Protokollen zu erleichtern. Die MMU unterstützt die folgenden Paketformate: Paket minimaler Größe von 64 Bytes, Pakete maximaler Größe von 9 K Bytes, ein Modulkopf und ein Einleitungskopf. Zusätzlich sind Bündelungs- und Spiegelungs-Unterstützung übergangslos, da die MMU nur auf ein Anschluss-Bitmap-Seitenband-Signal, welches auf dem IBR übertragen wird, reagiert.
  • Der grundlegende Fluss eines Paketes ist wie folgt: Das erste Wort des Paketes wird auf dem IBR für Anschluss m empfangen, durch den RXSTART für Anschluss m angezeigt und die COS des Paketes wird ermittelt, angezeigt durch das Feld in dem Wortkopfgebiet. Dieses Wort wird in dem Pack-RAM von Anschluss m in ein logisches FIFO gemäß der COS gespeichert. Nachfolgende Wörter werden in das gleiche COS FIFO gespeichert werden, bis RXEND für Anschluss m festgestellt wird.
  • Unterdessen, falls eine Zelle (10 Wörter) in eines der COS FIFOs für Anschluss m angesammelt worden ist, ist sie bereit, in das Paket-Pool-RAM zu gehen. Es wird angemerkt, dass alle anderen Anschlüsse das gleiche tun. Daher können eventuell alle 8 Anschlüsse eine Zelle aufweisen, welche bereit ist, zur gleichen Zeit in einen Speicher geschrieben zu werden. Der Paket-Pool-Zuteiler gewährt Schreibvorgänge an ein RAM in zyklischer Weise unter allen 8 Anschlüssen in jedem Takt und da 8 Takte benötigt werden, eine Zelle anzuhäufen, ist die Bandbreite ausreichend. Wenn eine Zelle bereit ist, zu gehen, verwendet der Paket-Pool-Zuteiler den FreeQ Zeiger und schreibt die Zelle in einen Speicher. Eine Verbindungsliste wird für das Paket gebildet (wenn nicht bereits geschehen). Dann wird das LLA mit der neuen freien Warteschlange (Free Queue) und der neuen Paket-Verbindungsliste aktualisiert. Dieser Vorgang wird für jede neue Zelle wiederholt.
  • Ein RXEND wird festgestellt, und der Zeiger zu dem Zellkopf dieses Paketes wird zu der XQ geschoben, zu welcher er gehört. Die Ausgangssteuerung bemerkt, dass ein Paket in der XQ vorhanden ist, welches gemäß seinem Prioritätsalgorithmus bedient werden muss. Er setzt den UPK in Kenntnis, indem er die COS Nummer übermittelt. Der UPK hält es für bereit, übertragen zu werden, er ruft den Zeiger von dem Anfang des übermittelten COS von der XQ ab und verwendet ihn, um die erste Zelle aus dem Speicher von dem LLA zu lesen. Der UPK setzt die Zelle in das FIFO gemäß dem Anschluss-COS Paar, zu welchem es gehört. TXSTART wird dem PIE bestätigt und bei TXREADY werden Wörter an den PIE zur Übertragung getaktet. Alle Zellen vom RAM werden für jenes Paket bis zu EOP abgefragt (angezeigt durch die Feldgröße von XQ). Die Zeiger für jede Zelle werden von dem LLA geliefert, welches zur selben Zeit die Präferenzzählung für jene Zelle erniedrigt. Falls die neue Zählung 0 erreicht, wird die Zelle zurück in die freie Warteschlange gesetzt. TXEND wird mit dem letzten Wort aktiviert. Entpack-FIFO setzt die Zelle in das FIFO, gemäß dem Anschluss-COS Paar, zu welchem sie gehört.
  • Mehrere Szenarien und möglich. Ein Szenario ist auf mehrere Pakete gerichtet, welche bei Nicht-Zellgrenzen enden. Als ein Beispiel trifft für das gleiche Anschluss-COS ein weiteres Paket, genannt B, direkt nach dem obigen Beispiel ein. Es weist 81 Bytes auf. Direkt danach treffen zwei weitere Pakete, genannt C und D, ein, beide weisen jeweils auch 81 Bytes bzw. N Bytes auf.
  • Nach 81 Bytes (oder 10 Wörtern), die von B empfangen werden, wird es einer Zelle in dem PP übermittelt und ein Eintrag in dem LLA wird für es erzeugt. Nach 1 Byte von B und 72 Bytes von C wird eine weitere Zelle gewährt, und sie werden zusammen in einen Speicher geschrieben. Ein zugehöriger Eintrag in dem LLA wird modifiziert, um an die in 1 verwendete Zelle zu koppeln. Da RXEND für Paket B empfangen worden ist, wird ein Eintrag für es in einer COS Warteschlange in der XQ geschaffen. EGS entscheidet, dass Paket B übertragen werden soll. Es ruft die erste Zelle aus einem Speicher ab und UPK setzt sie in seinen FIFO. 81 Bytes von B werden übertragen und EGS ruft die nächste Zelle für Paket B ab und setzt sie in das gleiche Anschluss-COS-Entpack-FIFO.
  • Darauf wird 1 Byte von B übertragen. Nun, während all diesem, vollendet auch Paket C das Eintreffen. C wird als Zellen im Speicher gespeichert und die Einträge werden in der XQ mit einem Abstandswert von 1 gespeichert. Die Referenzzählung für die Zellen, in welchen B+D und C+D sich befinden, beträgt 2. Auf ein Bemerken des neuen Eintrags für C in dem XQ hin kann EGS/UPK den Rest von C (da ein Teil von ihm schon über B gelesen wurde) in das Entpack-FIFO abrufen, wenn der Übertragungsprozess das FIFO auf einen vorbestimmten Grenzwert entleert. C kann nun ausgesendet werden. Zuletzt sind Teile von D in dem Entpack-FIFO, in dem PP RAM und in dem Pack-FIFO übrig.
  • Ein zweites Szenario richtet sich auf Auszeit-Mechanismen. Nun wird angenommen, dass Paket D das letzte für jenen Anschluss-COS ist und nicht an einer schönen 80-Byte-Grenze endet. Ein paar Bytes von ihm sitzen in dem Pack-FIFO, einige Zellen in dem PP und 64 Bytes von ihm sitzen in dem Endpack-FIFO. Falls kein Paket an diesem Anschluss-COS nach einer Zeit Tflush eintrifft, wird den Inhalten von dem Pack-FIFO grünes Licht gegeben, in das RAM zu gehen. Und es wird eine Zelle im Speicher mit den übrigen Bytes zufällig einnehmen. Und ein Eintrag wird für D in der XQ geschaffen. Dieser "Flush"-Timer-Mechanismus wird verwendet, um stillstehende FIFO-Daten zu vermeiden. Der XQ Eintrag für D besitzt einen Abstand von 2 und sobald für D ein Eintrag in der XQ geschaffen ist, kann EGS dann das Paket aus einem RAM gemäß den früher erörterten Schritten abfragen.
  • Falls der Ausgangs-MAC überfüllt ist (d.h. irgendein Strom hoher Bandbreite nimmt den Anschluss ein, oder TXREADY wird zu keinem Zeitpunkt beobachtet), kann das Paket im Speicher festsitzen. Es gibt zwei Handlungsabläufe: 1) Im Falle einer Pack-FIFO-Überfüllung löst Tflush einen besonderen Zustand aus und ermöglicht den verbleibenden Bytes von Paket D in einen Speicher geschrieben zu werden. 2) Falls der Anschluss frei ist, wird nach einer Zeit Tdrop das Paket für zu alt befunden und wird fallengelassen, sowohl von dem PP als auch möglicherweise vom Entpack-FIFO, falls es sich auch dort teilweise befindet. Das Alter des Pakets wird durch sein Zeit-„Tick"-Feld in der XQ bestimmt.
  • Ein drittes Szenario umfasst ein Aushungern oder eine Überzeichnung von Anschlüssen. Im Falle einer Überzeichnung oder einer schlechten Verbindung, häufen sich Pakete schnell in dem PP an und wenn ein Schwellwert in der XQ erreicht wird, wird Gegendruck an alle verletzenden Anschlüsse erklärt, um einen Gegendruck-Zustand anzuzeigen. Dies wird durch ein Gutschriftsystem auf dem MR vollzogen. Falls Pakete in dem XQ länger als Tdrop verbleiben, werden sie fallengelassen.
  • Im Allgemeinen wird keinen Paketen ein Eintritt in die XQ erlaubt, falls es unvollständig ist, aufgrund eines Löschens fallengelassen wurde oder aufgrund eines Mangels an Puffern fallengelassen wird. Sobald ein Paket einem Anschluss-COS zugeordnet ist, verlässt es niemals jenen Anschluss-COS-Strom. Dies gilt für die Lebenszeit des Paketes in dem System, ungeachtet dessen, in welchem physikalischen RAM es sich befindet. Da jedes Paket einem Anschluss-COS zugeordnet ist, und jedes Schreiben in einen Speicher von nur einem Anschluss-COS erfolgt, enthält keine Zelle im Speicher zwei Pakete von verschiedenen Anschluss-COSs. Da Pakete eine Mindestgröße von nicht weniger als den 64 Bytes aufweisen müssen, können sich nicht mehr als 3 Pakete in derselben Zelle befinden, angesichts einer 80 Byte Zellgröße. Tdrop > Tflush und somit erfordert kein Paket-Aussonder-Ereignis das Leeren von Entpack-FIFOs.
  • MITTEILUNGS-RING-PROTOKOLL
  • Der Mitteilungs-Ring verwendet ein Token-Passing-Protokoll mit einigen Einschränkungen für eine Token-Haltezeit, um eine faire Bandbreitenzuweisung zu garantieren und die maximale Zeit festzulegen, in der einer Station ein Token gewährt wird, wenn sie einen benötigt. Der Ring selbst ist ein 33-Bit Bus. Bits [31:0] enthalten ein 32 Bit Mitteilungswort und Bit [32] ist das Token. Zu jedem beliebigen Zeitpunkt ist kein oder ein Token auf dem Ring. Mitteilungen bestehen aus einem bis drei Wörtern; das erste Wort der Mitteilung beschreibt den Mitteilungstyp, welcher auch die Mitteilungslänge einschließt. Ein Token-Bit ist stets nur an das letzte Wort einer Mitteilung angehängt.
  • Alle Mitteilungen beginnen mit einem üblichen Format, welches ein erstes Wort einer MR Mitteilung aufweist. Der 6-Bit Opcode spezifiziert den Mitteilungstyp und spezifiziert implizit die Mitteilungslänge. Die 5-Bit Zielstation kommt als nächstes, dann folgt die 5-Bit Ursprungsstation (diejenige, welche die Mitteilung erzeugt) und zuletzt ein 16-Bit mitteilungsabhängiger Teil. Einige Mitteilungen besitzen ein zweites und vielleicht ein drittes 32b Datenwort, welches Dinge wie Speicheradresse, Lesedaten und Schreibdaten enthält.
  • Bestimmte Mitteilungen werden als ein aufgeteilter Vorgang behandelt; dies bedeutet, dass eine Anfrage von einer Station erzeugt wird und einige Zeit später, vielleicht nachdem viele andere Mitteilungen auf dem Ring zirkuliert sind, sendet die antwortende Station eine Bestätigungsmitteilung zurück.
  • BUCHUNGSBLOCK
  • Ein weiterer Teil der MMU ist ein Buchungsblock (ACT = Accounting Block). Diese Logik nimmt einen Strom von 64b Wörtern mit der Kern-Taktfrequenz von dem MAC an, zusammen mit einiger Seitenband-Information, welche von dem PIE erzeugt wird. Es gibt keine direkte Fähigkeit, den Strom von Wörtern, welcher von dem MAC kommt, anzuhalten. Alle Pakete müssen angenommen werden (obwohl sie vielleicht später aus Kapazitätsmangel fallengelassen werden). Der Block ist auch verantwortlich für ein Überwachen von Ressourcen, welche von Paketen benutzt werden, die an jenem Eingang eintrafen, und für ein Anfragen, dass der MAC in einen PAUSE-Zustand eintritt oder austritt, wie angemessen.
  • Der ACT führt einen 16 Bit Zähler, welcher die Zahl von Oktbyte-Wörtern anzeigt, welche ein bestimmter Eingang in die MMU eingebracht hat und vermutlich an Ressourcen in Anspruch nimmt. Der Name des Registers lautet: MMU_REG_IngressWordCount. Es wird auf Null zurückgesetzt und erhöht sich jedes Mal, wenn der PIE ein gültiges Wort auf dem IBR sendet (wie von dem PIE_mmu_vf Bit angezeigt). Während Oktwörter ausgegeben werden oder aus irgendeinem Grund fallengelassen werden, wird die Zählung dieser Oktbyte-Wörter zeitweise an den Eingang über die MR IngressCredit-Mitteilung zurückgesendet und von der Zählung ausstehender Wörter abgezogen.
  • Somit steigt und fällt diese Anzahl über die Zeit. Falls die Anzahl zu groß ist, fordert der Eingang den MAC auf, eine PAUSE an seine Verbindungspartner zu senden, um den Datenverkehr, welcher in den Chip eintritt, zu verlangsamen. Wenn die Eingangsrate fällt und mäßiger wird, fordert der ACT den MAC auf, den PAUSE-Zustand zu verlassen. Dieses Verhalten wird in 11 gezeigt. Obwohl der MAC ein Anfordern jedes PAUSE-Timer-Wertes von 0 × 0000 bis 0 × FFFF erlaubt, verwendet der ACT Block stets nur zwei Werte: 0 × 0000 oder 0 × FFFF. Ein O × FFFF wird verwendet, wenn eine PAUSE angefordert wird, und 0 × 0000 wird verwendet, um anzufragen, dass PAUSE aufgehoben wird. Es ist möglich, dass trotz des PAUSE-Zustands, in den er eingetreten ist, die untere Hysteresegrenze in 64 K Zyklen nicht erreicht wird. In diesem Fall fordert die ACT Vorrichtung den MAC auf, eine weitere PAUSE-Anfrage zu senden, um sicherzustellen, dass der PAUSE-Zustand aufrechterhalten wird. Auch dies ist in 11 gezeigt.
  • EINGANGS-BUSRING
  • Das Eingangs-Busring (IBR = Ingress Bus Ring)-Modul ist relativ einfach und weist nur ein paar Zweckbestimmungen auf. Erstens, werden die Eingangsbusse getaktet, bevor die Daten an die nächste Station weitergeleitet werden. Dies vereinfacht die oberste-Stufe Zeitsteuerung, da der Pfad Punkt zu Punkt von benachbarten Stationen auf dem Ring verläuft. Zweitens, befindet sich der IBR dort, wo das Anschluss-Tauschen stattfindet. D.h., die Eingangsbusse werden um eine Position verschoben, bevor sie über die Ausgangsbusse ausgesendet werden. Dies ermöglicht den Stationen, eine einheitliche, nicht überlappende Busverdrahtung zu besitzen und dennoch eine angrenzende Anordnung auf dem obersten Level aufzuweisen. Drittens implementiert der IBR eine Energieoptimierungsstrategie. Während jedes Wort auf einem Eingangsbus eintrifft, wird seine Ausgangskarte überprüft. Wenn keine nachgeschaltete Station jenes Wort benötigt, wird der Ausgangsbus konstant gehalten, mit Ausnahme von dem Gültig-Bit, welches auf unwahr gesetzt wird.
  • Jedes der Bits der 8 Wege auf dem IBR hat eine zugeordnete Bedeutung. Obwohl es 9 Stationen auf dem IBR gibt, existieren nur 8 Wege zu jedem Querschnitt aufgrund der "Flügel"-Topologie des "Ringes". Bezüglich jeder Station sind 4 Stationen vorgeschaltet und 4 sind nachgeschaltet. Jede Station registriert ihre Ausgänge, wodurch vermieden wird, dass so viele Signale den ganzen Weg entlang des Chips in einem Takt gesendet werden müssen. Stattdessen wird es durch den Aufwand ersetzt, eine unterschiedliche Latenz von einer Station zu jedem anderen Paar von Stationen aufzuweisen. Die verschiedenen Bits jeder Leitung sind exakt die gleiche Information, die von dem PIE Block erzeugt wird. Während einer Energieoptimierung kann eine Station all die Bits eines Busses konstant halten und ein UNWAHR "Gültig"-Bit verbreiten, falls entweder das eintreffende Wort nicht gültig ist, oder die Station feststellt, dass die Ausgangsanschluss-Karte keine nachgeschalteten Ziele aufweist. Jede Station auf dem Ring besitzt acht Eingangsbusse und acht Ausgangsbusse; vier verlaufen im Uhrzeigersinn, vier verlaufen gegen den Uhrzeigersinn.
  • 12 zeigt das Aussehen einer Station, während 13 zeigt, wie die Anschlüsse jeder Station miteinander verbunden sind. Es wird bemerkt, dass das logische Abbilden der Anschlüsse auf einen Eingangsbus an jeder Station sich verändert, aber die Topologie der Eingänge zu den Ausgängen konstant bleibt. Das bedeutet, dass nur ein Layout notwendig ist.
  • Die Fähigkeit, ein einzelnes Layout zu verwenden, ist wichtig für die Erfindung. Diese Topologie bedeutet, dass Stationen, welche auf dem Ring benachbart sind, auf dem physikalischen Chip benachbart sein können und angrenzen können, ohne irgendeinen verlorenen Raum zwischen ihnen, um diese zu verbinden. Jede andere Topologie würde verlorenen Raum zwischen physikalischen Blöcken erfordern, um die Ausgänge eines Blocks mit den geeigneten Eingängen der benachbarten Blöcke zu verbinden. Dies erleichtert auch ein Testen, da jede "Fliese" des IBR gleich ist. Es wird auch angemerkt, dass Anschluss 0 in 13 in beide Richtungen führt, während die anderen Anschlüsse alle durch die Station führen oder an der Station enden. Dies ist darauf zurückzuführen, dass Station 0 Eingang-0-Daten bezieht. Eine 4-Bit Identifizierung wird jeder Station auf dem Ring gegeben, so dass sie ihre Identität kennt.
  • MITTEILUNGSRING
  • Der Mitteilungsring (MR = Message Ring) beruht auf dem folgenden Protokoll. Anfänglich, im zurückgesetzten Zustand, ist kein Token vorhanden. Nachdem ein paar Zyklen durchlaufen worden sind, prägt Station 0 ein Token aus und sendet es auf den Ring. Dieses Token-Wort zirkuliert weiter, bis eine Station eine Mitteilung senden muss. Eine derartige Station wartet, bis sie ein Token auf ihrem Eingangsbus eintreffen sieht. Da dieses Token mit dem letzten Wort der eintreffenden Mitteilung verbunden ist, leitet die Station Bits [31:0] zu ihrem MR Ausgangsanschluss weiter, entfernt aber das Token-Bit. In dem nächsten Zyklus beginnt die Station, welche gerade das Token aufgenommen hat, sämtliche Mitteilungen auszusenden, welche sie aussenden will, gemäß den unten vermerkten Anforderungen. Wenn die Station das Aussenden von Mitteilungen beendet hat, setzt sie das Token-Bit von ihrem Ausgangsbus auf "1" auf dem letzten Wort der letzten Mitteilung.
  • Es gibt drei Mitteilungsklassen: 1) ReadRegister, WriteRegister, ReadMemory, WriteMemory; 2) ReadRegisterAck, WriteRegisterAck, ReadMemoryAck, WriteMemoryAck; und 3) IngressCredit. Nur die Station, welche an die Verbindung zu einer CPU angegliedert ist, kann Typ (1) – Mitteilungen senden. Ferner kann nur eine derartige Mitteilung zu einem beliebigen Zeitpunkt ausstehen. "Ausstehen" bedeutet, dass die Typ (2)-Mitteilung, welche eine Typ (1) – Mitteilung vollendet, noch nicht von dem Sender der Typ (1) – Mitteilung empfangen worden ist. Eine Station sendet eine Typ (2) – Mitteilung nur in Erwiderung auf eine Typ (1) – Mitteilung.
  • Während einer Token-Eigentums-Zeit kann nur eine Mitteilung von jeder der drei Klassen gesendet werden. Dies hat die folgenden Konsequenzen. Die mit der CPU verbundene Station kann das Token höchstens vier Zyklen lang halten, da sie eine drei Zyklen-WriteMemory Befehl und eine ein-Zyklus-IngressCredit Mitteilung senden kann. Obwohl sie eine Typ (2) – Mitteilung in Erwiderung auf einen Typ (1) – Mitteilung erzeugen kann, geschieht dies nicht in derselben Token-Haltezeit. Andere Stationen halten das Token auch höchstens vier Zyklen lang, da sie eine drei Zyklen-ReadRegisterAck Mitteilung und eine ein Zyklus-IngressCredit Mitteilung senden können. Da neun Stationen auf dem Ring sind (mit CPU verbundene Station plus acht XAUI Anschlüsse), benötigt ein Token höchstens 15 Takte, um einen kompletten Kreis auszuführen. Dies ist darin begründet, dass nur eine Typ (1) – und eine Typ (2) – Mitteilung jemals während eines Zyklusses des Tokens erzeugt werden kann; daher benötigen zwei Stationen jeweils vier Zyklen und sieben Stationen benötigen jeweils einen Zyklus.
  • PAKETIERER
  • Der Zweck des Paketierer (PK)-Blockes oder der Paketierer-Einheit ist das Empfangen eines Stromes von 64-Bit-Wörtern von jeder der acht anderen Stationen. Die Ausgangsanschluss-Karte, welche mit jedem Paket verbunden ist, wird verwendet, um zu bestimmen, welche Pakete von einer bestimmten Station aus dem Ring auszulesen sind. Während die Datenwörter von einem bestimmten Eingang über den IBR eintreffen, wird jeder Strom zu 640b "Zellen" zusammengesetzt. Wenn eine Zelle vollständig ist, wird sie innerhalb von acht Taktzyklen zu dem PP (Packet Pool = Paket-Pool) übertragen. Die acht Packeinheiten (eine zu jedem Eingang gehörig) vermitteln untereinander, indem sie eine strenge Priorität verwenden, um Zugriff zu dem PP zu erhalten. Da jede Zelle 10 Wörter enthält und ein Paket minimaler Größe aus wenigstens acht Wörtern bestehen kann, ist es möglich, mehrere Paketfragmente in einer Zelle zu haben.
  • 14 zeigt einige mögliche Fälle, wie Pakete innerhalb einer Zelle angeordnet werden können. Jedes kleine Rechteck innerhalb der Zelle stellt ein 8-Byte-Wort dar. Die Pfeile mit der Beschriftung "A", "B", oder "C" darüber zeigen Pakete. Grauschattierte Rechtecke zeigen nicht verwendete Teile von Zellen; die Gründe hierfür werden später aufgeführt. Die großen Balken zeigen die Grenzen eines Paketes. Es ist zu beachten, dass eine Zelle Fragmente von bis zu drei verschiedenen Paketen enthalten kann und dass eine Zelle höchstens zwei Grenzen zwischen Zellen enthalten kann. Pakete sind nicht notwendigerweise zusammenhängend in einer Zelle, aufgrund der toten Wörter in den grauschattierten Rechtecken.
  • Die grauschattierten Rechtecke in 14 können aus einigen Gründen entstehen: Ein Fall wie #2 kann auftreten, wenn ein Eingang für eine Zeitspanne aufhört, Pakete zu senden; schließlich sendet die PK Vorrichtung trotzdem nur die unvollendete Zelle an die PP-Vorrichtung, um ein Stranden des Paketes "A" in der PK Vorrichtung zu verhindern. Weitere graue Rechtecke können auftreten, wenn die MAC Vorrichtung eine Lösch-Anforderung anzeigt, nachdem das Paket bereits begonnen hat. Anstatt alle Zeiger und dergleichen zurückzuspulen, zeigt die PK Vorrichtung nur jene betroffenen Wörter als tot an. Eine letzte Ursache für grauschattierte Rechtecke tritt auf, wenn die PK Vorrichtung versucht, ein Paket an das LLA zu schreiben und ein oder mehrere Fragmente aufgrund irgendeiner Art von Ressourceneinschränkung nicht erfolgreich geschrieben werden können.
  • Die Aufgabe des Packens ist der Erhalt der Bandbreite und die Rate der schmalen IGB Wege an die breiten PP Schnittstellen anzupassen. Falls die PK Vorrichtung nicht mehrere Paketfragmente in einer Zelle erlaubte, könnte eine unglaubliche Ineffizienz bei der Speicherverwendung und Bandbreite auftreten. Zum Beispiel, wenn der Verkehr ausschließlich aus 88-Byte-Paketen bestünde, würde ein Paket zwei gesamte Zellen benötigen, von welchen nur 11 der 20 Wörter belegt wären (55 % Nutzung).
  • VERBINDUNGSLISTEN-FELD
  • Der Verbindungslisten-Feld Block ist das Verbindungslisten-Gehirn der MMU. Er führt die folgenden Funktionen aus: Nimmt Schreib-Anforderungen von dem PK für jedes Paket an, bildet eine Verbindungsliste für jedes Paket, lenkt ein Einfügen seines XQ Eintrags, nimmt Lese-Anforderungen von dem UPK an und gibt Zellen frei, welche nicht mehr von Paketen benötigt werden. Das LLA führt auch eine freie Warteschlangen-Verbindungsliste, führt Referenzzähler für jede Zelle und führt ein Löschen von Paketen aufgrund expliziter oder impliziter Voraussetzungen durch und sendet die gelöschten Verbindungslisten zurück zu der freien Warteschlange.
  • Zur Erinnerung, es existieren acht getrennte Fälle, in welchen sich Pakete (A, B und C) in einer 80-Byte-Zelle befinden können (siehe 14).
  • Figure 00330001
  • Die acht Fälle sind mit den 4 Signalen (sof0, sof1, eof0, eof1) von dem PK angemessen kodiert. Durch ein Dekodieren führt das LLA einen bestimmten Vorgang für jede Anweisung durch.
  • Es gibt zwei Arten von Löschvorgängen in dem LLA: explizite und implizite.
  • Explizite Löschvorgänge: PK bestätigt ein „Lösch"-Bit am EOF, um ein schlechtes Paket anzuzeigen. LLA löscht demgemäss.
  • Implizite Löschvorgänge: PK unternimmt einen Schreibversuch, wird jedoch, da der vorherige Schreibvorgang bearbeitet wird, „voll" wahr. Das LLA hat folglich keinen Platz mehr, um das Paket zu speichern und lässt das Paket fallen. Im nächsten Zyklus muss PK erkennen, was sich ereignet hat. Er sollte die verbleibenden Bytes UND die Bytes, die gerade dem LLA gegeben wurden, löschen und zurückbuchen. Es ist anzumerken, dass der PK niemals einen expliziten Löschvorgang durchführt, auch wenn er ein Voll-Signal von dem LLA abfragt, prüft der PK den nächsten Takt, um zu sehen, ob der Versuch erfolgreich war. Dies liegt darin begründet, dass während des vorhergehenden Zyklus eine Zelle freiwerden könnte.
  • Es gibt vier Auslöser für den „Voll"-Zustand:
    • 1) PP wird voll – (kein weiterer freier Zell-Puffer im Speicher
    • 2) COS Klasse in der XQ erreicht Paket-Verwendungs-Grenze
    • 3) COS Klasse in der XQ erreicht Wort-Verwendungs-Grenze
    • 4) XQ Anfrage-FIFO wird in dem LLA Block voll (selten)
  • Bedingungen 1), 2) und 4) sind in dem LLA Block implementiert, während 3) in dem XQ Block implementiert ist.
  • Wenn ein Löschvorgang, entweder implizit oder explizit, benötigt wird, muss das LLA die durch das verletzende Paket besetzte Verbindungsliste der freien Warteschlange überlassen. Da jede Zelle bis zu drei Pakete besitzen kann, die sich in ihr befinden, erzeugt dies einen ziemlich Ressourcen beanspruchenden Arbeitsvorgang. Im ungünstigsten Fall lautet der Arbeitsvorgang, in welchem dies durchgeführt wird:
    • 1 LLA (Port.Tail) = LLA (FreeHead);
    • 2 FreeHead = LLA (Port.Head);
    • 3 UsedCellCount = UsedCellCount – Port.CellCount;
    • 4 LLARefCnt (Port.Head) = LLARefCnt (PortHead) – 1;
    • #1,2: Verbindungslisten-Arbeitsvorgang, um die gelöschte Zelle auszuschneiden und in die freie Liste zurück einzusetzen.
    • #3: Zell-Zählung in dem System aktualisieren.
    • #4: Referenzzähler für die Kopfzelle des Paketes aktualisieren.
  • Da die Arbeitsvorgänge 1, 2, 3 und 4 Ressourcenkonflikte verursachen, wird die folgende Logik entwickelt:
    • 1 GraveYardHead = Port.HeadPtrPurge; LLA (Port.Tail) = GraveYardTail;
    • 2 FreeHead = Port.HeadPtrPurge;
    • 3 PurgedCellCount = PurgedCellCount + Port.CellCount;
    • 4 LLARefCnt2 (Port.Head) = 1;
    • #1) GraveYard Zeiger speichern eine einzelne Verbindungsliste für alle gelöschten Zellen. Diese Verbindungsliste wird (durch Dolncarnate) während eines UPK Lesevorgangs oder eines freien verfügbaren Zyklus zusammengesetzt. Dies vermeidet die Notwendigkeit, die gelöschte Verbindungsliste zur gleichen Zeit wie den Schreibvorgang neu zu verbinden.
    • #2) HeadPtrPurge verfolgt in angemessener Weise, wo die eingesetzte Verbindungsliste des Pakets beginnen soll, indem SOF und Löschvorgänge für die SOF Zelle und nachfolgende DoMID Zellen, welche als nächstes an der Reihe sind, betrachtet werden.
    • #3) PurgedCellCount ist ein getrennter Zähler, der genau das überwacht, was sein Name bezeichnet. Er wird auf einen Dolncarnate Zyklus hin mit UsedCellCount verschmolzen.
    • #4) LLARefCnt2 ist ein zusätzlicher Referenzzählungsspeicher, welcher auf DoReadCell hin verwendet wird, um die endgültige Ref-Zählung für jenen Zellenort zu bestimmen. Dies ist nützlich, wenn die HeadPtr Zelle der gelöschten Verbindungsliste auch von einem anderen Paket verwendet wird; daher muss sein FragCount – 1 betragen.
  • Mit der obigen Implementierung können gelöschte Zellen unter schwierigen Schreibbedingungen eine Verzögerung der Verfügbarkeit des freien Pools bis zum nächsten freien Zyklus oder Lese-Zyklus darstellen. Da die Takt- und Speicherzugriffsbandbreite großzügig ausgelegt worden ist, steht ein freier Zyklus innerhalb von 8 Ticks bereit.
  • WIEDERHERSTELLUNG VON VERFÄLSCHTEM SPEICHER
  • Um sich gegen mögliche Speicherfehler in einem riskanten 0,13μm Prozess und einer RAM Verwendung zu schützen, hat die Anordnung der vorliegenden Erfindung einen Software-Weg entwickelt, Speicherfehler zu erkennen und derartige Fehlern zu korrigieren, um weiter zu arbeiten. Die Eigenschaft einer Speicherwiederherstellung der MMU ist in 15 erläutert. Die linke Seite der Figur erläutert die Hardwarezustände und die rechte Seite zeigt das Software-Flussdiagramm. Das Software-Flussdiagramm steuert den Zustandsübergang von Hardware und der Fluss ist horizontal ausgerichtet. Dieses Diagramm zeigt die Fähigkeit der Anordnung, verfälschte Adressen in dem Hauptspeicher dynamisch auszublenden, sowie eine Wiederherstellung durch eine Software-Rückstell-Sequenz. Es ist wichtig zu beachten, dass es zwei Typen von Speicherfehlern gibt, welche das System erkennt: #1ECC Fehler in dem Hauptspeicher-Pool und #2 Paritätsfehler in verschiedenen Nutz-SRAMs. Wie gezeigt, kann #1 dynamisch erkannt und durch Software ausgeblendet werden, und #2 kann nur durch eine Software-Rückstell-Sequenz wiederhergestellt werden.
  • PAKET-POOL-SPEICHER
  • Der Paket-Pool (PP)-Speicherblock ist eine Hülle für die Paket-Pool SRAM Makros, welche Paketdaten von dem PK Modul speichern. Nachdem die PK Vorrichtung eine Folge von Wörtern in eine Zelle gepackt hat, wird die Zelle automatisch an eine von dem LLA bestimmte Adresse in den PP geschrieben. Das Paket verbleibt in dem PP, bis der UPK Block alle Paketfragmente von dieser Zelle ausgelesen hat. Es können, abhängig von der Anordnung, 1, 2 oder 3 Paketfragmente in der Zelle vorhanden sein.
  • Dieses SRAM unterstützt ein Lesevorgang oder ein Schreibvorgang je Kern-Taktzyklus. Bei maximaler unmittelbarer Auslastung gibt es acht Schreibvorgänge (einen von jedem Eingang) und zwei Lesevorgänge (für Ausgang) je neun Zyklen.
  • Diese maximale Auslastungssituation kann akzeptiert werden bis der PP voll wird. Üblicherweise (und in tragbarer Weise) gibt es jedoch einen Schreibvorgang und zwei Lesevorgänge alle neun Zyklen.
  • PAKET-POOL-STEUERUNG
  • Das Paket-Pool-Steuerungsmodul errechnet Fehlertest- und Korrektur- (ECC = Error Checking and Correction) Bits für Schreibdaten von dem PK, überprüft (und korrigiert eventuell) Lesedaten an den UPK und stellt einen Hauptcomputer Lese/-Schreib-Zugriff (über das MR) zur Verfügung. ECC Fehler werden aufgezeichnet und gezählt und für den Hauptcomputer verfügbar gemacht, um über den MR zu lesen.
  • Zum Schutz gegen mögliche Fehler in dem Paket-Pool-Speicher werden zusätzliche ECC Bits an die Daten angefügt. Aufgrund der extrem breiten Schnittstelle zu dem RAM wäre es unpraktisch, eine einzelne ECC Paritätsgruppe für alle Bits zu besitzen. Stattdessen wird ECC auf einer Grundlage von vier 160 Bit-Wörtern errechnet. Jedes Wort wird von neun ECC Bits geschützt. Dies ist ausreichend, um volle SECDED (Single Error Correct/double error detect = einfache Fehlerkorrektur/doppelte Fehlerdetektion) Abdeckung zu liefern. Zum weiteren Schutz gegen SRAM Fehler wird jede Gruppe von ECC Bits mit der an die Daten angefügten Adresse verrechnet. Dies hilft bei der Erkennung der Fälle, in welchen das SRAM die falsche Adresse gelesen haben könnte.
  • VORGANGS-WARTESCHLANGEN
  • Die Vorgangs-Warteschlangen (XQ = transaction queue) liefern die Auftragsinformation zu den Paketen. Die XQ implementiert eine first in first out-Warteschlange für acht COSes. Im wesentlichen ist der Eintrag ein Zeiger in dem PP, welcher anzeigt, wo das Paket gespeichert ist, zusammen mit einer Anzeige der Größe des Paketes. Diese Information wird von der PK Schnittstelle zu dem Zeitpunkt geliefert, an welchem die Zelle, welche das letzte Wort eines Paketes enthält, in den PP geschrieben wird. Die Information wird in der XQ gespeichert und schließt Felder für ein Tick, eine Paketgröße, einen Abstand, einen Eingangsanschluss# und einen Zeiger ein.
  • Der Zeiger ist der Hauptzeiger zu dem Paket in einem Speicher. Die Eingangsanschlussnummer zeigt an, von welchem Anschluss dieses Paket kam und wird für den UPK verwendet. Der Abstand zeigt an, an welchem Ort in der Zelle dieses Paket tatsächlich beginnt (eine Folge des PK-Packens). Die Paketgröße unterstützt Byte-basierte gewichtete, faire Warteschlangenabarbeitung und wird auch von dem UPK verwendet. Der Tick ist ein Ersatz für einen Zeitstempel, welcher oben erläutert wurde.
  • Die 2K Einträge können in bis zu acht verschiedenen Warteschlangen für verschiedene COS Levels unterteilt werden. Die Größe von jeder COS Klasse ist über Paketbegrenzungs-Register programmierbar; jedoch muss die Summe aller definierten Klassen 2K oder weniger sein. Durch ein Sortieren von Paketen in getrennte Warteschlangen für unterschiedliche COS Klassen wird es Paketen mit einer höheren Priorität ermöglicht, vor Paketen mit niedrigerer Priorität gesendet zu werden, auch wenn die Pakete mit niedrigerer Priorität zuerst eintrafen. Während das LLA Modul Daten für die XQ Einträge liefert, liest der Ausgangs-Steuerblock (EGS = Egress Scheduler) die vier ältesten Einträge von jeder der acht COS Klassen, um zu entscheiden, welches Paket als nächstes gesendet wird.
  • Die XQ implementiert eine besondere Methode zur Paket-Alterung, welches das Problem eines Speicherns großer Zeitstempel-Vektoren für jedes Paket sowie das Zeilenumbruch-Problem für den Vektorwert verringert. Der 3 Bit Tick-Wert stellt den "Zeitstempel" für ein Paket dar. Jeder Tick stellt eine Zeit dar, die von dem Register für die maximale Ausgangszeit spezifiziert wird, wobei das Register ein 24 Bit Register ist. Die Granularität beträgt 34 μs und legt fest, wie oft ein Tick auftritt. Der "Tick"-Wert sättigt bei 7 und für jedes Paket zeigt ein Tick-Wert von 7 an, dass das Paket zu alt ist und gelöscht werden wird.
  • Zum Beispiel tritt für einen Wert von EgrMaxtime = 24'h1E6928 (= 1,993·10^6 als Dezimalzahl) ein Tick alle 1,993E6·34 μs = 68 Sekunden auf. Ein Tick sättigt nach 7 Ticks, was 68·7 = 480 s = 8 Minuten sind. Demzufolge werden alle Pakete, welche 8 Minuten oder älter sind, gelöscht.
  • AUSGANGSSTEUERUNG
  • Während die XQ die Ordnung von Paketen innerhalb einer bestimmten COS Klasse enthält, liegt es in der Verantwortlichkeit der Ausgangssteuerung (EGS = Egress Scheduler), auszuwählen, welche der 8 COS Klassen als nächstes ein Paket senden kann. EGS kann programmiert sein, verschiedene Arten von Warteschlangen-Steuerungsalgorithmen zu aktivieren.
  • In einem Ausführungsbeispiel wird ein auf einer strengen Priorität basierender Steuerungsalgorithmus eingesetzt. Bei diesem Algorithmus sendet die Warteschlange mit der höchsten Priorität alle ihre ausstehenden Pakete aus, bevor irgendeine andere Warteschlange mit niedrigerer Priorität die Möglichkeit hierzu bekommt. Wenn die Warteschlange mit der höchsten Priorität leer ist, dann sendet die Warteschlange mit der nächsten niedrigeren Priorität ihre Pakete aus, und so weiter. Falls ein Paket in eine beliebige Warteschlange mit höherer Priorität aufgenommen wird, wird das Aussenden des aktuellen Paketes vollendet und die Warteschlange mit höherer Priorität wird bedient. Der Hauptnachteil dieser Vorgehensweise ist ein mögliches Aushungern von Warteschlangen mit niedriger Priorität.
  • In einem bevorzugten Ausführungsbeispiel wird eine gewichtete zyklische (WRR = Weighted Round Robin) Steuerung eingesetzt. Diese Methode verringert den Nachteil der auf einer strengen Priorität basierenden Steuermethode, indem für alle Warteschlangen eine bestimmte minimale Bandbreite bereitgestellt wird, sodass keine der Warteschlangen ausgehungert wird. In gewisser Hinsicht ist die Bandbreite wirklich ein programmierbarer Parameter in der EGS und wird durch den Schaltereinsatz programmiert.
  • Jeder COS wird eine Gewichtung durch ein Register zugeordnet. Diese Gewichtung wird an ein Messregister weitergeleitet, welches auf jedes Paket-Austritts-Ereignis hin sich für jene COS verringert. Wenn alle COS Messvorrichtung Null erreichen, werden die Messvorrichtungen mit den programmierten Gewichtungen neu geladen. Ein "Peg" wird behalten, um ein zyklisches Zuteilen zwischen dem acht COSes zu liefern, d.h., jeder Warteschlange wird erlaubt, ein Paket für jede Zuteilungsrunde zu senden, bis sein Gewichtungswert auf Null gesunken ist.
  • Wenn kein Paket für die COS, an welchem sich der Peg befindet, verfügbar ist, wird den anderen COS Warteschlangen ermöglicht, um den Platz zu konkurrieren, indem ein Kreis-Prioritätsverfahren verwendet wird, d.h., wenn ein Peg sich bei 2 befindet, dann wird 1 → 0 → 3 in dieser Reihenfolge evaluiert. Falls sich Peg bei 3 befindet, dann wird 2 → 1 → 0 in dieser Reihenfolge evaluiert. Jene COSs, deren Gewichtungen zu dem Zeitpunkt Null betragen, sind nicht teilnahmeberechtigt. Falls jedoch keine weiteren COSs verfügbare Pakete besitzen, wird ihnen erlaubt zu gehen, sodass keine Bandbreite verschwendet wird (dies ist der arbeitssparende Aspekt).
  • Es wird angemerkt, dass in dem WRR Modus, obwohl der Zuteiler einer COS X gewähren kann, zu gehen, der tatsächlichen Übertragungslogik erlaubt wird, es vorzuziehen, eine andere COS Warteschlange herausgehen zu lassen. Dies ist tatsächlich erlaubt und beeinträchtigt nicht den internen WRR Betrieb. Jedoch weicht die Entkopplungseigenschaft eines derartigen Betriebs wahrscheinlich von der durch eine Programmierung ursprünglich beabsichtigten Fairness/Gewichtung ab.
  • Ein Nachteil von WRR besteht darin, dass es in pathologischen Fällen unfair wird. Wenn zum Beispiel ein Kanal viele lange Pakete maximaler Größe überträgt und ein anderer 64 Byte Pakete überträgt. Die Bandbreite des "mini-gram" Kanals wird beeinträchtigt, wenn eine Bandbreitenzuordnung auf einer Paketzahl basiert. Viele Studien wurden über faires Steuern durchgeführt. Während der theoretisch optimale Warteschlangen-Algorithmus, bekannt als General Processor Model (GPS), in der Umsetzung nicht realisierbar ist, kann eine bessere Nährung mit einem defizitären zyklischen (Deficit Round Robin) Algorithmus durchgeführt werden. Dieser Algorithmus kann in alternativen Ausführungsbeispielen unterstützt werden. Der Algorithmus kommt der min-max Erfordernis von gewichtiger Prioritätssteuerung nahe. Der Algorithmus ist arbeitssparend, d.h., Ressourcen sind nicht untätig, falls ein Paket auf einen Einsatz wartet. Es ist Byte-basiert, was ein genaueres Überwachen von tatsächlichem Datenverkehr-Durchsatz ermöglicht.
  • Die "Gewichtung" für jeden Kanal ist relativ zu einem "Maß"-Wert, welchen man dem Algorithmus zuordnet. Tatsächlich ist die Gewichtung von jedem Kanal ein ganzzahliges Vielfaches des Maßwertes. Der Maßwert sollte auf eine angemessene Byte-Länge der Datenverkehrsstruktur gesetzt werden. In der Welt des Ethernets besitzt das Datenverkehrsprofil eine bimodale Verteilung, welche um eine Paketlänge von ca. 64 Byte und 1500 Byte zentriert ist.
  • ENTPAKETIERER
  • Der Entpaketierer (UPK = Unpacker) liest Zellen für von dem EGS ausgewählten Paketen und formatiert sie für den MAC neu in 64 Bitwörter. Ein Blockdiagramm für den Entpaketierer ist in 16 erläutert. Der Entpaketierer fordert ein neues Paket über ein Signal an, und wenn dieses Signal und ein Bereit-Signal beide wahr sind, dann wird ein neuer Satz von Paketinformation von der XQ beim nächsten Zyklus eintreffen.
  • Der Entpaketierer verwendet die Information von der XQ (Größe, Zeiger, Anschluss, etc.), um eine Sequenz von Leseanforderungen an das LLA für jedes Paket zu erzeugen. Das erste Adress-Lesen für jedes Paket ist der von dem XQ empfangene Zeiger. Nachfolgende Lesevorgänge verwenden den von dem LLA empfangenen Wert. Es ist zu beachten, dass es die Schnittstelle ermöglicht, dass LLA Lesevorgänge in aufeinanderfolgenden Zyklen auftreten. Wenn der UPK dies auszuführen hat, aktiviert er ein Signal, welches das LLA veranlasst, aus dem nächsten Zell-Zeiger-Platz, anstatt des Zell-Zeigers, zu lesen. Dies vereinfacht eine Zeitsteuerung, indem die Notwendigkeit für den UPK beseitigt wird, den Zell-Zeiger aus dem nächsten Zell-Zeiger kombinatorisch zu erzeugen. Es ist anzumerken, dass das LLA UPK-Lesevorgänge nach Bedarf blockieren kann.
  • Die Lese-Daten von dem PP-Speicher treffen an dem Eingang des Paket-Pool-Steuermoduls mit einer festgelegten Verzögerung (4 Zyklen) nach einer erfolgreichen Leseanforderung an das LLA ein. Die ECC Pipeline innerhalb des Paket-Pool-Steuerungsmoduls benötigt zwei Zyklen, um Fehler aus dem RAM zu überprüfen und eventuell zu korrigieren. Diese zwei "Pipe"-Stufen werden als Puffer von dem UPK Modul verwendet. Die geeigneten Wörter von den Zelldaten auf dem Paket-Pool- Steuermodul werden gebündelt und in das Ausgabe FIFO mit einer Rate von einem Wort pro Zyklus eingegeben.
  • Wenn Pakete innerhalb der XQ veralten, werden die Pakete aus dem PP Speicher gelöscht, jedoch nicht an den MAC gesendet. Eine veraltete Paketinformation wird in den Lösch-Puffer gelegt, sodass ein weiteres Paket hervorgeholt werden kann. Indem die gelöschte Paketinformation in den Lösch-Puffer gelegt wird, kann der UPK weiter nach guten Paketen suchen, wodurch jegliche Unterbrechungen in dem Datenfluss zu dem MAC minimiert werden. Der UPK kann Lesevorgänge für sowohl gute Pakete als auch gelöschte Pakete auf einer Zyklus-zu-Zyklus Basis ausgeben. Wenn sowohl gute als auch gelöschte Pakete bedient werden, wird den guten Paketen eine Priorität gegeben. Gelöschte Pakete werden aus dem LLA genauso wie gute Pakete gelesen, mit der Ausnahme, dass ein Lösch-Signal aktiviert wird. Dies veranlasst das LLA, die indizierte Zelle freizugeben, aber zu vermeiden, einen Lesevorgang an den PP Speicher auszugeben (wodurch eine Verfälschung von Daten an den MAC vermieden wird).
  • Da die Paket-Pipeline zu dem MAC innerhalb des UPK ziemlich lang ist (bis zu 13 Pakete abhängig von Größe und Anordnung), ist es wahrscheinlich, dass innerhalb des UPK befindliche Pakete gelegentlich veralten. Um diesem Umstand Rechnung zu tragen, wird das Alter von jedem Paket innerhalb des Alter-Puffers beibehalten. Während Pakete von der XQ eintreffen, wird ihr Alter in dem Alter-Puffer aufgezeichnet (welcher als ein FIFO gestaltet ist). Immer wenn der Eingangszeit-Tick aktiviert wird, werden alle Alter um 1 erhöht (aber sättigen bei 7). Während jedes Paket zu dem MAC gesendet wird, wird sein Alter aus dem Alter-Puffer hervorgeholt. Bei Paketen, deren Alter 7 beträgt, wird ein Fehlersignal auf dem letzten Wort aktiviert.
  • Um es dem ACT Modul zu ermöglichen, korrekt Pausen an den MAC auszugeben, wenn der PP Speicher eines Anschlusses voll ist, sendet der UPK Gutschriften an das PK Modul über Signale, welche nach jedem erfolgreichen Lesen an das LLA gesendet werden (sowohl für gute Pakete als auch für jene, welche gelöscht werden). Bei jedem Zyklus gibt der UPK die Anzahl von veralteten Paketen aus, welche er von der XQ erhalten hat oder welche veralteten, wenn sie an den MAC ausgegeben wurden. Eine Gesamtanzahl von veralteten Paketen wird auch aufrechterhalten.
  • Der oben erläuterte Aufbau der Erfindung ist, in einem bevorzugten Ausführungsbeispiel, auf einem Halbleitersubstrat, wie Silizium, mit geeigneten Halbleiterherstellungsverfahren realisiert und basiert auf einer Schaltkreisanordnung, welche für Fachleute, basierend auf den oben erläuterten Ausführungsbeispielen, offensichtlich wäre. Ein Fachmann in Bezug auf Halbleiterentwurf und -herstellung ist in der Lage, die verschiedenen Module, Schnittstellen, Tabellen und Puffer, etc. der vorliegenden Erfindung auf ein einzelnes Halbleitersubstrat zu implementieren, und zwar basierend auf der oben erläuterten architektonischen Beschreibung. Es wäre auch innerhalb des Schutzumfangs der Erfindung, die beschriebenen Elemente der Erfindung in einzelnen elektronischen Bauteilen zu implementieren, wobei die Vorteile der funktionalen Aspekte der Erfindung genutzt werden, ohne die Vorteile durch die Verwendung eines einzelnen Halbleitersubstrates zu maximieren.
  • Obwohl die Erfindung basierend auf diesen bevorzugten Ausführungsbeispielen beschrieben wurde, wird es dem Fachmann klar sein, dass bestimmte Modifikationen, Variationen und alternative Aufbauten klar sein werden, während innerhalb des Schutzumfanges der Erfindung geblieben wird. Um die Maße und Grenzen der Erfindung zu bestimmen, sollte daher auf die anliegenden Ansprüche Bezug genommen werden.

Claims (13)

  1. Speicherverwaltungseinheit für eine Netzwerk-Vermittlungsanordnung zum Weiterleiten von Daten, welche enthält: eine Eingangsanschluss-Schnittstelle, welche derart aufgebaut ist, dass sie Abschnitte eines Datenpakets empfängt; eine Ausgangsanschluss-Schnittstelle, welche mit Eingangs-/Ausgangsanschlüssen der Anordnung über einen Eingangs-Busring verbunden ist, welcher eine Serie von Bussen enthält, wobei die Anzahl der Serie von Bussen gleich der Anzahl von Eingangsanschlüssen ist, einen Zellen-Paketierer, wobei der Zellen-Paketierer derart aufgebaut ist, dass er Paketdaten in Zellen gruppiert; einen Paketpool-Speicher, wobei der Paketpool-Speicher derart aufgebaut ist, dass er Zellen speichert, welche vom Zellen-Paketierer empfangen werden; einen Zellen-Entpaketierer, wobei der Zellen-Entpaketierer derart aufgebaut ist, dass er gespeicherte Zellen separiert, bevor die Zellen an einen Ausgangsanschluss freigegeben werden, wobei die Speicherverwaltungseinheit ferner enthält: eine Mehrzahl von Ausgangsanschluss-Schnittstellen, wobei der Eingangs-Busring derart aufgebaut ist, dass Ausgänge von einer der Mehrzahl von Ausgangsanschluss-Schnittstellen physikalisch mit Eingängen von einer angrenzenden der Mehrzahl von Eingangsanschluss-Schnittstellen verbunden sind, und ein Energieverbrauch optimiert wird, indem ein Ausgangs-Kennfeld für ein Paket, welches an einem der Eingangsanschlüsse ankommt, untersucht wird, und lediglich dann Paketdaten auf den Ring weitergeleitet werden, wenn ein nachfolgender Eingangsanschluss auf dem Ring im Ausgangs-Kennfeld spezifiziert ist; und wobei jede der Mehrzahl von Ausgangsanschluss-Schnittstellen ein gleiches Layout hat, um ein Bestücken und Testen der Ausgangsanschluss-Schnittstellen zu erleichtern.
  2. Speicherverwaltungseinheit nach Anspruch 1, bei welcher jeder Anschluss von der Vermittlungsanordnung einen Speicher zum Speichern von Paketdaten hat, und jeder Anschluss-Speicher derart aufgebaut ist, dass ein Anschluss-Speicher für inaktive Anschlüsse beim Abfragen der aktiven Anschlüsse Paketdaten für aktive Anschlüsse puffert.
  3. Speicherverwaltungseinheit nach Anspruch 1, welche ferner einen Ausgangs-Planer enthält, welcher mit dem Zellen-Entpaketierer kommuniziert, wobei der Ausgangs-Planer derart aufgebaut ist, dass er gemäß von Prioritätsregeln bestimmt, welche Paketdaten vom Paketpool-Speicher erlangt werden sollen.
  4. Speicherverwaltungseinheit nach Anspruch 3, welche ferner eine Serie von Transaktions-Warteschlangen enthält, welche derart aufgebaut sind, dass sie Eingangspunkte an Anfängen von Paketen im Paketpool-Speicher, und ein Verbindungslisten-Datenfeld, welches derart aufgebaut ist, dass es eine Abbildung von den Zellen im Paketpool-Speicher bereitstellt, speichern, wobei das Verbindungslisten-Datenfeld derart aufgebaut ist, dass es mit den Transaktions-Warteschlangen kommuniziert, und der Paketpool-Speicher und die Transaktions-Warteschlangen derart aufgebaut sind, dass sie mit dem Ausgangs-Planer kommunizieren.
  5. Speicherverwaltungseinheit nach Anspruch 3, bei welcher die vorbestimmten Prioritätsregeln einen Defizit-Ringversuch-Planungsalgorithmus enthalten.
  6. Speicherverwaltungseinheit nach Anspruch 3, bei welcher die vorbestimmten Prioritätsregeln einen gewichteten Ringversuch-Planungsalgorithmus enthalten.
  7. Speicherverwaltungseinheit nach Anspruch 4, bei welcher die Transaktions-Warteschlangen derart aufgebaut sind, dass sie ein Alter von Paketdaten in den Transaktions-Warteschlangen überwachen, und die Paketdaten abführen, wenn das Alter größer als ein vorbestimmter Wert ist, wobei die Transaktions-Warteschlangen derart aufgebaut sind, dass sie bestimmen, ob eine Klasse von einer Dienstklasse-Warteschlange in den Transaktions-Warteschlangen ein Limit erreicht hat, und das Datenpaket abführen, wenn die Transaktions-Warteschlange das Limit erreicht hat.
  8. Speicherverwaltungseinheit nach Anspruch 1, bei welcher der Paketierer derart aufgebaut ist, dass er solange abwartet, bis eine Zelle gefüllt ist, bevor die Zelle an den Paketpool-Speicher gesendet wird.
  9. Speicherverwaltungseinheit nach Anspruch 8, bei welcher eine Zellenlänge von der Zelle gleich 640 Bit beträgt.
  10. Speicherverwaltungseinheit nach Anspruch 1, welche ferner einen Speicherfehler-Erfasser und ein Mittel zum Wiedererlangen von einem erfassten Speicherfehler enthält.
  11. Netzwerk-Vermittlungsanordnung mit einer Speicherverwaltungseinheit nach Anspruch 1.
  12. Netzwerk-Vermittlungsanordnung nach Anspruch 11, welche ferner einen Meldungs-Ring enthält, welcher mit Eingangs- und Ausgangsanschluss-Stationen von der Netzwerk-Vermittlungsanordnung verbunden ist, wobei er derart aufgebaut ist, dass er Meldungen zwischen Stationen passiert.
  13. Netzwerk-Vermittlungsanordnung nach Anspruch 12, welche ferner eine zentrale Verarbeitungseinheit enthält, welche mit der Anordnung verbunden ist, und wobei sie derart aufgebaut ist, dass sie mit den Eingangs- und Ausgangsanschluss-Stationen über den Meldungs-Ring kommuniziert.
DE60119224T 2000-06-19 2001-06-19 Speicherverwaltungseinheit für eine Vermittlungsstelle Expired - Lifetime DE60119224T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21259200P 2000-06-19 2000-06-19
US212592P 2000-06-19
US22930500P 2000-09-01 2000-09-01
US229305P 2000-09-01

Publications (2)

Publication Number Publication Date
DE60119224D1 DE60119224D1 (de) 2006-06-08
DE60119224T2 true DE60119224T2 (de) 2007-02-22

Family

ID=26907293

Family Applications (4)

Application Number Title Priority Date Filing Date
DE60115154T Expired - Lifetime DE60115154T2 (de) 2000-06-19 2001-06-19 Verfahren und Vorrichtung zum Datenrahmenweiterleiten in einer Vermittlungsstelle
DE60126533T Expired - Lifetime DE60126533T2 (de) 2000-06-19 2001-06-19 Vermittlungsstelle mit einer Speicherverwaltungeinheit zur Verbesserung der Flusssteurung
DE60119224T Expired - Lifetime DE60119224T2 (de) 2000-06-19 2001-06-19 Speicherverwaltungseinheit für eine Vermittlungsstelle
DE60111457T Expired - Lifetime DE60111457T2 (de) 2000-06-19 2001-06-19 Vermittlungsanordnung mit redundanten Wegen

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60115154T Expired - Lifetime DE60115154T2 (de) 2000-06-19 2001-06-19 Verfahren und Vorrichtung zum Datenrahmenweiterleiten in einer Vermittlungsstelle
DE60126533T Expired - Lifetime DE60126533T2 (de) 2000-06-19 2001-06-19 Vermittlungsstelle mit einer Speicherverwaltungeinheit zur Verbesserung der Flusssteurung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60111457T Expired - Lifetime DE60111457T2 (de) 2000-06-19 2001-06-19 Vermittlungsanordnung mit redundanten Wegen

Country Status (4)

Country Link
US (7) US6567417B2 (de)
EP (4) EP1168726B1 (de)
AT (1) ATE354227T1 (de)
DE (4) DE60115154T2 (de)

Families Citing this family (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405258B1 (en) * 1999-05-05 2002-06-11 Advanced Micro Devices Inc. Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basis
US7315552B2 (en) * 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US6681270B1 (en) * 1999-12-07 2004-01-20 Texas Instruments Incorporated Effective channel priority processing for transfer controller with hub and ports
US6502097B1 (en) * 1999-12-23 2002-12-31 Microsoft Corporation Data structure for efficient access to variable-size data objects
JP2001203739A (ja) * 2000-01-18 2001-07-27 Fujitsu Ltd 通信経路制御方法及びその装置
GB2359692B (en) * 2000-02-26 2003-06-25 3Com Corp Stackable network unit including registers for identifying stack members and trunk ports
US6901452B1 (en) * 2000-03-02 2005-05-31 Alcatel Selectable prioritization for data communication switch
DE60115154T2 (de) * 2000-06-19 2006-08-10 Broadcom Corp., Irvine Verfahren und Vorrichtung zum Datenrahmenweiterleiten in einer Vermittlungsstelle
JP3646638B2 (ja) * 2000-09-06 2005-05-11 日本電気株式会社 パケット交換装置及びそれに用いるスイッチ制御方法
US7227862B2 (en) * 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US6914881B1 (en) * 2000-11-28 2005-07-05 Nortel Networks Ltd Prioritized continuous-deficit round robin scheduling
FR2818066B1 (fr) 2000-12-12 2003-10-10 Eads Airbus Sa Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US20020080808A1 (en) * 2000-12-22 2002-06-27 Leung Mun Keung Dynamically modifying network resources for transferring packets in a vlan environment
US6965602B2 (en) * 2001-01-12 2005-11-15 Peta Switch Solutions, Inc. Switch fabric capable of aggregating multiple chips and links for high bandwidth operation
US20020131412A1 (en) * 2001-01-12 2002-09-19 Dipak Shah Switch fabric with efficient spatial multicast
US20030021230A1 (en) * 2001-03-09 2003-01-30 Petaswitch Solutions, Inc. Switch fabric with bandwidth efficient flow control
US7051115B2 (en) * 2001-04-19 2006-05-23 Lenovo (Singapore) Pte. Ltd. Method and apparatus for providing a single system image in a clustered environment
US7167480B1 (en) * 2001-06-21 2007-01-23 Lighthouse Capital Partners Iv, Lp Multi-service data transport architecture
US20030016668A1 (en) * 2001-07-17 2003-01-23 Antonio Mugica Method of device-to-device communications in hybrid distributed device control networks
US7415031B2 (en) * 2001-07-30 2008-08-19 Null Networks Llc Data link/physical layer packet diversion and insertion
US7646782B1 (en) 2001-07-30 2010-01-12 Primrose Donald R Data link/physical layer packet buffering and flushing
US7227841B2 (en) 2001-07-31 2007-06-05 Nishan Systems, Inc. Packet input thresholding for resource distribution in a network switch
US7031331B2 (en) * 2001-08-15 2006-04-18 Riverstone Networks, Inc. Method and system for managing packets in a shared memory buffer that serves multiple output links
EP1461890B1 (de) * 2001-09-04 2008-12-17 Rumi Sheryar Gonda Verfahren zum unterstützen von sdh/sonet-aps auf ethernet
US7715437B2 (en) * 2001-09-27 2010-05-11 Broadcom Corporation Highly integrated media access control
US7295563B2 (en) 2001-10-01 2007-11-13 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have ordering requirements
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
US7046660B2 (en) * 2001-10-03 2006-05-16 Internet Machines Corp. Switching apparatus for high speed channels using multiple parallel lower speed channels while maintaining data rate
US20030076826A1 (en) * 2001-10-23 2003-04-24 International Business Machine Corporation Reliably transmitting a frame to multiple destinations by embedding sequence numbers in the frame
US6862293B2 (en) * 2001-11-13 2005-03-01 Mcdata Corporation Method and apparatus for providing optimized high speed link utilization
US6973082B2 (en) 2002-02-01 2005-12-06 Fujitsu Limited Forwarding packets to aggregated links using distributed ingress card processing
US7586909B1 (en) * 2002-03-06 2009-09-08 Agere Systems Inc. Striping algorithm for switching fabric
US7319695B1 (en) 2002-03-06 2008-01-15 Agere Systems Inc. Deficit-based striping algorithm
US7519066B1 (en) 2002-05-09 2009-04-14 Silicon Image, Inc. Method for switching data in a crossbar switch
US7274690B1 (en) 2002-05-09 2007-09-25 Silicon Image, Inc. Age selection switching scheme for data traffic in a crossbar switch
US7734812B2 (en) * 2002-06-06 2010-06-08 International Business Machines Corporation Method and apparatus for processing outgoing internet protocol packets
US7023843B2 (en) * 2002-06-26 2006-04-04 Nokia Corporation Programmable scheduling for IP routers
US7660292B2 (en) * 2002-06-27 2010-02-09 Broadcom Corporation System and method for isolating network clients
GB0215505D0 (en) * 2002-07-04 2002-08-14 Univ Cambridge Tech Packet routing
US7697526B2 (en) * 2002-08-06 2010-04-13 Broadcom Corporation Packet filtering based on port bit map
CN1232081C (zh) * 2002-08-06 2005-12-14 华为技术有限公司 网络通信中组播报文的转发方法
US7327692B2 (en) * 2002-09-10 2008-02-05 International Business Machines Corporation System and method for selecting fibre channel switched fabric frame paths
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
KR100488478B1 (ko) * 2002-10-31 2005-05-11 서승우 다중 입력/출력 버퍼형 교환기
US7269180B2 (en) 2002-11-04 2007-09-11 World Wide Packets, Inc. System and method for prioritizing and queuing traffic
GB0227048D0 (en) * 2002-11-20 2002-12-24 3Com Corp Network units for use in and organisation of cascade systems
US7461167B1 (en) * 2002-11-22 2008-12-02 Silicon Image, Inc. Method for multicast service in a crossbar switch
US7274694B1 (en) * 2003-01-09 2007-09-25 Cisco Technology, Inc. Defining link aggregation across a stack
US7417985B1 (en) * 2003-01-30 2008-08-26 Pmc-Sierra, Inc. Egress selection switch architecture with power management
US7313146B2 (en) * 2003-01-31 2007-12-25 Broadcom Corporation Transparent data format within host device supporting differing transaction types
TW200416522A (en) 2003-02-25 2004-09-01 Asustek Comp Inc Portable computer carrying desktop computer processor and power management method thereof
US8225389B2 (en) * 2003-04-11 2012-07-17 Broadcom Corporation Method and system to provide physical port security in a digital communication system
US7522641B2 (en) * 2003-04-25 2009-04-21 Farrokh Mohamadi Ten gigabit copper physical layer system
US20040225734A1 (en) * 2003-05-07 2004-11-11 Schober Richard L. Method and system to control the communication of data between a plurality of inteconnect devices
US7352764B1 (en) 2003-05-08 2008-04-01 Silicon Image, Inc. Content addressable merged queue architecture for switching data
US20040230997A1 (en) * 2003-05-13 2004-11-18 Broadcom Corporation Single-chip cable set-top box
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7184916B2 (en) * 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
CN1302645C (zh) * 2003-05-26 2007-02-28 华为技术有限公司 网络处理器系统端口捆绑中实现流量均担的方法
US7551557B2 (en) * 2003-06-19 2009-06-23 International Business Machines Corporation Method and system for ensuring arbitration fairness in bus ring topology
US7626985B2 (en) * 2003-06-27 2009-12-01 Broadcom Corporation Datagram replication in internet protocol multicast switching in a network device
US7286469B2 (en) * 2003-07-17 2007-10-23 Intel Corporation Network synchronization device, system and method
ES2228266B1 (es) * 2003-07-28 2006-06-01 Diseño De Sistemas En Silicio, S.A. Procedimiento de conmutacion de paquetes en un medio de transmision con multiples estaciones conectadas mediante distintos enlaces.
US7522620B2 (en) * 2003-08-12 2009-04-21 Intel Corporation Method and apparatus for scheduling packets
US7336606B2 (en) * 2003-08-14 2008-02-26 Intel Corporation Circular link list scheduling
EP1673683A4 (de) * 2003-10-14 2010-06-02 Raptor Networks Technology Inc Vermittlungssystem mit verteiltem koppelfeld
US7593336B2 (en) * 2003-10-31 2009-09-22 Brocade Communications Systems, Inc. Logical ports in trunking
US7619974B2 (en) * 2003-10-31 2009-11-17 Brocade Communication Systems, Inc. Frame traffic balancing across trunk groups
US7363387B1 (en) 2003-12-09 2008-04-22 Cisco Technology, Inc. System and method for reducing information being transmitted in a network environment
US7308505B2 (en) 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
US7298707B2 (en) * 2004-01-21 2007-11-20 Cisco Technology, Inc. System and method for controlling the flooding of information in a network environment
US7904584B2 (en) * 2004-02-12 2011-03-08 Broadcom Corporation Source identifier-based trunking for systems of network devices
DE102004015861B4 (de) * 2004-03-31 2006-02-09 Advanced Micro Devices, Inc., Sunnyvale Rahmengestützte MAC-Steuerung in WLAN-Kommunikationseinrichtungen
US20050249229A1 (en) * 2004-05-07 2005-11-10 Nortel Networks Limited Dynamically scalable edge router
US7185138B1 (en) 2004-05-14 2007-02-27 Peter Galicki Multi-dimensional data routing fabric
US8732788B2 (en) * 2004-05-21 2014-05-20 Broadcom Corporation Integrated set-top box
US8578434B2 (en) 2004-05-21 2013-11-05 Broadcom Corporation Integrated cable modem
US7457244B1 (en) 2004-06-24 2008-11-25 Cisco Technology, Inc. System and method for generating a traffic matrix in a network environment
US7391730B1 (en) 2004-07-21 2008-06-24 Cisco Technology System and method for synchronizing link state databases in a network environment
US8239914B2 (en) * 2004-07-22 2012-08-07 Broadcom Corporation Highly integrated single chip set-top box
US8000322B2 (en) * 2004-07-30 2011-08-16 Hewlett-Packard Development Company, L.P. Crossbar switch debugging
US7738385B2 (en) * 2004-11-30 2010-06-15 Broadcom Corporation Mirroring of data in a network device
US7680107B2 (en) * 2004-11-30 2010-03-16 Broadcom Corporation High speed trunking in a network device
US8014390B2 (en) * 2004-11-30 2011-09-06 Broadcom Corporation Policy based routing using a fast filter processor
US7715384B2 (en) * 2004-11-30 2010-05-11 Broadcom Corporation Unicast trunking in a network device
US8005084B2 (en) * 2004-11-30 2011-08-23 Broadcom Corporation Mirroring in a network device
US7826481B2 (en) * 2004-11-30 2010-11-02 Broadcom Corporation Network for supporting advance features on legacy components
US7830892B2 (en) 2004-11-30 2010-11-09 Broadcom Corporation VLAN translation in a network device
US7814280B2 (en) * 2005-01-12 2010-10-12 Fulcrum Microsystems Inc. Shared-memory switch fabric architecture
US7254768B2 (en) * 2005-02-18 2007-08-07 Broadcom Corporation Memory command unit throttle and error recovery
US7600214B2 (en) 2005-04-18 2009-10-06 Broadcom Corporation Use of metadata for seamless updates
US7882554B2 (en) * 2005-08-19 2011-02-01 Cpacket Networks, Inc. Apparatus and method for selective mirroring
US7937756B2 (en) * 2005-08-19 2011-05-03 Cpacket Networks, Inc. Apparatus and method for facilitating network security
US8024799B2 (en) * 2005-08-19 2011-09-20 Cpacket Networks, Inc. Apparatus and method for facilitating network security with granular traffic modifications
US8346918B2 (en) * 2005-08-19 2013-01-01 Cpacket Networks, Inc. Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring
US7890991B2 (en) * 2005-08-19 2011-02-15 Cpacket Networks, Inc. Apparatus and method for providing security and monitoring in a networking architecture
US8665868B2 (en) * 2005-08-19 2014-03-04 Cpacket Networks, Inc. Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization
US8296846B2 (en) * 2005-08-19 2012-10-23 Cpacket Networks, Inc. Apparatus and method for associating categorization information with network traffic to facilitate application level processing
US7937483B2 (en) * 2005-11-30 2011-05-03 At&T Intellectual Property I, L.P. System and method of routing data packets using trunk ports and access ports
US7688818B2 (en) * 2005-12-20 2010-03-30 Honeywell International Inc. Apparatus and method for traffic filtering in a communication system
US20070140282A1 (en) * 2005-12-21 2007-06-21 Sridhar Lakshmanamurthy Managing on-chip queues in switched fabric networks
JP4903815B2 (ja) * 2006-01-23 2012-03-28 アライドテレシスホールディングス株式会社 通信ネットワークを通じたトラフィック分配を向上させる方法およびシステム
JP4547339B2 (ja) * 2006-01-30 2010-09-22 アラクサラネットワークス株式会社 送信制御機能を備えるパケット中継装置
US20070294738A1 (en) * 2006-06-16 2007-12-20 Broadcom Corporation Single chip cable set-top box supporting DOCSIS set-top Gateway (DSG) protocol and high definition advanced video codec (HD AVC) decode
US7894435B2 (en) * 2006-09-14 2011-02-22 Intel Corporation Indicator packets for process/forward decision
US8289966B1 (en) * 2006-12-01 2012-10-16 Synopsys, Inc. Packet ingress/egress block and system and method for receiving, transmitting, and managing packetized data
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
US8706987B1 (en) 2006-12-01 2014-04-22 Synopsys, Inc. Structured block transfer module, system architecture, and method for transferring
US7697525B2 (en) 2006-12-21 2010-04-13 Corrigent Systems Ltd. Forwarding multicast traffic over link aggregation ports
US8078657B2 (en) * 2007-01-03 2011-12-13 International Business Machines Corporation Multi-source dual-port linked list purger
US7796625B2 (en) * 2007-01-10 2010-09-14 International Business Machines Corporation Recovery flushing for a network packet dispatcher
US8238344B1 (en) 2007-03-30 2012-08-07 Juniper Networks, Inc. Multicast load balancing
US7916718B2 (en) * 2007-04-19 2011-03-29 Fulcrum Microsystems, Inc. Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US9081901B2 (en) * 2007-10-31 2015-07-14 Raytheon Company Means of control for reconfigurable computers
GB2454865B (en) * 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
GB2457310B (en) * 2008-02-11 2012-03-21 Picochip Designs Ltd Signal routing in processor arrays
US9047421B2 (en) * 2008-04-30 2015-06-02 Alcatel Lucent Serial link buffer fill-level compensation using multi-purpose start of protocol data unit timing characters
JP4992835B2 (ja) * 2008-06-25 2012-08-08 ソニー株式会社 ディスク記憶装置およびプログラム
US9237100B1 (en) 2008-08-06 2016-01-12 Marvell Israel (M.I.S.L.) Ltd. Hash computation for network switches
US8938590B2 (en) * 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US9094343B1 (en) * 2008-11-13 2015-07-28 Qlogic, Corporation Method and system for taking a network port offline
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
US8547971B1 (en) 2009-01-07 2013-10-01 Marvell Israel (M.I.S.L) Ltd. Multi-stage switching system
JP5168166B2 (ja) * 2009-01-21 2013-03-21 富士通株式会社 通信装置および通信制御方法
JP5419493B2 (ja) * 2009-03-03 2014-02-19 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、およびプログラム
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
US8644140B2 (en) * 2009-09-09 2014-02-04 Mellanox Technologies Ltd. Data switch with shared port buffers
US8358651B1 (en) 2009-09-21 2013-01-22 Marvell International Ltd. Switch device having a plurality of processing cores
EP2482194B1 (de) * 2009-09-25 2013-12-25 Fujitsu Limited Speichersystem und steuerverfahren für ein speichersystem
US9426083B2 (en) * 2009-09-29 2016-08-23 Hewlett Packard Enterprise Development Lp Consistency checking for credit-based control of data communications
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
US9274851B2 (en) * 2009-11-25 2016-03-01 Brocade Communications Systems, Inc. Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines
NO332162B1 (no) * 2009-12-21 2012-07-09 Cisco Systems Int Sarl Anordning og fremgangsmate for a filtrere mediapakker
CN101808037B (zh) * 2010-03-15 2014-09-10 中兴通讯股份有限公司 交换网中流量管理的方法和装置
US8996720B2 (en) * 2010-03-16 2015-03-31 Brocade Communications Systems, Inc. Method and apparatus for mirroring frames to a remote diagnostic system
US8769155B2 (en) * 2010-03-19 2014-07-01 Brocade Communications Systems, Inc. Techniques for synchronizing application object instances
US20110228772A1 (en) 2010-03-19 2011-09-22 Brocade Communications Systems, Inc. Providing multicast services without interruption upon a switchover
US9104619B2 (en) 2010-07-23 2015-08-11 Brocade Communications Systems, Inc. Persisting data across warm boots
US8495418B2 (en) 2010-07-23 2013-07-23 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single CPU
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US8520522B1 (en) * 2010-10-15 2013-08-27 Juniper Networks, Inc. Transmit-buffer management for priority-based flow control
US8756424B2 (en) 2010-11-30 2014-06-17 Marvell Israel (M.I.S.L) Ltd. Load balancing hash computation for network switches
US8868700B2 (en) 2010-12-28 2014-10-21 Nant Holdings Ip, Llc Distributed network interfaces for application cloaking and spoofing
CN102065014B (zh) 2010-12-29 2014-12-31 中兴通讯股份有限公司 数据信元处理方法和装置
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
KR101873526B1 (ko) * 2011-06-09 2018-07-02 삼성전자주식회사 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법
US9172659B1 (en) 2011-07-12 2015-10-27 Marvell Israel (M.I.S.L.) Ltd. Network traffic routing in a modular switching device
CN102281192B (zh) 2011-07-19 2017-09-29 中兴通讯股份有限公司 交换网络芯片的信元处理方法及装置
US8699491B2 (en) 2011-07-25 2014-04-15 Mellanox Technologies Ltd. Network element with shared buffers
US9143335B2 (en) 2011-09-16 2015-09-22 Brocade Communications Systems, Inc. Multicast route cache system
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US9171030B1 (en) 2012-01-09 2015-10-27 Marvell Israel (M.I.S.L.) Ltd. Exact match lookup in network switch devices
US9507756B2 (en) 2012-01-18 2016-11-29 Marvell Israel (M.I.S.L) Ltd. Space efficient counters in network devices
US9036629B2 (en) 2012-04-27 2015-05-19 Hewlett-Packard Development Company, L.P. Switch module
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9203690B2 (en) 2012-09-24 2015-12-01 Brocade Communications Systems, Inc. Role based multicast messaging infrastructure
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
US9225672B1 (en) * 2012-11-15 2015-12-29 Qlogic, Corporation Systems and methods for packet grouping in networks
US9170768B2 (en) 2012-12-24 2015-10-27 Apple Inc. Managing fast to slow links in a bus fabric
ES2766861T3 (es) * 2013-01-29 2020-06-15 Huawei Tech Co Ltd Método de procesamiento de paquetes y elemento de reenvío
US9582440B2 (en) 2013-02-10 2017-02-28 Mellanox Technologies Ltd. Credit based low-latency arbitration with data transfer
CN105122745B (zh) 2013-02-27 2019-06-28 马维尔国际贸易有限公司 用于网络设备的高效最长前缀匹配技术
US8989011B2 (en) 2013-03-14 2015-03-24 Mellanox Technologies Ltd. Communication over multiple virtual lanes using a shared buffer
US9537771B2 (en) 2013-04-04 2017-01-03 Marvell Israel (M.I.S.L) Ltd. Exact match hash lookup databases in network switch devices
CN104113486A (zh) * 2013-04-18 2014-10-22 中兴通讯股份有限公司 一种信元数据处理方法、装置和交换网元
CN105308906B9 (zh) * 2013-05-03 2019-04-12 马维尔国际贸易有限公司 一种用于在网络设备中对事件进行计数的方法及计数器设备
US9178832B2 (en) 2013-07-11 2015-11-03 International Business Machines Corporation Queue credit management
US9641465B1 (en) 2013-08-22 2017-05-02 Mellanox Technologies, Ltd Packet switch with reduced latency
GB2542220A (en) * 2013-09-13 2017-03-15 Smg Holdings-Anova Tech Llc Packet sharing data transmission system and relay to lower latency
US8964739B1 (en) 2013-09-13 2015-02-24 SMG Holdings—Anova Technologies, LLC Self-healing data transmission system and method to achieve deterministic and lower latency
GB2533532A (en) * 2013-09-13 2016-06-22 Smg Holdings-Anova Tech Llc High payload data packet transmission system and relay to lower latency
US9548960B2 (en) 2013-10-06 2017-01-17 Mellanox Technologies Ltd. Simplified packet routing
US9325641B2 (en) 2014-03-13 2016-04-26 Mellanox Technologies Ltd. Buffering schemes for communication over long haul links
US9906592B1 (en) 2014-03-13 2018-02-27 Marvell Israel (M.I.S.L.) Ltd. Resilient hash computation for load balancing in network switches
US10587516B1 (en) 2014-07-15 2020-03-10 Marvell Israel (M.I.S.L) Ltd. Hash lookup table entry management in a network device
US9584429B2 (en) 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
EP3143698B1 (de) 2014-07-29 2019-10-30 Seakr Engineering, Inc. Robuste serdes-verpackung
CN105573711B (zh) * 2014-10-14 2019-07-19 深圳市中兴微电子技术有限公司 一种数据缓存方法及装置
US9619349B2 (en) 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
US10002099B2 (en) * 2014-11-13 2018-06-19 Cavium, Inc. Arbitrated access to resources among multiple devices
CN105701019A (zh) 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置
WO2016105393A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Generic queue
CN107580769B (zh) 2015-03-06 2021-02-02 马维尔亚洲私人有限公司 用于网络交换机中的负载均衡的方法与装置
US9606942B2 (en) * 2015-03-30 2017-03-28 Cavium, Inc. Packet processing system, method and device utilizing a port client chain
US10623258B2 (en) 2015-06-22 2020-04-14 Arista Networks, Inc. Data analytics on internal state
US10904150B1 (en) 2016-02-02 2021-01-26 Marvell Israel (M.I.S.L) Ltd. Distributed dynamic load balancing in network systems
US10757111B1 (en) * 2016-09-08 2020-08-25 Rockwell Collins, Inc. Information flow enforcement for multilevel secure systems
US10243857B1 (en) 2016-09-09 2019-03-26 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for multipath group updates
US10476814B2 (en) * 2017-07-21 2019-11-12 Aruba Networks Inc. Arbiter circuit for crossbar
US11489789B2 (en) * 2018-06-29 2022-11-01 Intel Corporation Technologies for adaptive network packet egress scheduling
CN109284234B (zh) * 2018-09-05 2020-12-04 珠海昇生微电子有限责任公司 一种存储地址分配方法及系统
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
CN111147372B (zh) * 2018-11-05 2021-05-18 华为技术有限公司 下行报文发送、转发方法和装置
US10951549B2 (en) 2019-03-07 2021-03-16 Mellanox Technologies Tlv Ltd. Reusing switch ports for external buffer network
CN113010173A (zh) 2019-12-19 2021-06-22 超威半导体(上海)有限公司 并行处理中矩阵数据广播的方法
CN113094099A (zh) 2019-12-23 2021-07-09 超威半导体(上海)有限公司 矩阵数据广播架构
US20210390022A1 (en) * 2020-06-16 2021-12-16 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for crash recovery in storage devices
US11403221B2 (en) 2020-09-24 2022-08-02 Advanced Micro Devices, Inc. Memory access response merging in a memory hierarchy
US11558316B2 (en) 2021-02-15 2023-01-17 Mellanox Technologies, Ltd. Zero-copy buffering of traffic of long-haul links
US11949605B2 (en) * 2021-10-28 2024-04-02 Avago Technologies International Sales Pte. Limited Systems for and methods of unified packet recirculation

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555398A (en) * 1896-02-25 Mary f
IT1118355B (it) * 1979-02-15 1986-02-24 Cselt Centro Studi Lab Telecom Sistema di interconnessione tra processori
US4752924A (en) * 1985-09-05 1988-06-21 American Telephone And Telegraph Company, At&T Bell Laboratories Ring packet switch
US4760570A (en) 1986-08-06 1988-07-26 American Telephone & Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system
US4899334A (en) 1987-10-19 1990-02-06 Oki Electric Industry Co., Ltd. Self-routing multistage switching network for fast packet switching system
US5119481A (en) * 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US4872157A (en) * 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Architecture and organization of a high performance metropolitan area telecommunications packet network
US4872159A (en) * 1988-03-31 1989-10-03 American Telephone And Telegraph Company At&T Bell Laboratories Packet network architecture for providing rapid response time
EP0439507B1 (de) 1988-10-20 1996-04-24 CHUNG, David Siu Fu Speicherstruktur und verwendung
US5253248A (en) 1990-07-03 1993-10-12 At&T Bell Laboratories Congestion control for connectionless traffic in data networks via alternate routing
JP3107216B2 (ja) * 1990-08-17 2000-11-06 株式会社日立製作所 ルーチング方法および無瞬断テーブル変更方法
GB9023867D0 (en) 1990-11-02 1990-12-12 Mv Ltd Improvements relating to a fault tolerant storage system
JPH04189023A (ja) 1990-11-22 1992-07-07 Victor Co Of Japan Ltd パルス同期化回路
JPH04214290A (ja) 1990-12-12 1992-08-05 Mitsubishi Electric Corp 半導体記憶装置
US5612964A (en) * 1991-04-08 1997-03-18 Haraszti; Tegze P. High performance, fault tolerant orthogonal shuffle memory and method
JPH05183828A (ja) 1991-12-27 1993-07-23 Sony Corp 電子機器
EP0556148B1 (de) 1992-01-10 1998-07-22 Digital Equipment Corporation Verfahren zur Verbindung einer Leitungskarte mit einer Adressenerkennungseinheit
JPH0637797A (ja) * 1992-05-20 1994-02-10 Xerox Corp パケット交換網の予約リング機構
US5274642A (en) * 1992-06-05 1993-12-28 Indra Widjaja Output buffered packet switch with a flexible buffer management scheme
JP3104429B2 (ja) * 1992-10-08 2000-10-30 株式会社日立製作所 コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法
DE69324204T2 (de) 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5390173A (en) 1992-10-22 1995-02-14 Digital Equipment Corporation Packet format in hub for packet data communications system
US5696899A (en) 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
WO1994018766A1 (en) 1993-02-09 1994-08-18 Dsc Communications Corporation High-speed packet bus
US5905723A (en) * 1993-06-23 1999-05-18 Cabletron Systems, Inc. System for achieving scalable router performance
US5515376A (en) * 1993-07-19 1996-05-07 Alantec, Inc. Communication apparatus and methods
US5473607A (en) 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5499295A (en) 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
JP3095314B2 (ja) * 1993-08-31 2000-10-03 株式会社日立製作所 パス切替方式
US6356973B1 (en) * 1993-10-15 2002-03-12 Image Telecommunications Corporation Memory device having a cyclically configured data memory and having plural data portals for outputting/inputting data
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5887187A (en) 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5579301A (en) 1994-02-28 1996-11-26 Micom Communications Corp. System for, and method of, managing voice congestion in a network environment
US5459717A (en) 1994-03-25 1995-10-17 Sprint International Communications Corporation Method and apparatus for routing messagers in an electronic messaging system
US5537400A (en) * 1994-04-15 1996-07-16 Dsc Communications Corporation Buffered crosspoint matrix for an asynchronous transfer mode switch and method of operation
US5526344A (en) * 1994-04-15 1996-06-11 Dsc Communications Corporation Multi-service switch for a telecommunications network
US5555398A (en) 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
GB9408574D0 (en) * 1994-04-29 1994-06-22 Newbridge Networks Corp Atm switching system
EP0685949A3 (de) * 1994-06-03 2002-07-10 Philips Patentverwaltung GmbH Paketübermittlungssystem
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
FR2725573B1 (fr) 1994-10-11 1996-11-15 Thomson Csf Procede et dispositif pour le controle de congestion des echanges sporadiques de paquets de donnees dans un reseau de transmission numerique
EP0719065A1 (de) 1994-12-20 1996-06-26 International Business Machines Corporation Mehrzweck-Paketvermittlungsknoten für ein Datenübertragungsnetz
US5790539A (en) 1995-01-26 1998-08-04 Chao; Hung-Hsiang Jonathan ASIC chip for implementing a scaleable multicast ATM switch
US5644784A (en) 1995-03-03 1997-07-01 Intel Corporation Linear list based DMA control structure
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5809024A (en) * 1995-07-12 1998-09-15 Bay Networks, Inc. Memory architecture for a local area network module in an ATM switch
US5781980A (en) * 1995-08-07 1998-07-21 Golston Company Display with molded spring
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5781549A (en) 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US5742597A (en) * 1996-03-14 1998-04-21 Motorola, Inc. Method and device for multipoint switching and arbitration in output-request packet switch
US5940596A (en) 1996-03-25 1999-08-17 I-Cube, Inc. Clustered address caching system for a network switch
US5828653A (en) 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
US5748631A (en) 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with multiple cell source multiplexing
US5787084A (en) 1996-06-05 1998-07-28 Compaq Computer Corporation Multicast data communications switching system and associated method
US5802052A (en) 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5872783A (en) * 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US5898687A (en) 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
GB9618132D0 (en) 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
US5845081A (en) 1996-09-03 1998-12-01 Sun Microsystems, Inc. Using objects to discover network information about a remote network having a different network protocol
US5831980A (en) 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US6122275A (en) * 1996-09-26 2000-09-19 Lucent Technologies Inc. Real-time processing for virtual circuits in packet switching
US5842038A (en) 1996-10-10 1998-11-24 Unisys Corporation Optimized input/output memory access request system and method
JP3123447B2 (ja) 1996-11-13 2001-01-09 日本電気株式会社 Atm交換機のスイッチ制御回路
EP0849917B1 (de) 1996-12-20 2005-07-20 International Business Machines Corporation Vermittlungssystem
US6233246B1 (en) 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with statistics read accesses
US6260073B1 (en) * 1996-12-30 2001-07-10 Compaq Computer Corporation Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
DE19703833A1 (de) 1997-02-01 1998-08-06 Philips Patentverwaltung Koppeleinrichtung
US6452933B1 (en) 1997-02-07 2002-09-17 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
US6175902B1 (en) 1997-12-18 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for maintaining a time order by physical ordering in a memory
US6151316A (en) * 1997-02-14 2000-11-21 Advanced Micro Devices, Inc. Apparatus and method for synthesizing management packets for transmission between a network switch and a host controller
US6061351A (en) 1997-02-14 2000-05-09 Advanced Micro Devices, Inc. Multicopy queue structure with searchable cache area
US5892922A (en) 1997-02-28 1999-04-06 3Com Corporation Virtual local area network memory access system
US6011795A (en) 1997-03-20 2000-01-04 Washington University Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes
US5887477A (en) * 1997-04-15 1999-03-30 Nike, Inc. Apparatus and method for testing waterproofness and breathing fabrics
US6260072B1 (en) * 1997-06-12 2001-07-10 Lucent Technologies Inc Method and apparatus for adaptive routing in packet networks
JPH1114391A (ja) * 1997-06-20 1999-01-22 Yamaha Motor Co Ltd ナビゲーション装置の画面表示方法
US6016310A (en) 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6119196A (en) 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6094435A (en) 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6014380A (en) 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US5920566A (en) 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6115378A (en) 1997-06-30 2000-09-05 Sun Microsystems, Inc. Multi-layer distributed network element
US6021132A (en) 1997-06-30 2000-02-01 Sun Microsystems, Inc. Shared memory management in a switched network element
US5909686A (en) 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6151297A (en) * 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US5918074A (en) 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US5991297A (en) * 1997-08-28 1999-11-23 Ascend Communications Independently sizable memory pages for a plurality of connection ID types in a network switch
US6041053A (en) 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
JP2959539B2 (ja) 1997-10-01 1999-10-06 日本電気株式会社 バッファ制御方法および装置
US6185185B1 (en) 1997-11-21 2001-02-06 International Business Machines Corporation Methods, systems and computer program products for suppressing multiple destination traffic in a computer network
US6060351A (en) * 1997-12-24 2000-05-09 Micron Technology, Inc. Process for forming capacitor over bit line memory cell
US6259699B1 (en) * 1997-12-30 2001-07-10 Nexabit Networks, Llc System architecture for and method of processing packets and/or cells in a common switch
US6310875B1 (en) * 1998-03-30 2001-10-30 Nortel Networks Limited Method and apparatus for port memory multicast common memory switches
CA2227655A1 (en) * 1998-04-03 1999-10-03 Alberto Leon-Garcia The single-queue switch
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
US6628609B2 (en) * 1998-04-30 2003-09-30 Nortel Networks Limited Method and apparatus for simple IP-layer bandwidth allocation using ingress control of egress bandwidth
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
GB2337905B (en) 1998-05-28 2003-02-12 3Com Technologies Ltd Buffer management in network devices
US6728206B1 (en) * 1998-08-03 2004-04-27 Silicon Grpahics, Inc. Crossbar switch with communication ring bus
US6356546B1 (en) * 1998-08-11 2002-03-12 Nortel Networks Limited Universal transfer method and network with distributed switch
US6430181B1 (en) * 1999-01-15 2002-08-06 Lsi Logic Corporation Crossbar switch fabric with deterministic maximal scheduling of connection requests with strict scheduling prioritization derived from requested service delays
US6501761B1 (en) * 1999-02-25 2002-12-31 Fairchild Semiconductor Corporation Modular network switch with peer-to-peer address mapping communication
US6658016B1 (en) * 1999-03-05 2003-12-02 Broadcom Corporation Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
US7031324B1 (en) * 1999-03-22 2006-04-18 Cisco Technology, Inc. Local area network/wide area network switch
GB2349312B (en) * 1999-04-21 2001-03-07 3Com Corp Ageing of data packets using queue pointers
US6243359B1 (en) * 1999-04-29 2001-06-05 Transwitch Corp Methods and apparatus for managing traffic in an atm network
US6501758B1 (en) * 1999-06-03 2002-12-31 Fujitsu Network Communications, Inc. Hybrid ATM/TDM transport over a common fiber ring
US7315552B2 (en) * 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US6888802B1 (en) * 1999-06-30 2005-05-03 Nortel Networks Limited System, device, and method for address reporting in a distributed communication environment
US6687247B1 (en) * 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard
JP3417369B2 (ja) * 1999-11-05 2003-06-16 日本電気株式会社 バススイッチ用アダプタ、バススイッチ用ブリッジ、バススイッチ、およびバススイッチシステム
US6681270B1 (en) * 1999-12-07 2004-01-20 Texas Instruments Incorporated Effective channel priority processing for transfer controller with hub and ports
US6771654B1 (en) * 2000-01-24 2004-08-03 Advanced Micro Devices, Inc. Apparatus and method for sharing memory using a single ring data bus connection configuration
US6721316B1 (en) * 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
US6501757B1 (en) * 2000-02-29 2002-12-31 Centre For Development Of Telematics ATM switch
US6862292B1 (en) * 2000-04-13 2005-03-01 International Business Machines Corporation Method and system for network processor scheduling outputs based on multiple calendars
DE60115154T2 (de) * 2000-06-19 2006-08-10 Broadcom Corp., Irvine Verfahren und Vorrichtung zum Datenrahmenweiterleiten in einer Vermittlungsstelle
US6985982B2 (en) * 2000-10-27 2006-01-10 Texas Instruments Incorporated Active ports in a transfer controller with hub and ports
EP2011685B1 (de) 2006-04-25 2020-01-15 Mitsubishi Denki Kabushiki Kaisha Steuervorrichtung für elektrofahrzeug

Also Published As

Publication number Publication date
EP1168725B1 (de) 2005-06-15
US20060182112A1 (en) 2006-08-17
US8274971B2 (en) 2012-09-25
DE60119224D1 (de) 2006-06-08
EP1168727A3 (de) 2004-06-16
DE60126533T2 (de) 2007-11-22
DE60126533D1 (de) 2007-03-29
DE60115154D1 (de) 2005-12-29
US20030118016A1 (en) 2003-06-26
US20020027908A1 (en) 2002-03-07
EP1168727A2 (de) 2002-01-02
ATE354227T1 (de) 2007-03-15
US20020012341A1 (en) 2002-01-31
EP1168710B1 (de) 2005-11-23
EP1168725A3 (de) 2003-07-09
EP1168725A2 (de) 2002-01-02
US20020012340A1 (en) 2002-01-31
EP1168710A3 (de) 2003-08-13
EP1168726B1 (de) 2007-02-14
US20090196303A1 (en) 2009-08-06
US7088713B2 (en) 2006-08-08
US7519059B2 (en) 2009-04-14
US6950430B2 (en) 2005-09-27
DE60111457D1 (de) 2005-07-21
EP1168710A2 (de) 2002-01-02
US20020136211A1 (en) 2002-09-26
US6567417B2 (en) 2003-05-20
US6535510B2 (en) 2003-03-18
DE60115154T2 (de) 2006-08-10
US7136381B2 (en) 2006-11-14
EP1168726A1 (de) 2002-01-02
EP1168727B1 (de) 2006-05-03
DE60111457T2 (de) 2006-05-11

Similar Documents

Publication Publication Date Title
DE60119224T2 (de) Speicherverwaltungseinheit für eine Vermittlungsstelle
DE69817328T2 (de) Warteschlangenstruktur und -verfahren zur prioritätszuteilung von rahmen in einem netzwerkkoppelfeld
DE60126222T2 (de) Verbundene Netzvermittlungskonfiguration
DE112020002510T5 (de) Verfahren und system zur gewährleistung von fairness zwischen anwendungen beim netzeintritt
DE60127794T2 (de) Gebundene Netzschalterkonfiguration
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE60126223T2 (de) Anordnung zur Verbindung von Netzvermittlungsstellen
DE69919114T2 (de) Verfahren und Vorrichtung zur Netzwerküberlastkontrolle
DE60211837T2 (de) Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
DE60133352T2 (de) Gebundene Netzvermittlungskonfiguration
DE60031515T2 (de) Netzwerkvermittlung
DE60005993T2 (de) Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
JP3789395B2 (ja) パケット処理装置
DE60010328T2 (de) Spiegelung in einer netzwerkvermittlungsstapelanordnung
US7346001B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
DE69533425T2 (de) Atm anpassungseinrichtung für desktop anwendungen
DE69935683T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE69823337T2 (de) Vorrichtung und verfahren zur rückgewinnung von puffern
DE69133569T2 (de) Netzschnittstelle
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE60033529T2 (de) Netzprozessor, speicherorganisation und verfahren
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE60125300T2 (de) Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
DE60034320T2 (de) Verfahren zur vermeidung von nichtsequentiellen rahmen in einer netzwerkvermittlungsstelle

Legal Events

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

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M