-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet der Erfindung:
-
Die
Erfindung betrifft allgemein Schnittstellensysteme zum Ankoppeln
eines Computersystemhosts an ein ATM („Asynchronous Transfer Mode"; Asynchroner Übertragungsmodus)-System
und insbesondere zum Partitionieren von Eingabe- und Auslesefunktionen
zur Verwendung bei der Segmentierung und Wiederzusammenfügung von
Paketen und Zellen innerhalb eines solchen Schnittstellensystems.
-
2. Beschreibung des verwandten
Standes der Technik:
-
Die
ATM-Technologie entwickelt sich zur bevorzugten Technologie zum
Implementieren von integrierten Breitbanddienstleistungs-Datennetzwerken auf
der Grundlage von ISDN (B-ISDN). Ein B-ISDN ist ein System zum Verbinden
von Computersystemen, Nahbereichsnetzwerken („Local Area Networks"; LANs), Telefonen,
Faxgeräten
und so weiter, um eine Kommunikation von Daten, Sprache und Videos
zwischen den Systemen zu erleichtern. B-ISDN verwendet typischerweise
Faseroptiken als ein Kommunikationsmedium. Ein ATM-System vereinfacht die Übertragung
von Daten über
das B-ISDN durch Definieren eines Satzes von „Datenverbindungen", wobei jede Verbindung
einen virtuellen Kanal mit einer bestimmten Quelle und Ziel und
einer zugeordneten Datenübertragung
darstellt.
-
Daten,
die von einem Computersystem, LAN, Telefon und so weiter bereitgestellt
werden, können
anfänglich
in Datenpaketen gespeichert werden. ATM-basierte Systeme übertragen
und verarbeiten jedoch Zellen von Daten. Dementsprechend müssen ein
Verfahren oder eine Vorrichtung bereitgestellt werden zum Umwandeln
von Paketen in Zellen (Segmentierung) und zum Umwandeln von Zellen in
Pakete (Wiederzusammenfügung
bzw. Reassemblierung). Sowohl Segmentierung als auch Wiederzusammenfügung sind
zweistufige Abläufe.
Für eine Segmentierung
werden Pakete vom Host-System empfangen und in einem Speicher abgespeichert (Eingeben),
dann in Zellen umgewandelt und an das ATM-System ausgegeben (Auslesen).
Zur Wiederzusammenfügung
werden Zellen vom ATM-System empfangen, in Pakete zusammengefügt und im
Speicher gespeichert (Eingeben), dann aus dem Speicher herausgezogen
und zum Host-Bus ausgegeben (Auslesen).
-
Herkömmlicherweise
wird ein anwendungsspezifischer integrierter Schaltkreis („Application Specific
Integrated Circuit";
ASIC)-Segmentierungs- und Wiederzusammenfügungs („Segmentation and Reassembly"; SAR)-Chip bereitgestellt,
welcher die oben angesprochenen Segmentierungs- und Wiederzusammenfügungsabläufe durchführt. Der
herkömmliche
SAR-Chip trennt jedoch nicht die Eingabe- und Ausleseschritte, und
zwar weder funktional, logisch noch physikalisch. Mit anderen Worten
sind Eingabe- und Auslesekomponenten miteinander integriert.
-
Jedoch
treten gewisse Nachteile als ein Ergebnis der Integration von Eingabe-
und Auslesekomponenten auf. Eingabekomponenten müssen jegliche Randbedingungen
berücksichtigen,
die dem Host auferlegt werden, aber brauchen nicht durch ATM-spezifische Anforderungen
eingeschränkt
zu werden. Auf gleiche Art werden Auslesekomponenten den Beschränkungen
unterworfen, die auf den ATM wirken, sind aber nicht von irgendwelchen
Beschränkungen
des Hosts betroffen. Daher braucht jede Modifikation am Host nur
die Eingabekomponenten zu betreffen, und jede Modifikation am ATM-System
braucht nur die Auslesekomponenten zu betreffen. Wenn jedoch Eingabe-
und Auslesekomponenten integriert sind, wie in herkömmlichen SAR-Chips,
mag eine Modifikation entweder des Hosts oder des ATM-Systems einen
vollständigen Neuentwurf
des SAR-Chips bedingen. Darüber
hinaus kann die Integration von Eingabe- und Auslesekomponenten
die Ausnutzung von Schaltungen verhindern, welche nur zur Verwendung
mit dem Host oder nur mit dem ATM-System optimiert sind.
-
Es
wäre daher
wünschenswert,
eine verbesserte ATM-Systemschnittstelle bereitzustellen, die als
ein SAR-Chip gezeigt ist, welche die Nachteile vermeidet, die sich
aus Systemen ergeben, die integrierte Eingabe- und Auslesekomponenten
bereitstellen. Gesichtspunkte der vorliegenden Erfindung betreffen
ein solches verbessertes System. Insbesondere ist es eine Aufgabe
der Erfindung, die Eingabe- und Auslesekomponenten des Segmentierungsablaufs
zu partitionieren und auch die Eingabe- und Auslesefunktionen des
Wiederzusammenfügungsablaufs
zu partitionieren.
-
Jeglicher
Versuch, die Eingabe- und Auslesekomponenten zu unterteilen, muss
jedoch eine geeignete Kommunikation zwischen den unterteilten Komponenten
bereitstellen, um einen effizienten Datendurchsatz zu ermöglichen.
Dies ist insbesondere problematisch bei ATM-Systemschnittstellen,
die dazu konfiguriert sind, die Übertragung
von Daten auf einer Vielzahl von Datenverbindungen zu umfassen, von
denen jede potentiell mit unterschiedlichen Datenübertragungsraten
arbeitet. Falls bei spielsweise ein externer Pufferspeicher verwendet
wird, um die Gesamtübertragung
von Zellen zu vereinfachen, mag eine partitionierte Eingabekomponente
benötigt werden,
um wiederholt Warteschlangen im externen Pufferspeicher abzufragen
bzw. zu pollen, die unterschiedlichen Übertragungsraten entsprechen,
um zu bestimmen, wann zusätzliche
Zellen darin eingegeben werden sollen. Dementsprechend ist es eine
weitere Aufgabe der Erfindung, eine effiziente Technik bereitzustellen,
um es partitionierten Eingabe- und Auslesekomponenten zu ermöglichen,
miteinander zu kommunizieren, um einen effizienten Datendurchsatz
bereitzustellen, während
auch der Bedarf nach einem Pollen beseitigt wird, falls ein externer
Pufferspeicher verwendet wird.
-
WO
95/11554 offenbart eine Fehlererfassungs- und Korrekturvorrichtung
für eine
(ATM)-Netzwerkvorrichtung mit asynchronem Übertragungsmodus, wobei die
Vorrichtung auf einer Ein-Chip-Lösung beruht,
welche keine externen und getrennten Datenübertragungs- und Speichermittel
verwendet. Die Vorrichtung umfasst einen internen Zentralprozessor (ATM-Verarbeitungseinheit, „ATM processing
unit"; APU) welche
alle Eingabe- und Ausleseabläufe
von Daten in und von einem internen Speicher-VCR („virtual
channel memory")
für Datenübertragungen
zur und von der ATM-Netzwerkvorrichtung
steuert und ausführt.
Um Daten von einem Host-System zu laden, verwendet die APU einen
Direktspeicherzugriffs-Controller (DMA-Controller) zum Auslesen
von Daten von einem Host, wobei die Hostdaten in den VCR unter Steuerung
der APU geladen werden. Die in dem VCR gespeicherten Hostdaten werden
mittels der APU davon zur ATM-Netzwerkvorrichtung ausgelesen. Das
Eingeben der Hostdaten in den VCR wird mittels eines Signals des
Hosts initialisiert, der durch die APU bereitgestellt wird. Um eine
Staubedingung im ATM-Netzwerk zu kompensieren, wird eine Ablaufrateneinheit
verwendet. In Abhängigkeit
von der Ablaufrateneinheit steuert die APU die Übertragungsraten der Hostdaten
zum VCR und bestimmt Speichereinheiten im VCR zum Speichern der
Hostdaten. Ferner können
Hostdaten zum VCR unter Steuerung der APU nach Beendigung der Segmentierung
und Übertragung
von vorher im VCR gespeicherten Hostdaten mittels einer entsprechenden Nachricht übertragen
werden. Um eine unbegrenzte Zahl gleichzeitig aktiver Sende- und
Empfangskanäle zu
unterstützen,
können
Kanalparametereinträge
extern gespeichert werden, wobei die Kanalparametereinträge keinen
Teil der im VCR zu speichernden Hostdaten bilden.
-
EP 0 551 191 A1 offenbart
eine Vorrichtung und ein Verfahren zum Übertragen von Daten zu und von
einem Hostsystem, wobei ein externer Paketspeicher verwendet wird,
der Datenpakete zum und vom Hostsystem speichert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung stellt ein System zum Segmentieren von Paketen in Zellen
und zum Wiederzusammenfügen
von Zellen in Pakete zur Verwendung beim Verbinden eines Hostsystems
mit einem ATM-System bereit, wobei Eingabe- und Auslese-Segmentierungskomponenten
partitioniert sind und wobei Eingabe- und Auslese-Wiederzusammenfügungskomponenten
partitioniert sind. Ein effizientes Verfahren und Vorrichtung, um
es den partitionierten Eingabe- und Auslesekomponenten zu ermöglichen,
zu kommunizieren, während
sie getrennt arbeiten, ist ebenfalls vorgesehen. Das ATM-System
mag das UTOPIA-Protokoll verwenden.
-
Gemäß einer
Ausführungsform
wird das Obige wie folgt erreicht. Eine Übertragungs- bzw. Sendemodusarchitektur wird bereitgestellt,
welche ein Puffermittel umfasst, wie beispielsweise einen externen Pufferspeicher,
und zwar zum Zwischenspeichern von Daten in einer Vielzahl von FIFO(„first-in-first-out")-(Warte)Schlangen.
Der externe Pufferspeicher stellt eine FIFO-Warteschlange für jede aus
einer Vielzahl von Datenverbindungen bereit, von denen jede bei
einer unterschiedlichen Übertragungsrate
arbeiten kann. Ein Sendeeingabemittel oder „Eingabeeinrichtung" steuert die Speicherung von
Datenpaketen, die irgendeiner der Datenverbindungen entsprechen,
in der zugeordneten FIFO-Schlange des Puffers. Ein Auslesemittel
oder „Ausleseeinrichtung" extrahiert die Pakete
aus den FIFO-Schlangen des Puffers und segmentiert die darin enthaltenen
Daten in Zellen zur Ausgabe zum ATM-System auf der zugeordneten
Datenverbindung.
-
Ein
Ablaufsteuerungsmittel oder „Ablaufsteuerung" verbindet die Eingabe-
und Ausleseeinrichtungen zum Bereitstellen einer Kommunikation zwischen
ihnen zum Sicherstellen, dass eine geeignete Ratensteuerung aufrechterhalten
wird. Die Ablaufsteuerung umfasst eine einzelne FIFO-Schlange zum
Speichern von Werten, welche die getrennten Datenverbindungen darstellen.
Beim Betrieb extrahiert die Ausleseeinrichtung Daten von einer der FIFO-Schlangen
des externen Pufferspeichers mit einer Rate, welche für die zugehörige Datenverbindung
festgelegt ist, bis die FIFO-Schlange fast leer ist. Dann speichert
die Ausleseeinrichtung, um der Ein gabeeinrichtung zu signalisieren,
dass zusätzliche
Daten in der fast leeren Schlange gespeichert werden sollten, einen
Wert in der Ablaufsteuerungsschlange, der für die Datenverbindung repräsentativ ist,
welcher der fast leeren externen Pufferspeicherschlange zugeordnet
ist. Die Eingabeeinrichtung liest die Werte aus der Ablaufsteuerungsschlange
auf FIFO-Art und bedient die Datenverbindungen, damit Pakete von
Daten in die zugehörigen
FIFO-Schlangen des externen Puffers gespeichert werden.
-
Daher
arbeitet die Eingabeeinrichtung als ein Slave bzw. abhängig von
der Ausleseeinrichtung durch Lesen der Datenverbindungswerte von
der Ablaufsteuerung, und zwar in der durch die Ausleseeinrichtung
bestimmten Reihenfolge, und bedient dann die entsprechende Verbindung.
Auf diese Weise „steuert" die Ausleseeinrichtung
effektiv den Betrieb der Eingabeeinrichtung durch Bestimmen der
Reihenfolge, in welcher die Eingabeeinrichtung die verschiedenen
Datenverbindungen bedienen muss.
-
Wie
oben angemerkt, mag das System Daten auf einer Vielzahl von Verbindungen
mit jeweils unterschiedlichen Datenübertragungsraten verarbeiten.
Warteschlangen des externen Pufferspeichers, die schnellen Datenverbindungen
entsprechen, werden wahrscheinlich häufiger zusätzliche Daten benötigen als
solche, die langsamen Datenverbindungen entsprechen. Somit werden
die schnellen Datenverbindungen in der Ablaufsteuerung häufiger eingetragen
als die langsamen Datenverbindungen, und die Eingabeeinrichtung
wird die schnelleren Datenverbindungen häufiger bedienen als die langsameren Datenverbindungen,
wodurch die höhere
Datenrate der schnelleren Verbindungen berücksichtigt wird.
-
Eingabe-
und Auslesekomponenten zum Empfangen oder Wiederzusammenfügungen sind auf
im wesentlichen die gleiche Weise wie bei der Segmentierung oder Übertragung
partitioniert. Eine Empfangsmodusarchitektur wird bereitgestellt,
welche einen externen Pufferspeicher zum Puffern von Daten umfasst,
die vom ATM-System empfangen werden, und zwar zur folgenden Übertragung
zum Host. Eine Empfangseingabeeinrichtung empfängt Zellen von Daten von dem
ATM, fügt
diese Zellen in Pakete zusammen und speichert die Pakete im externen
Pufferspeicher. Eine Empfangsausleseeinrichtung steuert die Extraktion
von Paketen von Daten vom externen Pufferspeicher zum Weiterleiten
an den Host. Eine Empfangsablaufsteuerung mit einer FIFO-Schlange
ermöglicht
es der Empfangseingabeeinrichtung, den Betrieb der Empfangsausgabeeinrichtung
in Übereinstimmung
mit derjenigen Reihenfolge zu planen, mit welcher Warteschlangen
des externen Pufferspeichers gefüllt
werden.
-
Während jedoch
der externe Sendepufferspeicher eine FIFO-Schlange für jede Datenverbindung
umfasst, wird der externe Empfangspufferspeicher dynamisch zugewiesen
oder segmentiert, so dass er zu jedem gegebenen Zeitpunkt eine Warteschlange
für eine
Datenverbindung oder Speicherwarteschlangen für eine Vielzahl von Datenverbindungen
bereitstellt. In einer Ausführungsform
ist der externe Empfangspufferspeicher mit einer dynamischen Verbindungsliste
(„link
list") konfiguriert,
um eine dynamische Zuordnung von Pufferressourcen zu vereinfachen.
Wenn eine Verbindungsliste verwendet wird, werden Zellen im externen
Pufferspeicher auf eine verbundene Weise gespeichert, um eine virtuelle
oder logische Schlange bereitzustellen, welche Zellen enthält, die
einer einzelnen Datenverbindung entsprechen.
-
Daher
wird erfindungsgemäß ein Schnittstellensystem,
wie beispielsweise ein SAR-Chip,
bereitgestellt zum Verbinden eines Host-Systems mit einem ATM-System,
wobei Eingabe- und Auslesekomponenten sowohl für den Empfang als auch die
Aussendung partitioniert sind. Als solches kann die zur Implementierung
der Eingabe- und
Auslesekomponenten verwendete Schaltung zur Verwendung mit entweder
dem Host oder dem ATM-System konfiguriert oder optimiert sein, mit
welchem sie verbunden sind. Dementsprechend benötigt keine Modifizierung entweder
des Hosts oder der ATM-Spezifikationen einen vollständigen Neuentwurf
der gesamten Empfangs- oder Sendeschaltung, sondern mag nur einen Neuentwurf
der geeigneten Eingabe- und Auslesekomponenten benötigen. Ein
Partitionieren der Eingabe- und Auslesekomponenten vereinfacht auch die
Entwicklung von Verbesserungen, die vorgesehen sind zum Verbinden
mit alternativen Hosts oder alternativen B-ISDN-Schnittstellen. Falls beispielsweise
das ATM-System durch ein alternatives System ersetzt wird, oder
falls das Computersystem durch ein alternatives System ersetzt wird,
kann die Neugestaltung der ATM-Schnittstelle darauf begrenzt werden,
nur die Eingabe- und Auslesekomponenten eines davon neu zu gestalten.
Das Partitionieren der Eingabe- und Auslesekomponenten vereinfacht
auch die Identifizierung und Behebung von Fehlern im System. Die
Art, auf welche die Eingabe- und Auslesekomponenten partitioniert
werden, nämlich
durch Verwenden einer Ablaufsteuerung in Kombination mit einem externen
Pufferspeicher, erlaubt eine klare Partitionierung, während auch
eine effiziente Steuerung über
eine Vielzahl von Datenverbindungen mit unterschiedlichen Datenraten
bereitgestellt wird.
-
Dementsprechend
werden die oben angesprochenen Aufgaben der Erfindung erreicht.
Andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus
den beigefügten
Zeichnungen und aus der nun folgenden Beschreibung der Erfindung
klar.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm das ein ATM-Schnittstellensystem zum Umwandeln
von Paketen in Zellen und umgekehrt zeigt.
-
2 ist
ein Blockdiagramm, das die Umwandlung von Datenpaketen darstellt,
die unterschiedliche Datenkommunikationsverbindungen in verschachtelten
Zellen darstellt.
-
3 ist
ein Blockdiagramm, das die Umwandlung von Datenpaketen darstellt,
die mit unterschiedlichen Datenraten auf getrennten Datenverbindungen
in verschachtelte Zellen übertragen
worden sind.
-
4 ist
ein Blockdiagramm, das Komponenten des Schnittstellensystems von 1 darstellt,
die sich auf ein Übertragen
von Daten beziehen, und insbesondere eine Eingabeeinrichtung, eine
Ausleseeinrichtung, eine Segmentierungseinrichtung und einen externen
Pufferspeicher darstellt.
-
5 ist
ein Blockdiagramm, das die Segmentierungseinheit aus 4 mit
darin gespeicherten beispielhaften Daten darstellt.
-
6 ist
ein Blockdiagramm einer ATM-Systemschnittstelle von 1,
die sich auf das Empfangen von Daten bezieht, und insbesondere eine
Eingabeeinrichtung, eine Ausleseeinrichtung, eine Segmentierungseinheit
und einen dynamisch zugewiesenen externen Pufferspeicher darstellt.
-
7 ist
ein Blockdiagramm, welches ein Netzwerk zeigt, das die ATM-Systemschnittstelle
der 1 bis 6 verwendet.
-
8 ist
ein Blockdiagramm, das eine beispielhafte Ausführungsform der ATM-Systemschnittstelle
der 1 bis 6 zur Verwendung in dem in 7 dargestellten
Netzwerk zeigt.
-
BEISPIELHAFTE
AUSFÜHRUNGSFORMEN
DER GENAUEN BESCHREIBUNG DER ERFINDUNG
-
Bezugnehmend
auf die Figuren werden nun beispielhafte Ausführungsformen der Erfindung
beschrieben. Zunächst
werden Grundzüge
der Erfindung, die auf eine große
Vielzahl bestimmter Ausführungsformen
zutreffen, unter Bezug auf die 1 bis 6 beschrieben.
Dann werden eine bestimmte beispielhafte Implementierung der Erfindung
und ein Gesamtnetzwerk, in welchem sie verwendet werden kann, unter
Bezug auf die 7 und 8 beschrieben.
-
1 zeigt
eine ATM-Systemschnittstelle 10, die ein Host-Computersystem 12 und
ein ATM-basiertes B-ISDN-Kommunikationssystem 14 verbindet.
Eine Verbindung zum Host-Computer mag einen Systembus 16 verwenden.
Eine Verbindung zum B-ISDN
wird durch ein ATM-System 18 bereitgestellt, welches ein
SAR-Chip sein kann. In einer Ausführungsform kann der Host-Computer 12 eine
Sun Computer-Workstation
sein. Das ATM-System 18 kann einen SONET-Rahmenbildner
umfassen, welcher ein UTOPIA-Protokoll zum Übertragen von Daten entlang
eines faseroptischen Kabels 20 oder anderer Medien verwendet.
Jedoch kann die ATM-Schnittstelle 10 in
Kombination mit anderen Systemen oder Ausrüstung verwendet werden. In
der Tat können
die Grundzüge
der Erfindung auch in Nicht-ATM-Systemen
ausgenutzt werden.
-
Die
ATM-Schnittstelle 10 arbeitet so, dass sie vom Host-System 12 empfangene
Pakete in Zellen zur Übertragung
zum ATM-System 18 umwandelt, und umgekehrt.
-
Pakete
können
vom Hostsystem 12 zum Schnittstellensystem 10 unter
Verwendung des Busses 16 übertragen werden. In anderen
Ausführungsformen
kann ein DMA („direct
memory access";
Direktspeicherzugriffs)-Controller (nicht gezeigt) verwendet werden,
um eine Datenübertragung
zu erleichtern. Das genaue Mittel, durch das Daten vom Host-System 12 zum
Schnittstellensystem 10 übertragen werden, ist nicht
notwendigerweise Teil der Erfindung und wird daher nicht genauer
beschrieben.
-
Eine
Umwandlung von Paketen in Zellen wird als Segmentierung oder „Verzellung" bezeichnet. Eine
Umwandlung von Zellen in Pakete wird als Wiederzusammenfügung oder „Paketisierung" bezeichnet. Hierin
wird der Gesamtablauf des Segmentierens der Pakete in Zellen und Übertragen
der Zellen als ein „Sendemodus
bzw. Übertragungsmodus" bezeichnet. Der
Gesamtablauf des Empfangens von Zellen und Wiederzusammenfügens der
Zellen in Pakete wird als ein „Empfangsmodus" bezeichnet.
-
Wie
oben angemerkt, ist die ATM-Schnittstelle 10 dazu vorgesehen,
es dem Host-Computer,
welcher dazu konfiguriert ist, Pakete zu verarbeiten, zu ermöglichen,
Daten zum ATM-System zu übertragen, welches
dazu konfiguriert ist, Zellen zu verarbeiten. Pakete können von
unterschiedlicher Länge
sein. Zellen sind von gleichförmiger
Größe. Das
Verhältnis von
Paketen und Zellen ist in den 2 und 3 dargestellt. 2 stellt
Sätze von
Paketen 22 dar, die auf drei getrennten Datenverbindungen
oder Kanälen übertragen
werden, welche in einen Satz von verschachtelten Zellen 24 gleichförmiger Größe umgewandelt
werden. Wie gezeigt, können
Pakete 22 von unterschiedlicher Größe oder Länge sein und zu unterschiedlichen
Zeiten beginnen und anhalten. Darüber hinaus kann eine bestimmte
Datenkommunikation in einem einzelnen Paket enthalten sein, wie
es auf Verbindung 2 übertragen
gezeigt ist, oder in zwei oder mehr Paketen, wie es über die
Verbindungen 1 und 3 übertragen
gezeigt ist.
-
Zellen
jedoch sind von gleicher Größe, wobei jede
Zelle einen Anteil von Daten aus einem der Pakete bereitstellt.
Zellen, die Daten enthalten, welche Paketen unterschiedlicher Verbindungen
entsprechen, sind verschachtelt. In 2 identifizieren
die Zahlen 1, 2 und 3 innerhalb eines sich ergebenden Zellenstroms 26 die
Datenverbindung, von welcher die bestimmte Datenzelle extrahiert
worden ist. Wie gezeigt, sind Daten von unterschiedlichen Datenverbindungen
in dem Zellenstrom verschachtelt.
-
Die
Datenverbindungen, welche die Pakete bereitstellen, können physikalischen
Sendeverbindungen oder virtuellen Verbindungen entsprechen. Allgemein
kann eine Datenverbindung eine virtuelle Schaltung darstellen, die
zwei beliebige Einheiten in einem Gesamtnetzwerksystem verbindet.
Die Datenverbindungen können
so arbeiten, dass sie Daten mit unterschiedlichen Raten senden.
Beispielsweise kann eine Verbindung bei 10 Megabits pro Sekunde (Mbps)
arbeiten und eine andere bei 20 Mbps. Dies ist in 3 dargestellt,
in der Verbindung 1 bei einer Übertragungsrate
arbeitet, die dem zweifachen von Verbindung 2 entspricht. Wie dargestellt,
werden N Bytes von Daten auf Verbindung 1 in der gleichen Zeitdauer übertragen,
bei der N/2 Bytes auf Verbindung 2 übertragen werden. Um die schnellere Übertragungsrate
von Verbindung 1 zu berücksichtigen, werden
Datenzellen, die von Verbindung 1 extrahiert werden, im verschachtelten
Zellenstrom 28 zweimal so häufig übertragen wie Zellen, die von
Verbindung 2 empfangen werden. Auf diese Weise wird die höhere Datenrate
von Verbindung 1 berücksichtigt,
während
zudem sichergestellt wird, dass Daten von Verbindung 2 auch übertragen
werden. Es sollte angemerkt werden, dass eine strikte 2-zu-1-Verschränkung von
Zellen der Verbindungen 1 und 2 nicht benötigt wird. Stattdessen reicht
es aus, dass durchschnittlich Zellen von Verbindung 1 ungefähr doppelt so
häufig
auftreten wie Zellen von Verbindung 2.
-
Die
Weise, mit der die ATM-Schnittstelle 10 Pakete in Zellen
segmentiert und Zellen in Pakete wieder zusammenfügt, und
zwar in einer Verbindung mit mehrfachen Datenverbindungen, welche
jeweils potentiell mit unterschiedlichen Datenraten arbeiten, wird
nun beschrieben. Zunächst
wird das Sendemodussystem zum Segmentieren von Paketen in Zellen unter
Bezug auf die 4 und 5 beschrieben, dann
wird das Empfangsmodussystem zum Wiederzusammenfügen von Zellen in Pakete unter
Bezug auf 6 beschrieben.
-
SENDEMODUS
-
4 zeigt
interne Komponenten der ATM-Schnittstelle 10 in Verbindung
mit dem Bus 16 und dem ATM-System 18. Als seine
grundlegenden Komponenten umfasst die ATM-Schnittstelle 10 eine Eingabeeinrichtung 30,
eine Ausleseeinrichtung 32, einen externen Pufferspeicher 34,
eine Ablaufsteuerung 36 und eine Aktivierungseinrichtung 38.
Die Eingabeeinrichtung 30 steuert die Übertragung von Datenpaketen,
welche irgendeiner von 128 physikalischen Datenübertragungsverbindungen von
Bus 16 oder direkt von einem Host-Speicher (nicht gezeigt) entsprechen,
falls ein DMA-Controller (ebenfalls nicht gezeigt) verwendet wird.
Der externe Pufferspeicher 34 umfasst 128 FIFO-Schlangen,
und zwar eine für
jede der 128 physikalischen Datenverbindungen, zum Speichern von
Daten von den Paketen. Die Ausleseeinrichtung 32 extrahiert
Daten von den FIFO-Schlangen des Speichers 34 und segmentiert die
Daten in Zellen zur Übertragung
zu einem ATM-System 18. Techniken zum Speichern von Datenpaketen
in FIFO-Schlangen und zum Extrahieren von Daten daraus und ihr Segmentieren
in Zellen ist dem Fachmann gut bekannt und wird hierin nicht genau
beschrieben.
-
Zu
einem bestimmten Zeitpunkt ist die Eingabeeinrichtung 30 nur
in der Lage, eine der 128 Verbindungen zu bedienen. Auf gleiche
Weise ist zu einem bestimmten Zeitpunkt die Ausleseeinrichtung 32 in
der Lage, Daten nur von einer der Schlangen des Speichers 34 zu
extrahieren. Die Ablaufsteuerung 36 ist vorgesehen, um
die Auswahl der Verbindungen zur Bedienung durch die Eingabeeinrichtung
zu vereinfachen, während
das Potential für
sich in einem weiten Bereich ändernde
Datenübertragungsraten zwischen
den verschiedenen Verbindungen mit aufgenommen wird. Die Aktivierungseinrichtung 38 ist vorgesehen,
um die Ausleseeinrichtung darauf hinzuweisen, dass Datenpakete,
die einer der Datenverbindungen entsprechen, zur Übertragung
in den externen Pufferspeicher verfügbar sind. Die Ausleseeinrichtung
wiederum plant den Betrieb der Eingabeeinrichtung.
-
Kurz
gesagt wird der Betrieb der Eingabeeinrichtung 30 durch
die Auslesevorrichtung 32 mittels der Ablaufsteuerung 36 geplant.
Die Ausleseeinrichtung 32 speichert eine Liste von Datenverbindungen, welche
durch die Eingabeeinrichtung 30 zu bedienen sind, in der
Ablaufsteuerung 36 in der Reihenfolge, in welcher die Verbindungen
zu bedienen sind. Die Eingabeeinrichtung 30 initiiert nicht
die Speicherung von Daten im Speicher 34, bis die zugehörige Datenverbindung
durch die Ausleseeinrichtung 32 in der Ablaufsteuerung 36 eingeplant
worden ist. Anfänglich, wenn
ein neues Paket von Daten entlang einer davor ruhenden Datenverbindung
verfügbar
ist, signalisiert die Aktivierungseinrichtung 38 der Ausleseeinrichtung 32,
dass neue Daten verfügbar
sind. Die Ausleseeinrichtung 32 antwortet durch Einplanen
der Datenverbindung in der Ablaufsteuerung 36.
-
Unter
der Annahme, dass die Ablaufsteuerung 36 anfänglich leer
ist, wird dann die Datenverbindung, welche die neuen Daten trägt, die
erste darin eingeplante Verbindung sein. Die Eingabeeinrichtung 30 liest
dann die Datenverbindungsnummer von der Ablaufsteuerung und beginnt,
die Verbindung zu bedienen durch Initiieren einer Speicherung von
Daten, die auf der Verbindung verfügbar sind, in der zugehörigen FIFO-Schlange
von Speicher 34. Falls beispielsweise die Daten für die Datenverbindung 3 verfügbar sind,
werden dann die Daten in der FIFO-Schlange Nummer 3 von Speicher 34 gespeichert.
Daten von dem Paket werden im Speicher 34 gespeichert,
bis entweder die FIFO-Schlange der zugehörigen Verbindung im Speicher 34 fast
voll ist oder bis ein Ende des Pakets erreicht ist.
-
Falls
zusätzliche
Datenpakete auf anderen Verbindungen verfügbar sind, während die
Ausleseeinrichtung Verbindung 3 bedient, werden die zusätzlichen
Verbindungen dann in der Reihenfolge in der Ablaufsteuerung Verbindung
3 folgend eingeplant. Dies ist in 5 dargestellt,
welche Verbindung 3 als den ersten Eintrag mit beispielhaften Verbindungen 2,
48 und 25 danach eingeplant zeigt. Einplanen jeder zu sätzlichen
Verbindungen, während
Verbindung 3 bedient wird, geschieht auf die gleiche Weise, wobei
die Aktivierungseinrichtung die Verfügbarkeit neuer Daten detektiert
und der Ausleseeinrichtung 32 signalisiert, welche die
Verbindungsnummer oder einen Wert, der diese darstellt, in der Ablaufsteuerung 36 abspeichert.
Es ist anzumerken, dass die Tiefe der Ablaufschlangensteuerung auf
die Zahl bedienter physikalischer Verbindungen beschränkt ist. In
anderen Worten wird jede bestimmte physikalische Verbindung nur
einmal innerhalb der Ablaufsteuerung eingeplant. Die maximale Zahl
an Verbindungen, die eingeplant werden kann, beträgt 128,
was der maximalen Zahl physikalischer Verbindungen entspricht, die
in dem beispielhaften System verfügbar sind.
-
Bis
hierhin beschreibt das Beispiel nur das Steuern des Ablaufs von
vorher ruhenden Datenverbindungen, für welche ein neues Datenpaket
verfügbar
ist. Jedoch werden auch Daten in der Ablaufsteuerung 36 ablaufgesteuert,
wenn Daten aus dem Speicher 34 mittels der Ausleseeinrichtung 32 extrahiert werden.
Im Besonderen beginnt die Ausleseeinrichtung 32, sobald
eine ausreichende Datenmenge in einer der FIFO-Schlangen des Speichers 34 gespeichert
ist, Daten aus der Warteschlange zur Segmentierung und Übertragung
zum ATM-System 18 zu extrahieren. Wie oben angemerkt, sind
Zellen zur Übertragung
zum ATM-System verschachtelt. Als solches extrahiert die Ausleseeinrichtung 32 selektiv
Daten, die eine Zelle wert sind, aus jeder FIFO-Warteschlange in
den Ausgabe-ATM-Zellenstrom. Falls alle Datenverbindungen die gleiche Übertragungsrate
aufweisen, extrahiert die Ausleseeinrichtung 32 dann eine
gleiche Zahl von Zellen aus jeder Schlange im Speicher 34 mit
gleichförmiger
Frequenz. Falls jedoch die Datenverbindungen unterschiedliche Raten aufweisen,
extrahiert die Ausleseeinrichtung 32 dann mehr Zellen aus
solchen Warteschlangen, die Verbindungen mit schnellerer Rate entsprechen,
als von solchen Warteschlangen, die Verbindungen mit langsamerer
Rate entsprechen. Die Logik, mittels welcher die Ausgabeeinrichtung 32 bestimmte
Datenverbindungen zum Extrahieren von Zellen auswählt, als
auch die Art und Weise, mittels welcher die Zellen verschachtelt
werden, mag in Übereinstimmung
mit Techniken durchgeführt
werden, die vom Fachmann gut verstanden sind, und solche Techniken
werden hierin nicht beschrieben.
-
In
jedem Fall wird für
jede bestimmte Datenverbindung die zugehörige Schlange im Speicher 34 irgendwann
geleert sein und zusätzliche
Daten benötigen.
Dementsprechend bestimmt, wenn die Ausleseeinrichtung Daten von
einer ausgewählten
Schlange des Speichers 34 extrahiert, die Ausleseeinrichtung
bestimmen, ob ein Schwellwert erreicht worden ist, der angibt, dass
die Schlange fast leer ist. Wenn ein solcher Schwellwert erreicht
ist, platziert die Ausleseeinrichtung einen Wert, der die Verbindung
identifiziert, die der fast leeren Schlange in der Ablaufsteuerung 36 entspricht,
was bewirkt, dass die Eingabeeinrichtung 30 zu einem Zeitpunkt
die zugehörige Verbindung
bedient durch Einbringen zusätzlicher Daten
in die fast leere FIFO-Schlange.
Bedienen der Verbindung, welche der fast leeren Warteschlange entspricht,
durch die Eingabeeinrichtung mag nicht sofort geschehen. Stattdessen
muss das Bedienen der Verbindung abhängig vom Bedienen von jeglichen
vorher eingeplanten Verbindungen warten, die innerhalb der Ablaufsteuerung 36 identifiziert
sind.
-
Es
kann gewürdigt
werden, dass die obigen Schritte des Einplanens vorher ruhender
Verbindungen und das Einplanen aktiver Verbindungen, für welche
die zugehörige
FIFO-Schlange fast leer geworden ist, kontinuierlich ablaufen, wenn
Datenpakete über
verschiedene Verbindungen empfangen werden, im Speicher 34 gespeichert
werden und folgend extrahiert und zur Übertragung zu einem ATM-System 18 unterteilt
werden.
-
Irgendwann
sind die letzten Daten, die dem Ende einer bestimmten Datenübertragung
auf einer bestimmten Verbindung entsprechen, im Speicher 34 gespeichert.
Das Ende der Übertragung
kann beispielsweise signalisiert werden durch Speichern einer Anzeige
eines Endes eines Pakets im Speicher 34. Andere Techniken
können
für Datenübertragungen
verwendet werden, welche verschiedene Pakete aufweisen. In jedem
Fall detektiert die Ausgabeeinrichtung 32 das Übertragungsende
und extrahiert die verbleibenden Daten, die der Übertragung entsprechen, aus
dem Speicher 34. Die zugehörige Datenverbindung wird nicht
wieder eingeplant, bis eine neue Übertragung entlang der Verbindung
verfügbar ist,
bei welcher die Zeitaktivierungseinrichtung 38 der Ausgabeeinrichtung 32 wiederum
Signale gibt, was bewirkt, dass die Ausleseeinrichtung für diese
bestimmte Verbindung „aufwacht". Die Ausleseeinrichtung
plant dann die Eingabeeinrichtung 30 ein, um die vorher
ruhende Verbindung wieder zu bedienen.
-
Kurz
zusammengefasst umfasst der externe Pufferspeicher 34 eine
FIFO-Schlange für
jede physikalische Datenverbindung. Jedoch werden keine Daten in
den Schlangen des Speichers 34 gespeichert, bis eine Eingabeeinrichtung 30 eingeplant
ist, um die zugehörige
Eingangsdatenverbindung mittels der Ausleseeinrichtung 32 über die
Ablaufsteuerungsschlange 36 zu bedienen. Als solches arbeitet
die Eingabeeinrichtung als ein Slave bzw. abhängig von der Ausleseeinrichtung.
Auf diese Weise steu ert die Ausleseeinrichtung die Rate, mit welcher
Daten vom Bus 16 auf jeder der physikalischen Datenverbindungen
empfangen werden. Dies ist insbesondere wünschenswert, da die Datendurchsatzrate
für verschiedene
Verbindungen durch die Anforderungen an das ATM-System vorgegeben
oder bestimmt ist. In anderen Worten besitzt die ATM-Schnittstelle 10 keine Kontrolle über die
Rate, mit der Daten zum ATM-System zu übertragen sind, und kann nur
die Rate steuern, mit welcher Pakete empfangen werden. Daher wird,
durch Bereitstellen einer Eingabeeinrichtung, welche ein Slave der
Ausleseeinrichtung ist, die Rate der Paketeingabe für jede bestimmte
Verbindung gesteuert, um die Rate zu „bestimmen", mit welcher zugehörige Zellen für diese
Verbindung zum ATM-System übertragen
werden. Durch Einplanen von Verbindungen in der Ablaufsteuerung 36 stellt
die Ausleseeinrichtung sicher, dass jede der zur Zeit aktiven Verbindungen
durch die Eingabevorrichtung bedient wird, während auch sichergestellt wird,
dass solche Verbindungen mit schnelleren Datenraten häufiger bedient
werden. Letzteres tritt als ein natürliches Ergebnis des Einplanens
von Verbindungen auf, wenn die zugehörigen FIFO-Warteschlangen leer
werden.
-
Das
Obige wird erreicht, ohne die Datenübertragungsraten für langsame
Datenverbindungen ungebührlich
zu kompromittieren. Stattdessen tauchen Zellen, die zu langsameren
Datenverbindungen gehören,
im Ausgabe-ATM-Strom bei einer durchschnittlichen Zell-„Frequenz" auf, welche auf
die langsamere Datenrate abgestimmt ist (siehe beispielsweise 3).
Der Datendurchsatz auf langsameren Datenverbindungen wird effektiv
durch den Mechanismus der Ablaufsteuerung 36 „garantiert". Insbesondere hat,
sobald eine Datenverbindung, ob langsam oder schnell, in der Ablaufsteuerung
eingeplant ist, dies Vorrang vor jeder folgend eingeplanten Datenverbindung,
und zwar sogar dann, falls die folgende Verbindung eine weit schnellere Übertragungsrate
aufweist. Selbstverständlich
können
alternative Implementierungen ausgestaltet werden, dass ein oder
mehrere Datenverbindungen, möglicherweise
als ein Ergebnis sehr hoher Datenraten, eine Priorität über Verbindungen
mit langsamer Datenrate unter allen Umständen gegeben wird. Dies kann
implementiert werden unter Verwendung geeigneter Modifikationen
an dem in 4 dargestellten System, möglicherweise
dadurch, dass es der Ausleseeinrichtung 32 ermöglicht wird,
Datenverbindungswerte in der Ablaufsteuerung 36 vor vorher
eingeplanten Datenverbindungen einzufügen. Wie erkennbar, kann ein
weiter Bereich an alternativen Ausführungsformen verwendet werden,
die mit den allgemeinen Grundsätzen
der Erfindung konsistent sind. Darüber hinaus kann die tatsächliche
Implementierung der Funktionen, die in 4 dargestellt
sind, erreicht werden unter Verwendung eines weiten Bereichs an Hardware-
oder Software-Ausführungsformen.
-
EMPFANGSMODUS
-
Der
Empfangsmodus der ATM-Schnittstelle 10 wird nun unter Bezug
auf 6 beschrieben. Der Empfangsmodus arbeitet auf
im Wesentlichen die gleiche Weise wie der Sendemodus, aber mit ein paar
Unterschieden. Nur die Unterschiede zwischen dem Empfangsmodus und
dem Sendemodus werden genauer beschrieben.
-
6 zeigt
die Empfangsmodusarchitektur oder Wiederzusammenfügungsarchitektur
der ATM-Schnittstelle 10. Eine Eingabeeinrichtung 40 empfängt Zellen
vom ATM-System 18 zur
Speicherung im externen Pufferspeicher 44. Die Eingabeeinrichtung
speichert die Zellen im externen Pufferspeicher in virtuellen Warteschlangen,
was es der Ausleseeinrichtung ermöglicht, selektiv nur solche
Zellen zu extrahieren, die Paketen von ausgewählten Datenverbindungen entsprechen.
Die Pakete aus Zellen im externen Pufferspeicher werden unter der
Kontrolle der Ausleseeinrichtung zum Host-Computer übertragen.
Wie vorher kann die Übertragung
von Daten zwischen dem Host-System und dem externen Pufferspeicher
mittels eines DMA ausgeführt
werden.
-
Eine
Ablaufsteuerung 46 ermöglicht
es der Eingabeeinrichtung 40, den Betrieb der Ausleseeinrichtung 42 zu
planen. Im Vergleich zur Sendemodusarchitektur, bei der die Eingabeeinrichtung
ein Slave bzw. abhängig
von der Ausleseeinrichtung ist, ist in der Empfangsmodusarchitektur
die Ausleseeinrichtung ein Slave bzw. abhängig von der Eingabeeinrichtung.
Wie oben angemerkt, gibt es keine Kontrolle über den Empfang von Zellen
vom ATM-System. Dementsprechend muss die Empfangseingabeeinrichtung
unmittelbar auf empfangene Zellen reagieren und kann daher nicht
effizient als ein Slave bzw. abhängig
von der Ausleseeinrichtung arbeiten. Auch wird, weil die Empfangseingabeeinrichtung
unmittelbar auf Zellen reagiert, die vom ATM-System 18 empfangen werden,
keine Aktivierungseinrichtung (wie beispielsweise die Aktivierungseinrichtung 38 aus 4)
benötigt.
Ferner ist, während
der Speicher 34 des Sendemodus
gleich partitioniert ist, um FIFO-Schlangen für jede der 128 physikalischen
Verbindungen bereitzustellen, der externe Pufferspeicher 44 des
Empfangsmodus ein dynamisch zugewiesener Speicher, der in der Lage
ist, nur eine einzelne virtuelle oder logische Warteschlange oder eine
Vielzahl von solchen Warte schlangen bereitzustellen. Wiederum ist
der Unterschied durch die Anforderung bedingt, unmittelbar auf Zellen
zu reagieren, die vom ATM-System empfangen werden. Falls viele Zellen
empfangen werden, die zu einer einzelnen Datenverbindung gehören, mag
dann ein großer Teil
des Speichers 44 benötigt
werden. Dementsprechend wird die Begrenzung auf eine gleiche Warteschlangengröße, welche
auf der Sendeseite auferlegt wird, nicht auf der Empfangsseite auferlegt.
Eine dynamische Zuweisung von Ressourcen im Puffer 44,
um virtuelle Warteschlangen zu ermöglichen, wird gesteuert mittels
eines Verbindungslisten-Verwaltungsmanagers 50, welcher
den Speicher mit der Eingabeeinrichtung 40 verbindet. Zellen
werden im Puffer 44 mit Zellenzeigern gespeichert, die
auf andere Zellen zeigen, welche zur gleichen Datenverbindung gehören. Die
verbindungsgelisteten Zellen bilden die oben angesprochenen virtuellen
oder logischen Warteschlangen. Der Verbindungslisten-Verwaltungsmanager 50 koordiniert
die Speicherung von Zellen und Extraktion von Zellen gemäß den verschiedenen
Zeigern.
-
Im
Betrieb werden Zellen, die von der Eingabeeinrichtung 40 empfangen
werden, eine Zellen zu einem Zeitpunkt im Speicher 44 gespeichert.
Wann immer mindestens drei Zellen pro Verbindung im Speicher 44 gespeichert
werden, wird ein Wert, der für
die Verbindung repräsentativ
ist, in der FIFO-Schlange der Ablaufsteuerung 46 eingefügt. Die
Ausleseeinrichtung steuert die Extraktion von Daten aus dem Puffer 44 gemäß der Verbindungsabfolge,
weiche durch die Ablaufsteuerung 46 vorgegeben wird.
-
Wie
beim Sendemodus werden Unterschiede in den Datenübertragungsraten auf unterschiedlichen
Verbindungen effektiv durch die Ablaufsteuerung verwaltet bzw. gemanagt
Verbindungen mit schnellen Datenraten werden häufiger eingeplant, als solche
mit langsameren Datenraten. Durch Bedienen von Verbindungen in der
eingeplanten Reihenfolge hält
die Empfangsausleseeinrichtung dadurch Schritt mit der Empfangseingabeeinrichtung. Selbstverständlich können Umstände eintreten,
bei denen zu viele Daten zu schnell empfangen werden, was möglicherweise
dazu führt,
dass der gesamte Speicher 44 vollläuft, bevor die Empfangsausleseeinrichtung
die geeigneten Verbindungen bedienen kann und die Daten entfernt
werden. Solche Umstände
treten nicht als ein Ergebnis der Erfindung auf, sondern können auch
in herkömmlichen
Datenübertragungssystemen
auftreten. Herkömmliche
Techniken können
verwendet werden, um alle möglichen Overflow-
bzw. Überlaufumstände zu behandeln. Auch
kann der Empfangsmodus, wie der Sendemodus, dazu konfiguriert werden,
bestimmten Datenverbindungen höheren
Prioritäten
zu garantieren, welche diese Verbindungen benötigen, um von der Empfangsausleseeinrichtung
bedient zu werden, und zwar sogar falls andere Verbindungen vorher
eingeplant worden sind.
-
Ein
weiterer Unterschied zwischen der Empfangsmodusarchitektur und der
Sendemodusarchitektur ist, dass ein Cache(speicher) 52 zum
Cachen bzw. Zwischenspeichern von Datenverbindungsinformationen
vorgesehen sein kann. In einer Ausführungsform ermöglicht der
Cachespeicher es 1024 virtuellen Datenverbindungen, aufgenommen
zu werden, und zwar sogar dann, wenn die Empfangsmodusarchitektur
nur 128 physikalische Datenverbindungen bereitstellt. Es können Umstände auftreten, bei
denen die im Cachespeicher gespeicherte Verbindungsinformation für eine bestimmte
virtuelle Verbindung geräumt
werden muss. Jedoch ist die Empfangsmodusarchitektur so konfiguriert,
dass sie es verhindert, dass eine virtuelle Verbindung gelöscht wird,
falls die dazu zugehörige
physikalische Verbindung bereits in der Ablaufsteuerung 46 eingeplant worden
ist. Andere Mechanismen zum Handhaben von Cacheräumungen können alternativ verwendet werden.
-
BEISPIELHAFTE
AUSFÜHRUNGSFORM
-
Das
Obige beschreibt auf einem hohem Niveau wichtige Gesichtspunkte
beispielhafter Ausführungsformen
der Erfindung. Im Folgenden wird ein bestimmter ASIC beschrieben,
der die Erfindung verkörpert.
Ein Netzwerk, das den ASIC verwendet, ist ebenfalls beschrieben.
-
7 zeigt
ein beispielhaftes Computersystemnetzwerk 100, das die
ATM-Schnittstelle
der 1 bis 6 beinhaltet. Das Computersystemnetzwerk 100 umfasst
Hostcomputersysteme (nicht gezeigt), welche ein oder mehrere Netzwerkschnittstellenschaltung
(„Network
Interface Circuit"; NIC)-SAR-ASICs
umfassen, welche die in den 1 bis 6 dargestellte
Architektur verkörpern.
Die SAR-ASICs 112 sind durch einen lokalen ATM-Umschalter 114 mit
einem öffentlichen
ATM-Umschalter 116 gekoppelt,
um eine asynchrone Übertragung
von Daten zwischen Host-Computersystemen zu ermöglichen, die mit dem Netzwerk 110 gekoppelt
sind. Alternativ können
die SAR-ASICs 112 direkt mit dem öffentlichen ATM-Umschalter 116 gekoppelt
sein. Wie in 7 gezeigt, kann das Computersystemnetzwerk 110 auch
Computersysteme umfassen, welche die Verwendung eines LAN-Emulators 115 umfassen,
der als ein Gateway zum Verbinden anderer Netzwerke, wie beispielsweise
einem Ethernet- oder Tokenring-Netzwerk 119, dient, welche
das ATM-Netzwerk
als einen unterstützenden
Rahmen verwenden.
-
8 ist
ein vereinfachtes Systemdiagramm, das die Architektur des SAR-ASIC 112 darstellt.
Der SAR-ASIC 112 verbindet das Host-Computersystem, welches
durch den Systembus 138 gekoppelt ist, mit dem Netzwerkmedium 140,
das nach dem ATM-Protokoll arbeitet.
-
Der
gezeigte SAR-ASIC 112 umfasst eine Systembusschnittstelle 120,
eine generische Eingabe/Ausgabe („Generic Input/Output"; GIO)-Schnittstelle 124,
einen System- und ATM-Schicht-Kern 122, eine lokale Slave-Schnittstelle 126,
ein Feld von Sende (TX)-FIFOs 128, ein Feld von Empfangs (RX)-FIFOs 130,
eine Medienschnittstelle 132, eine externe Pufferspeicherschnittstelle 134 und
eine Takterzeugungsschaltung 136.
-
Zusammen
arbeiten die Elemente 120 bis 136 der Netzwerkschnittstellenschaltung 112 zusammen,
um Daten zwischen dem Host-Computer und den anderen Computern in
dem Netzwerk durch mehrfache, dynamisch zugewiesene Verbindungen in
mehrfachen Bandbreitengruppen asynchron zu übertragen. Zusammen arbeiten
die Elemente des SAR-ASIC 112 als ein intelligenter DMA-Controller für mehrfache
Verbindungen, der mit dem Systembus 138 des Host-Computersystems
gekoppelt ist. Mehrfache Sende- und Empfangsverbindungen werden
als virtuelle Verbindungen bedient, welche eine physikalische Vollduplex 155/622 Mbps-Verbindung verwenden.
Mehrfache Datenpakete, die auf unterschiedliche Verbindungen über den
Systembus 138 zum externen Pufferspeicher 142 über die
externe Pufferspeicherschnittstelle 134 abonniert sind,
werden durch den System- und ATM-Schicht-Kern 122 in Sendezellen
zur Übertragung
zu den Medien 140 durch die Medienschnittstelle 132 segmentiert.
-
Der
Kern 122 umfasst auch eine Wiederzusammenfügungs- bzw.
Reassemblierungslogik, um eine Wiederzusammenfügung der Empfangspakete zu
vereinfachen. Die TX- und RX-FIFOs 128, 130, die zwischen
dem Kern 122 und der Medienschnittstelle 132 gekoppelt
sind, stellen die Sende- und Empfangs-Zellennutzlasten der Sende-
bzw. Empfangspakete bereit. Die Medienschnittstelle 132 sendet und
empfängt
Zellen zum bzw. vom Medium 140 des Netzwerks, und zwar
angetrieben durch die Taktsignale, die durch die Takterzeugungsschaltung 136 bereitgestellt
werden. Das Medium bzw. die Medien, und dadurch die Medienschnittstelle 132,
entspricht dem UTOPIA-Standard, wie durch die ATM-Forum-Ad Hoc-Spezifikation
beschrieben. Um mit der UTOPIA-Spezifikation übereinzustimmen, stellt die Takterzeugungs schaltung 136 entweder
ein Taktsignal von 20 MHz oder 40 MHz bereit, um es der Medienschnittstelle 132 zu
ermöglichen,
einen Bytestrom bei 20 MHz oder 155 Mbps oder einen 16-Bit-Strom
bei 40 MHz für
einen 622 Mbps-Datenstrom zu unterstützen.
-
Die
Medienschnittstelle 132 empfängt 52 Byte lange Datenzellen,
welche jeweils einen 4 Byte langen Zellenkopfabschnitt und eine
48 Byte lange Nutzlast aufweisen, vom TX-FIFO 128. Die
Medienschnittstelle 132 fügt eine Prüfsumme als ein fünftes Byte
des Zellenkopfabschnitts in jede Zelle vor einem Bereitstellen der
53 Byte langen Datenzelle zu dem Medium 140 ein. Wenn umgekehrt
die Medienschnittstelle 132 Zellen vom Medium 140 empfängt, untersucht
die Schnittstelle 132 die Prüfsumme im fünften Byte jeder Zelle, um
zu bestimmen, ob die Prüfsumme
korrekt ist. Falls dies so ist, wird das Byte, das die Prüfsumme darstellt,
aus der Zelle herausgelöst,
und die Zelle wird an den RX-FIFO 130 weitergeleitet. Ansonsten
wird die gesamte Zelle fallengelassen.
-
Die
Systembusschnittstelle 120 und die GIO-Schnittstelle 124 isolieren
das Host-Computersystem
von den Besonderheiten der Übertragung zum
Medium 140. Ferner ist der Kern 122 von den Besonderheiten
des Systembusses 138 und der Host-Datenstruktur isoliert. In einer Ausführungsform ist
der Systembus ein SBus, wie in der IEEE („Institute of Electronics
and Electrical Engineers")-Standard-1496-Spezifikation beschrieben.
Die Systembusschnittstelle 120 ist so konfiguriert, dass
sie gemäß der Spezifikationen
des SBus kommuniziert. Die Systembusschnittstelle 120 kann
so konfiguriert sein, dass sie zu unterschiedlichen Host-Computersystembussen
konform ist. Die Systembusschnittstelle 120 ist auch dazu
konfiguriert, gemäß der Protokolle Daten
zu senden und zu empfangen, welche durch die GIO („Generic
I/O")-Schnittstelle 124 spezifiziert sind.
Die GIO-Schnittstelle 124 stellt eine einzelne Schnittstelle
bereit, durch welche der Kern 122 mit dem Host-Computer kommuniziert.
Daher braucht der Kern 122 für unterschiedliche Ausführungsformen
des SAR-ASIC 112, welcher eine Verbindung mit unterschiedlichen
Host-Computersystemen und -Bussen herstellt, nicht verändert zu
werden.
-
Wie
bereits angemerkt, schirmt der SAR-ASIC 112 auch die Details
eines Zellenversatzes der asynchronen Übertragung von den Applikationen
ab, die auf dem Host-Computersystem
laufen. Für
die vorliegenden Zwecke wird angenommen, dass Software, die auf
dem Host-Computersystem 148 läuft, Sende- und Empfangsdaten
verwaltet, und zwar unter Verwendung von Umwicklungs („wrap around")-Sende- und Empfangs-Ringen
mit Paketschnittstellen, wie es aus dem Stand der Technik gut bekannt
ist.
-
Was
beschrieben worden ist, ist ein ATM-Schnittstellensystem zum Behandeln
einer Segmentierung von Paketen in Zellen und einer Wiederzusammenfügung von
Zellen in Pakete zur Verwendung beim Verbinden eines Systembusses,
der mit einem oder mehreren Host-Computern verbunden ist, mit einem
B-ISDN-System, das mit einem asynchronen Übertragungsmodus arbeitet.
Die Grundlagen der Erfindung können
jedoch auch auf andere Systeme angewandt werden und können ihren
Nutzen in jeglichem Datenumwandlungssystem finden, insbesondere
dort, wo mehrfache Verbindungen bereitgestellt werden, von denen
jede möglicherweise
bei unterschiedlichen Datenübertragungsraten arbeitet.
Darüber
hinaus können
die Grundzüge
der Erfindung auch auf Systeme mit mehrfachen Verbindungen angewandt
werden, die jeweils mit der gleichen Datenrate arbeiten.
-
Dementsprechend
sind die hierin beschriebenen beispielhaften Ausführungsformen
lediglich darstellender Natur bezüglich der allgemeinen Grundzüge der Erfindung
und sollten nicht als den Umfang der Erfindung beschränkend aufgefasst
werden.