-
Die
Erfindung hierin bezieht sich auf Paket-basierte Netzwerkschalter;
insbesondere auf Hochgeschwindigkeits-, Mehrfachanschluss-, Paket-basierte
Netzwerkschalter; und noch spezieller auf Speicheranordnungen und
zugehörige
Betriebsverfahren für
Hochgeschwindigkeit-, Mehrfachanschluss-, Paket-basierte Netzwerkschalter.
-
Heutige
Durchsatzanforderungen an Paket-basierte geschaltete Netzwerke haben
die Notwendigkeit dafür
geschaffen, dass Schalter zunehmend höhere Leistung bieten. Es ist äußerst wünschenswert,
die Übertragungsgeschwindigkeit
des physikalischen Übertragungsmediums
zu erreichen, d.h. nahe an der "Leitungsgeschwindigkeit
(wire speed)" zu
sein. Für
Hochgeschwindigkeit-LAN-Protokoll, einschließlich jener gemeinsam "Fast Ethernet" bezeichneten, werden
Schalter, welche typischerweise mit Arbeitsvorgängen verknüpft sind, welche die OSI Referenzmodellschicht
2 (Datenverbindungsschicht) und die Schicht 1 (physikalische Schicht)
umfassen, eingesetzt, um die Leistungsanforderungen verlässlich und
wirtschaftlich zu erfüllen.
Da jedoch die Komplexität
derartiger Vorrichtungen steigt, können erhebliche Zielkonflikte
auftreten, z.B. zwischen Leistung, Skalierbarkeit und Erschwinglichkeit.
-
Johnson,
H.W.: "Fast Ethernet.
Dawn of a new network" 1996
Prentice Hall PTR, USA, bezieht sich auf ein Kommunikationsnetzwerk,
welches einen Bitübertragungsschicht-Transceiver
aufweist, welcher Datenpakete gemäß einem Autonegotiationsschema übermittelt,
wobei der Bitübertragungsschicht-Transceiver
eine Gruppe von Registern aufweist, welche Operationszustände des
Bitübertragungsschicht-Transceivers repräsentieren
und einen Media Access Controller (MAC). Der Bitübertragungsschicht-Transceiver
und der Media Access Controller sind in getrennten Komponenten enthalten,
welche über
eine Medien-unabhängige
Schnittstelle (MII = media independent interface) gekoppelt sind.
-
Es
ist ein Ziel der vorliegenden Erfindung, ein Kommunikationsnetzwerk,
welches ein System zum Steuern des Kommunikationsprotokolls des
Kommunikationsnetzwerkes aufweist und im Vergleich zum Stand der
Technik von reduzierter Komplexität ist und ein Verfahren zur
Steuerung des Kommunikationsprotokolls eines Kommunikationsnetzwerkes
mit reduzierter Komplexität
bereitzustellen.
-
Dieses
Problem wird durch das Kommunikationssystem gemäß Anspruch 1 und das Verfahren
gemäß Anspruch
6 gelöst.
Vorteilhafte Ausführungsformen
der Erfindung sind in den abhängigen
Ansprüchen
definiert.
-
Die
vorliegende Erfindung schließt
einen Transceiver (PHY) und einen Media Access Controller (MAC) ein.
Der PHY kommuniziert Datenpakete mit einem Verbindungspartner über ein
Kommunikationsnetzwerk gemäß einem
wählbaren
Kommunikationsprotokoll, wie ein IEEE Standard 802.3 Protokoll.
Der PHY schließt
ein Datenregister ein, welches Daten empfängt, die das Kommunikationsprotokoll
kennzeichnen. Der PHY ist mit dem MAC verbunden, welcher für eine Verwendung
mit Paket-basierten Kommunikationen ausgebildet ist.
-
Die
Kommunikationsvorrichtung kann auch eine Autonegotiationssteuerung
einschließen,
welche mit dem Datenregister oder einem Verbindungspartner-Leistungsregister
(LPCR = Link Partner Capability Register) verbunden ist und welche
die Daten in dem LPCR verwenden kann, um das Kommunikationsprotokoll
in Zusammenarbeit mit dem Verbindungspartner auszuwählen. Das
wählbare
Kommunikationsprotokoll ist ein 10Base-T oder 100Base-T Protokoll
und kann entweder eine Halb- oder Vollduplex-Kommunikation darstellen. Unter
den 100Base-T Kommunikationsprotokollen gibt es 100Base-T4, 100Base-TX,
100Base-FX und 100Base-T2 Kommunikationsprotokolle. Das Protokoll
kann auch Ablaufsteuerungsprotokolle einschließen, wie jene durch den IEEE
Standard 802.3x definierten. In bevorzugten Ausführungsbeispielen der Erfindung sind
der PHY und der MAC fest verbunden, vorzugsweise auf einer monolithischen
VLSI Komponente.
-
1 zeigt
eine Abbildung eines Paket-basierten Mehrfach-Anschluss-Schalters,
welcher ein Ausführungsbeispiel
der vorliegenden Erfindung aufweist;
-
2 zeigt
eine Abbildung einer Speicherblockanordnung, welche ein Ausführungsbeispiel
des mehrfach benutzten Speicheraufbaus gemäß der Erfindung hierin aufweist;
-
3 zeigt
eine Abbildung mehrerer Speicherblöcke, von denen jeder den in 2 erläuterten
Speicheraufbau aufweist;
-
4 zeigt
eine Abbildung eines Ausführungsbeispiels
einer ARL Adressaufstellung der vorliegenden Erfindung;
-
5 zeigt
eine Aufstellung, welche einen Speicher für ein einzelnes 66 Byte Paket
im Zusammenhang mit der Erfindung hierin darstellt;
-
6 zeigt
eine Abbildung einer Paketdaten-Bitabbildungsaufstellung, welche
ein Ausführungsbeispiel
der vorliegenden Erfindung implementiert;
-
7 zeigt
eine Abbildung einer Übertragungsdeskriptor-Zeiger-Adresse,
wie von einem Ausführungsbeispiel
der vorliegenden Erfindung implementiert;
-
8 zeigt
ein Blockdiagramm eines Ausführungsbeispiels
des freien Puffer-Verwalters;
-
9 zeigt
ein Zustandsdiagramm, welches die Arbeitsweise eines Ausführungsbeispiels
der endlichen Puffersteuerungs-Zustandsmaschine in 8 erläutert;
-
10 zeigt
eine Abbildung einer Vorrichtung des Standes der Technik, welche
mehrere Verbindungspartner-Leistungsregister über MAC/PHY Paare einsetzt;
-
11 zeigt
eine Abbildung einer weiteren Vorrichtung des Standes der Technik,
welche mehrere Verbindungspartner-Leistungsregister über MAC-PHY
Paare einsetzt;
-
12 zeigt
eine Abbildung eines Ausführungsbeispiels
der vorliegenden Erfindung, welche einzelne Verbindungspartner-Leistungsregister über MAC/PHY
Paare einsetzt;
-
13 zeigt
eine Abbildung eines weiteren Ausführungsbeispiels der vorliegenden
Erfindung in der Form eines Kommunikationsnetzwerkes.
-
Die
vorliegende Erfindung wird im Zusammenhang mit dem durch den IEEE
Standard 802.3 definierten und zum Beispiel durch den IEEE Standard
802.3 u erweiterten Kommunikationsprotokoll beschrieben, welches
auch als 100Base-T oder "Fast
Ethernet" bekannt
ist. Daher können
Ausführungsbeispiele
der vorliegenden Erfindung in Hybrid- oder Dualgeschwindigkeit,
10/100 Base-T Vorrichtungen implementiert werden. Ein Fachmann würde erkennen,
dass diese kontextuelle Beschreibung beispielhaft ist und dass die
Erfindung in dem Zusammenhang mit anderen Paket-basierten Kommunikationsprotokollen
und mit Leitungsgeschwindigkeiten, welche jene, zum Beispiel durch
den 100Base-T Standard verkörperten, übertrifft,
ausgeführt
werden kann. Auch wäre
ein Fachmann mit dem IEEE Standard 802.3 vertraut und würde daher
hierin keine zusätzliche
ausführliche
Darstellung jener Standards benötigen,
um die Erfindung auszuführen.
Des Weiteren schließen
derar tige IEEE Standards 802.3 ohne Einschränkung den IEEE Standard 802.3
u und den IEEE Standard 802.3 x ein.
-
Ein
Paket-basierter Schicht 2-Schalter schließt typischerweise grundlegende
Komponenten, wie Bitübertragungsschicht-Transceiver
(PHY), Media Access Controller (MAC), eine Adressverwaltungseinheit,
eine Paketschaltstruktur, Direktzugriffsspeicher und dergleichen
ein. Der Bitübertragungsschicht-Transceiver,
der MAC und weitere Ausführungen
eines Paket-basierten Schalters können von Standards, wie zum
Beispiel der IEEE 802.3 Gruppe von Spezifikationen (nachfolgend
als "Ethernet" oder, wenn angemessen,
als "Fast Ethernet" bezeichnet) definiert
werden. Die Integrierung einiger dieser Komponenten ist in Fachkreisen
bekannt. Jedoch kann eine vollständige
Integrierung aller Komponenten auf einem einzelnen Chip Leistungs-Ziel-Konflikte erzeugen,
zum Beispiel abhängig
von der Komplexität
des Schalters. Wenn die Zahl von unterstützten Knoten steigt, wird es
schwieriger, die Leistungserfordernisse und die Rohchip-Größeneinschränkung einzuhalten
und dennoch mit, oder nahe der Leitungsgeschwindigkeit zu arbeiten.
-
Unter
den unterstützten
Funktionen löst
ein Schicht 2-Schalter das Ziel von an einem Eingangsanschluss empfangenen
Datenübertragungsblöcken, indem
er eine Aufstellung von Zieladressen und einen zugehörigen Ausgangsanschluss
erstellt. Eine Ethernet Zieladresse ist typischerweise ein 48-Bit
Wert. Deshalb kann ein Erstellen einer direkten Abbildung für jede mögliche Adresse
248 Speicherplätze erfordern. Erkennend, dass
nur eine kleine Anzahl der 248 Adressen
in einem LAN System benutzt werden können, ist es wünschenswert,
den zum Speichern der Adressen benötigten Speicher zu reduzieren
und die Wahrscheinlichkeit eines Fehlschlagens einer Adresssuche
zu minimieren. Verfahren, um diese Ziele zu erreichen, schließen die Verwendung
eines inhaltsadressierbaren Speichers (CAM = Content-Adressable Memory),
binäre
Suchalgorithmen und Hash Aufstellungen mit Ketteneinträgen von
einer Tiefe größer als
1 ein. Jedoch kann es kostspielig sein, derartige Verfahren zu implementieren,
und derartige Verfahren können
die Datenübertra gungsblock-Lösungsrate
von Zieladressen in der Weise verringern, dass ein Betrieb mit Leitungsgeschwindigkeit
unter gewissen Umständen
schwierig aufrechtzuerhalten sein kann.
-
Ein
Ausführungsbeispiel
gemäß der vorliegenden
Erfindung schließt
eine Mehrfachanschluss 10/100Base-T/TX Schaltvorrichtung ein, welche
auf einen einzelnen VSLI ausgebildet ist. Diese beispielhafte Vorrichtung
integriert acht 10/100 Autonegotiation-Transceiver (PHY), neun Vollduplex-fähige Media
Access Controller (MACs), eine Adressverwaltungsvorrichtung und
eine nicht blockierende Schaltsteuerung. Ferner kann in der beispielhaften
Vorrichtung der neunte Anschluss als ein Medienunabhängiger Schnittstellen
(MII = Media Independent Interface)-Anschluss oder als eine Hochgeschwindigkeitserweiterungsschnittstelle
zu einer zusätzlichen
Schaltvorrichtung ausgebildet sein, welche Komponenten mit höherer Anschlussdichte
ermöglicht.
Die Vorrichtung kann direkt an ein preiswertes SSRAM für Paket-
und Adressaufstellungsspeicher ankoppeln. Die integrierten 10/100Base-T/TX
Transceiver können
alle der Bitübertragungsschicht-Funktionen für 100Base-TX
Vollduplex oder Halbduplex Ethernet auf CAT 5 verdrillten Drahtpaaren
und 10Base-T Volloder Halbduplex Ethernet auf CAT 3, 4, oder Typ
5 Kabeln ausführen.
-
Die
beispielhafte Vorrichtung kann auch neun interne Media Access Controller
bereitstellen. Jeder MAC soll Dualgeschwindigkeits-, und sowohl
Halb- als auch Vollduplex-fähig
sein. In dem Halbduplexmodus kann eine Ablaufsteuerung bereitgestellt
werden, welche Gegendruck verwendet. Im Vollduplex-Modus ist es gewünscht, dass
802.3x Datenübertragungsblock-basierte
Ablaufsteuerung bereitgestellt wird. In dem vorliegenden Ausführungsbeispiel
ist der MAC mit dem IEEE Standard 802.3 konform und kann maximale
Datenübertragungsblockgrößen von
zum Beispiel 1522 oder 1536 Bytes unterstützen.
-
Eine
integrierte Adressverwaltungsvorrichtung kann Adress-Lernen und
Erkennungsfunktionen auch bei maximalen Datenübertragungsblockraten bereitstellen.
Die Ad ressauflösungsaufstellung
kann Kapazität für zahlreiche
Adressen, zum Beispiel 16 k (16384) Einzelsende-Adressen, bereitstellen,
abhängig
von der Speichergröße. Adressen
können
nach einem Empfang eines fehlerfreien Paketes zu der Adressaufstellung hinzugefügt werden.
Rundsende- und Mehrfachsende-Datenübertragungsblöcke können zu
allen Anschlüssen
außer
dem Eingangsanschluss weitergeleitet werden. Der neunte Anschluss
der Vorrichtung kann entweder für
eine MII-Schnittstelle oder für
einen Hochgeschwindigkeitserweiterungsanschluss eingerichtet sein.
Im MII-Modus koppelt der Anschluss an einem externen Transceiver
und wirkt identisch auf die acht Anschlüsse. Der Erweiterungsmodus
kann über
zwei Gbps Bandbreite an eine zweite beispielhafte Vorrichtung liefern
und somit einen nicht blockierenden Netzwerkschalter mit 16 Anschlüssen bereitstellen.
Alternativ kann der Erweiterungsanschluss für ein Schalten mit höherer Anschlussdichte
in einer Daisy-Chain eingegliedert sein.
-
Es
ist gewünscht,
dass die Vorrichtung eine Einzeltakt-Signaleingabe, zum Beispiel
ein 25 MHz Takteingangssignal einsetzt, um eine interne PLL-Vorrichtung
zu steuern, von welcher alle Taktfrequenzen abgeleitet werden können, welche
von der beispielhaften Vorrichtung benötigt werden. Darüber hinaus
kann die beispielhafte Vorrichtung einen Ausgangstakt an andere
zugehörige
Komponenten erzeugen, wie zum Beispiel an das SSRAM durch die SSRAM-Schnittstelle.
Das Beispiel fortführend,
kann die Frequenz des Taktes so festgelegt sein, dass sie 33MHz,
42 MHz, 62,5 MHz oder 66 MHz beträgt, obwohl weitere Taktfrequenzen
eingesetzt werden können.
-
1 erläutert einen
paketbasierten Mehrfachanschluss-Schalter 1 (nachfolgend
als „die
beispielhafte Vorrichtung" bezeichnet),
welcher eine integrierte Schaltsteuerung 2 und einen zu
der Schaltsteuerung 2 externen Speicher 3 einschließt. Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung wird in Erwägung gezogen, dass die Paketdatenspeicheraufstellung 4 zusammen
mit Adressauflösungsaufstellung 5 festgelegt
wird. Insbesondere ist es höchst
wünschenswert,
dass Paketdaten speicheraufstellung 4 sich Speicher mit
ARL-Aufstellung 5 teilt. Ferner kann der Speicher 3 auch
die Übertragungsdeskriptor-Aufstellung 6 einschließen. Die
integrierte Schaltsteuerung 2 kann die Schaltstruktur 7,
den freien Puffer-Sammelspeicher 8, die freier Puffer-Sammelspeicher-Verwaltungsvorrichtung 9 und
die MAC/PHY Komponenten 10a, 10b und 10c einschließen.
-
Ein
Vorteil für
ein Besitzen einer mehrfach benutzten Speicheranordnung 3,
wie von der vorliegenden Erfindung in Erwägung gezogen, ist die Reduzierung
einer Vorrichtungs-Pin-Zählung
und Systemimplementierungskosten. Ein Vorteil einer Implementierung
der Erfindung als eine direkt abgebildete Adressaufstellung besteht
darin, dass die Zahl der Speicherzugriffe für eine Adressauflösung je
Ethernet-Datenübertragungsblock ungefähr ein Zyklus
pro Ethernet-Datenübertragungsblock
für ein
Adresslernen und ungefähr
ein Zyklus pro Ethernet-Datenübertragungsblock
für eine
Adressauflösung
sein kann. Des Weiteren kann die Speicheradresslogik, welche benötigt wird,
um auf die ARL-Aufstellung zuzugreifen, minimiert werden. Es ist
wünschenswert,
eine direkt abgebildete/Einweg-, assoziative Adressaufstellung,
welche durch einen Schlüssel
indiziert wird, welche zum Beispiel aus den dreizehn am wenigsten
wichtigen Bits des 48-Bit-Ethernet-Datenübertragungsblock-Zieladress-Felds
herausgezogen wird.
-
In
einem Ausführungsbeispiel
der Erfindung kann die ARL-Aufstellung 5 ohne eine mehrfach
benutzte Speicheranordnung verwendet werden. In diesem Fall ist
es wünschenswert,
dass die Aufstellung als ein Einweg-, assoziativer, d.h., direkt
abgebildeter Speicher ausgebildet ist. In Ausführungsbeispielen der Erfindung, in
welchen die ARL-Aufstellung 5 zusammen mit Aufstellung 4,
Aufstellung 6, oder beiden sowie mit Sammelspeicher 8 mehrfach
benutzt wird, kann es wünschenswert
sein, einen anderen Speicheranordnungstyp zu verwenden, welcher
ohne Einschränkung
einen n-Weg assoziativen Speicher, eine Hash-Aufstellung, eine binäre Suchstruktur
und eine sequenzielle Suchstruktur einschließt. Ein Fachmann könnte leicht
das geeignete Suchverfahren für
eine bestimmte Anordnung auswählen.
-
Dadurch,
dass die Einweg-, assoziative Speicheranordnung für die ARL-Aufstellung 5 verwendet
wird, kann eine Adressauflösung
einfach und ein Speicherzugriff schnell sein, wodurch die Schaltbandbreite
reduziert wird, die benötigt
wird, um die Paket-Zielanschluss-Adresse zu ermitteln und zu ermöglichen,
dass die Paketdatenspeicheraufstellung 4 mit der ARL-Aufstellung 5 zusammengelegt
wird. Diese direkt abgebildete Anordnung der ARL-Aufstellung 5 reduziert
die Schaltbandbreite, welche benötigt
wird, um die Paket-Zielanschluss-Adresse zu ermitteln, und ermöglicht einer
zugehörigen
Vorrichtung, mit oder nahe der Leitungsgeschwindigkeit zu arbeiten.
Auch kann das direkte Abbilden ein wesentlicher Faktor bei einem
Implementieren der einzelnen, mehrfach benutzten Speicheranordnung
für die
ARL-Aufstellung 5 und
die Paketdatenspeicheraufstellung 4 darstellen, welche
eine Schaltoperation mit Leitungsgeschwindigkeit erleichtert.
-
Die
Implementierung des mehrfach benutzten Speichers 3 und
die Implementierung einer direkt abgebildeten ARL-Aufstellung 5 sind,
alleine und zusammen, bevorzugtere Verfahren, um eine Bandbreite
zu erhöhen,
als lediglich Taktfrequenzen zu erhöhen, da Arbeitsvorgänge, welche
schnellere Taktfrequenzen verwenden, typischerweise zu erhöhten Leistungsanforderungen
und einem Bedarf für
schnelleren Speicher führt, welcher
selbst zu den Kosten und der Komplexität des zugehörigen Produktes hinzukommen
kann. Daher sind, wenn es gewünscht
ist, Leistungsanforderungen der Vorrichtung einzugrenzen und Kosten
für den
Schalter zu minimieren, die zuvor genannten Vorgehensweisen vorteilhaft.
-
Indem
ein vorausgewählter
Teil der Paketzieladresse als ein Index in der ARL-Aufstellung 5 verwendet wird,
kann eine Adressübereinstimmung
schnell gelöst
werden und das Paket zu dem geeigneten Anschluss zur Übertragung
weitergeleitet werden. Diese Zieladresse-, Schlüssel-, direkt abgebildete Adresssuche
ermöglicht
dem Paket-basierten Mehrfachanschluss-Schalter 1, zum Beispiel
mit Leitungsgeschwindigkeit in Vollduplex-, nicht blockierten 100Base-TX
Operationen zu arbei ten. Ein Fachmann würde erkennen, dass die betrachtete
Erfindung in Umgebungen, welche anders als 100Base-T Umgebungen
sind, und mit Leitungsgeschwindigkeiten von mehr als 100Mb/s ausgeübt werden
kann.
-
2 zeigt
eine Abbildung eines Ausführungsbeispiels
eines Speicherabbildes 100, welches einen Speicherblock,
wie Speicher 3 in 1 implementieren
kann. An ersten Adressplätzen 11 (00-CF)
gibt es einen einzelnen Puffer 12 für ein einzelnes Paket. Eine Übertragungsdeskriptor-Aufstellung, ähnlich der Übertragungsdeskriptor-Aufstellung 6 in 1,
wird durch ein Zuordnen von ausreichendem Speicher, welcher bei einem
ersten Speicherplatz 13 (D0) beginnt, zu einem zweiten
Speicherplatz 15 (D8), welcher Anschluss 0 Übertragungsdeskriptor 14 bis
Anschluss 8 Übertragungsdeskriptor 16 umfasst.
Auch kann eine Adressauflösungsaufstellung, ähnlich der
ARL-Aufstellung 5 in 1, erzeugt
werden, indem ein Speichersegment 17 in der Weise belegt
wird, dass es eine vorausgewählte
Anzahl von ARL-Aufstellungseinträgen 18 (z.B.
32 Einträge)
enthält.
-
Mit
einem Puffer pro Paket wird nur ein Übertragungsdeskriptor-Lesevorgang
pro Paket durchgeführt, wodurch
mehrere Speicherzugriffe vermieden werden, um zum Beispiel eine
verbundene Liste von Puffern in einem externen Speicher zu finden.
Bei vorgegebener Startadresse des Datenübertragungsblockes und vorgegebener
Länge des
Datenübertragungsblockes
in den Übertragungsdeskriptor
wird nur ein Zugriff ausgeführt,
um das gesamte zu übertragende
Paket zu lokalisieren. In einer typischen verbundene Liste-Puffer-Vorgehensweise,
welche eine kleine, feste Pufferblockgröße einsetzt, können zusätzliche Übertragungsdeskriptor-Lesevorgänge benötigt werden,
um jeden nachfolgenden Block zu lokalisieren. Jeder zusätzliche
Lesevorgang bedeutet eine unerwünschte
Reduktion verfügbarer
Bandbreite.
-
Darüber hinaus
reduziert die Vorgehensweise mit einem einzelnen Puffer pro Paket,
wie hierin betrachtet, die Zahl von Puffern, welche durchsucht werden
müssen.
Ein Fachmann würde
die signifikanten Bandbreiteneinsparungen begrüßen, welche der Vorgehensweise
mit einem Puffer pro Paket zugeordnet werden können. Das Verfahren mit einem
einzelnen Puffer pro Paket verbessert auch die Durchführbarkeit
des "Bit-Pro-Puffer-,
freier Puffer-, Sammelzuordnungsverfahrens" (bit-per-buffer free buffer pool tracking
technique) und die Notwendigkeit eines Durchsuchens einer großen Puffer-Sammelanordnung
kann abgeschwächt oder
umgangen werden. In Anbetracht der vorhergehenden Ausführungen
kann verstanden werden, wie Ausführungsbeispiele
der betrachteten Erfindung einen Schalterbetrieb mit oder nahe der
Leitungsgeschwindigkeit bewirken.
-
3 zeigt
die Skalierbarkeit dieser mehrfach benutzten Speicheranordnung,
dadurch dass die in 2 beschriebene Speicheranordnung
in einen Adressbereich 19 eines Speicherblocks 20 reserviert
werden kann. Ein Fachmann würde
erkennen, dass ein oder mehrere derartiger Blöcke verwendet werden können, um die
gewünschten
Designkriterien zu erzielen.
-
4 zeigt
ein Ausführungsbeispiel
des Indizierens einer direkt abgebildeten Adressaufstellung, wobei
zum Beispiel ein 13-Bit Schlüssel
verwendet wird, welcher von dem 48-Bit MAC Adresswert, d.h., dem Ethernet
Datenübertragungsblock-Zieadress-Feld 21,
abgeleitet wird. Wie zuvor beschrieben, wird das am wenigsten wichtige
Bit 23 des Adresswertes 21 auf das am wenigsten
wichtige Bit 24 des Schlüssels 22 abgebildet.
Daher sind in diesem Beispiel die Adressaufstellungseinträge in dem
Adressplatz von dem Index um F0h verschoben.
Der Ort des wichtigsten Bits 25 kann seinen Wert 26 von
Bit 35 des entsprechenden MAC Adresswerts 21 erhalten.
Wenn gewünscht,
kann ein vierzehntes Bit von der MAC Adresse 21 verwendet
werden, um einen Bitwert 28 für das wichtigste Bit 27 für Schlüssel 22 zu
liefern.
-
Daher
führt ein
Paket-basierter Schalter, welcher die mehrfach benutzte Speicheranordnung
gemäß der betrachteten
Erfindung implementiert, einen Speicherlesevorgang für eine Adressauflösung und
einen Speicherschreibvorgang für
einen Adresslernvorgang auf die Adressaufstellung für jeden
empfangenen Datenübertragungsblock
durch. Der reduzierte Overhead, welcher durch Ausführungsbeispiele
der vorliegenden Erfindung bereitgestellt wird, führt zu einer
Reduktion der Speicherzugriffe pro Ethernet-Datenübertragungsblock
(in diesem Beispiel ist ein Datenübertragungsblock 64 Bytes lang
und die zugehörige
Busbreite beträgt 64
Bits). Die Anzahl derartiger Speicherzugriffe kann charakterisiert
werden als: ein Zyklus pro Datenübertragungsblock
für eine
Adressauflösung;
ein Zyklus pro Datenübertragungsblock
für einen
Adresslesevorgang; ein Zyklus pro Datenübertragungsblock für einen Übertragungslesevorgang;
ein Zyklus pro Datenübertragungsblock
für einen Übertragungs-Schreibvorgang;
ein Zyklus pro acht Bytes für
einen Datenübertragungsblock-Lesevorgang;
und ein Zyklus pro acht Bytes für
einen Datenübertragungsblock-Schreibvorgang.
-
Der
einzelne Zugriff für
sowohl Lese- als auch Schreibvorgänge kann der direkt abgebildeten
Einzeleintrag-Adressaufstellung zugeordnet werden. Unter Verwendung
dieser Anordnung wird jede MAC-Adresse auf einen einzelnen Ort in
der Adressaufstellung abgebildet. Daher kann nur ein Zugriff benötigt werden,
um die MAC-Adresse
zu lesen oder zu schreiben. Eine direkt abgebildete Einzeleintrag-Adressaufstellung
kann die Wahrscheinlichkeit von Adresskollisionen erhöhen. Jedoch
kann die Wahrscheinlichkeit dieser Kollisionen reduziert werden,
indem über
eine größere Anzahl
von MAC-Adressbits abgebildet wird, wie die in 4 abgebildeten
vierzehn Bits. Der einzelne MAC-Adresslese- und Schreibvorgang für jeden
Ethernet-Datenübertragungsblock
kann zu der Fähigkeit
von Schalter 1 in 1 beitragen,
mit Leitungsgeschwindigkeit in Vollduplex, nicht blockierend zu
arbeiten.
-
Um
weiter die Funktionalität
von Schalter 1 in 1 zu verbessern,
kann eine Übertragungsdeskriptor-Anfrage
während
der Übertragung
eines vorhergehenden Datenübertragungsblocks
gestellt werden, wodurch verhindert wird, dass Übertragungsdeskriptor-Lesevorgänge Wartezeit
erzeugen. Es ist auch wünschenswert,
dass eine FIFO Anordnung so verwendet wird, dass ein erster Teil
der FIFO-Daten gele sen werden können,
um eine Übertragung
einzuleiten, während
der verbleibende Teil der FIFO Anordnung noch Daten empfängt.
-
In
einem Ausführungsbeispiel
der Erfindung setzt die Speicheranordnung 3 von 1 einen
64-Bit Speicherbus ein, welcher mit einem 66 MHz Systemtakt arbeitet.
Der Durchsatz kann weiter verbessert werden, indem ein Speicher-Arbitrationsschema
eingesetzt wird, wie ein gewichtetes Prioritäts-, Round-Robin-, Speicher-Arbitrationsverfahren.
Dieses Verfahren verbessert die Quantisierung der Speicheranordnung
und die Priorisierung von Speicherzugriffen wodurch weiter Wartezeitverluste
und Bandbreitenanforderungen reduziert werden.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung betrachtet die Implementierung einer
Speicher-Arbitrationsvorrichtung, welche in diesem Beispiel eine
Arbitration für
sechs Typen von Speicherzugriffen bereitstellt. Die Arbitrationsvorrichtung
setzt eine Priorität
zwischen den Ethernet-Anschlüssen
als höchste
Priorität
und jene eines Erweiterungsanschlusses als die niedrigste Priorität für jeden
der Speicherzugriffstypen. Jeder Zugriffstyp wird auch in der Weise
priorisiert, dass der Zugriffstyp das Wartezeiterfordernis für ein Aufrechterhalten
von Schaltvorgängen
mit Leitungsgeschwindigkeit der unterstützten Funktion erfüllt. Die
ausgewählte
Arbitration und die zugehörige
Priorität
sind in Tabelle 1 gezeigt.
-
-
-
Die
Zyklen/Zugriffsnummer bezieht sich auf die Zahl von Systemtaktzyklen,
welche benötigt
werden, um einen Speicherzugriff durchzuführen, wenn zum Beispiel an
ein externes synchrones statisches RAM im Durchflussmodus mit 64-Bit
Datenwortbreite gekoppelt wird.
-
Datenpakete
können
in der Paketdaten-Speicheraufstellung 4 von 1 mit
einem Paketdaten-Adressteil und einem Paketdaten-Wertteil gespeichert
werden. Verweise auf Pakete werden oft innerhalb von Schalter 1 weitergegeben,
welcher zum Beispiel die oberen neun Pufferbits von Aufstellung 4 als
einen Zeigerwert verwenden kann. Diese Zeigerwerte werden zwischen
der freien Puffer-Verwaltungsvorrichtung 9 und den Anschlüssen 10a, 10b, 10c weitergegeben.
Der Daten-Adress-Zeigerwert kann auch zwischen den Schalter-Rx-Anschlüssen und
dem Schalter-Tx-Anschlüssen über den Übertragungsdeskriptor,
welcher dem Deskriptor 14 ähnlich ist, übertragen
werden.
-
5 erläutert, wie
Paketdatenwerte gespeichert werden können. In dem Beispiel von 5 wird
ein 66-Byte Paket gespeichert. Wie in 5 zu sehen,
ist es gewünscht,
Paketdaten in 64-Bit großen
Speichersegmenten so zu speichern, dass die durch den 64-Bit-breiten
Datenpfad eingebrachten Nutzeffekte weiter realisiert werden.
-
6 ist
beispielhaft für
ein Abbilden eines Übertragungsformats
auf andere ausgewählte
Speicherformate. Obwohl das normalerweise verwendete Format, um
Ethernet-Daten darzustellen, ein Byte-Strom-Format 40 ist,
zeigt 6 auch die Ethernet-Daten in einem Bit-Strom-Format 41,
einem Halbbyte-Strom-Format 42, einem Byte-Strom-Format 43 und
einem Wort-Strom-Format 44.
-
In 1 ist
es gewünscht,
dass es eine Übertragungsdeskriptor-Aufstellung 6 für jeden Übertragungsanschluss
gibt. Daher könnte
ein Schalter mit mehreren Anschlüssen
(z.B. 4, 8 oder 9 Anschlüssen)
eine entsprechende Anzahl von Übertragungsdeskriptor-Aufstellungen 6 (z.B.
4, 8 oder 9 Aufstellungen) verwenden. Es ist auch gewünscht, dass
jede Übertragungsdeskriptor-Tabelle 6 aus
einer zirkulären
Warteschlangenordnung besteht, d.h., ein FIFO, welcher einen Zeigerwert
für jeden
Puffer in Schalter 1 halten kann. Typischerweise hat eine
zirkuläre
Warteschlangenstruktur (FIFO) einen Endzeiger und einen Kopfzeiger,
welche in jedem TX-Block gehalten werden. Wenn die Werte die gleichen
sind, ist die Warteschlange leer.
-
7 erläutert den
gewünschten
Aufbau eines Kopfzeigers, eines Endzeigers oder von beiden. In 7 wird
der Kopfzeiger 45 in diesem Beispiel beschrieben, obwohl
ein Endzeiger das gleiche strukturelle Format aufweisen kann. Anschluss
ID 46 ist vorzugsweise für jeden Übertragungsanschluss statisch. 9-Bit-Zeigerwert 47 zeigt
in diesem speziellen Beispiel den Kopfzeigerwert an. Wo eine reduzierte
Speichermenge verwendet wird, um die Aufstellung 6 von
Schalter 1 in 1 zu implementieren, kann das
sechzehnte Bit, 48, von 7 auf allen
Speicherzugriffen niedrig gehalten werden, was bewirkt, dass die Übertragungsdeskriptor-Warteschlangen
umhüllt
werden, um in den verfügbaren
Speicher zu passen, ohne den Betrieb von Schalter 1 zu
beeinflussen.
-
8 zeigt
ein Ausführungsbeispiel
einer freien Pufferverwaltungsvorrichtung 50, ähnlich der
in 1 gezeigten freien Puffer-Verwaltungsvorrichtung 9.
Verwaltungsvorrichtung 50 kann eine Pufferfreigabe-Bussteuerung 51,
eine Pipeline-Puffer- Suchvorrichtung 52,
eine endliche Puffersteuerungs-Zustandsmaschine 53, ein
Puffer-Busregister 54 und eine Puffer-Gewährungsbus-Steuerung 55 einschließen. Es
ist gewünscht,
dass Register 54 ein LIFO ist und, zum Zwecke der Beschreibung
hierin, Register 54 ein 8-Platz LIFO ist. Es liegt in der
Verantwortung von Verwaltungsvorrichtung 50, neue Puffer
Anschlüssen "zu gewähren", bevor Paketdaten
empfangen werden, und benutzte Puffer von Anschlüssen, welche ein Paket übertragen
haben zu sammeln oder "freizugeben". Typischerweise
wird ein Gewährungsvorgang
für jedes
von dem Schalter empfangene Paket benötigt und ein Freigabevorgang
wird für
jedes von dem Schalter übertragene
Paket benötigt.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung wird eine feste Zahl von Puffern eingesetzt. Benutzte
Puffer sind jene, welche an einen Empfangsanschluss gewährt worden
ist, welche aber noch nicht von einem Übertragungsanschluss zurückgesendet
oder freigegeben worden sind. Alle übrigen Puffer werden als "unbenutzt" bezeichnet. Es liegt
auch in der Verantwortung der Puffer-Verwaltungsvorrichtung, unbenutzte Puffer
aufzufinden, so dass sie gewährt
werden können.
Obwohl ein einfaches Verfahren, unbenutzte Puffer aufzufinden, das
Führen
einer Pufferliste ist, kann eine derartige Liste unerwünschte Platzeinschränkungen auf
einer Schaltvorrichtung erzeugen, weil der Listenbereich lang genug
sein muss, um alle Puffer in einem System zu speichern und ferner
jeder Platz in der Liste die Zahl von oder einen Zeiger zu jedem
Puffer in dem System speichern können
muss. In einer Vorrichtung mit 512 Listenplätzen, wobei jeder Platz einen
zugehörigen
9-Bit-Zeiger aufweist, würden
zum Beispiel 4608 Speicherbits benötigt werden.
-
Im
Gegensatz dazu, reduziert ein weiteres Ausführungsbeispiel der Erfindung
hierin, indem ein Bit-Pro-Puffer-Verfahren zum Auffinden freier
Puffer implementiert wird, die Speicheranforderung auf nur 512 Bits,
wobei jedes Bit zu einem bestimmten Puffer gehört. Hier wird ein benutzter
Puffer angezeigt, indem das zugehörige Pufferbit gesetzt wird.
Zum Beispiel kann ein Setzen des 368 Bits in dem freien Puffer-Sammelspeicher 8 in 1 anzeigen,
dass Puffer 368 gerade benutzt wird.
-
Obwohl
dieses Verfahren eine Wirtschaftlichkeit von Speicher und Schaltungsbereich
bietet, wird ferner vorzugsweise eine in einer Pipeline geführte Vorrichtung 52 eingesetzt,
um nach Puffern in dem Bitfeld zu suchen, in der Weise, dass die
Auswirkung von "freien" Arbeitsvorgängen auf
Suchgeschwindigkeiten begrenzt wird und dass schnelle Gewährungsraten
ermöglicht
werden. Register 54 ist vorzugsweise ein 8-Platz LIFO,
um die Spitzen-Gewährungsrate
der Suchvorrichtung 52 weiter zu erhöhen. Pufferfreigabe-Bussteuerung 51 erfasst
Anfragen 58 für
das Freigeben von Puffern und überreicht
die Anfrage 59 an die Suchvorrichtung 52.
-
Zusätzlich kann
die Steuerung 51 eine ähnliche
Anfrage 56 an die begrenzte Zustandsmaschine 53 liefern.
Register 54 kann auch ein Statussignal 57 an die
begrenzte Zustandsmaschine 53 liefern und in Verbindung
mit der Datensignal-Anfrage 56 von
der Freigabe-Bussteuerung 51, kann die begrenzte Puffersteuerungs-Zustandsmaschine 53 einen
Zustand aus einer Gruppe von definierten Zuständen auswählen.
-
Das
Zustandsdiagramm von 9 erläutert die drei Zustände der
Zustandsmaschine 53 in 8. Diese
drei Zustände
können
einschließen:
- 1) SEARCH (61) – suche nach Null-wertigen
Bits, welche sich in der Puffersteuerungsanordnung befinden und
die Position von einem freien Puffer anzeigen;
- 2) FREE (62) – schreibe
eine Null auf eine von der Freigabe-Steuerung 51 spezifizierten
Bitposition, wodurch der zugehörige
Puffer für
eine Zuordnung freigegeben wird; und
- 3) ALLOCATE (63) – schreibe
einen Eins-Wert auf eine Bitposition, welche während eines Zustandssuchens 61 durch
die Suchvorrichtung 52 ermittelt wurde.
-
Zurückgehend
zu 8, ist die Puffersuchvorrichtung 52 vorzugsweise
sowohl in Adress- als auch Datenpfaden in einer Pipeline geführt, um
die Puffersteuerungsbit-Speicheranordnung,
um das Ermitteln von verfügbaren
Puffern zu beschleunigen. Das acht-Platz LIFO 54 kann die
Positionen von reservierten Puffern speichern, bis sie von der Puffergewährungs-Bussteuerung 55 benötigt werden.
Zuletzt wartet die Puffergewährungs-Bussteuerung 55 auf
Anfragen 59 von dem empfangenen Anschluss für Puffer
und zeigt die Pufferposition 60 von dem LIFO, wenn verfügbar.
-
Physical Layer Transceiver
(PHY)
-
In
den 100Base-TX Modus kann der Transceiver der beispielhaften Vorrichtung
einen kontinuierlichen Datenstrom auf verdrillten Drahtpaaren senden
und empfangen. Während
einer Übertragung
werden Halbbyte-breite (4-Bit) Daten von dem MAC zu 5-Bit Codegruppen
codiert und in den Übertragungsdatenstrom
eingefügt.
Das Übertragungspaket
kann durch ein Ersetzen der ersten zwei Halbbytes der Präambel mit
einem Strombeginnbegrenzer und durch ein Anhängen eines Stromendebegrenzers
an das Ende des Pakets gekapselt werden. Wenn die MII Übertragungsfehlereingabe
während
einer Paketübertragung
bestätigt
wird, kann die Übertragungsfehler-Codegruppe
an den Platz der entsprechenden Daten-Codegruppe gesetzt werden. Der
Sender sendet wiederholt die ungenutzte Codegruppe zwischen Paketen.
-
In
dem TX-Modus kann der codierte Datenstrom von einem Stromverschlüsselungsblock
zerhackt, dann aneinander gereiht und zu MLT3-Signalpegeln codiert
werden. Eine Mehrfachmodi-Übertragungs-DAC kann
verwendet werden, um die MLT3-Daten
auf den verdrillten Drahtpaaren zu leiten. Einer Korrektur einer dynamischen
Basislinienverschiebung, einer adaptiven Angleichung und einer Taktwiederherstellung
in dem TX-Modus folgend, kann der empfangene Datenstrom von MLT3
zu seriellen NRZ-Daten umgewandelt werden. Die NRZ-Daten können von
dem Strom-Entschlüsselungsblock
wieder zusammengefügt
(descrambled), dann anein ander gereiht und in 5-Bit Codegruppen
angeordnet werden. Die 5-Bit Codegruppen können weiter zu 4-Bit Datenhalbbytes
decodiert und als der Eingangsstrom zu dem MAC geliefert werden.
Der Strombeginn-Begrenzer kann durch Präambel-Halbbytes ersetzt werden
und der Stromende-Begrenzer und ungenutzte Codes können alle
durch Nullen ersetzt werden. Wenn eine ungültige Codegruppe in dem Datenstrom
erkannt wird, kann der Transceiver eine Empfänger-Fehleranzeige an den MAC
bestätigen.
Im 10 Base-T Modus können
Manchester-Codierung und Decodierung auf dem Datenstrom durchgeführt werden.
Es ist gewünscht, dass
die Mehrfachmodi-Übertragungs-DAC
eine Vor-Angleichung für
100 Meter des CAT 3 Kabels durchführt.
-
Der
Transceiver kann 4B5B, MLT3, NRZI und Manchester-Codierung und Decodierung,
Takt- und Datenwiederherstellung, Stromverschlüsselungs-Scrambling/Descrambling, digitale adaptive
Angleichung, Verbindungsübertragung,
Trägerabtastung
und Überwachung
einer Verbindungsintaktheit, Autonegotiationsund MII-Verwaltungsfunktionen
ausführen.
Jeder der acht integrierten Transceiveranschlüsse der beispielhaften Vorrichtung
kann direkt an die Netzwerkmedien durch Isoliertransformatoren koppeln.
Die integrierten Transceiver sind vorzugsweise mit dem IEEE 802.3,
den IEEE Standard 802.3u einschließend, konform.
-
In
dem 100Base-TX Modus wird eine Empfangssignalenergie typischerweise
durch ein Überwachen des
Empfangspaares für Übergänge in dem
Signalpegel ermittelt. Signalpegel werden näher bestimmt, indem Rauschunterdrückungs-Detektierschaltungen
verwendet werden. Wenn kein Signal oder bestimmte ungültige Signale
auf dem Empfangspaar detektiert werden, begibt sich und verbleibt
die Verbindungsüberwachungsvorrichtung
in dem "Link Fail"-Zustand, in welchem
nur Leercodes übertragen
werden. Wenn ein gültiges
Signal auf dem Empfangspaar für
eine minimale Zeitspanne detektiert wird, begibt sich die Verbindungsüberwachtungsvorrichtung
in den "Link Pass"-Zustand und die Übertragungs-
und Empfangsfunktionen werden aktiviert. In dem 10Base-T Modus kann
eine Verbindungsimpuls- Detektierschaltung
fortwährend
die Empfangsanschlüsse
auf ein Vorhandensein von gültigen
Verbindungsimpulsen überwachen.
Im Halbduplexmodus können Kollisionen
ermittelt werden, wann immer der Transceiver simultan Leistung überträgt und empfängt.
-
Jeder
interne Transceiver besitzt vorzugsweise die Fähigkeit, seinen Operationsmodus über die
verdrillte Drahtpaarverbindung zu negotiieren, indem der in der
IEEE 802.3u Spezifikation definierte Autonegotiationsmechanismus
verwendet wird. Während
einer Autonegotiation wählt
jeder Anschluss automatisch seinen Operationsmodus, indem er seine
Fähigkeiten
bekannt gibt und sie mit jenen von seinen Verbindungspartnern empfangenen
vergleicht. Die beispielhafte Vorrichtung kann so ausgebildet sein,
um eine 802.3x Ablaufsteuerungs-Fähigkeit bekannt zu geben. Der
Transceiver negotiiert mit seinen Verbindungspartnern und wählt die
höchste,
für seine
eigene Verbindung verfügbare
Operationsstufe. Im FDX Modus kann auch eine Ablaufsteuerung negotiiert
werden. Im HDX Modus kann eine Ablaufsteuerung basierend auf Anschlussbrücken aktiviert
oder deaktiviert werden. Der Autonegotiationsalgorithmus unterstützt die
parallele Detektierfunktion für alte
10Base-T Vorrichtungen und 100Base-TX-only Vorrichtungen, welche
keine Autonegotiation unterstützen.
-
Verbindungspartner-Fähigkeitsregister
und Autonegotiation
-
Es
ist sehr wünschenswert,
die Autonegotiationsfunktion in Netzwerkschaltern zu implementieren, welche
mehrere Kommunikationsprotokolle, wie jene durch den IEEE Standard
802.3 definierten, unterstützen.
Autonegotiation ist ein Mechanismus, welcher eine Steuerung eines
Kommunikationskanals übernimmt, wenn
eine Punktzu-Punkt-Verbindung in einem Kommunikationsnetzwerk erstellt
wird. Eine Verbindung, welche die höchste verfügbare Leistungstechnologie
verwendet, wird automatisch, ohne Eingreifen durch einen Benutzer,
Systemverwalter oder durch Verwaltungssoftware erstellt.
-
Zusätzlich zum
Unterstützen
von 100Base-T Kommunikationsprotokollen, wie durch den IEEE Standard
802.3u definiert, kann Autonegotiation auch eine Kommunikationsverbindung
mit einer 10Base-T Vorrichtung schaffen, oder mit einer schnelleren
Kommunikationsvorrichtung, welche nicht Autonegotiation implementiert.
Darüber
hinaus ermöglicht
Autonegotiation den Verbindungspartnern, zu ermitteln, ob beide
dafür geeignet
sind, Vollduplex-Ablaufsteuerung unter dem IEEE Standard 802.3x
zu implementieren.
-
Im
Allgemeinen enthält
ein Kommunikationssystem eine Bitübertragungsschichtvorrichtung
(PHY), z.B. einen Transceiver, und einen Media Access Controller
(MAC), von denen beide unter einem definierten IEEE Protokoll arbeiten,
um Konfigurationsinformation auszutauschen. Die Kommunikationsvorrichtungen, welche
unter Verwendung von Autonegotiation verbunden sind, können als
Verbindungspartner bezeichnet werden. Autonegotiation kann die verschiedenen
Operationsmodi erkennen, welche in und zu dem lokalen Verbindungspartner,
dem entfernten Verbindungspartner oder beiden verfügbar sind.
Die lokale Kommunikationsvorrichtung kann ihre eigenen Leistungsfähigkeiten
verwenden, zusammen mit den Fähigkeiten
ihres entfernten Verbindungspartners, um automatisch den höchsten Leistungsmodus
eines wählbaren
Kommunikationsprotokolls zu ermitteln, welches zwischen den lokalen
und entfernten Kommunikationsvorrichtungen verfügbar ist.
-
Jede
der Verbindungspartnerfähigkeiten
kann durch ein oder mehrere Datenbits dargestellt werden. Daher
stellen Verbindungspartner-Fähigkeitsdaten
das wählbare
Kommunikationsprotokoll dar. Während
des Austauschprozesses ist eines der Felder, welches er in dem Protokoll
weitergibt, die Fähigkeit
des Verbindungspartners. Typischerweise wird ein Datenregister verwendet,
um die Daten zu speichern, welche diese lokalen und entfernten Verbindungspartnerfähigkeiten
darstellen. Zum Zwecke der Erläuterung
hierin werden die Datenregister, welche Verbindungspart ner-Fähigkeitsdaten
speichern, als Verbindungspartner-Fähigkeitsregister (LPCR = Link
Partner Capability Register) bezeichnet.
-
Die
Felder eines LPCR können
durch den IEEE Standard 802.3 definiert werden und zum Beispiel
Geschwindigkeit, Signalisierprotokoll, Duplexfähigkeit, Reset, entfernter
Verbindungsfehler und Ablaufsteuerungs- (z.B. PAUSE) Fähigkeit
einschließen.
Das Verbindungspartner-Fähigkeitsdatenfeld
wird ausgetauscht, und dann lokal von der PHY in dem LPCR gespeichert.
In dem LPCR gespeicherte Steuerinformation kann verwendet werden,
um den MAC für
einen Betrieb zu konfigurieren. Es ist zu beachten, dass eine Kommunikationsvorrichtung,
welche Autonegotiation implementiert, nicht darauf beschränkt ist,
in einem Kommunikationsnetzwerk zu arbeiten, in welchem beide Verbindungspartner
Autonegotiation implementieren. Es ist ausreichend, dass eine der
zwei Kommunikationsvorrichtungen, welche miteinander durch den Kommunikationskanal
verbunden sind, Autonegotiation implementiert.
-
In
der Vergangenheit besaß jede
Kommunikationsvorrichtung zwei oder mehr Verbindungspartner-Fähigkeitsregister.
Auch waren die PHY und der MAC auf getrennten Komponenten ausgebildet.
Früher
war die PHY nicht mit dem MAC integriert und daher wurden die Verbindungspartnerfähigkeiten über externe
Schnittstellensignale, eine Mikroprozessorsteuerung oder über eine
integrierte Steuerung innerhalb des MAC geliefert. 10 und 11 erläutern zwei
Anordnungen des Standes der Technik, welche Autonegotiation implementieren,
indem sie zwei Verbindungspartner-Fähigkeitsregister, ein in der
PHY angeordnetes LPCR und ein weiteres LPCR in dem MAC verwenden.
-
10 erläutert eine
Konfiguration des Standes der Technik, in welcher der MAC 100 und
die PHY 120 Verbindungspartnerfähigkeit untereinander mittels
des Mikroprozessors 110 kommunizieren. Die Mikroprozessor-Verwaltungsschnittstelle 104 wird
verwendet, um Verbindungspartner-Fähigkeitsdaten 112 in
dem LPCR 106 zwischen Ablaufsteuerungsfunktionen 102 des
MAC 100 und des Mikroprozessors 110 zu übertragen.
Insbesondere wird die Verbindungspartner-PAUSE-Fähigkeit von den MAC Ablaufsteuerungsfunktionen 102 verwendet,
um die PAUSE-Funktion innerhalb des MAC 102 zu aktivieren.
Der Mikroprozessor 110 kommuniziert wiederum bidirektional
mit der seriellen Verwaltungsschnittstellen- (SMI = Serial Management
Interface) Steuerung 122. Steuerung 122 erhält und gibt
die Verbindungsfähigkeitsdaten über das
LPRC 124, typischerweise indem sie ein Verbindungspartner-Fähigkeitssignal 114 verwendet,
welches IEEE-definierte Datensignale MDIO und MDC einschließen kann.
Die serielle Verwaltungsschnittstellenkonfiguration wird im Allgemeinen
von dem IEEE Standard 802.3 definiert. Autonegotiationssteuerung 126 ermittelt
Zustände
auf dem Netzwerkkanal 130 sowie eine Eingabe von einer
anderen Kommunikationsvorrichtung, wie zum Beispiel von einem anderen
10/100Base-T Transceiver 140 darin, welcher die Autonegotiationssteuerung 142 aufweist.
-
11 erläutert eine
zweite Konfiguration des Standes der Technik, diesmal in einer Mikroprozessor-freien
Umgebung. Wie zuvor ist der MAC 200 und die PHY 220 nicht
physikalisch integriert, sondern befinden sich auf getrennten Modulen.
Die SMI Steuerung 210 und die SMI Steuerung 222 schließen jeweils
eine Zustandsmaschine ein, welche die Übertragung von Verbindungspartner-Fähigkeitsdaten
zwischen dem LPCR 204 im MAC 200 und dem LPCR 224 in
der PHY 220 erleichtern. Auch ermittelt, ähnlich wie 10,
die Autonegotiationssteuerung 226 Zustände auf dem Netzwerkkanal 230,
sowie eine Eingabe von dem Verbindungspartner 240 darin,
welche in diesem Beispiel die Autonegotiationssteuerung 242 aufweist.
-
12 zeigt
eine Implementierung der vorliegenden Erfindung, welche ein einzelnes
LPCR einsetzt. Die integrierte 10/100Base-T Kommunikationsvorrichtung 301 ist
vorzugsweise als eine monolithische VLSI-Komponente ausgebildet,
welche den MAC 302 und die PHY 322 einschließt, vorzugsweise
auf einer einzelnen Rohchipanordnung. Vorrichtung 301 ist
dafür geeignet,
Datenpakete mit einem Verbin dungspartner gemäß einem wählbaren Kommunikationsprotokoll
zu kommunizieren. Dieses Protokoll kann ein 10Base-T Kommunikationsprotokoll
oder ein 100Base-T Kommunikationsprotokoll sein und kann Halb- oder
Vollduplex sein. Beispielhafte 100Base-T Protokolle schließen, ohne
Einschränkung,
100Base-T4, 100Base-TX, 100Base-FX und 100Base-T2 Kommunikationsprotokolle
ein. Des Weiteren ist die Vorrichtung 301 dafür geeignet,
einwandfrei zu funktionieren, ob der Verbindungspartner 350 ein
Ablaufsteuerungsprotokoll, wie jenes durch den IEEE Standard 802.3x
definierte, implementiert oder nicht.
-
Ablaufsteuerungsfunktionen 305 des
MAC 302 können
direkt auf die Daten in dem LPCR 325 zugreifen, wodurch
ermöglicht
wird, dass der MAC 302 integral mit der PHY 321 arbeitet.
Die Integration des MAC 302 und der PHY 321 in
der Vorrichtung 301 kann den Bedarf für einen externen Mikroprozessor,
wie in 10 zu sehen, oder für eine zugeordnete
Transceiver-Zugriff-Zustandsmaschine, wie in 11 zu
sehen, beseitigen. Jedoch wird, wenn eine externe Steuerung gewünscht ist,
die Verwaltungsschnittstelle 323 bereitgestellt, was eine
Steuerung durch zum Beispiel einen externen Mikroprozessor oder
einer externen SMI-Steuerung ermöglicht.
-
Die
Kommunikationsvorrichtung 301 schließt vorzugsweise die Autonegotiationssteuerung 327 ein, um
LPCR-Daten mit der Autonegotiationssteuerung 352 in dem
Verbindungspartner-Transceiver 350 auszutauschen. Wie zuvor
ist es für
ein einwandfreies Arbeiten der Autonegotiationsfunktion in der Vorrichtung 301 nicht
notwendig, dass der Verbindungspartner 350 eine 100Base-T
Mehrfachprotokoll-Vorrichtung
mit Autonegotiationsfähigkeiten
ist. Einem derartigen Verbindungspartner 350 kann eine
Autonegotiationsfähigkeit,
oder sogar eine Ablaufsteuerungsfähigkeit fehlen und könnte eine
Vorrichtung sein, welche die 10Base-T-Technologie einsetzt, dennoch
könnte
die Vorrichtung 301 das Kommunikationsprotokoll und den
Duplexmodus richtig auswählen,
welcher für
das Verbindungspartnerpaar und den Zustand des Netzwerkkanals 360 geeignet
ist.
-
Obwohl
die Kommunikationsvorrichtung 301 in Zusammenhang mit einer
einzelnen MAC 302, welche mit einer einzelnen PHY 321 integriert
ist, beschrieben worden ist, würde
ein Fachmann erkennen, dass diese Einschränkung ein erklärendes Artefakt
ist. Tatsächlich
kann die Vorrichtung 301 ein Mehrfachanschluss-Netzwerkschalter
sein, welcher mehrere MAC 302 aufweist, von denen jeder
integral mit einer zugehörigen
PHY 321 verbunden ist, wobei jedes MAC/PHY Paar Bestandteil
von jedem Anschluss auf der Mehrfachanschluss-Vorrichtung 301 ist.
Eine Mehrfachanschluss-Vorrichtung, welche beispielhaft für dieses
Ausführungsbeispiel
der vorliegenden Erfindung ist, kann als die beispielhafte Vorrichtung 1 in 1 oben
betrachtet werden. Wie bei dem Beispiel der Einzelanschluss-Vorrichtung 301 ist
eine Mehrfachanschluss-Vorrichtung auch vorzugsweise als eine monolithische
VLSI Vorrichtung ausgebildet.
-
Des
Weiteren erkennt ein Fachmann, dass ein zusätzliches Ausführungsbeispiel
der vorliegenden Erfindung ein Kommunikationsnetzwerk 400 einschließt, durch
welches die Kommunikationssysteme 410, 420 Datenpakete über den
Kommunikationskanal 430 austauschen, wie in 13 erläutert. Das
Netzwerk 400 könnte
zwei integrierte MAC/PHY Vorrichtungen 440, 450 einschließen. Jede
der Vorrichtungen 440, 450 würde ein einzelnes LPCR aufweisen,
wie die Vorrichtung 301 in 12.
-
Eine
digitale adaptive Ausgleichsvorrichtung kann verwendet werden, um
eine Interferenz zwischen Zeichen zu entfernen, welche durch die Übertragungskanalmedien
erzeugt wurde. Die Ausgleichsvorrichtung nimmt abgetastete, nicht
ausgeglichene Daten von einem Analog-Digital-Wandler auf jedem Kanal
an und erzeugt ausgeglichene Daten. Die beispielhafte Vorrichtung
kann ein optimales Signal/Rauschverhältnis erzielen, indem sie eine
Kombination aus einem Vorwärtsschub-Ausgleich
(feed forward equalization) und einem Entscheidungs-Rückwärts-Ausgleich (decision
backward equalization) verwendet. Dieses Verfahren kann eine 100Base-TX
Bitfehlerrate von weniger als ungefähr 1 × 10–12 für eine Übertragung über bis
zu 100 Metern CAT 5 verdrillte Drahtpaar-Kabel erzielen, sogar in
harten Rauschumgebungen. Die DAE Ausführung ist vorzugsweise im Wesentlichen
naturgemäß rein digital,
so dass die Leistung gegenüber
Chiprauschen tolerant ist. Die DAE Filterkoeffizienten sind selbstanpassend
auf jede Kabeleigenschaft oder Kabellänge. Aufgrund eines Übertragungs-Vor-Ausgleichs
in dem 10Base-T Modus und einem Fehlen eines ISI in dem 100Base-FX
Modus kann das DAE in diesen zwei Betriebsmodi umgangen werden.
Die Bitübertragungsschicht-Transceiver
schließen
vorzugsweise einen Analog-Digital-Wandler (ADC = Analog-to-Digital
Converter) auf dem Empfangskanal ein. In der vorliegenden beispielhaften
Vorrichtung ist der ADC vorzugsweise ein 6-Bit 125 MHz Analog-Digital-Wandler.
Der ADC tastet die auf dem Empfangskanal eintreffenden Daten ab
und erzeugt eine 6-Bit Ausgabe. Die Ausgabe des ADC wird dann der
digitalen adaptiven Ausgleichsvorrichtung zugeführt. Der analoge Schaltungsteil
des ADC erzielt vorzugsweise einen geringen Offset, eine Unterdrückung des
Rauschens einer hohen Stromversorgung, eine schnelle Einschwingzeit
und eine niedrige Bitfehlerrate.
-
Es
ist ferner gewünscht,
dass die PHY eine volldigitale Taktwiederherstellung und einen Erzeugungsblock
besitzt, um alle internen Übertragungs-
und Empfangstakte zu erzeugen. Es ist auch gewünscht, dass der Übertragungstakt
fest mit dem 25 MHz Eingangstakt verbunden wird, während der
Empfangstakt fest mit dem eintreffenden Datenstrom verbunden wird.
Taktwiederherstellungsschaltungen, welche auf MLT3, NRZI und Manchester
Codierverfahren optimiert sind, können für eine Verwendung mit jedem
der drei verschiedenen Betriebsmodi eingeschlossen werden, welche
in dieser Vorrichtung verwendet werden können. Der Eingangsdatenstrom
kann von dem wiederhergestellten Takt abgetastet werden und dann
synchron der digitalen adaptiven Ausgleichsvorrichtung zugeführt werden.
-
Weil
ein 100Base-TX Datenstrom nicht immer DC-ausgeglichen ist, ist es
wünschenswert,
eine Korrekturvorrichtung für
eine dynamische Basislinienverschiebung in die PHY einzuschließen. Während des
Betriebs geht das Empfangssignal durch einen Wandler, wodurch ermöglicht wird,
dass der DC Offset des differentiellen Empfangseingangs sich dynamisch
verschiebt. Dynamische Basislinienverschiebung kann die Störsicherheit
des Empfängers
wesentlich reduzieren, daher ist es wünschenswert, dass der Transceiver
automatisch die dynamische Basislinienverschiebung ausgleicht, indem
er den DC Offset aus dem Eingangssignal entfernt. Der Mehrfachmodus-Übertragungs-Digital-Analog-Wandler
(DAC = digital-to-analog converter) überträgt MLT3-codierte Zeichen im
100Base-TX Modus und Manchester-codierte Zeichen im 10Base-T Modus. Der
DAC kann programmierbare Flanken-Raten-Steuerung
im TX Modus durchführen,
welche unerwünschte Hochfrequenzsignalkomponenten
reduziert und dadurch EMI reduziert. Hochfrequenz-Vor-Verstärkung kann in
dem 10Base-T Modus durchgeführt
werden.
-
Im
100Base-TX Modus kann der Übertragungsdatenstrom
zerhackt werden, um Abstrahlungen auf dem verdrillten Drahtpaar-Kabel
zu reduzieren. Diese Daten können
durch eine exklusive ODER-Verknüpfung des
NRZ Signals mit der Ausgabe eines 11 Bit breiten linearen Rückkoppelungs-Schieberegisters
(LFSR = Linear Feedback Shift Register) zerhackt werden, welches
eine nicht-wiederholende 2047-Bitsequenz
erzeugt. Der Zerhacker reduziert Spitzenabgaben durch zufälliges Verteilen
der Signalenergie über
den Übertragungsfrequenzbereich,
wodurch Spitzen bei bestimmten Frequenzen beseitigt werden. Der
Empfänger
setzt den eintreffenden Datenstrom durch eine exklusive ODER-Verknüpfung von
diesem mit der gleichen an dem Sender erzeugten Sequenz wieder zusammen
(descramble). Der Descrambler ermittelt den Zustand des Übertragungs-LFSR,
indem er nach einer Frequenz sucht, welche aufeinanderfolgende unbenutzte
Codes darstellt. Der Descrambler "rastet" an dem Scrambler-Zustand ein, nachdem
er eine ausreichende Anzahl von aufeinanderfolgenden ungenutzten
Code-Gruppen ermittelt hat. Der Empfänger versucht nicht, den Datenstrom
zu decodieren, wenn der Descrambler nicht eingerastet ist. Sobald
er eingerastet ist, überwacht
der Descrambler den Datenstrom fortwährend, um sicherzustellen,
dass er nicht die Synchronisation verloren hat. Es wird erwartet,
dass der Empfangsdatenstrom zwischen Paketen ungenutzte Perioden
enthält.
Wenn der Descrambler nicht genügend
ungenutzte Codes innerhalb einer vorbestimmten Periode ermittelt,
wie zum Beispiel 724 μsec.,
wird er "nicht eingerastet" und der Empfangsdecoder
wird deaktiviert. Der Descrambler begibt sich in den "nicht eingerasteten
Zustand", wenn ein
Verbindungsfehler-Zustand ermittelt wird. Es ist vielleicht nicht wünschenswert,
dass ein Stromentschlüsselungs-Scrambling/Descrambling
in den 10Base-T Modi verwendet wird.
-
MII Verwaltung
-
Ein
Ausführungsbeispiel
des beispielhaften Vorrichtungstransceiver enthält vorzugsweise eine vollständige Gruppe
von MII Verwaltungsregistern. Die 5-Bit-Transceiveradresse kann durch eine Verknüpfung des
2-Bit CHIPID, welches während
des Rücksetzens
zugeordnet worden ist, und der internen 3-Bit Anschluss-ID zugeordnet
werden. Auf alle MII Verwaltungsregister wird durch den mehrfach
benutzten MII Verwaltungsanschluss zugegriffen, indem die MDC und
MDIO Signale verwendet werden.
-
Media Access
Controller
-
Die
beispielhafte Vorrichtung kann neun interne Dualgeschwindigkeits-MACs
enthalten. Die MACs wählen
automatisch einen 10 oder 100 Mbps Bitmodus CSMA/CD, Halb- oder
Vollduplex, basierend auf dem Ergebnis einer Autonegotiation. Im
FDX Modus kann 802.3x PAUSE-Datenübertragungsblock-basierte Ablaufkontrolle
auch durch Autonegotiation bestimmt werden. Die zuvor genannten
MACs sind konform mit den IEEE 802.3, 802.3u und 802.3x Spezifikationen.
-
Empfangsfunktion
-
Der
MAC beginnt einen Datenübertragungsblockempfang
nach der Bestätigung
von einer Anzeige gültiger
Empfangsdaten von der Bitübertragungsschicht.
Der MAC kontrolliert den Datenübertragungsblock bezüglich der
folgenden Fehlerbedingun gen: (1) Empfangsfehler-Anzeige von der
PHY; (2) Zwerg-Datenübertragungsblock-Fehler, falls der
Datenübertragungsblock
kleiner als 64 Bytes ist; (3) CRC Fehler; und (4) langer Datenübertragungsblock-Fehler,
falls die Datenübertragungsblockgröße einen
vorbestimmten Wert überschreitet,
zum Beispiel 1522 Bytes oder 1536 Bytes, wenn keine Fehler ermittelt
werden, ist es wünschenswert,
dass der Datenübertragungsblock
von der Schaltsteuerung bearbeitet wird. Jedoch werden Datenübertragungsblöcke mit
Fehlern typischerweise gelöscht.
-
Übertragungsfunktion
-
Eine
Datenübertragungsblock-Übertragung
beginnt typischerweise damit, dass die Schaltersteuerung einen Datenübertragungsblock
zu dem MAC Sender in eine Warteschlange einreiht. Die Übertragungsblockdaten
werden, wie von der Schaltersteuerung empfangen, übertragen.
Die Übertragungssteuerung
ist verantwortlich für
ein Einfügen
einer Präambel,
eine Abgrenzung eines Trägers,
eines Zurückweichens
einer Kollision und eines Durchsetzens einer Lücke zwischen Paketen (IPG =
Interpacket Gap). Im Halbduplexmodus, wenn ein Datenübertragungsblock
für eine Übertragung
in eine Warteschlange eingereiht wird, verhält sich die Übertragungssteuerung
wie von den 802.3 Anforderungen für eine Datenübertragungsblock-Abgrenzung spezifiziert.
Auf die Abgrenzung des Datenübertragungsblockes
folgend, kann der Sender 8 Bytes an Präambel und SFD zu den von der
Schaltersteuerung empfangenen Übertragungsblockdaten
hinzufügen.
Wenn, während
einer Datenübertragungsblock-Übertragung,
eine Kollision festgestellt wird und der Kollisionsfenster-Timer
nicht abgelaufen ist, bestätigt
die Übertragungssteuerung
einen Stau und führt
dann einen ausgewählten Algorithmus
für ein
Zurückweichen
aus. Der Datenübertragungsblock
wird erneut übertragen,
sofern angemessen. Nach einer vorausgewählten Anzahl von Kollisionen,
zum Beispiel der sechzehnten aufeinanderfolgenden Kollision, beginnt
der Algorithmus für
ein Zurückweichen
erneut bei dem anfänglichen
Zustand, der Kollisionszähler
wird zurückgesetzt
und versucht, das aktuelle Datenblock-Fortsetzen zu übertragen.
In der Folge einer späten Kollision
wird der Datenübertragungsblock
abgebrochen und der Schaltersteuerung wird ermöglicht, den nächsten Datenübertragungsblock
für eine Übertragung
in eine Warteschlange einzureihen. Im Vollduplexmodus ignoriert
die Übertragungssteuerung
Trägeraktivität und Kollisionsanzeige.
Eine Übertragung beginnt,
nachdem die Schaltersteuerung den Datenübertragungsblock in eine Warteschlange
eingereiht hat und zu 96-Bit-Zeiten von IPG beobachtet worden sind.
-
Ablaufkontrolle
-
Die
beispielhafte Vorrichtung implementiert vorzugsweise einen intelligenten
Ablaufsteuerungsalgorithmus, um die aus Ablaufsteuerungsmaßnahmen
resultierende Systemauswirkung zu minimieren. Die Pufferspeicherzuordnung
ist vorzugsweise adaptiv hinsichtlich des Status von jeder Anschlussgeschwindigkeit und
dem Duplexmodus, wobei sie ein optimales Gleichgewicht zwischen
Ablaufsteuerung und Speichertiefe pro Anschluss liefert. Ferner
beginnt die beispielhafte Vorrichtung vorzugsweise eine Ablaufsteuerung
in Erwiderung auf Pufferspeicher-Bedingungen auf einer Pro-Anschluss-Grundlage.
Die MACs sind für
eine Ablaufsteuerung sowohl im Voll- als auch im Halbduplex-Modus
geeignet. In dem Halbduplex-Modus ist der Schalter dafür geeignet,
zwei Arten von Ablaufsteuerung durchzuführen.
-
In
einer ersten Art von Ablaufsteuerung übt der MAC einen Gegendruck
auf einen empfangenden Anschluss aus, indem er ein 96-Bit-Zeit-Staupaket
an den Anschluss überträgt. Ein
einzelnes Staupaket wird für jedes
Empfangspaket für
die Dauer der Zeit aktiviert, in welcher der Anschluss sich in dem
Ablaufsteuerungszustand befindet. In einer weiteren Art von Ablaufsteuerung
kann Gegendruck bewirkt werden, indem aufeinanderfolgende, 1984
Byte Datenübertragungsblöcke mit
einem minimalen IPG und einem schlechten CRC übertragen werden, bis der Anschluss
den Ablaufsteuerungszustand verlässt.
Ablaufsteuerung in dem Vollduplex-Modus funktioniert im Wesentlichen
wie durch die IEEE Standard 802.3x Anforderungen spezifiziert. In dem
Empfänger
werden MAC Ablaufsteuerung-Datenübertragungsblöcke erkannt
und, wenn einwandfrei empfangen, wird die Ablaufsteuerung-PAUSE-Zeit
für die Übertragungssteuerung
gesetzt. Die PAUSE-Zeit wird von dem 2 Byte PAUSE Zeit-Feld zugeordnet,
welches auf PAUSE OP CODE folgt. MAC Steuerung-PAUSE-Datenübertragungsblöcke werden
nicht von dem Empfänger
an die Schaltersteuerung weitergeleitet. Wenn die Schaltersteuerung
eine Ablaufsteuerung von einem Anschluss anfragt, überträgt die Übertragungssteuerung
einen MAC Steuerung-PAUSE-Datenübertragungsblock.
Wenn die Bedingung, welche bewirkt, dass in einen Ablaufsteuerungszustand
eingetreten wird, nicht mehr vorhanden ist, wird ein MAC Steuerung-PAUSE-Datenübertragungsblock
gesendet. Die Ablaufsteuerungsfähigkeiten
der beispielhaften Vorrichtung sind aktivierungsbasiert auf den
Ergebnissen einer Autonegotiation und dem Status der Ablaufsteuerungssignale,
welche während
eines Rücksetzens
der Vorrichtung geladen werden. Eine Ablaufsteuerung in dem Halbduplexmodus
ist unabhängig
von dem Zustand der Ablaufsteuerungsfähigkeit des Verbindungspartners.
-
Schaltersteuerung
-
In
der beispielhaften Vorrichtung steuert die Schaltersteuerung ein
Weiterleiten eines Paketes zwischen den MAC Empfangs- und Sendeanschlüssen über den
Datenübertragungsblock-Pufferspeicher
mit einer Speicher-und-Weiterleiten-Architektur. Die Schaltersteuerung
umfasst die Funktionen einer Pufferverwaltung, einer Speicher-Arbitration
und eines Einreihens eines Übertragungsdeskriptors
in eine Warteschlange.
-
Pufferverwaltung
-
Der
Datenübertragungsblock-Pufferspeicher
kann in 2k Byte-Blöcke
unterteilt werden. Jedes empfangene Paket wird einem Speicherblock
zugeordnet, von welchem ein Maximum von 1536 Bytes für Übertragungsblockdatenspeicherung
verwendet werden kann. Übertragungsblockdaten
werden in dem Speicherblock so gespei chert, wie das Paket empfangen
wird. Nach dem Empfang wird der Datenübertragungsblock in die Übertragungswarteschlange
des/der Ausgangsanschlusses/Ausgangsanschlüsse eingereiht. Für Einzelsende-Datenübertragungsblöcke kann
nach einer Übertragung
eines Paketes aus dem Datenübertragungsblock-Pufferspeicher der
Speicherblock für
den Datenübertragungsblock
freigegeben werden, um Puffer-Pool freizugeben. Wenn der Datenübertragungsblock
für mehrere
Anschlüsse
bestimmt ist, wird der Speicherblock nicht freigegeben, bevor alle
Anschlüsse
die Übertragung
des Datenübertragungsblockes
abgeschlossen haben.
-
Speicher-Arbitration
-
Prozesse,
welche einen Zugriff auf den externen Speicher anfordern, schließen die
Empfangs- und Sende-Übertragungsblockdaten-Bearbeiter,
Adresslern- und Adressauflösungsfunktionen
und Ausgangsanschluss-Warteschlangenverwalter ein. Diese Prozesse
werden arbitriert, um fairen Zugriff auf den Speicher zu bieten
und eine Wartezeit von kritischen Prozessen zu minimieren, um eine
vollständig
nichtblockierende Lösung
zu liefern. Eine Schaltersteuerung hält eine Ausgangsanschluss-Warteschlange für jeden
Anschluss aufrecht. Die Warteschlangen können in dem externen Speicher
angeordnet sein und die maximale Tiefe der Warteschlange ist vorzugsweise
die maximale Anzahl von Speicherblöcken innerhalb des Datenübertragungsblock-Pufferspeichers. Übertragungsdeskriptoren
werden aktualisiert, nachdem das Paket empfangen worden ist und
ein Zielanschluss ermittelt worden ist. Ein Übertragungsdeskriptor wird
jeder Zielanschluss-Warteschlange zugeordnet, wodurch das Ziel mit
den Übertragungsblockdaten
verbunden wird. Für
den Fall von Vielsende- und Rundesendepaketen wird ein Übertragungsdeskriptor
für das
Paket den Übertragungsdeskriptor-Warteschlangen
mehrerer Anschlüsse
zugeordnet. Für
jeden Anschluss werden Datenübertragungsblöcke für eine Übertragung
mit einem minimalen IPG vorbereitet, bis die Übertragungsdeskriptor-Warteschlange
des Anschlusses leer ist.
-
SRAM Steuerung
-
Die
SRAM Steuerung koppelt direkt an eine externe synchrone SRAM Vorrichtung
an und führt
effizient Speicherübertragungen
zwischen der beispielhaften Vorrichtung und einer Speichervorrichtung/Speichervorrichtungen
durch. Die beispielhafte Vorrichtung unterstützt vorzugsweise mehrere Optionen
für einen
spezifischen SSRAM Typ, Größe und Geschwindigkeit.
Nicht-blockierende Durchführung
kann mit Standard SSRAM Vorrichtungen erzielt werden. Die beispielhafte
Vorrichtung kann dafür
ausgebildet sein, um an entweder 512k Byte oder 1M Byte externe
SSRAMs anzukoppeln. Die größere Speicherkapazität kann zusätzliche
Datenübertragungsblockpufter
bereitstellen, wodurch die Auswirkung von Netzwerkspitzenauslastungen
minimiert wird. Das SSRAM ist vorzugsweise für 64-Bit-Datenwörter ausgebildet
und dass alle Speicherzugriffe 64-Bit pro Verbindung aufweisen.
In der größeren Speicheranordnung
kann die Schaltvorrichtung zusätzlich 8k
Einzelsendeadressen und 256 Datenübertragungsblockpuffer unterstützen.
-
Erweiterungsschnittstelle
-
Die
beispielhafte Vorrichtung stellt vorzugsweise einen Erweiterungsanschluss
bereit. In einem Ausführungsbeispiel
der vorliegenden Erfindung, welches implementiert wird, wobei acht
Anschlüsse
verwendet werden, kann die Erweiterungsschnittstelle als neunter
Anschluss dienen. Dieser Anschluss kann dafür ausgebildet sein, um als
eine MII Schnittstelle zu einem externen Transceiver oder als eine
Hochgeschwindigkeits-Erweiterungsschnittstelle zu arbeiten. In beiden
Modi können
Pakete zu dem Erweiterungsanschluss weitergeleitet werden, folgend
auf eine Adressauflösung
und ein Datenübertragungsblock-Zwischenspeichern
in einem Speicher. Der neunte Anschluss kann eine Übertragungsdeskriptor-Warteschlange
in der gleichen Weise wie die anderen Anschlüsse aufrechterhalten. Die Erweiterungsschnittstelle
kann in zwei Modi arbeiten: (1) Der MII Modus; und (2) der Erweiterungsanschluss-Modus.
In dem MII Modus kann die Erweiterungsschnittstelle dafür ausge bildet
sein, um als ein MII Anschluss zu arbeiten, welcher dafür geeignet
ist, um direkt an einen externen TX oder FX Transceiver anzukoppeln.
In diesem Modus sind die Anschlussfunktionen im Wesentlichen identisch
mit den acht integrierten Anschlüssen.
-
Zusätzlich zu
den Standard MII Signalen kann die beispielhafte Vorrichtung eine
individuelle aktive-langsame Verbindungsgeschwindigkeit und Duplexmodus-Signale von dem Transceiver
verwenden. Die Vorrichtung kann auch Anschluss-LEDs für den Anschluss in den MII
Modus äquivalent
zu den LEDs der internen Transceiver erzeugen. Ein Aktivieren des
Erweiterungsanschluss-Modus ermöglicht,
dass die Erweiterungsschnittstelle als eine Hochgeschwindigkeit-Erweiterungsschnittstelle
arbeitet. Dieser Anschluss kann eine Vollduplex-Schnittstelle mit 16-Bit Eingangs- und
Ausgangsdatenbussen verwenden, wobei er mit bis zu 66 MHz arbeitet
und daher über
zwei Gbps an Bandbreite bereitstellt. Die bereitgestellten Signale
unterstützen eine
direkte Verbindung zu einer zweiten Schaltvorrichtung. Dies ermöglicht die
Entwicklung eines nahtlosen 16-Anschluss-Schaltersystems mit nicht blockierender
Leistungscharakteristik. Für
eine weitere Erweiterung kann der Anschluss in einer Daisy Chain
mit zusätzlichen
Netzwerk-Schaltvorrichtungen
ausgebildet sein. Es ist gewünscht,
Datenübertragungsblöcke an den
Erweiterungsanschluss in der Reihenfolge weiterzuleiten, in der
sie in der Warteschlange eingereiht sind. Alle Bytes von jedem Datenübertragungsblock
werden übertragen,
bevor die Übertragung
eines zweiten Datenübertragungsblockes
begonnen wird. Datenübertragungsblöcke können zu
32-Byte-Bursts über
die Erweiterungsschnittstelle fragmentiert werden. Über die
Erweiterungsschnittstelle empfangene Datenübertragungsblöcke können wie
folgt verarbeitet werden:
- (1) Das erste 16-Bit-Wort
der Übertragung
enthält
die Quellen-CHIPID und die Datenübertragungsblocklänge. Die
Quellen-CHIPID wird für
ein Adresslernen gespeichert.
- (2) Eine Adressauflösung
ermittelt den Zielanschluss des Datenübertragungsblockes, indem die
Zieladresse innerhalb des Datenübertragungsblockes
verwendet wird.
- Gleichzeitig wird der Datenübertragungsblock
in einem Speicher zwischengespeichert.
- (3) Nachdem der Datenübertragungsblock
in dem Speicher zwischengespeichert worden ist, wird/werden die Übertragungsdeskriptor-Warteschlange(n)
des Zielanschlusses/der Zielanschlüsse aktualisiert. Die Ursprungsadresse
wird von der empfangenden Vorrichtung gelernt und in der lokalen
Adressaufstellung gespeichert. Das Übertragungsanschluss-ID-Feld
des Adressaufstellungseintrages wird so zugeordnet, dass es die
Quellen-CHIPID ist, welche von dem 16 Bit Header gespeichert worden
ist. Nachfolgende, an einem lokalen Anschluss mit passender Zieladresse
empfangene Pakete werden zu dem Erweiterungsanschluss weitergeleitet.
-
Das
Vorangegangene erläutert
lediglich die Grundsätze
der Erfindung und es ist daher einzusehen, dass Fachleute verschiedene
alternative Anordnungen entwickeln können, welche, auch wenn hierin
nicht explizit beschrieben, die Grundsätze der Erfindung verkörpern.